Blockchain Meets DAG: A BlockDAG Consensus Mechanism (ICA3PP 2020)
Block mergence 记录区块之间的关系,交易信息,而不只是纯交易。

整个框架包含Block Generation, Sorting Block, Block Mergence, Consensus Implementation, Block Splits。如图所示。第一阶段,BG创建原始区块。当一个transaction被创建,它会被添加到最近的block pool of the blockchain node。这些blockchain node将这些transaction验证,然后打包为几个块,添加到系统块池中。第二阶段对这些未验证的块进行排序,所提出的方法可以解决双花和共识冲突问题。然后,BM指对排序期间未被验证的块进行合并,准备进行全局共识。另外,所提出的共识算法将在CI阶段运行,其中DAG的共识将通过实施面向区块链的共识来完成。最后BS将合并的块拆分为原始状态,然后将块定位到内部的BlockDAG结构。
所做的贡献:
1,提出新的BlockDAG模型,这种模型有构建共识的全局块Ranking算法,该模型有两种block类型:父子块,用来规划顺序。本文中解决区块顺序的方法是评估parent blocks中的关系,用这种方法解决分叉和双花的问题。提出了一种分层的排序算法,用来对DAG中的区块排序,用来防御恶意blocks和双花。
2,本文提出了一个BlockDAG的共识算法,将网络结构简化为single-chain结构来简化共识。考虑了合并块的成功率的情况下,将几个区块合并成一个区块。建立了数学模型来说明高吞吐量和好的伸缩性。
概念:
Logical blocks:logical blocks是一种满足特定要求的物理区块。Logical blocks在BlockDAG中,但是Physical blocks不在。
MergedBlock:将排好序的区块进行合并,被合并的MergedBlock会被整合成一个大的包,MergedBlock会组成MergedBlockChain。
成长周期:一旦创世区块被创建,区块链就进入成长期。成长周期是两个相邻的waves of new blocks.
本文中保留了区块的概念。共识算法作用在MergedBlock上。
在共识算法中,假设一个MergedBlockA在区块合并阶段产生,leader会在共识算法中把这个区块复制给其他的节点。
最后,被合并的区块链再被拆分开,变成一个DAG。
全局的排序很扯淡,根本没说清楚是怎么排的。
总的来说这篇文章没什么价值,把DAG变成一个单链,然后对单链进行排序,然后重新拆分成DAG,没什么意义,而且说到底不还是一个类似于

的区块链。这样能提高性能吗?不清楚,看起来不太行。
所谓解决区块链顺序是基于父区块,根本没给细节描述。
可以参考的点:将部分DAG作为一个区块进行共识。在部分节点进行整体共识。