龙空技术网

公链进化史:“不可能三角”的权衡取舍

锌链接 137

前言:

今天大家对“bft算法时间复杂度”大致比较关怀,同学们都想要剖析一些“bft算法时间复杂度”的相关文章。那么小编也在网摘上汇集了一些关于“bft算法时间复杂度””的相关资讯,希望小伙伴们能喜欢,看官们快快来了解一下吧!

文:易伯玲

编辑:王巧

数字货币开启了区块链技术在全世界范围的认知,区块链则构筑了数字经济时代的价值网络基础。自Facebook的Libra白皮书发布,27亿用户的互联网巨头,使得区块链技术更大范围进入了人们的视野。

公链的发展历程已达十年之久,而其背后经济模式、共识机制、密码学等技术对普通人来说一直非常神秘和高深。

近期公布的 Nervos 公链经济白皮书和共识白皮书在圈内引起不小的反响。那么Nervos独有的经济模型和共识机制实现了哪些创新?其采用的分层技术与近来大热的分片技术又有哪些差异?Facebook的Libra白皮书发布对于公链的发展又有哪些技术意义?

6月26日,在越你聊“锌”第25期分享会上,锌链接创始人龚海瀚邀请秘猿科技首席产品官、Nervos联合创始人王博,以“新一代创新型公链的技术架构解析——Nervos”为主题,深入浅出地讲解了新一代公链技术。

锌链接:介绍一下Nervos的分布式应用模型和分层形式?Nervos架构师Jan曾经提过第二层架构如果解决了,根本不需要Sharding (分片),你怎么看?

王博:区块链世界存在着扩展性的不可能三角问题,即可扩展性、安全和去中心化性三者只能取其二,无法同时实现。其中可扩展性指的是高吞吐率、低延迟,安全指的是全局共识的一致性和不可逆性,去中心化性则是指交易的不可审查和服务的可用性。

Nervos认识到区块链扩展性不可能三角的本质矛盾,因此不会去尝试在同一条链内解决扩展性问题,这将意味着我们必须放弃安全或者去中心化性。我们认为对于一条公链来说,安全和去中心化性是不可舍弃的,前者是基础,后者则是区块链系统相对于互联网系统的优势。

所以在 Nervos 架构下,我们的底层公链 Nervos CKB 承载了安全和去中心化特性的服务,并将高性能高吞吐率的服务放在第二层实现。第二层架构包括状态通道、侧链等模式。在第二层架构中,我们适当地舍弃了去中心化特性以换取高性能的服务。

所以如何取舍是公链设计的重点,如果有个公链告诉你说它可以在保证安全、去中心化的前提下达到多少万tps,那么几乎可以肯定它对安全和去中心化的理解是有偏差的。

Sharding本质上是在第一层区块链中尝试解决区块链的扩展性问题,因此它必然牺牲了安全性或去中心化性。

通常来讲,我们看到大部分的 Sharding方案都采用了节点仅仅对某些分片进行校验而放弃对所有交易进行校验的方案,这显然会让人对其安全性是否与非Sharding方案一致产生疑问。与分层架构相比,Sharding方案并没有给用户可选项。而在分层架构中,用户可以选择是否进入第二层,使用安全性或去中心化性去换取高性能的服务。

举个例子,当你使用tps只有20的以太坊的时候,你其实获得了相当高的安全性和去中心化性。

但如果你希望快速处理你的交易,你可以把资产转移到雷电网络(某种形式牺牲了去中心化性)或者侧链(可能同时牺牲了安全性和去中心化性)。但对用户来说是可选的,TA做完交易后可以撤回到主链上,继续享受高安全性和去中心化性。但在 Sharding 系统中,用户不存在这个选择。

所以我们更认可分层架构,它把选择权留给了用户。一旦Layer2网络搭建完成,用户行为上自然就会把去中心化需求更高的业务放在Layer1上,而把性能要求更高的业务部署在Layer2上。就像用户需要交易的时候把币转账到中心化交易所(承担了跑路风险),不需要交易的时候提现到自己钱包(也就是主链上)一样。

锌链接:介绍一下 Nervos CKB 采用的共识机制以及Nervos的经济模型?

王博:Nervos CKB 采用的共识机制是由我们的研究员张韧提出的NC-Max方案,即Nakamoto Max。这种共识机制沿用了比特币采用的Nakamoto共识,并对其不足进行了升级,以获得更高的可用带宽,进而获得更高的处理速度。

与大多数最新公链采用的PoS+BFT共识不同,我们很“怀旧地”使用了古老的 PoW+升级版的Nakamoto共识。这是因为我们明确知道PoS无法提供与PoW一致的安全性和非许可性。同时我们认为Nakamto共识也是目前所有共识协议中对非许可性和去中心化性支持最好的共识协议。

NC-Max的对Nakamoto共识进行了升级。

具体的升级体现在这2个地方:

1)传统的Nakamoto共识以出块时间间隔作为难度调整的目标,NC-Max则以孤块率作为难度调整目标,孤块率与系统总体网络状态密切相关,控制孤块率可以更大限度地利用带宽;

2)区块中划分出交易提案区和交易确认区,确认区的交易只能是之前区块中提案区包含的交易,这样可以规避自私挖矿、交易二次传播等问题。

NC-Max可以最大限度地利用带宽,并在带宽日益升级的未来,通过自身的自适应调整提供满足安全性和去中心化性前提下的最大吞吐量。

Nervos CKB站在了前人的肩膀之上,从技术和经济模型上提出了全新的架构,以保证对矿工的长期激励性和服务综合定价的合理性。具体来说,我们使用类似UTXO结构的Cell模型作为用户状态存储的基础结构。

它不同于以太坊的账户模型,相比较来说优势在于合约和用户状态分离,每个用户的状态独立存储独立管理。这就从根本上解决了基于账户模型的状态定价和收费困难的问题。

关于Nervos的经济模型,在长期激励上,我们提出了”二类增发”的概念。Nervos CKB中的一类增发与比特币类似,存在一个硬顶,在某个时间点之后不再增发。但二类增发则与一类增发叠加,提供一个持续的恒定增发数量。

二类增发保证了在一类增发达到硬顶后,矿工仍然可以获得持续的收益来维持系统的安全性。

为了对持币人资产提供反稀释保护,我们同时提出了NervosDAO服务。持币人可以将CKB锁定到 NervosDAO中,即可以获得与二类增发导致的通胀比率一致的利息。

如果用户将代币用来购买系统状态空间则自然无法获得这部分利息。通过这种方式,我们对系统资源占用方进行了定向稀释。

可以说 Nervos CKB 在实质上保证了增发硬顶和持续激励,并通过技术手段保证了系统的可持续性。

锌链接:Libra白皮书有什么技术意义?对其他公链项目具有哪些影响?

王博:首先,Libra对整个区块链行业来说是非常正面积极的。它可以将海量互联网用户带入区块链领域。我们知道目前活跃的区块链用户(除去大多数仅在交易所投机的用户之外)应该不超过1000万人。Libra的出现可以让海量用户进入这个领域,并开始积极使用区块链相关的支付、DApp 等服务。

其次,它对各国的监管来说是个不可忽视的新课题,可以倒逼各国监管对区块链和数字资产明确监管边界,有利于后面的区块链技术创新的顺利进行。我们看到 Libra 公布后,主要国家的监管部门都针对性地发了声,这是一股无法忽视的力量。

对于其他公链的影响稍微复杂一些。

我认为 Libra 短期内对区块链行业内强调去中心化金融服务的公司影响较大,长期对互联网巨头,例如腾讯、阿里、苹果等影响较大。区块链行业中过去存在很多非正规军提供金融服务,例如Tether提供美元稳定币,renrenbit提供借贷等,这些服务商在Libra面前几乎没有任何竞争力,对方拥有海量用户和更正规的服务。

类似的,强调高性能的公链,例如 EOS/TRON 等在同样高性能的Libra 面前也失去了独特的竞争优势。虽然他们的峰值TPS超过Libra宣称的 1000tps,但大多数时候EOS/TRON的TPS仅在100以内。

另外,长期看来,Libra以支付入手打造全球无摩擦的金融服务平台,必然与互联网巨头产生正面冲突,传统的互联网支付服务在Libra面前将面临降维攻击。需要注意的是,Libra绝不仅仅是一种新的无国界货币,更重要的是金融服务平台,设想理财、借贷都可以在Libra上出现的时候,BAT这种旧世界的巨头慌不慌。

Libra从技术上看有两个较大的亮点。一个是它的共识机制基于一种改进的BFT算法,Hotstuff。这种共识算法将传统BFT O(n^2)的通讯复杂度降低到 O(n),并且通过流水线处理区块进一步将通讯复杂度降低,同时优化了BFT算法的一些关键流程,提高了BFT的效率。第二是它提出了带有部分DSL特征的合约语言Move。Move在灵活性和安全性上做了平衡,非常合适金融业务在区块链上的开展。

标签: #bft算法时间复杂度