应用专属高性能 Rollup:Cartesi

MarsBit
媒体专栏
热度: 13687

Cartesi Rollup,是一个模块化的执行层,将简单的智能合约结合到去中心化的Linux中。开发人员可以启动高度可扩展的rollup链,并用他们最喜欢的语言和软件组件编码去中心化的操作规则。

原文标题:Application-Specific Rollups

原文作者:Felipe Argento,Erick de Moura, andAugusto Teixeira

原文来源:Medium

编译:西早先生,MarsBit

Cartesi的论点:特定应用的模块化执行环境如何解决可编程性问题、扩展计算和推动创新。

rollup概要

区块链技术正处于变革的边缘。现在越来越多的项目了解到模块性和专业化的需求。不少流行的Layer 1正在将他们的重点转移到数据的可用性上,目标是支持比以前更大量级的数据。

同时,计划通过rollup(optimistic、ZK或sovereign)来扩展计算能力的执行环境和计算层需要与增加的数据容量相匹配,并能提供足够强大的基础设施,开发真正的应用。

在计算扩展性方面收效最显著的设置是:有着交互争端解决方案的特定应用optimistic rollup。同时,计算扩展性方面的收效使其有可能大大增加可编程性和改善工具。

Cartesi选择了这条道路,给开发人员提供了更便宜的计算能力,并使用现有的开源库和组件,在现实世界的操作系统运行时间内创建强大的智能合约。

rollup系统的现状

当我们从软件工程的角度分析区块链DApp的代码库时,它们所面临的技术困难就很明显了。像Uniswap这样巧妙的项目,平衡了几个相互竞争的目标:对用户的货币价值,极低的gas费,以及安全性。未能满足这些标准的应用程序会影响对其的采用,使用户面临风险,或在激烈的竞争下走向失败。这种情况对应用程序是不利的,而且阻碍了创新。

此外,与传统的Web 2.0后端服务相比,编写智能合约的体验受到了极大的限制。区块链智能合约的技术能力与传统网络服务器还有相当大的差距。

以太坊和EVM rollup是去中心化的计算机,也是速度超慢的 "奇怪的计算机",需要开发人员在小众的计算机语言上编程。

在这种奇怪的设置下,开发人员将他们的精力花在克服这些限制上,而不是优化解决方案的核心问题。其结果往往是非必要的,只是一些在简单和有限的功能上的过于复杂的代码。

可扩展性问题:为特定应用rollup辩护

一个人人都验证一切的网络对于大规模采用来说是不可持续的。在全球共识中,需求的增加不可避免地导致在区块空间上应用程序之间的残酷竞争。这种情况会演变成高额费用,对项目和用户都构成了越来越高的进入门槛。为了解决这种竞争,以太坊改变了方向,提出了一个以rollup为中心的路线图。

新的计划显示,可扩展性问题包括两个主要方面:数据可用性扩展性和计算扩展性。人们经常忽视二者的区别,因为它们都面临同一个问题——gas费。然而,正是通过对它们的区分,以太坊才能制定目前的路线图。

合并后,随着EIP-4844和分片(sharding)的发展,以太坊将把添加数据的成本降低了几个数量级。同时,计算扩展已被委托给rollup项目(因此被称为以rollup为中心)。

以太坊协议和rollup解决方案之间的关系之下,还有一个没有受到重视的问题。想达到计算扩展性,以匹配以太坊即将实现的数据可用性,与EVM兼容的rollup并不是最好的选择。

我们可以把基于EVM的rollup想象为计算分片。当越来越多的应用程序被逐渐上线并共享同一个虚拟机时,该设计的缺陷就会出现。争夺虚拟机的CPU容量的零和游戏导致了两极分化(gentrification)。每个分片上只有一小部分应用是可行的,其他的都被赶走了。网络迟早会变得拥挤和昂贵。

幸运的是,在理解和使用rollup上,有着不同的方式。放弃共享虚拟机,允许应用程序使用自己的CPU,这就能带来超高的计算能力。资产结算、应用程序之间的可组合性和争端解决方案都可以委托给一个通用的基础层。这种设计被称为特定应用rollup。

在特定应用rollup的专属共识与基础层挂钩下,验证节点(无论是否经过许可)可以保留其结算层的安全保证。换句话说,基础层使得1-of-N的安全模型成为可能,在基础层的帮助下,诚实的验证者可以独立地执行一个正确的结果。同时,特定应用的共识使得应用可以使用硬件的(非共享的)全部功能。这不仅避免了网络士两极分化的问题,而且在计算扩展性方面也有很大的提高。

从共享到特定应用的共识的转变也是有副作用的。虽然这种设计意味着应用程序之间的可组合性有更多的摩擦,但我们认为对大多数应用程序来说,问题不大。等待交易被验证或依赖软对象终止技术(即流动性提供者),以换取特定应用链带来的计算能力和可预测性的巨大改进,并不是很大的妥协。

特别是,具有交互式防欺诈的optimistic rollup给DApp带来了相当大的计算资源,且不需要特殊的硬件来达成共识。这能成功的原因在于,交互式防欺诈允许具有有限计算资源的评测工具,在有无限计算能力的证明者之间解决争端。特别是,我们的评测工具是一个资源有限的结算层,而我们的证明者是具有相对无限计算资源的rollup验证者。为了更好地理解这是如何做到的,请参考Cartesi Core的技术论文的第5.2节。

在他们寻求最大的可扩展性和可定制性的过程中,应用程序和协议开发人员正在转向不同形式的特定应用链。其中几个例子是:Axie Infinity's Ronin侧链,dYdX的主权链,Starkware的分形扩容设计,Celestia的模块化执行层。

特定应用rollup链可以满足这一需求,优点是不会引起主权(Layer 1)特定应用链的验证的分裂。相反,特定应用rollup链继承了底层基础层的强大安全保障,而不依赖于跨链桥,这已被证明是非常危险的。

rollup应用链的技术优势来自于它们只需要有一方是安全的,而不是大多数。总而言之,特定应用rollup和特定应用侧链一样优秀,都在安全方面没有让步。

 

rollup(横轴:数据可用性能力;纵轴:计算能力)

通过上图,可以更直观地看到计算能力和数据能力同时扩展的效果。

该图被划分为几个主要的区域,代表了正在结合的扩展解决方案以及它们在计算和数据容量方面的表现。当我们从以太坊Layer 1转移到EVM rollup,然后再到专用应用链时,计算能力在提升,而数据随着EIP-4844和分片的加入而得到改善。蓝色部分显示了随着两个维度的升高,应用的可能性也就更高。我们把蓝色区域称为web3的创新区域。

灰色区域是由于解决方案缺乏计算能力,而无法充分享受数据可用性的好处,反之亦然。白色小方块是当我们达到这些里程碑时,相应的应用就成为可能——没有标记的方块提醒我们,一旦环境允许,我们会创造出多么酷的新应用。

创新区域不是精确的。它的方向和开放角度不能按字面意思理解。此外,在每个区域可能出现的应用也可能出现在其他区域。该图只是为了提供直观的前景,关于去中心化应用的创新前景的展望。

可编程性问题:为更好的抽象辩护

除了上述的计算限制外,DApp的开发人员还面临着另一个棘手的问问题:缺乏成熟的环境,即软件工具和软件库不足。

为了更好地说明这个问题,我们来聊聊最近最令人兴奋的去中心化游戏之一——Topology。这个雄心勃勃的项目将战略性基础设施建设与行星动力学混合在一起! 太疯狂了。然而,看看他们的源代码,我们就知道这事难度太大了。举个例子,他们必须从头开始开发一个模拟行星动力学的经典算法。在Topology团队表现出的令人印象深刻的天赋背后,有一个令人担忧的问题:在如此不成熟的环境中,只有足够杰出的开发人员才能将他们的想法变成现实。

上面的例子远不止一个。很多的库(例如:1、2、3、4、5、6、7)是用Solidity编写的,为智能合约和DApp的开发提供协助。但该语言目前非常不成熟,一些基本的任务仍然需要人们求助于论坛,以寻求答案。

这与传统软件行业的现状相去甚远。例如,游戏"愤怒的小鸟"需要与Topology相同的库(毕竟,行星和飞鸟遵循相同的物理定律)。然而,"愤怒的小鸟"开发团队并不需要从头开始编写每一行代码。基本上在每一种编程语言中都有现成的库!

让传统的开发者访问所有的库,是解决可编程性问题的黄金准则:一个完整的操作系统。工作在所有领域的开发者,从Web2到传统游戏,一直到卫星发射,都依靠操作系统来提供他们所需的技术支持。他们用来实现想法的语言和库,让他们能够把精力集中在真正想创造的东西上。

这就是为什么我们选择RISC-V架构来搭建rollup解决方案。我们有可能将Linux或其他操作系统移植到rollup中。这样,开发人员可以用他们喜欢的语言和库将他们的想法变成现实,同时不舍弃区块链的安全保障,我在以前的文章中已经详细介绍过了(1,2,3)。

到目前为止,Linux一直是重点,但它也可以运行任何可以编译到RISC-V上的操作系统,比如一些非常安全的微内核。

Cartesi Rollup

一开始,我们讨论了一个模块化rollup执行层的重要性,它可以真正地扩展计算,并防止DApp在计算资源的零和游戏中相互竞争。然后我们阐述了开发人员依靠操作系统的抽象能力是多么重要,就像主流开发人员那样。

正是考虑到这两个需求,我们设计并建立了Cartesi Rollup,它是模块化的执行层,为DApp提供了以下的扩展优势:

1.每个DApp都有自己的高性能的rollup应用链,并有专用的CPU。

2.无需抢夺Cartesi生态系统中其他DApp的资源。

3.在零和游戏之外的计算可扩展性方面取得重大进展。

4.保留了底层区块链的强大安全保障。

5.一个成熟的操作系统,为开发人员提供行业级的工具。

Cartesi Rollup应用程序可以作为Layer 2(即在以太坊之上),作为Layer 3(即在Arbitrum或ZK-EVM链之上)或作为sovereign Rollup(即在Celestia之上)使用。开发人员可以将他们的应用程序从一个平台复制到另一个平台,只需改动一点点代码。

rollup

结语

Cartesi使开发人员能够专注于他们正在创造的东西,而不是在哪里创造或有哪些不利的限制。

然后,在流行的应用不吞噬不太成熟应用的情况下,创新也可以迸发。去中心化应用可以拥有想要的计算能力,同时有效地预测成本。开发人员可以使用测试过的编程库,创造出真正有趣的去中心化大型多人在线角色扮演游戏(MMORPG),而且玩家在游戏中杀死一个精灵不需要花费3美元。

从可定制性的角度来看,使用Cartesi Rollup应用链,DApp可以对不同行为收取不同的价格。例如,他们可以在去中心化交易所免除做市商的gas费,或者在他们的海洋模拟器DApp上增加掠夺性捕鱼的成本。

Cartesi对去中心化技术即将发生的变革有非常清晰的认识。Cartesi Rollup正在开发中,它一定会是新环境下人们努力寻求的答案。

关于Cartesi

区块链操作系统,正在开发Cartesi Rollup,它是一个模块化的执行层,将简单的智能合约结合到去中心化的Linux中。开发人员可以启动高度可扩展的rollup链,并用他们最喜欢的语言和软件组件编码去中心化的操作规则。

1.每个DApp都有自己的高性能rollup链。

2.无需抢夺Cartesi生态系统中其他DApp的资源。

3.没有网络士绅化。

4.使目前无法在EVM链上运行的全新类别的DApp成为可能。

5.保留了底层区块链的强大安全保障

欢迎来到The Blockchain OS。

责编:Lynn


声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。