bitcoin-NG
bitcoin-NG的设计目标
扩容、提高比特币的吞吐量。比特币系统每10min产生一个区块, 由于区块大小的限制,比特币每秒只能记录3~4个交易,其吞吐量远远不能满足当前大部分系统的需求。
现有的扩容方案
现有的扩容手段包括增大区块的大小和减少区块间间隔,而这两种方案对区块的传播时延和区块的分叉问题的性能都有相应影响。
bitcoin的结构-关键区块和微区块
关键区块用来选取leader,NG为了提高区块链的容量和吞吐量,同时减小交易被确认的时间,关键区块不打包任何交易的信息,而是将交易信息全部放在微区块中。
微区块记录交易信息,当一个节点挖到key block后就成为leader,它就可以生成多个微块来记录交易内容,由于微块的生成不需要消耗任何算力,微块生成的速度可以很快,微块间隔可以为10s或者更少,从而通过大量的的微块来提升区块链的容量,同时,由于微块之间的间隔较短,还可以减少部分交易的被确认时间。
关键区块的挖掘
key block没有区块体,但其区块头包含了上一个区块的引用,GTM时间、支付奖励的交易数据库、目标值以及nonce。同时关键区块要公布自己的公钥用于后续微块的认证。
key block的previous block可以是key block也可以是微块,即节点在挖关键块时,可以任意选取当前的关键块或该关键块的任意一个微块来挖掘下一个关键块,
关键区块分叉时,