当前存在的问题:随着比特币知名度的提高,越来越多的交易涌向比特币系统,其性能问题凸显出来:交易确认时间久,吞吐量低。比特币每10分钟出一个区块,区块最大为1MB,换算下来每秒钟处理的交易数是7笔,与当前许多金融系统相比太少。吞吐量过低限制了区块链的应用场景。为改善这个问题,不少公链项目致力于提高性能,例如增加区块大小或提高出块频率。
限制区块链性能提高的原因主要是共识过程。在一个完全去中心化的环境中,要得到多数节点的认可,往往需要多次交互,而每次交互伴随着网络延迟,这两者的影响使得区块链系统的吞吐量难以提高。为解决这个问题,人们开发出了新的共识算法,下面介绍一种新的共识算法。
异步共识算法:在同步共识协议中,每出一个块,所有节点之间要进行同步,共识通过后再继续出下一个块。另一种做法是出块后无须立即达成共识,每个节点根据一定规则尽力出块。如果规则制定得足够巧妙,各自为战的节点在一段时间后仍能达成一致。
现有的异步共识算法有:Graph算法、ITOA、HashGraph等。下面介绍一下HashGraph算法。
HashGraph算法:HashGraph是一种数据结构和共识算法,旨在解决异步拜占庭容错问题。根据FLP定理,在可靠且存在节点失效的异步分布式系统中,不存在一个可以解决一致性问题的确定性算法,因此HashGraph并非完美的异步拜占庭容错算法。HashGraph在特定条件下对确定性做了些许放宽,即共识算法可能无法终止(即无法给出交易排序结果),但这种情况发生的概率极低,随着更多信息的汇入,这种概率无限趋近于0。HashGraph主要通过互相投票(Gossip about Gossip)和虚拟投票(Virtual Voting)来实现共识过程。
HashGraph的特点:1)公平:账本具有一致的时间戳,可以对每笔交易进行定序。2)安全:使用异步拜占庭容错(ABFT)系统,有相当的安全理论证明,验证简单。3)速度快:可达到250000TPS的吞吐量。
HashGraph目前存在的问题主要包括:1)在大规模公链环境下,gossip算法可能会遇到问题;2)每个共识节点需要保存全网数据,数据压缩问题不易解决。
Graph和HashGraph算法都是成熟的算法,在哥伦布凯撒公链V3.0研发中,采用了一些核心思想,希望在后期上线的"哥伦布凯撒公链V3.0"中,TPS能有质的飞跃。
本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/zx/71958.html
发表回复
评论列表(0条)