Celestia: 为去中心化的应用程序和信任最小化的侧链提供可扩展的通用数据可用性层

2019-11-6

原文链接:

原文作者:Mustafa Al-Bassam

译者:Evelyn|W3.Hitchhiker

今年Devcon 5的亮点之一是optimistic rollups,这是一个新的扩展解决方案,使用以太坊基础链来实现数据的可用性和执行资产的双向桥,并且是执行发生在Layer 2这样的链下环境。除了允许增加通用智能合约的吞吐量和降低成本之外,它还是第一种通过避免状态膨胀来可持续地扩展layer 1的方法。

Fuel Labs最近宣布,他们对optimistic rollups的执行已接近完成,只需等待安全审计。他们的侧链将使交易吞吐量增加50倍左右。然而,即使有这样令人印象深刻的增长,它也受到其基础链,即以太坊的数据可用性能力的瓶颈。 如果建立在一个专门为数据可用性而设计的链之上,像Fuel这样的系统就可以轻松达到每秒数万笔甚至数十万笔交易。

为此,我们正在建立有史以来第一个专注于扩展数据可用性的区块链:Celestia。其中心是使分片安全的核心数学原理:使用纠删码的数据可用性证明。直接使用这一基本原理,而不是通过分片,使Celestia数据可用性层具有分片区块链的扩展性,并用于区块验证。

我们的长期愿景是帮助建立一个具有可以将模块化数据可用性层和执行引擎整合到一起的区块链生态系统。我们相信这就是下一代可扩展的区块链架构。

尽管开发者可以直接在Celestia上构建原始应用程序,但在未来,人们可能会使用Celestia作为数据可用性层来创建Fuel侧链。或者Cosmos zonesTendermint链可以使用Celestia作为数据可用性层,使这些zones通过使用欺诈证明成为信任最小化的zone,有可能给Cosmos生态系统带来更统一的安全水平,并减少对同社会治理来处理不良zones的依赖。

除了增加交易吞吐量之外,这种架构的另一个好处是降低了需要大量链上数据的应用的成本。例如,考虑一个私人投票合约,其中成千上万的参与者的公钥都需要被公布在链上。

从左到右: Ismail Khoffi, John Adler, Mustafa Al-Bassam.
从左到右: Ismail Khoffi, John Adler, Mustafa Al-Bassam.

在Celestia团队中第一个出场的是Mustafa Al-Bassam,他之前是Chainspace的联合创始人,一个被Facebook收购的分片智能合约平台。他写了许多开创性的论文,并为巩固分片区块链系统的安全性做出了贡献,特别是再正式的欺诈和数据可用性证明方案当中。

团队中还有John Adler,他是ConsenSys的layer 2可扩展性研究员,从事以太坊2.0第二阶段的研究。他从Mustafa早期关于数据可用性的工作中获得灵感,创建了第一个optimistic rollup方案的规范。

加入他们的是Ismail Khoffi,他是一名高级研究工程师,拥有多年的经验,从建立学术研究原型到将区块链和非区块链系统推向生产,也包括在Tendermint谷歌英国EPFL的经验。

Celestia的设计

Celestia的核心思想是将交易的执行(和有效性)与共识层解耦,因此共识只负责a)排序交易和b)保证其数据可用性。这是区块链的共识层需要做的最基本的事情,以便实现有用的应用,如加密货币。(在权益证明协议的情况下,为了确定验证者集合,最小的共识关键执行层是必要的,尽管这也可以作为一个optimistic rollup来执行。)

Celestia区块有效性规则概述
Celestia区块有效性规则概述

例如,我们可以想象一个比特币版本,其中无效的交易被允许在链上发布,但在读取区块链以确定其状态时被客户端简单地丢弃。在这种模式下,区块链只是被用作一个有序的消息传递协议(ordered messaging protocol),而不是一个状态机复制协议(state machine replication protocol)。像optimistic rollupszk rollups的设计是通过使用欺诈或有效性证明,使客户端能够确保发布的交易或状态转换的有效性,而不需要自己直接执行每笔交易,从而进一步发挥这一想法。

这类似于将共识简化为原子广播(atomic broadcast),这在1996年首次被证明是可行的。这与过去几十年来分布式系统研究中流行的状态机复制的共识范式不同,中本聪在比特币白皮书中也遵循了这一范式。

在Celestia中,只有当该区块背后的数据可用时,拥有共识的这个区块才会被认为是有效的。这是为了防止区块生产者释放区块头而不释放其背后的数据,这将使客户端无法读取计算其应用程序状态所必需的交易。

Celestia将区块验证的问题简化为数据可用性证明,我们知道如何利用数据可用性证明以次线性成本(sub-linear cost)有效地完成这一验证。这些证明利用了一种被称为纠删码(erasure code)的原语,它被用于从DVD到QR码到卫星通信的消费技术中。

这些证明要求每个客户端从链上的每个区块中抽取非常少的随机数据块,而且只有在网络中有足够多的客户端,并使他们对整个区块链进行集体抽样时才会起作用。这与BitTorrent点对点文件共享网络类似,不同的点可能拥有不同的文件片段。

这也导致了一个有趣的结果:你在网络中拥有的客户端越多,你就可以安全地拥有更大的区块规模(以及因此的吞吐量)。请注意,与现有的scale-out设计(如分片)不同,在Celestia中,主链的数据吞吐量随着非共识节点而增加。这是一个独特而令人兴奋的属性,因为它意味着不生产区块的节点可以为网络的吞吐量和安全性作出贡献。

目前layer 1的可扩展性设计,如分片,主要侧重于扩展区块生产,而不是区块验证。前者在没有后者的情况下是无用的,因此我们认为后者更为重要,因为受到激励的区块生产者通常比只想验证链的普通节点拥有更多的资源。

更多信息

想了解更多关于Celestia的消息,请查看以下来源:

我们对这一愿景感到无比的兴奋。如果你也是如此,你可以通过订阅我们网站上的通讯,加入我们的Telegram小组,或者关注我们的Twitter 简讯,来了解有关Celestia的最新进展。

感谢Zaki Manian对这篇文章的反馈。

Subscribe to W3.Hitchhiker
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.