每个节点的树图结构不可能完全一致哦,不过一般情况下,我们能够保证大家选择的主链(pivot chain),除了最后几个区块,大家都是一致的。
具体确认规则还要更复杂一点,它要根据一个节点本地树图结构的样子,去推测其他节点树图结构中与自己相同的主链区块有哪些
每个节点的树图结构不可能完全一致哦,不过一般情况下,我们能够保证大家选择的主链(pivot chain),除了最后几个区块,大家都是一致的。
具体确认规则还要更复杂一点,它要根据一个节点本地树图结构的样子,去推测其他节点树图结构中与自己相同的主链区块有哪些
所有节点的图不完全一样,如果有个交易打包在分支上,这就可能在不同的节点会分到不同的epoch里,这个交易如何查询。
这种情况的交易处于未确认状态。如果你问区块链浏览器或者某个全节点,当然可以根据节点的local view知道这笔交易存在但还未被确认
如果出现这种情况,这个交易确认到哪个epoch?
看确认的时候pivot chain是什么样的。这时候所有节点会对包含这个块的epoch达成共识
节点打包交易时是不是有交易数量和时间的双层控制,在交易数量满或时间到都打包区块?
数量有限。时间由PoW控制。算出解就直接出块了
有没有时间限制,时间到了即使没有交易也要出块?
现在测试网看区块浏览器好多出的区块都是空块啊
嗯嗯,如果一段时间内所有节点都没有交易,所有节点出的大量空区块都要保存吗?
这样的话随着时间的发展,所有区块占有的存储空间会不会很大?
空块不太占地儿 塞满交易会需要比较大的存储
关于存储空间,最近应该是在实现snapshot和checkpoint, 可以关注GitHub的代码更新