1、区块链的发展
说以太坊之前我们先来说下区块链的发展,先说下前两代区块链(为啥不说第三代,因为第三代目前我也不是很了解。。。。)
1.1、第一代区块链:比特币
- 单一的数字货币应用,扩展性差
- 公有链,账本是公开的,谁都可以看到
- 只记录交易信息,不记录账户余额信息
- 速度太慢(由于可能存在分叉,要等5到6个块之后交易才能确认,就是要等五六十分钟,在实际应用中,显然无法接受)
1.2、第二代区块链:以太坊
1994年出生的Vitalik在2015年7月正式创以太坊(21岁的时候创建以太坊!!!!!今天还被《程序员的自我修养》这本书的两名作者俞甲子和石凡给震惊了,这两人在读研的时候写的这本书。。。我读研的时候在干嘛?!!!)
与比特币的相同点是以太坊也是一种数字货币应用,公有链,公开账本,但与比特币相比,以太坊主要有以下特点:
- 他是一种区块链平台,支持二次开发,就是创建智能合约
- 除了记录交易信息,还记录账号信息
- 速度慢(也有可能出现分叉,因此需要10个块确认后这笔交易才算真正确认,以太币是大约每15s产生一个新块,总共需要150s)
2、以太坊的共识机制
在2019年3月份之前,以太坊的共识机制和比特币一样,也是工作量证明PoW(Proof of Work),2019年3月份后,以太坊完成了一次升级,共识机制变成了权益证明PoS(Proof of Stake),以太坊为什么要弃用PoW,启用Pos呢?
PoW的缺点
-
极度消耗电能,造成能源的巨大浪费
2018年的时候据统计,全球有9000多个独立节点,这些节点每年消耗的电能为30多亿美金,产生的比特币价值为40多亿美金,他们平均每天消耗2亿度电,每完成一笔交易平均消耗900度电,这个代价有点大。。。 -
PoW下,单个算力已经完全不具优势,大家抱团形成算力巨大的矿池,挖出来的币平分,这种模式更容易赚钱,这就会导致节点越来越集中,与分布式、多节点、多中心的初衷是背道而驰的
-
Pow下,需要使用专门的ASIC矿机,入行门槛高
-
只有奖励,没有惩罚
挖到矿的给予比特币的奖励,但对于那些捣乱分子比方说想要篡改数据的矿工却没有惩罚,犯罪成本为0(想到了那些碰瓷的。。。)
针对以上缺点,以太坊打算使用一种新的共识机制PoS,PoS解决了PoW的以上缺点(PoS具体如何操作,待研究。。。)
3.以太坊区块头部包含哪些内容
以太坊区块头部主要包含以下内容:
前一个区块的哈希值
叔块的哈希值
打包该区块的矿工的地址
交易树哈希值(交易的Merkle树的根节点的哈希值)
状态树哈希值(账户的Merkle树的根节点的哈希值)
回执树哈希值(交易回执的Merkel树的根节点的哈希值)
目标难度
区块高度
时间戳
随机数(nonce)
4、以太币分叉与比特币分叉的区别
出现孤块后,比特币的做法是直接废弃,而以太坊的做法是作为叔块,矿工可以选择将叔块添加到区块链中。
以太币中大约每15s产生一个区块,奖励2-3个以太币给挖矿人,奖励2-3个比特币给叔块的创建者,并给引用叔块的新块创建者零点几个以太币。由于以太币的出币时间短,更容易产生孤块,这样就降低了安全性,而鼓励新块引用叔块,这种做可以使主链更重,增加安全性。