如何解决区块链“不可能三角”问题

区块链不可能三角是指区块链的去中心化、安全性、可扩展性三者不能同时满足,三者只能选择其二。我们在《分布式系统CAP定理与区块链不可能三角》有详细叙述,那如何解决区块链不可能三角问题呢,已经有部分项目提出了解决办法,我们今天简单介绍一下。

一、Algorand

Algorand原理:POS+VRF+BFT。先基于持币量从很多人中选出一批数量不多的委员会成员,之后在这些成员里面随机选出当前的主记账者节点,接下来主记账者节点发布一个区块,所有委员会成员根据PBFT做共识,记账者达成共识后发布区块,使得记账者外的节点也增加这一区块。

如何解决区块链“不可能三角”问题_第1张图片

Algorand使用VRF选择委员会,并且委员会公开投票后可以马上被替换,具有随机性,一定程度上解决了去中心化与安全性问题,而基于POS选出的委员会成员因为数量较少,可以快速达成共识,从而提高效率与可扩展性。

Algorand原理较为简洁,项目leader是计算机领域大牛、图领奖获得者,值得期待。详细分析参考《图灵奖得主项目Algorand漫谈》

二、Thunder

Thunder原理:高效的快速链+安全的慢速链。当大部分节点或算力是诚实的时候,使用传统的PBFT等高效的快速链达成共识,提高系统的可扩展性。而当网络环境恶劣比如出现拜占庭将军问题时,则切换到安全的慢速链,从而解决安全问题。

Thunder通过高效的快速链+安全的慢速链,变相的解决了区块链不可能三角问题,原理比较简单,容易理解。团队成员也是行业内比较知名有实力的人物,不过硬顶略高、目前也没有MVP,需要继续观察。

三、Vite

Vite原理:高效的区块点阵BlockLattice+安全的快照链Snapshot Chain。Vite 采用区块点阵BlockLattice账本结构,具有非常强的性能和可扩展性,同时通过引入快照链 Snapshot Chain,成功的弥补了block-lattice 安全性方面的不足。

通过分层共识算法HDPoS(分层股份授权证明机制),将交易的写入和确认解耦,写入由局部的账户链完成,确认由全局的快照链完成,兼顾性能与安全。基于消息驱动的异步架构EDA,智能合约之间通过消息传递信息,从而极大提高了系统的吞吐率和扩展性。

Vite 通过使用基于DAG的区块点阵技术,并引入快照链以及HDPOS,实现了可扩展性并兼顾安全性,技术上可行。团队成员有深厚的技术背景和开发经验,是一支难得的国内优秀团队,不过开发周期略长。详细分析参考《Vite-Nano基础公链版,中国最强DAG项目?》

四、发链FAB

整个Fab系统的亮点和设计哲学立足于区块链不可能三角,引入三个各具三分之二优势的不同模块,并且通过矛盾错位机制使其底层三位一体,互相补足。

如何解决区块链“不可能三角”问题_第2张图片

基础链(Foundation chain),拥有的是“去中心化”和“安全性”,而主动放弃“可扩展性”。基础链上采用的共识是POW,以后会过渡到POS的变种PoP(Proof of production)共识。

辅助链的设计理念是极大增强“可扩展性”,保障一定的“安全性”,但是会具有“中心化”风险。辅助链节点从局部实现扩展性,可以根据不同业务需求来执行大量的具体业务,使整个系统得到了强大的事务和交易处理能力。

如何解决区块链“不可能三角”问题_第3张图片

开放性存储网络(Open Storage Network, OSN)对应的是“可扩展性”和“去中心化”,但是缺乏“安全性”。由于存储网络主要用于冗余保存那些用以校验交易冲突的辅链区块数据(交易同时也存于KanBan和辅链节点上,清算后上主链),目的是帮助辅助链“去中心化”,所以对安全性的需求是可以被稍微牺牲下的。

Fab设计哲学算是最大的亮点,值得借鉴,项目已历时三年,主网最近刚刚上线,其余的并没有太大优势,不做更多叙述。


本文首发于微信公众号:硬币研究院,扫码关注我们

如何解决区块链“不可能三角”问题_第4张图片

加微信:li879949137,带你坐豪车。

如何解决区块链“不可能三角”问题_第5张图片

你可能感兴趣的:(如何解决区块链“不可能三角”问题)