【提问】bitcoin NG协议问题

请问大家bitcoin NG里的下一个leader块是根据什么块挖出来的?是上一个leader块还是上一个leader打包的微块中的任意一个微块?

bitcoin的结构-关键区块和微区块
关键区块用来选取leader,NG为了提高区块链的容量和吞吐量,同时减小交易被确认的时间,关键区块不打包任何交易的信息,而是将交易信息全部放在微区块中。
微区块记录交易信息,当一个节点挖到key block后就成为leader,它就可以生成多个微块来记录交易内容,由于微块的生成不需要消耗任何算力,微块生成的速度可以很快,微块间隔可以为10s或者更少,从而通过大量的的微块来提升区块链的容量,同时,由于微块之间的间隔较短,还可以减少部分交易的被确认时间。

关键区块的挖掘
key block没有区块体,但其区块头包含了上一个区块的引用,GTM时间、支付奖励的交易数据库、目标值以及nonce。同时关键区块要公布自己的公钥用于后续微块的认证。
key block的previous block可以是key block也可以是微块,即节点在挖关键块时,可以任意选取当前的关键块或该关键块的任意一个微块来挖掘下一个关键块,
关键区块分叉时,全网选择由最多算力挖掘出的关键块作为新关键块。

微区块的生成
微区块由生成key block 的节点生成,其生成速度要比关键块快,但有最大值限制,以避免恶意leader通过大量生成微区块对区块链本身的冲击。
微区块包含区块体和区块头,区块体中打包微区块所记录的交易,区块头包含上一个区块的引用,GTM时间,交易记录的密码学哈希结果,密码学签名。其密码学签名使用的私钥是与其对应的key block中公布的公钥相配对。。