在此前的文章:“Trias网络如何用DAG提升吞吐量”中,我们简要介绍了Trias中DAG的基本数据结构(StreamNet)和交易的实现过程。与链式结构相比,DAG结构的交易速率得到了显著的提升,但随之而来的问题是,如何选择未被确认过的新交易(tip)呢?
如果采用基本的随机游走算法,会导致新的交易批准老的交易而不被惩罚;而如果采用超权重算法的话,比如给不同的交易设置一个权值,又会造成新交易始终优先批准高权值交易,很多权值较低的交易永远也得不到确认。
一、DAG中的交易共识
目前交易的确认在StreamNet中主要有三种方式:
· 第一种方式:所有tip覆盖到的公共节点是被完全确认的。举一个例子,下图中,tip1引用或间接引用的交易为蓝线条和黄线条覆盖,而tip2引用或间接引用的交易为黄线条覆盖。那么被tip1和tip2共同覆盖到的就是标绿的交易,也就是被完全确认的交易。