Celo如何用拜占庭的容错,股权证明和奖励来恢复以太坊,以服务移动设备
Cylo的目标是让世界任何地方的任何人都能获得金融服务,汇款到电话号码,并支付商人的智能手机,并在社区开发和运营的分散平台上汇款。该项目的表面积越来越迅速,更快地提供更好的产品,我们选择建立在一些加密社区的最佳工作中。
Cylo的区块链参考实施是基于Go-Ethereum,Go Inversion的Ethereum协议。我们感谢GETH社区,为这些肩膀提供抵销,同时认识到以外的是一个独立的项目,我们希望能够贡献我们所能的贡献。
Celo协议包含其最终用户服务的许多实质性变化。在这篇文章中,我们专注于共识议定书,采用新交易的核心机制,并提高网络商定的国家,以及获取国际知宪事务的股权证明 - 它如何确定哪些节点参与共识。
与最近的最近加密项目一样,Cylo正在采用拜占庭式容错(BFT)共识算法。一系列定义的一组验证器节点在一系列步骤中广播签名消息即使在总节点中的最高三分之一是脱机,有故障或恶意的时间也是如此。当验证者的批准达成协议时,该决定是最终的。
大多数BFT实现基于Miguel Castro和Barbara Liskov在实际拜占庭容错上的工作。理解和实施共识算法是臭名昭着的:这是PBFT的良好解释者。 Celo的基于一个名为伊斯坦布尔或IBFT的实施。这并不是与即将到来的Ethereum Hard Fork混淆,也是代号为伊斯坦布尔。 IBFT是由AMI开发的,并提出作为GETH的延伸,但从未合并过。仲裁和万神殿客户都存在IBFT的变体。我们一直在修改伊斯坦布尔,以最新的GETH发布,修复正确性和活力问题,并提高其可扩展性和安全性。我们将潜入后续帖子中的细节。
由于Celo议定书是利用Ethereum作为其区块链的基础,值得解释为什么我们花时间远离已经部署的工作方案证明。 (也值得注意的是,Ethereum 2.0最终会产生类似的举动!)
在工作方案证明中,节点竞争解决计算难题,这些拼图消耗绝大多数节点的计算能力 - 并且也需要高电器使用。接受作为网络当前状态的块链(或多或少)最长并且将花费最多的能量来重写。
在这里,安全有数字。网络安全依赖于没有一个组织获取大部分总“散列权”,因此能够进行51%的攻击。这意味着工作网络证明的用户实际上是支付,其存在很少会导致正在处理的事务所处理的矿工,而是防止接管网络。安全性越高,成本和环境影响越高。
在BFT共识中,Validators仅通过运行事务并验证彼此提出的块来进行构建块的有用工作。这允许网络提供更高的事务吞吐量。通过忠实执行BFT算法的三分之二来保护网络通过忠实地执行BFT算法:当实现仲裁时,该块是最终的。
股权网络证明的能力越大,需要为更小的硬件资助提供资金的需要意味着其运营成本总体和每次交易的基础远远低。重要的是,网络可以使用工作证明的一小部分。
新网络的另一个好处更加安全。攻击者可以并确实租用计算资源以瞄准工作网络的证明,因此只有最多的网络只能有效地抵抗51%的攻击。新网络达到这一点是一个困难和冗长的过程。
股份证明还提供即时最终:几乎所有交易在几秒钟内完成并且在几秒钟内不可逆转,提供更好的用户体验。工作方案证明具有概率的终结:由于许多节点同时竞争挖掘块块,如果其中包含它的块,则可以恢复交易,然后作为最长链的一部分和冲突的事务适用于:随着时间的推移发生这种情况。
虽然采用BFT共识的好处似乎非常引人注目,但它不取代工作计划的证据。 BFT协议依赖于外部机制来确定参与协议的验证器。该算法也不能超过数百个验证器的顺序,并且可以在最多三分之一的验证器中抵制恶意或故障行为。出于这些原因,在有更多参与者的开放系统中,必须进行一些策略选择以确定如何分配这些特权角色。此外,承认每个验证者都有一个相关的风险:每个新验证者必须遵守强大的经济激励措施和/或信任的组合,以确保网络的安全性。
“股份证明”计划是试图将验证器的激励与网络的激励对齐。他们将共识算法(通常是BFT)与机制覆盖,以将潜在的验证者资金持有托管中的托管作为“股份”,接受其中一些作为验证者并奖励它们,同时也会激励其他节点来检测和证明错误的验证者'削减'那些赌注的部分。平衡这些方面是挑战的。 Cosmos和Tezos是使用股权证明的成功公共网络的例子。
这与工作方案证明的“许可”性质形成鲜明对比,这允许任何节点尝试挖掘一个没有任何协调的块,并奖励他们成功这样做。这些方案要求矿工造成能量成本上限,这意味着在挖掘块时,它们具有强大的激励,可以正确地将块提交到网络。此外,矿工人数可以随时间变化,对协议影响很小。根据他们参与,基础货币通过块奖励重新分配给新矿工。
这导致了对股权证据的主要批判:赌注向大多数参与者进入的障碍,这意味着他们将力量和奖励集中在太少的手中,并且他们缺乏“许可的斜坡上斜坡”议定书,剥夺了新的参与者获得货币的机会,并达到他们作为验证者参加的程度。
当然,应用交易和验证状态更新只是数字付款平台必须执行的一小部分。 Cylo专注于为移动支付提供最佳用户体验意味着Cylo设计假设与其他网络不同,有时显着。
我们预计大多数Cylo的最终用户将管理他们的帐户并在手机上使用钱包应用程序发送付款。开源Celo应用程序将连接到网络的“光客户端”嵌入,并针对低功耗设备和低带宽连接进行了优化。这些轻客户端需要节点,这些节点将为他们的帐户和交易数据的请求和代表他们的新交易。 Celo网络中绝大多数机器可能需要满足这一角色。
在Ethereum,现在很少有激励来运行未挖掘的完整节点。很少有节点为轻型客户提供服务,这导致移动钱包的经验不佳。
因此,Celo设计了一种协议,激励用户运行常规节点。与Cylo,Light客户端向全节点支付每笔交易费用。客户端包括在每个事务中都包括节点的地址,当处理事务时,该地址会收取此费用。全节点宣传最低费用,并可选择拒绝处理其不会收取费用的交易,或者它认为不足的费用。
虽然一个完整的节点提供了他们没有收到特定费用的其他服务,但我们预计未能维修这些请求将导致客户寻求其他完整节点,然后谁将在下次进行交易时收到费用。该模型类似于咖啡馆:虽然您可以在租金上进行租金,热量,WiFi等,但您可能需要定期购买咖啡。拒绝,下次可能不那么欢迎。
我们预计市场出现的市场,其中轻的客户(在大多数情况下自动)根据成本,延迟,可靠性和其他因素选择完整节点对等体。良好的全节点邻近他们的社区接近他们的社区将提高应用程序性能和可靠性。由于轻客户端不需要信任全节点,因为它们可以验证其工作,它还提供了“许可的On-Ramp”缺乏股权网络的其他证明。
除了旁边,它还证明,使用BFT共识允许Celo客户端比以外人更快地同步,这对于差的连接上的设备非常重要。您可以在此处阅读有关Celo的UltLight Sync模式的更多信息,我们将在未来的帖子中挖掘它。
Cylo在Ethereum协议上建立了一个旨在创建一个赋予世界任何地方的任何人的平台,以便获得金融服务的智能手机。它替换了以Ethereum使用工作证明,并通过拜占庭容错共识算法安全地将交易安全添加到分类帐。并且它通过为全节点创建用于服务移动设备的激励来创建新的权限的ON-RAMP。
在我的下一篇文章中,我们深入了解有关人掌的股份设计证明的细节。
如果您有兴趣在Cylo网络上查找有关在Celo网络上操作节点的更多信息,验证器或完整节点,或者可以看到自己运行验证器组,您应该绝对加入大家群。
我们也很乐意听到您对我们建造的内容的看法。验证器激励机制的设计空间有许多复杂的权衡,我们期待与社区合作迭代这一点。
您可以在Cylo开发人员文档中阅读有关Cylo协议的更多信息,并在AlfaJores TestNet上尝试获取Cylo。 您可以在Cylo论坛上询问问题并找到答案,或与Collo开发商聊天。