树图账本结构
Conflux的核心是树图 账本结构和 GHAST链选择规则。
分布式账本需要处理并发区块,也就是分叉。 像比特币和以太坊这样的区块链使用最长链规则 来选择一个分叉,并丢弃其 余的所有分叉。 被丢弃的区块既不能为系统的安全性贡献,也不能为其吞吐量贡献。 因此,这些区块链存在着可扩展性和安全性之间的固有冲突。 而Conflux则将所有并发区块纳入其账本,实现了非常高的安全性和性能水平。
首先,Conflux用GHAST链选择规则取代了最长链规则。 根据这个规则,一个分叉是根据在其子树上的所有算力来选择的,而不仅仅是一条链上的算力,这反过来使得这种选择更具健壮性。 这使得Conflux可以使用高达每秒2个区块的区块创建速率。 GHAST还可以抵抗活性攻击。
其次,Conflux使用树图作为其账本结构。 每个区块除了有一个单一的父边之外,还包含了指向前面区块的引用边列表。 这引入了关于区块之间先后关系的新信息。 这种结构本质上是一个有向树(仅父边)嵌入在一个DAG(所有边)中,因此称为树图。
当处理交易时,Conflux首先使用GHAST在树图中选择一个主链。 然后,使用主链和引用边,将账本排序为一个线性的区块序列。 最后,按照这个线性顺序执行交易。