树图区块链基本结构
1.每个区块只有一条父边
指向父区块;
2.每个区块可能有多条关联边
指向“happen-before” 关系的区块;
确定区块链的主链
1.从创世区块开始;
2.迭代深入选择最重的分支作为主链。
比如这个区块链中,子树A所在分支即为区块链主链。
创建一个新的区块到区块链中
1.选择主链中最新的区块作为父区块;
2.对所有还未引用的区块(没有任何的入边)创建引用边
利用局部顺序确定总体顺序
先是将每个区块划分到epoch中:
1.每一个主链上的块构成一个epoch;
2.每个非主链的块属于第一个在该块之后生成的主链块的epoch;
例如:
确定总体顺序:
1.对区块链划分epoch,区块所在epoch越早,整体顺序越靠前;
2.对每个epoch内部的区块排序,根据“happen-before” ,即引用边
的关系;
确定所有交易顺序:
1.所有区块顺序确定后即可排出所有交易顺序;
2.去除所有交易中的冲突交易和重复交易;