大多数应用都会被布署在rollup上,他们把Celestia用作共识层和数据可用层。作为首个为增加交易容量而提出的二层解决方案,rollup将是大多数区块链应用的家园,无论它们用Celestia,还是以太链,还是别的平台做共识层和数据可用层。
在本文中,我们将讨论什么是rollup,它们当前是如何工作在以太链上的,以及它们将如何工作在Celestia上。
对现有的以太链的rollup来说,以太链是高高在上的结算层,以太链rollup完全就像以太链的‘婴儿链’一样,因为正确的rollup链是由以太链上的合约定义的。相比之下Polkadot平行链模型也是一样,中继链对平行链来说,也是高高在上的结算层。
另一方面,对Celestia来说,我们认识到一种新型的rollup:有主权的rollup链。它们是独立的,他们有权作为子网本身,来定义自己的正确性,就如同独立的一层链一样,并且可以通过受信任的或无需信任的桥,连接到其它的链或者结算层。
https://twitter.com/ptrwtts/status/1509869606906650626?ref_src=twsrc^tfw|twcamp^tweetembed|twterm^1509869606906650626|twgr^|twcon^s1_&ref_url=https%3A%2F%2Fblog.celestia.org%2Fsovereign-rollup-chains%2F
目录:
什么是rollup?
以太链上的rollup
Celestia上的rollup
有主权的跨rollup通讯
为什么需要主权?
什么是rollup?
ComposeDB Beta版将部署在Ceramic主网:金色财经报道,ComposeDB Beta版现已在去中心化数据库协议Ceramic主网上线。ComposeDB 是一个分散式图形数据库,允许开发人员使用 GraphQL 和即插即用数据模型在 Ceramic 上构建可组合的 Web3 应用程序。[2023/3/1 12:36:37]
rollup是一种吧它们的区块发送到另一条链的区块链,并且继承另一条链的共识和数据可用性。
典型的rollup由三方共同维护:排序者,rollup的全节点,rollup的轻节点。所有rollup都有自己的状态,比如用户在某个时间点的的账户地址和代币余额。
排序者:是一种收集rollup的用户发送的交易的节点,把交易打包成区块,并且把区块发布到共识层和数据可用层。区块由两部分组成:区块头和实际的交易数据。区块头包含但不限于链的,密码学上的状态确认——通常说来是默克尔树。
Rollup的全节点:它下载rollup的全部区块头和交易数据,处理和验证所有的交易,从而计算出rollup的状态,并且验证所有交易的有效性。如果全节点在rollup的区块中发现一个无效交易,他会拒绝并忽略这个区块。这样一来,排序者不能把无效交易打包到有效区块中,因为其它节点会通过自己的判断拒绝有问题的区块。
Rollup的轻节点:只下载rollup的区块头,但是不下载或者处理任何交易信息,因此不能全靠自己来计算最新状态或者验证rollup状态的有效性。作为替代,他们可以通过rollup的最新的区块头了解到最新的确认状态。他们也间接地验证交易的有效性,通过诸如欺诈证明或有效性证明。
当rollup节点同步rollup链的数据,它们只能按照共识层和数据可用层确定的排序。对每个区块高度,他们将接受发布到数据可用层的第一个有效的rollup区块——不管是直接还是间接验证有效性。
CertiK:此前Ankr攻击者又向Tornado Cash存入700ETH:金色财经报道,据CertiK数据监测,此前的Ankr攻击者又向Tornado Cash存入700ETH。[2022/12/24 22:05:25]
关于rollup的更多细节和技术性的解释,我们建议阅读Celestia论坛上的这个帖子。
以太链上的rollup
当前以太网上的rollup把它们的区块发送到基于EVM的智能合约,这被称为‘桥合约’。这个合约实际上有效地在主链上实现了一个rollup的轻节点,它接收区块头并处理欺诈证明或者有效性证明。在这种模型中,存在一个高高在上的,硬编码的,只需要最小信任的,通往以太主链的桥。
通过桥合约,用户可以在rollup和桥所在的执行链间,以只需要最小信任的方式,抵押或赎回资产。因为在欺诈证明或有效性证明的帮助下,合约不会接受排序者提供的无效区块。
以太链,扮演了共识层和数据可用层,它只负责记录,按照桥合约定义的规则,确定有效的区块。因此,rollup全节点和轻节点,把以太链上的轻节点,看做是根本的信任来源,这才是一条典范的的rollup链。在这个模型中,我们把以太链看作是高高在上的,和rollup配对的结算层。同时,rollup对以太链来说,就像一条‘婴儿链’一样,而不是有自主权的独立的链。
Celestia上的rollup
Celestia上,有主权的rollup完全不需要把他们的区块提交给智能合约,而是直接作为原始数据提交到链上。Celestia的共识层和数据可用层,完全不翻译或者执行rollup区块中的计算逻辑,当然也不需要要运行在主链上的,rollup的轻节点。
作为替代,rollup完全像一层链一样运行:全节点和轻节点直接从rollup的点对点网络下载区块。主要的区别是,他们也要验证rollup的区块数据,被包含和正确排序在Celestia的数据可用层里,以默克尔证明的方式。因此,和一层链相似,典范的链,通过本地验证分叉选择规则和rollup交易的节点来确定,而不是一个高高在上的,主链上的轻节点。
Balancer社区新提案将流动性挖矿从3层变为4层,引入试验池:去中心化交易所Balancerv2版本流动性挖矿新增第四梯度(Tier4)奖励,以解决由于第三梯度分配风险过大的问题。第四梯度将有10个slot,每个slot每周额外获得1000BAL的奖励,原第三梯度由14个slot减为12个slot。[2021/6/13 23:33:52]
欺诈证明和有效性证明的工作方式也和他们在一层链的工作方式类似。欺诈证明,通过点对点网络,被直接传播给节点。并且如果是有效性证明的话,它可以直接包含在区块头内。因为,网络同步时,点对点网络的延迟,明显要小于从主链获取欺诈证明的延迟。这表示点对点网络的挑战期,有可能要短很多,对轻节点来说,最终确定链状态将快很多。
在这个模型中,rollup和结算层之间,没有高高在上的桥,因为rollup只是简单直接地把区块发布到数据可用层,而不是某个合约。这和Cosmos的设计哲学一致,因为Cosmos连接器对Cosmos领域来说,也不是高高在上的,而是可选的,可以在允许各领域保持主权独立的条件下添加。rollup和rollup之间,可能还是会需要一些要求最小信任的桥——我们将在下一个小节讨论。
如果rollup不依赖于高高在上的结算层来选择分叉和验证交易,它就是主权独立的。进一步说,rollup的典范链是由rollup的点对点网络上的节点来确定的。这表示结算层不可能把交易强加给rollup。
‘不需要高高在上的结算层’,更多是一个公众的选择,而不是基于技术,这表示rollup的社区间,有一个公共的约定,它要求rollup交易的验证规则,由社区确定,而不是一个不可变的一层合约。实践中,这表示通往rollup的桥,不能是高高在上的,必须是可变的,以便有一种升级的方法,使得有主权的rollup上的硬分叉可以被确认。
因此,这表示rollup的社区可以通过硬分叉来更新链,而不会导致结算层或数据可用层,或一层链上的监管,破坏链的最小信任本性。这对有主权的rollup上原生铸造的资产来说很重要,而不需要所有资产都从其它链转移而来。
动态 | The Block分析师Larry Cermak发布官方声明向Ran NeuNer道歉:据Chepicap报道,The Block分析师Larry Cermak近日发布官方声明,向CNBC主持人Ran NeuNer道歉。此前,Block发布关于Blockchain Terminal及其ICO局的文章,而NeuNer曾是该公司的投资者和顾问。但Cermak和The Block编辑Mike Dudas发布长串推特,指责NeuNer参与了局。对此,NeuNer在社交媒体表示强烈谴责,称这种报道是“可耻的”。Cermak道歉后,Ran NeuNer删除了相关推文和博客。[2019/1/6]
有主权的rollup也可以只把以太链用作数据可用层,而不是高高在上的结算层,但这样和采用‘纯粹’的数据可用层,比如Celestia相比,麻烦更多。因为rollup的节点,需要关注以太链结算层上所有交易的有效性,才能运行以太链上数据可用层的节点。
构建一个Celestia上的‘结算rollup’也是可能的,它也是一种有主权的rollup。一个有主权的rollup,可以被一些非主权独立的rollup,用作结算层。不过,这种结算层的主权和以太一层链的主权类似,它的社区经常通过具有公众共识的硬分叉来更新链。
有主权的跨rollup通讯
正如前面提到的,Celestia上的rollup完全不需要一个高高在上的桥来连接任何结算层。rollup的结算层和执行层就因此而被解耦和模块化了。那么,Celestia的roullup如何桥接到其它链?不受高高在上的结算层的限制,我们设计跨链桥的空间更宽广了。我们对设计空间和选项有如下探索。
让我们假设有主权的rollup链A想要桥接到另一个链B——假定也是一个rollup。
点对点结算vs.链上结算
V神:以太坊游戏项目绝对应该为短期扩容考虑rollup:金色财经报道,以太坊创始人V神在推特表示,以太坊游戏项目今天绝对应该为短期扩容考虑rollup。 他们确实需要便宜的交易,并且使用高实验性的技术更加安全,因为质押的价值要低得多。[2020/6/25]
A和B可以直接互相在对方嵌入轻节点。比如,两条链都运行A和B的轻节点。这样,轻节点可以直接通过点对点网络接收相应的欺诈证明或者可用性证明。我们把这称之为‘点对点结算’。
两条链上都可以有桥接合约,这允许资产被抵押或赎回到其中任何一个链,并且被互相的排序者和执行交易的验证者监督。
另一方面,轻节点也可以被实现为链上的智能合约,并且区块头和欺诈证明或者零知识证明可以被提交给链上的智能合约。这就是以太链上的rollup的情况。我们称之为‘链上结算’。
连接器和有中心点的网络vs.点对点桥接当前,rollup预期连接到单个结算层,这个结算层像结算连接器,比如以太链。如果A和B都同时连接到相同连接器,那他们可以通过桥互相转移资产,并把连接器看作是结算中介。
不过,就像IBC,rollup可以选择直接互相连接,并采用一条中介性的连接链。
动态桥接vs.静态桥接
根据rollup的不同的执行环境,链的更新或者硬分叉可能要求桥接到新的链。这是因为A和B必须互相支持对方的执行环境,以便对方的欺诈证明或者零知识证明可以工作。
让我们假定某个optimisticrollup链A的状态机是直接用Golang写的,而不是一个智能合约环境,比如EVM或者CosmWasm。为了桥接到链B,B需要更新他们节点上的软件,以便以功能库的方式,包含A的状态机,以便验证A的欺诈证明。这是因为B不能自动添加A的状态机操作码,因为这些代码可能是恶意的或者非确定性的,这会有安全风险。因此,公众共识或监督这些桥是必要的。这和用零知识证明构建的有效rollup,不能被B理解的情况是相似的。我们把这叫做‘静态桥接’,因为桥必须在更新链的时候,被明文添加。这种桥可以按照IBC轻节点来实现。
另一方面,如果某个optimisticrollup链A是在沙盒智能合约环境,比如EVM或CosmWasm环境中编写的,那链B可以允许A的状态机操作码被直接添加到B的状态机中,而不需要公众共识或监督,比如通过一个智能合约。作为对比,如果A是个零知识证明rollup,它可以被动态地桥接到B,只要B能兼容理解A的零知识证明。我们称之为‘动态桥接’
非高高在上的结算层vs.高高在上的结算层如果一个rollup链把它的区块和证明发布到,像连接器那样工作的结算层,比如以太链。我们说这种结算层是‘高高在上的’,如果典范链和它的交易验证由结算层来决定。
另一方面,如果rollup把它的区块和证明发布到结算层,但rollup的典范链完全是由rollup自己的网络决定的,我们说这种结算层是‘非高高在上的’。为了使非高高在上的结算层有意义,需要有某种方式能够更新rollup而不要求结算层硬分叉。
基于委员会的桥vs.基于证明的桥
为了使两个rollup之间的桥只需要最少的信任,rollup链必须互相验证欺诈证明或者零知识证明。这表示他们必须互相能够理解对方的状态机。
不过,‘基于委员会的桥’也是存在的。相比于依赖状态有效性证明,这些桥依赖一个委员会来证实区块的有效性。这种桥不是最小信任的,因为为会员有可能盗窃资产。不过,这种桥的复杂性可能会低一些,因为部署桥的链,不需要,跟源头链一样的,处理欺诈证明或者零知识证明的功能。
可升级的桥vs.不可升级的桥
当前以太链上的rollup,事实上是要求rollup不能被多签或者委员会升级,因为如果他们可以,他们就不是最小信任的了,而资产可以在升级过程中被盗窃。在这种模型中,rollup只能通过一层链的硬分叉来升级,因为典范链是一层结算层来确定的,意味着rollup没有主权。
要使有主权的rollup有实用性,应该有某种升级途径,来确认rollup的主权,而不是用高高在上的结算层。要达到目的,有几种方式可以考虑,基于桥是否是最小信任的。假定A链正要硬分叉,而B链需要升级它上面A的轻节点。
对静态桥,B也需要硬分叉。这种升级路径,意味着桥是最小信任的,因为不需要多签或者委员会的参与。
对动态桥,链A控制的委员会可以更新B上的轻节点。这需要桥被信任。
对动态桥,链B控制的委员会可以更新B上的轻节点。如果B是结算层,这给结算层带来了升级负担,这可能是符合预期的,如果结算层有专业的监管需求,或者有很高的金融安全需求。这也要求桥被信任。
为什么需要主权?
https://twitter.com/evansforbes/status/1540772513516511233?ref_src=twsrc^tfw|twcamp^tweetembed|twterm^1540772513516511233|twgr^|twcon^s1_&ref_url=https%3A%2F%2Fblog.celestia.org%2Fsovereign-rollup-chains%2F
就其核心而言,rollup是简单的区块链,rollup桥是这些区块链的简单的轻节点。当前被以太链带动起来的rollup的目标是不可升级的rollup,同时有一个高高在上的结算层。这等于是运行一个永远不能升级的区块链节点,它的区块只有被链上的高高在上的,这个rollup的轻节点接受才是有效的。正如我们上面所说的,这只是rollup设计空间中一个很小的子集。
在Celestia的实验室,我们对不需要高高在上的结算层的,有主权的rollup更感兴趣。因为我们相信区块链中最重要的一层是公共共识。事实上,区块链是允许社区在主权的基础上,实现集体领导的工具,而不被现状所拖累。这表示硬分叉是一种特性,而不是缺陷,因为硬分叉能强化主权社区实现公共共识的能力。这在某个公共资源出问题的情况下,尤其重要,比如以太链因DAO的破坏而分叉的时候。
有主权的rollup将是一个强有力的途径,它使主权社区能利用社区的计算设备,来跟踪和加强社会经济价值和协议,而不需要,为启动和维护他们自己的共识层和验证者集,付出额外的代价。且不需要在公共共识上从属于某个高高在上的结算层,无论这个结算层是否适合自己。
有主权的rollup对开发者来说,在执行环境上有跟大的灵活性,因为他们不受限于,某个需要为他们的rollup处理欺诈证明或者零知识证明的,高高在上的结算层。尤其是在很多情况下,这些结算层不能便利和高效的处理某些欺诈证明和零知识证明。
请关注我们的后续文章,我们将进一步列举例子来说明,主权对区块链来说,为什么特别重要。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。