BM最新作:区块链背后的取舍之道

随着关于共识算法和去中心化的争论日益激烈,当务之急是聪明的观察者要求考虑所有技术妥协的全部代价。

在比较区块链技术时,我们并不需要花费很多时间就可以发现这种技术中存在部落主义。 自2009年以来,我一直在从事区块链技术的研究,我发现一件有帮助的事情是思考人们可以做出的所有设计权衡。 这不像“最快”,“最具扩展性”,“最去中心化”或“最佳治理”那么简单。 在选择哪种区块链技术最适合您的应用时,本文将探讨一些不太常见的问题。

53B2126C1B9A437FB9FCABF929D1A5EB

信任与不信任治理

各种区块链上有许多不同类型的治理系统,并且并非所有治理系统都适合建立信任。 例如,委托工作量证明(例如,比特币以太坊)是一种投票系统,通过该系统,矿池可以确定哪些有效交易的子集可以包含在区块中。 不能假定生成区块的节点比任何其他节点具有“更高的信任度”,因此,它们可以通过生产一个区块链表示“无害”。

在委托权益证明系统中,区块生产者由代币持有人投票选举产生。 假定可以使用某些东西来信任这些选定的节点,如果违反了该信任,这些东西可能会使网络瘫痪。 EOS的两个重要例子包括:

  1. 成为计算运行时的oracle数据库(1个坏角色可能会因缺乏无限循环或计费不足而使网络瘫痪)。
  2. 部署系统合约更新(⅔+会损害网络)。

在任何人都可以提出一个区块的网络中,所有验证器都必须具有客观的CPU计费时间度量。 以太坊就是这样工作的,但是,如果模拟目标计费与实际CPU时间之间不匹配,则并非没有性能下降和攻击媒介的后果。

其他权益证明系统,例如Ouroboros,允许任何帐户通过模拟挖矿和Staking来生产区块。 这从根本上限制了他们的智能合约系统像以太坊具有客观资源计数一样运行。 如果您拥有开放的区块生产者集合而没有“信任门”,那么您的代码必须在性能上做出妥协,而这可以通过DPOS之类的“有信任但可验证”的系统来避免。

您对共识算法的选择所产生的影响远不只是达成共识的方式。

抵抗审查

所有区块链面临的挑战是用户如何确保他们的“有效交易”能够真正记录在链上而不会受到其他人的干扰。 原则上,生产和确认的实体越“独立”和“非共谋”,就越有机会找到其中一个包括交易在内的实体。 最坏的情况下,您可能必须生产自己的区块。

抗审查的故事并没有以“如果您愿意购买挖矿硬件,就不会受到审查”这一叙述而结束。 避免受到交易审查的唯一确定的方法是拥有51%的挖矿权。 没有51%的挖矿能力,矿池运营商可以简单地忽略任何要审核交易的区块。 这意味着比特币治理产生了固有的“信任”,硬件所有者(又名选民)选择了不太可能受到审查的矿池。

在这方面,委托工作量证明和委托权益证明都实现了一种“受信任的治理”形式,在一定程度上,算力和代币可以广泛分布在足够多的独立选民中。 但是,一旦选民投票,只需3到4个代表(池,区块生产者)即可审查一笔比特币或以太坊交易,而抗议一个特定的有效交易则需要8个或更多的区块生产者才能停止DPOS链。

客观与主观最终确定性

工作量证明区块链以及一些权益证明区块链缺乏客观的最终确定性。 相反,它们呈现出随着时间的推移而增长的“最终确定性很高的可能性”。 我们可以说以下链具有主观最终性:

  • 比特币/以太坊(委托工作量证明)
  • Bitshares / Steem(委托权益证明)
  • 卡尔达诺(Ouroboros)

以下链具有客观最终确定性:

  • EOSIO(BFT DPOS和BOS)
  • 某些超级账本
  • 哈希图
  • 瑞波

拜占庭容错算法需要一组封闭的已知验证器才能达到最终性,结果,如果关闭了该已知组的1/3,则它们将无法达到最终确定性。 有了主观确定性,总会有人产生更好链条的证据,这会导致您放弃当前链。

开放式进入系统往往缺乏最终性和某种形式的“赢得的信任”,因此它们受到性能,治理和延迟的限制。

轻松的区块链间通信(IBC)

您对区块链技术和共识算法的选择可能会影响哪种IBC具有可能性以及这种IBC的速度。要查看实际情况,请考虑尝试在EOSIO上编写智能合约以处理比特币header并验证比特币交易。您的智能合约在什么时候可以考虑比特币交易的最终性?在许多情况下,即使在100个区块之后,区块链也可能会重组。您选择的任何数量的确认都带有可能被撤消的风险。

现在,假设您对另一条链进行了不可变的操作,该链具有基于IBC的最终性,而该链没有最终性。在实践中,具有缺乏客观最终性的链的IBC必须等待很长时间,以减少因无效假设而导致的链重组的风险。如果存款经过6次以上的确认后撤消,则该或您的比特币存款智能合约必须具有某种减轻损害的方法。

可以在主观最终性的链中使用IBC,但如果通信是双向的,那么上帝会帮助您。彼此通信的两个主观最终性链需要的延迟类似于与深空探测器通信的时延,往返时间以小时或天为单位。

可以在几秒钟内完成具有客观最终性的链中的IBC。

最后,仅仅因为理论上两个链之间可以进行通讯并不意味着这很容易。 通讯的便捷性部分取决于将智能客户端建立到另一个链作为智能合约的难易程度。 这又取决于header和Merkle证明的复杂性和数量以及智能合约语言的鲁棒性和性能。 智能合约中过多的开销或太少的电力会杀死IBC的潜力。

例如,考虑一下EOS模拟以太坊要比以太坊模拟EOSIO要容易得多!

结论

随着关于共识算法和去中心化的争论日益激烈,当务之急是聪明的观察者要求考虑所有技术妥协的全部代价。 如果“去中心化的开放式共识算法”意味着您拥有的区块链具有主观的确定性和高延迟的区块链间通信(IBC),并且无法在治理层中利用“信任但可验证”的优化,那有什么好处?

另一方面,提供最终性的算法也存在风险。

请记住“区块链背后的取舍之道(All Blockchain Magic comes with a Price)”,在将组织委托给任何特定的智能合约平台之前,请确保已阅读细则。

转载声明:本文 由CoinON抓取收录,观点仅代表作者本人,不代表CoinON资讯立场,CoinON不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。若以此作为投资依据,请自行承担全部责任。

声明:图文来源于网络,如有侵权请联系删除

风险提示:投资有风险,入市需谨慎。本资讯不作为投资理财建议。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2020年3月2日 上午9:51
下一篇 2020年3月2日 下午3:50

相关推荐

BM最新作:区块链背后的取舍之道

星期一 2020-03-02 15:50:24

在比较区块链技术时,我们并不需要花费很多时间就可以发现这种技术中存在部落主义。 自2009年以来,我一直在从事区块链技术的研究,我发现一件有帮助的事情是思考人们可以做出的所有设计权衡。 这不像“最快”,“最具扩展性”,“最去中心化”或“最佳治理”那么简单。 在选择哪种区块链技术最适合您的应用时,本文将探讨一些不太常见的问题。

53B2126C1B9A437FB9FCABF929D1A5EB

信任与不信任治理

各种区块链上有许多不同类型的治理系统,并且并非所有治理系统都适合建立信任。 例如,委托工作量证明(例如,比特币以太坊)是一种投票系统,通过该系统,矿池可以确定哪些有效交易的子集可以包含在区块中。 不能假定生成区块的节点比任何其他节点具有“更高的信任度”,因此,它们可以通过生产一个区块链表示“无害”。

在委托权益证明系统中,区块生产者由代币持有人投票选举产生。 假定可以使用某些东西来信任这些选定的节点,如果违反了该信任,这些东西可能会使网络瘫痪。 EOS的两个重要例子包括:

  1. 成为计算运行时的oracle数据库(1个坏角色可能会因缺乏无限循环或计费不足而使网络瘫痪)。
  2. 部署系统合约更新(⅔+会损害网络)。

在任何人都可以提出一个区块的网络中,所有验证器都必须具有客观的CPU计费时间度量。 以太坊就是这样工作的,但是,如果模拟目标计费与实际CPU时间之间不匹配,则并非没有性能下降和攻击媒介的后果。

其他权益证明系统,例如Ouroboros,允许任何帐户通过模拟挖矿和Staking来生产区块。 这从根本上限制了他们的智能合约系统像以太坊具有客观资源计数一样运行。 如果您拥有开放的区块生产者集合而没有“信任门”,那么您的代码必须在性能上做出妥协,而这可以通过DPOS之类的“有信任但可验证”的系统来避免。

您对共识算法的选择所产生的影响远不只是达成共识的方式。

抵抗审查

所有区块链面临的挑战是用户如何确保他们的“有效交易”能够真正记录在链上而不会受到其他人的干扰。 原则上,生产和确认的实体越“独立”和“非共谋”,就越有机会找到其中一个包括交易在内的实体。 最坏的情况下,您可能必须生产自己的区块。

抗审查的故事并没有以“如果您愿意购买挖矿硬件,就不会受到审查”这一叙述而结束。 避免受到交易审查的唯一确定的方法是拥有51%的挖矿权。 没有51%的挖矿能力,矿池运营商可以简单地忽略任何要审核交易的区块。 这意味着比特币治理产生了固有的“信任”,硬件所有者(又名选民)选择了不太可能受到审查的矿池。

在这方面,委托工作量证明和委托权益证明都实现了一种“受信任的治理”形式,在一定程度上,算力和代币可以广泛分布在足够多的独立选民中。 但是,一旦选民投票,只需3到4个代表(池,区块生产者)即可审查一笔比特币或以太坊交易,而抗议一个特定的有效交易则需要8个或更多的区块生产者才能停止DPOS链。

客观与主观最终确定性

工作量证明区块链以及一些权益证明区块链缺乏客观的最终确定性。 相反,它们呈现出随着时间的推移而增长的“最终确定性很高的可能性”。 我们可以说以下链具有主观最终性:

  • 比特币/以太坊(委托工作量证明)
  • Bitshares / Steem(委托权益证明)
  • 卡尔达诺(Ouroboros)

以下链具有客观最终确定性:

  • EOSIO(BFT DPOS和BOS)
  • 某些超级账本
  • 哈希图
  • 瑞波

拜占庭容错算法需要一组封闭的已知验证器才能达到最终性,结果,如果关闭了该已知组的1/3,则它们将无法达到最终确定性。 有了主观确定性,总会有人产生更好链条的证据,这会导致您放弃当前链。

开放式进入系统往往缺乏最终性和某种形式的“赢得的信任”,因此它们受到性能,治理和延迟的限制。

轻松的区块链间通信(IBC)

您对区块链技术和共识算法的选择可能会影响哪种IBC具有可能性以及这种IBC的速度。要查看实际情况,请考虑尝试在EOSIO上编写智能合约以处理比特币header并验证比特币交易。您的智能合约在什么时候可以考虑比特币交易的最终性?在许多情况下,即使在100个区块之后,区块链也可能会重组。您选择的任何数量的确认都带有可能被撤消的风险。

现在,假设您对另一条链进行了不可变的操作,该链具有基于IBC的最终性,而该链没有最终性。在实践中,具有缺乏客观最终性的链的IBC必须等待很长时间,以减少因无效假设而导致的链重组的风险。如果存款经过6次以上的确认后撤消,则该或您的比特币存款智能合约必须具有某种减轻损害的方法。

可以在主观最终性的链中使用IBC,但如果通信是双向的,那么上帝会帮助您。彼此通信的两个主观最终性链需要的延迟类似于与深空探测器通信的时延,往返时间以小时或天为单位。

可以在几秒钟内完成具有客观最终性的链中的IBC。

最后,仅仅因为理论上两个链之间可以进行通讯并不意味着这很容易。 通讯的便捷性部分取决于将智能客户端建立到另一个链作为智能合约的难易程度。 这又取决于header和Merkle证明的复杂性和数量以及智能合约语言的鲁棒性和性能。 智能合约中过多的开销或太少的电力会杀死IBC的潜力。

例如,考虑一下EOS模拟以太坊要比以太坊模拟EOSIO要容易得多!

结论

随着关于共识算法和去中心化的争论日益激烈,当务之急是聪明的观察者要求考虑所有技术妥协的全部代价。 如果“去中心化的开放式共识算法”意味着您拥有的区块链具有主观的确定性和高延迟的区块链间通信(IBC),并且无法在治理层中利用“信任但可验证”的优化,那有什么好处?

另一方面,提供最终性的算法也存在风险。

请记住“区块链背后的取舍之道(All Blockchain Magic comes with a Price)”,在将组织委托给任何特定的智能合约平台之前,请确保已阅读细则。