风险提示:央行等十部委发布《关于进一步防范和处置虚拟货币交易炒作风险的通知》, 请读者提高风险意识。

Paradigm:更换Cosmos共识算法——抛弃Tendermint采用Narwhal/Bullshark

其实Tendermint在很多年前就被设想出来了,这些年来,研究人员在BFT共识方面取得了巨大的进步。

MarsBit
MarsBit
热度 ...

原文标题:Cosmos without Tendermint: Exploring Narwhal and Bullshark

原文作者:Joachim Neu,Georgios Konstantopoulos,Andrew Kirillov

原文来源:Paradigm

编译:Nicole,MarsBit Intern

当越来越多的区块链系统被部署在生产中时,有两个问题经常会出现:

1.以高吞吐量和低延时实现共识

2.在该共识的基础上建立一个分布式应用

可以解决这两个问题的一个系统是Cosmos。Cosmos使用的是Tendermint,一种高性能的BFT共识算法,以及Cosmos SDK,一个能使开发者在Tendermint之上启动自己的权益证明区块链的工具包。

其实Tendermint在很多年前就被设想出来了,这些年来,研究人员在BFT共识方面取得了巨大的进步。

我们Paradigm的许多人对使用有向无环图(DAG)的高吞吐量和低延迟共识的最新发展感到兴奋,特别是Narwhal mempooland the Tusk及Bullshark共识算法,以及其他。(查看这些博客文章,了解基于DAG的共识协议的更具体的介绍)。

Narwhal/Bullshark(N/B)承诺了更高的交易吞吐量和响应性(意味着N/B的确认延迟是实际网络延迟的函数,而不是最终同步下假设的网络延迟上限)。相比之下,Tendermint没有响应性,因此它的延迟被封闭的延迟约束所限制。由于mempool(Narwhal)和共识(Bullshark)之间的互动方式,N/B的性能也不会像其他基于领导者的共识协议那样,受到错误或恶意行为的影响,或受到网络故障的影响。

鉴于上述优势,我们想到一个问题:能不能用Narwhal & Bullshark (N/B)取代Tendermint,同时争取与Cosmos SDK stack兼容?

在最近为期两天的内部黑客马拉松中,我们建立了一个proof-of-concept(概念验证),居然就实现了这一目标。为此,我们在N/B的代码库中附加了一个小的shim,使其一方面可以 "说 "出Cosmos客户端的语言(API),另一方面可以说出Cosmos应用程序。这足以将Cosmos文档中给出的一些简单的去中心化应用代码实例移植到N/B上,而不是使用Tendermint。

你可以在这里找到proof-of-concept(概念验证)的代码:

https://github.com/gakonst/narwhal-abci-evm

Cosmos Stack是如何工作的?

为了了解我们到底做了什么,让我们看一下Cosmos节点的解剖结构:

吞吐量

一个Cosmos节点由Tendermint Core(TC)的一个实例和一个应用程序的实例组成,Tendermint Core(TC)负责与共识有关的一切,而应用程序的实例则由我们想要去中心化的有用逻辑组成。TC为终端用户客户提供RPC端点(例如,用于提交交易,或查询应用程序的状态)。

TC通过应用区块链接口(ABCI)与应用状态机的本地实例对话。为了ABCI的目的,TC作为一个客户端,发起请求,而应用程序作为一个服务器,以响应的方式回复。一个简单的请求/响应对是 "查询"。TC使用 "查询 "将通过RPC收到的关于应用程序状态的任何终端用户查询转发给应用程序。

其他重要的请求/响应对将已经达成共识的交易账本 "交付 "给应用程序,在那里被用作驱动应用程序状态机的输入。特别是,当一个新的区块在共识中被确认时,"BeginBlock "被调用,并带有区块元数据,随后是 "DeliverTx",用于区块中的每个交易,"EndBlock "再次带有区块元数据,以及 "Commit "以保持所产生的状态。值得注意的是,由于所有的Tendermint实例都在交易账本上达成共识,从而在ABCI调用应用程序的序列上达成共识,应用程序的状态机在网络的所有节点上以锁步方式进行复制。

我们做了些什么?

与这个Stack挂钩的一个自然点是删除TC,并用N/B代替它,辅以一个shim,为客户提供一个RPC终端,并通过ABCI向应用程序提供共识分类帐:

关于【Paradigm:更换Cosmos共识算法——抛弃Tendermint采用Narwhal/Bullshark】的延伸阅读

  • “三链合一”,被低估的Babylon

    Babylon是一个通过“自限”方案实现BTC质押的项目,为POS链提供安全层并获取收益。它可以激活处于“冬眠”状态的BTC,解决其无法直接参与质押的问题。Babylon的前景光明,可为各公链引入BTC作为安全保障,未来可能的TVL达到500亿美金。参与机会有三种:参与交易市场购买NFT、参与测试网、等待主网后参与。

  • 站队以太坊EVM而非Cosmos,Berachain“翻脸”言论引争议

    Berachain是基于Cosmos技术的高估值公链,近期因与Cosmos关系引发争议。它已推出公共测试网Artio,生态项目超90个,但测试网交互卡顿,引发用户不满。Berachain的热度也带动了相关NFT走红,市值超1亿美元。但联合创始人Smokey在推特上发表言论,引发Cosmos社区不满。Smokey澄清Berachain并非Cosmos链,更接近以太坊,但此言论损害了品牌形象和招聘。创始人认为,Cosmos作为整体,通过帮助实现良好技术而不是成为主角,将获得更大利益。争议的原因是加密黑帮文化的存在。

吞吐量

事实上,经过大约两天的黑客攻击,我们能够运行一个简单的ABCI应用,包括N/B上面的EVM执行环境,我们可以通过TC RPC发布事务并查询其结果。

视频链接: https://asciinema.org/a/DP9RN2FzEtIyndGQdFxdkHXen

演示的共识网络由四个节点运行(每个节点都在localhost上运行),其RPC端点可分别通过TCP端口3002、3009、3016和3023到达。有三个账户,Alice(初始为1.5ETH)、Bob(初始为0ETH)和Charlie(初始为0ETH)。Alice进行了一次双重消费,在两个不同的交易中分别向Bob和Charlie发送了1个ETH,分别输入到3009和3016端口的节点。请注意,只有一个交易可以做到这一点。最终,各节点就哪个交易在Foundry的EVM中被执行达成共识,应用程序的状态在所有节点上被同步更新。这个更新将反映在随后的余额查询中。

结论

我们建立了一个Cosmos/ABCI应用程序雏形,使用Narwhal/Bullshark作为共识算法而不是Tendermint。

这个过程中,我们了解到ABCI是相当针对Tendermint的,尽管它的愿望是更加通用。例如,它假设了一个简单的区块链结构,在区块头中存在某些元数据(例如,前一个区块的状态根)。然而,最新的共识协议,无论它们是基于多个平行链还是DAG,都不再适合这个简单的套路。

为了超越proof-of-concept阶段,还需要做更多的工作:

对性能进行基准测试和优化。虽然我们实现了一个概念验证,成功地展示了EVM事务的交付和执行到/在应用程序中,但我们没有对系统进行全面的基准测试(即,提供EVM执行的TPS数字),或尽量减少开销,如在共识和应用程序之间的通信。这将会是我们未来的工作,希望也能支持优化,如EVM并行化以进一步提高吞吐量。

一个具有高性能共识、EVM执行和Ethereum JSON-RPC的testnet/L1交钥匙工程。我们建立的应用程序只使用Foundry的EVM,并不支持Ethereum JSON-RPC APIs。如果我们能将N/B与Foundry的Anvil结合起来就更好了。

吞吐量

具体来说,RPCShim将把新交易重定向到N/B进行排序,并代理所有剩余的RPC调用到Anvil的Ethereum JSON-RPC。来自N/B的有序交易序列将被输送到Anvil(例如通过ABCI的BeginBlock/DeliverTx/EndBlock/Commit),以驱动Anvil中的(修改后的确定)锁步块生产,在所有参与者中复制Anvil的状态及其EVM。结果可能是一个简单的交钥匙高性能测试网/L1,具有N/B的强大共识和Anvil/Ethereum/EVM的表达式RPC和执行。与之前看到的CosmosStack类似,在这种串联中,所有的网络逻辑都由共识层提供,而Anvil可以只作为EVM的运行时间和状态持久层。

完整的Cosmos概念验证。我们建立了一个范围较小的ABCI应用,只支持ABCI共识信息传递。为了支持完整的Cosmos SDK并展示完整的端到端集成,需要实现ABCI的其余部分(可能还有ABCI++),这就需要扩展ABCI/RPC shim(以及潜在的N/B代码库)的功能,如验证器集的重新配置或轻型客户端支持。

对N/B实现本身的改进。例如,我们使用的研究代码库并没有提供Bullshark论文中描述的异步回退。


责编:Moon


免责声明:本文仅代表作者个人观点,不代表链观CHAINLOOK立场,不承担法律责任。文章及观点也不构成投资意见。请用户理性看待市场风险,以及遵守所在国家和地区的相关法律法规。
图文来源:MarsBit,如有侵权请联系删除。转载或引用请注明文章出处!

标签:

分享至
https://www.chainlook.cn/toutiao/1691118266.html

下一篇:

DAO的可编程性、可组合性

DAO 本质上是通过 API 执行功能的可编程组件。

免责声明:
链观CHAINLOOK作为区块链技术应用与Web3行业研究的智库媒体,旨在为中国区块链专家、学者们提供最新的行业资讯信息与数据样本,用于区块链技术研究与创新。本站所发布的文章仅代表作者的个人观点,不代表链观CHAINLOOK官方立场,本站所发布的区块链行业研究报告与数据分析成果是通过人工智能算法对数据内容进行分析与归纳生成,不代表任何投资暗示与建议,链观CHAINLOOK不承担法律责任。

风险提示:
虚拟货币不具有法定货币等同的法律地位,参与虚拟货币投资交易存在法律风险,链观CHAINLOOK坚决反对各类代币炒作,请读者提高风险意识,理性看待区块链技术应用及市场风险。

© 链观CHAINLOOK All Rights Reserved. 京ICP备18054193号-5