交易吞吐量是区块链技术发展的主要制约因素!
对于*币特比**而言,一直被人诟病的地方就在于交易吞吐量,*币特比**每秒的交易吞吐里只有7笔/秒,所以后续的区块链项目,比如以太坊、EOS等,都致力于交易吞吐里的提升,尤其是EOS,其所宣传的每秒能支撑百万级的交易量也是EOS成为明星项目的主要原因之一。所以可以毫不夸张的话,谁能在兼顾安全稳定、去中心化的原则下,还能解决交易吞吐里的问题,谁就是区块链世界中的下一个神人”中本聪“!
区块链中的交易吞吐量受限于两方面:一是区块的大小,另外一个是区块的出块速度。
以太坊通过提高出块速度,提高了交易吞吐量,但是却导致了大量的临时分叉!
所以为了提高以太坊的交易吞吐量,以太坊将出块的时间降低到了15秒。与*币特比**10分钟的出块时间相比,以太坊的出块速度提高了40倍。

但是降低了出块时间,也带来了一些问题:因为以太坊和*币特比**一样,都是运行在应用层上的一个协议,底层是一个p2p的网络,而p2p网络的一个缺点就是:区块传输时间比较长。所以在发布一个区块后,区块在网络上的传输时间是比较长的,可能长达十几秒的时间,也就可能超过以太坊的区块产生时间,对于*币特比**来说,10分钟的时间,也就是600秒,是有足够的时间允许区块传播到网络上的其他节点。
在矿工挖取区块的过程中,有可能会有两个区块同时产生,同时广播到网络中,这就是临时分叉,但是由于以太坊的出块时间非常短,所以在以太坊中,临时性分叉就会形成常态,而且分叉的数目也会更多。
因为在15秒的时间之内,其他节点还没有收到你发布的区块,还是在沿着原来的区块链往下挖,所以在收到你的区块之前,其他节点可能已经自己已经挖出了区块。在*币特比**系统中,系统只承认最长的区块链,也只有在最长区块链上的区块才能使矿工得到虚拟币奖励,不是最长区块链上的区块,矿工就不能获得虚拟币的奖励。

在上图中,不是最长链上的区块称为orphan block,在*币特比**系统中,由于这些块不在最长合法链上,所以矿工拿不到*币特比**的奖励,对于*币特比**系统来说,出现这种临时性分叉的情况不是很多,所以对于矿工来说,挖到orphan block而得不到奖励的规定是可以接受的。
但是对于以太坊来说,由于以太坊的出块时间很短,所以会出现大量的临时分叉,如果以太坊也像*币特比**系统一样处理,意味着矿工挖到的区块有很大概率是白挖的,所以对于矿工来说不是很公平。尤其是对于个体矿工来说,会更为不公平。原因在哪呢,我们解释一下,正常的情况下,区块链中挖到区块的概率应该与所占算力的比率是成正比的,个人矿工在挖出区块后,寄希望于别的矿工能在自己的区块后继续挖块,使自己的区块能成为最长合法链上的一个块,但是矿池在算力以及网络带宽上比个人矿工相比具有巨大的优势,而且在以太坊中区块的产生时间为15秒,所以矿池在没有拿到别人广播的区块时,自己可能就挖出了区块,所以在这种情况下,矿池就会选择在自己挖出的区块后继续挖取区块,所以就可能导致矿池挖出的区块链会越来越长,广播到网络后,就会成为最长合法链。所以,比如矿池占全网算力的20%,但是矿池挖出的区块成为合法链上区块的概率就会超过20%。所以对个人矿工来说,就会更加的不公平。
以太坊通过使用GHOST协议来解决临时分叉而带来的矿工激励问题

在以太坊中,orphan block称之为uncle block。之所以称之为uncle block,是因为相对于最长合法链上的后续区块来说,是它的叔父区块。
在ghost协议中规定,在上图的蓝色区块发布时,可以将uncle block包含进来,同时uncle block可以得到7/8个区块的奖励,目前以太坊的区块奖励是3个以太币,所以就是3*7/8个以太币,也就是说,矿工挖出了区块,虽然最终没有放在最长合法链上,但是也可以得到一定的区块奖励。
对于蓝色区块,为什么要包含uncle block,如果包含一个uncle block,则可以额外获得1/32的区块奖励,最多包含2个uncle block,再加上挖到区块的3个ETH的奖励,所以对于蓝色区块来说,上面的公式的结果是最终的区块奖励数量。
所以ghost协议的一个重要思想就是对于那些挖到区块但是没有加入最长合法链上的矿工也进行区块奖励,同时通过以包含uncle block的方式使临时分叉能快速的进行合并。从而在解决临时分叉的情况下,提高了交易吞吐量。不过可惜的是,即使这样,以太坊的交易吞吐量也只是30-40笔/秒,还远远达不到工业级生产的要求。