Layer2之后该怎么扩容,深度解读Celestia的数据可用性模块

This article is not available in the current language yet. Showing the original version.
Celestia的出现为扩容技术开辟出Layer2以外的新方向——数据可用性与底层公链的解耦。

去年下半年,各种Layer2概念受到大家广泛关注,时至今日,已经有不少项目和概念证明了自己的价值。其中ZkSync和Optimism 使用的Rollup方式,更是成了Layer2的标准模板。关于Layer2,相信大家看过的文章已经很多了,很多人看完同时也会有一个疑问,除了计算和执行,我们还可以从公链上分解出来哪些任务?如果你也这么想,请先为自己的“区块链原生思维”鼓个掌。

以太坊或者其它公链之所以会拥堵,会收如此高的gas费,通俗讲就是工作超负荷了。现实世界当中,一个人忙不过来了会去找帮手,一家公司忙不过来了会请外包。但无论用哪种方法,第一步都是厘清任务。

Celestia的出现就是为了填补这一空白,为扩容技术开辟出Layer2以外的新方向——数据可用性与底层公链的解耦,团队目前在官网上显示有17人,在GitHub上有11人,多数来自以太坊、Harmony和Cosmos。创始人Mustafa Al-Bassam更是在GitHub上非常活跃。

Layer2之后该怎么扩容,深度解读Celestia的数据可用性模块

Celestia在去年3月进行了一次种子轮融资,融资金额为150万美元,参与者有Maven 11 Capital、Interchain、Signature Venture、Cryptium Labs和Dokia Capital。目前没有发币,也没公布代币模型,所以本文将先从产品说起,首先补充一点背景知识。

一条公链的任务,可以被分成以下三类:

  • 安全层:在一些场景下也被称为共识层,但也许随着“隐私”概念的成长,我们在未来可以看到没有共识的安全层。目前,你可以把它理解成CAP理论中的分区容错性(Partition-tolerant), 因为说到底区块链得是去中心化的,而在一个去中心的系统中,节点彼此不信任,需要一个共识来决定谁来出块(哪个节点贡献的多)。尽管各大公链全部在这上面野心勃勃,但现在看起来还是只有比特币跟以太坊能承载安全层。未来谁想在共识上超过这两位是不太可能了,只能寄希望于技术突破,挑战二者的地位。
  • 数据可用层:当区块链上一笔交易被达成,交易结果会广播至全链进行确认,可有的节点不知道这个被广播出来的信息中是否包含了假消息,甚至不知道这个出块的矿工,有没有把所有出块需要的信息都发布出来,这个时候数据也就不可用了。节点数量越多,数据验证起来就越麻烦,所以在过去的公链中,链上扩容和数据可用性相矛盾。
  • 执行层:最后,交易和智能合约发生在执行层。所有智能合约、dApps 和用户也会在执行层面沟通。执行层应专注于处理尽可能多的计算任务,同时将安全性和数据可用性外包交给公链。 目前的Layer2,如 Arbitrum、Optimism、StarkWare 和 ZkSync,都在专注于开发更有效的执行层。

Celestia:解决数据可用性

Celestia首先解决的是数据可用性问题,而这个问题说白了,就是当某条链上生产出一个新的块时,新块里会包含之前已经被验证的一部分交易数据,以及其它一些开发者想塞进去的东西。其它的不重要,关键这个交易数据,容易被恶意造假。如果没有这些记录,其余节点就不能判断新块中是否包含了这些假数据。

那解决这件事的主流办法是什么呢?首先,节点被分成了轻节点和全节点:

  • 全节点——需要下载并验证新块被生成前的所有交易。属于用性能换安全。哪怕“51%”攻击来了,也别想糊弄过去。
  • 轻节点——也就是“不完整的节点”,只验证区块头,不验证区块里面的数据。因为它们假设其余节点没有作恶,所以是拿安全换性能。

那么问题来了,轻节点这个“大多数人都是善良的”的假设这么不靠谱,如果被骗了怎么办?于是以太坊又提出了欺诈证明。

  • 欺诈证明——说起来也和Celestia的创始人Mustafa Al-Bassam有些渊源,最早提到这个概念的论文作者便是Mustafa、Vitalik及Alberto Sonnino。作用是可以针对特定某笔交易,先让全节点来判断下真假,再把结果发给轻节点,由于欺诈证明很小,轻节点收到了之后便不用再花精力了解整条链的状态,不会牺牲太多性能,所以算是给轻节点打了个补丁。

可如果新块的数据不可用,让全节点也无法筛选无效交易了呢?那即便是全节点,也无法发出来欺诈证明。这就是数据可用性需要面对的问题了。

现在以太坊在处理这个问题的时候,仍然是让自己来验证,可众所周知以太坊这条“贵族链”备受诟病,于是Data Availability Sampling (DAS)出现了,它能把一个新块里的数据切分出若干样本,通过抽样,实现了数据可用性。

这样做的好处首先是解决了扩容问题。有了DAS,每次做数据可用性耗费的性能差不多,和区块本身的大小也没有关系,就和早年间的BT下载一样,Celestia甚至声称它的节点性能只要做到手机即可支持的程度就可以。如此一来,数据可用性问题就变成了一个只需要“无脑”增加节点就能解决的问题。打个比方,我是一个游泳爱好者,如果在游泳时拼命增加划水频率,会导致换气频率一起增加,到头来换气的阻力刚好抵消了划水的推力,我累得不行,却没能游的更快,区块链扩容也是一个类似的系统问题,单一调整其中一个变量,会按下葫芦起来瓢,妄想解决问题。除非能把系统分解开,就像Celestia所做的工作。

Layer2之后该怎么扩容,深度解读Celestia的数据可用性模块

由于Celestia的节点既不运行智能合约,也不去验证区块内的数据,它只负责做数据可用证明。所以Celestia的形态就像是一个插件,即插即用,可以和现有的各种Rollup方案结合,让Layer2安心做好执行层(然而它们并不“安心”,反而想把数据可用层也做了)。

Celestia是如何和Rollup们合作的

Celestia把Rollup分成了自己原生的,和以太坊原生的。前者非常简单,Rollup可以直接和Celestia打交道,先上传数据,然后让Celestia查看数据可用性,最后Rollup在看到新状态之后再去自己做验证,整个过程里Celestia可以说十分清闲,它甚至连Rollup上传的数据代表了什么都不知道(因为只有切片样本),而Rollup找它来做数据可用性,也只是因为它更便宜,性能压榨地够狠。

而在以太坊当中,情况就复杂了一些,首先以太坊目前还没有分片和DAS,但Rollup们即便承受不住链上处理成本,也可以转战链下,让业内名气最大的第三方审计机构做数据可用性,这成本甚至可以低到忽略不计。事实上,ZK 2.0已经在这么做了,StarkEx和Plasma这类更不用提。当然在Celestia看来,链下验证毕竟是中心化的,不能排除作恶的可能。可即便是这些机构作恶,这些链下验证者能做的也仅仅是把交易冻结住一段时间。

ZK 2.0的计划是为用户提供更多选择,如果用户能忍受高成本,就是还是把数据可用性放到以太坊上做,如果用户能接受交易在最坏情况下被冻结的假设,那ZK 2.0可以给一个超低gas出来。

Layer2之后该怎么扩容,深度解读Celestia的数据可用性模块

而用户如果对这两个方案都不满意,Celestia就该闪亮登场了,它能作为一个插件,插到以太坊自己的验证器中,以太坊可以用Celestia发布的签名和默克尔树确认某个特定Rollup的数据已经在Celestia上可以用了,然后这个Rollup就可以从以太坊上读到自己的状态,接着做执行去。这样一来,数据可用性仍然是在以太坊上完成的,但Rollup却不必将与交易相关的完整数据上传到以太坊,同样可以实现极低成本。

尽管以太坊还不支持链下数据验证,但Celestia通过以太坊的Validium,还是能做到更低的成本,和更好的安全性。

关于未来会出现的结算层,以及它的竞争者Layer3

Celestia本身是采用Cosmos的SDK开发的,这项开发工具虽然具有天然跨链的属性,却也天然不能兼容任意种类的Rollup。另外得益于Cosmos的极简“哲学”,其生态中的应用需要独自对自己的安全性负责。于是Celestia迎来的第一个挑战,也是第一项用例,就是帮助Cosmos生态同时解决以上两个问题。

于是乎,Celestia终于迎来了与Cosmos以及Evmos合作的机会,它们将合作打造一个Cevmos环境,在这个环境中,所有应用是有选择自己执行环境的能力的,也就是“逃离”CosmosSDK,同时Celestia自己也在寻找更好的默认执行环境,比如Arbitrum VM。

另外Cevmos还能解决一个在以太坊上有些难缠的问题,就是以太坊上的Rollup要和其它应用竞争,导致Rollup的成本价并不那么优秀。而Cevmos就相当于Celestia的L1,替Celestia挡住一些和它无关的业务,把Rollup传过来的数据再Rollup一遍,并且只允许Rollup的智能合约,以及不同Rollup之间的一些简单交互存在。Polynya曾经质疑过这种受限的L1,但据Celestia创始人解释,L1受限并不会导致L2受限,依然可以运行dAMM或是DeFi Pooling。由于每一个为Rollup服务的层都可以是单独的一条链,Celestia在这个场景下可以提供由安全层提供的服务,结合Cevmos也就是人们所说的结算层了。Cermos作为L1的Rollup,被称为结算Rollup。由于Cevmos和Celestia的天然信任关系,日后这个层也可以朝隐私方向发展。

现在看起来是不是很像Rollup套娃,像Layer3?然而自称Layer3的另有其人,大家有兴趣可以关注一下StarkNet,以及它在隐私方面计划开发的Layer4,PANews会在之后的文章中再介绍。

最后来总结一下Celestia的优势:

可扩展性——通过将执行层与安全层和数据可用性解耦,Celestia让数据可用的扩容变得非常简单,从一个系统问题,变成了简单的加减法。性能不够了?加机器。

简洁——Celestia毕竟只是一个插件,功能简单且足够接近底层。就像云服务一样,人人都能用得到,人人所获得的的服务也都差不多。这点上Celestia配得上所有web3.0基础设施的榜样。

共享安全性——对于应用来说(尤其是Cosmos上的),大家现在有一个现成的安全层和数据可用层了,而且能跨链,能兼容EVM,还比那些链下委员会更安全。

自主性——原先被部署在以太坊或者其它公链上的应用,是没有独立选择硬分叉的能力的,每一次迭代都要跟着大环境走。因为这些应用要依赖L1做数据可用性和验证,所以要在以太坊上做智能合约桥。但Celestia这种扩容方式,虽然能确认数据可用性,却还是让Rollup自己做验证,智能合约就没必要在部署到L1上了。你可以理解成这是Cosmos和以太坊的优点集成,安全又自由。

模块化是我去年看到最激动人心的叙事,Celestia的测试网预计今年上半年上线,主网下半年,目前还没有一个有力的竞争对手。对公链功能的拆解不是一种哲学情怀,而是计算机发展的必要环节,模块化是将优秀应用从公链束缚中解救出来的必经之路。比起“改变公链叙事”的说法,我认为这更像是对公链叙事的延续,它们也许不像过去那么重要了,但它们所缔造的未来会变得更加精彩。

Share to:

Author: 李策

Opinions belong to the column author and do not represent PANews.

This content is not investment advice.

Image source: 李策. If there is any infringement, please contact the author for removal.

Follow PANews official accounts, navigate bull and bear markets together
PANews APP
US stocks closed mixed, with crypto stocks generally declining.
PANews Newsflash