专精和可拆解:模块化的概念起源
从编程语言到DeFi协议,「可组合性」是Web3.0里被青睐的名词。但是可组合性并不只是叙事方法,当一种工作模式发展到一定程度势必要变得专精和可拆解。那么区块链在扩容这一令人头痛的问题上在逐渐向模块化推进也是必然。
我们知道区块链的主要堆栈有数据可用层,共识层,结算层和交易执行层。那么单体区块链就是使四层的工作都在一个网络完成。网络中的每一个节点都需要处理数据的验证到交易的执行。
然而可想而知,随着交易量上升,单体区块链逐渐遇到瓶颈。目前用户秉承着去中心化愿景包容着以太坊高额交易费用和远比不过Visa的每秒转账速度。
究其核心,单体区块链的瓶颈的核心源于数据的累积,因为区块链的不可篡改性,数据可用是扩容不可以牺牲的前提。
但是为了推动大规模采用(massadoption),单体区块链势必要向模块化演进。
在考虑到以太坊的发展进程上,Vitalik曾说过以太坊将会呈现以rollup为重心的生态状态。Rollup是一种将执行层分离出去的扩容解决方法,在链下处理计算,但还是将每笔交易的一部分数据放在链上。Rollup的吞吐量呈线性增长,因为如果交易量越大,也就意味着越多的数据需要被广播至主网。这样一来,Rollup吞吐量的瓶颈还是落在了底层网络的数据带宽上。
为了跨过这个瓶颈,以太坊的最终扩容计划-分片的初步实施就是要让分片出来的链来执行数据可用。
显而易见,单体区块链的发展方向不仅要向模块化推进,专注于做数据可用性的模块化区块链或者方案格外的值得关注。以太坊的目标是在不权衡去中心化和安全性的情况下扩展计算。由于整体区块链架构的限制,数据可用性对于实现去中心化的可扩展性至关重要。
这篇文章将分析专注于数据可用性的模块化区块链和解决方案-工作机制以及在设计上的取舍。
模块化区块链:定义,特点与优势
总体来说,一旦一个区块链网络把它的工作任务之一外包出去,就可以被称为模块化区块链,这可以是交易执行/结算,共识,或者数据可用。
在文章的这部分,我们将以Celestia为例展示模块化的特点与优势。自五月启动测试网以来热度高涨,不少文章就它自身的机制和与以太坊的对比进行了解读和分析。这个第一个专注与模块化的区块链网络将于2023年正式上线主网。
10月20日,Celestia完成5500万美元融资,由BainCapitalCrypto和PolychainCapital领投。据透露,5500万美元是CelestiaA轮和B轮的融资总额,而最新一轮融资使得Celestia成为了估值达到10亿美元的独角兽。
Celestia是一个可插拔的共识和数据可用性层,它利用Tendermint作为共识协议,仅负责交易背后数据的排序和可用而不管交易的有效性。看似Celestia负责的工作减少了,数据可用其实是区块链确保安全性的核心任务。
Manta Network推出EVM原生模块化执行层Manta Pacific:7月12日消息,零知识证明ZK协议Manta Network基于OPStack推出专为零知识证明(ZK)应用设计的EVM原生模块化执行层Manta Pacific。Manta Pacific使用Celestia数据可用层提供安全性,降低Gas费用,通过Caldera改进的OPStack,实现可扩展性。
Manta Network联合创始人VictorJi称,Manta网络的Layer1已重命名为Manta Atlantic,未来Manta生态系统将由Manta Atlantic和Manta Pacific两部分组成。[2023/7/12 10:49:45]
Celestia具有以下特点:
去中心化:既然Celestia上的共识层只专注于数据可用性,网络中的轻节点可以利用数据可用采样的方法确认可用性,而无需下载整个区块。而这个轻客户节点可以直接在手机上运行,极大地降低了运行节点的门槛。扩容性:首先我们来回顾区块链扩容的瓶颈-状态膨胀:随着交易量增加,需要执行交易的信息大幅增加,这意味着运行全节点的难度越来越大。Celestia把区块有效性的问题简化为数据可用的问题-这意味着Celestia网络只需要轻节点可以保证数据可用性,当越来越多的节点加入数据可用性采样时,区块空间呈线性增长。安全性:Celestia的安全性同样取决于网络中的轻节点,只要网络中存在足够的节点进行采样则说明数据被隐藏的可能越小,由此安全性越高。上面提到,Celestia的轻节点运行门槛足够低,这样的去中心化程度赋能了更高的安全性。此外,模块化区块链具有以下几点优势:
可插拔,灵活性:首先,用户可以基于Celestia部署自己的执行层,从而依靠Celestia的数据可用作为安全保障。此外,Celestia对于“执行层无感知”的状态开放了虚拟机的设计空间-它并不需要与EVM兼容,这赋予了VM的后起之秀充足的展示和竞争机会,比如LLVM,MoveVM,CosmWasm,FuelVM等。费用便宜:在吞吐量增长的情况下,Celestia的验证费用呈下面右图次线性增长。这是因为数据可用采样的工作原理只需要轻节点随机下载区块中的一小部分数据,所以即使随着数据量增大到特别大,用来验证的数据也不会呈线性增长,所以费用相对便宜且是有上限的。
来源:https://rainandcoffee.substack.com/p/the-modular-world
主权性(sovereignty):在以往的L1中,硬分叉通常被避免因为这涉及到很大的风险。硬分叉相当于网络的共识层发生了分歧,底层的安全性被稀释,网络需要召集更多的节点加入来维持原先的安全性。但是由于Celestia提供了通识的数据可用层,基于Celestia所搭建的Rollup可以自主的决定节点的升级,代币的供应量,或者定义自己的有效性准则。这样的主权行赋予Rollups极大的自由和实验空间。解决扩容问题:数据可用的原理和重要性
Lido V2引入Staking Router模块化架构,允许任何人创建Lido staking模块:金色财经报道,Lido发布推文称,作为Lido V2的一部分,引入了Staking Router模块化架构。Staking Router是一种升级,它将Lido staking operator registry转变为模块化 + 可组合的即插即用架构,允许Lido以更自下而上的理念转向更模块化的架构。任何人都可以提出一个模块,每个验证者池都被视为自己独立的模块。虽然Staking Router负责在所有模块之间分配资源,但每个模块都管理自己的内部运营商注册表、存储密钥以及参与者之间的权益 + 奖励分配。[2023/2/11 11:59:54]
去信任化是区块链思想的前提,通过验证而不是信任来传递数据。如果我们不能用现有的数据重现某些东西,从区块链的角度来看,那么它就不存在。**用部分数据还原全部数据,这一过程被称为数据可用性证明。**单体区块链实现数据可用性的方式,是将全部数据下载到全节点(full-node),这种方式扩展性较差,对节点的要求也很高。模块化扩容解决方案,则是将数据可用性跟共识和执行层分开。这也被认为是最理想化的方案,因为这不要求对节点升级。
数据可用性分为链上和链下两种方式:
链上:强制区块生产者在链上发布所有交易数据并让验证节点下载它。这通常为单体区块链所用,支持全节点和轻客户端两种方式。另外,Danksharding采用了全新的方式实现了链上DA。链下:区块生产者不会在链上发布交易数据,而是提供加密承诺来证明数据的可用性,以太坊的汇总(rollups)解决方案,以及模块化(Modular)均采用这种方式。具体实现方式:区块提议者(BlockProposer)需要将每一个区块的信息发布,节点(Validator)根据可用数据还原交易信息,并验证blockproposer发布的信息与节点下载全部数据时还原的信息相同。由于区块提议者只发布部分数据,不排除其隐藏或篡改数据,而对交易发起攻击。这种攻击被称为“datawithholdingattacks”。
目前,有以下4种方式来避免“datawithholdingattacks”:
DataAvailabilityCommittees:PureValidium通过区块生产者将交易数据存储在链下,这在一定程度上集中化。DAC离线记录链下数据的副本,但需要在发生争议时使其可用。DAC成员还发布链上证明,以证明上述数据确实可用。Proof-of-stakedataavailabilitycommittees:任何人都可以成为验证者并在链下存储数据。但是,他们必须提供“保证金”,并将其存放在智能合约中。权益证明数据可用性委员会比常规DAC安全得多。它们不仅无需许可和无需信任,而且还具有精心设计的激励机制来鼓励诚实的行为。它一定程度解决了DAC的中心化风险的问题。DataAvailabilitySampling(DAS):在DAS机制中,节点通过对小块多轮随机采样,以验证数据可用性。由于许多节点同时对块的不同部分进行采样,达到统计意义上对确定性以验证其可用性。DAS不仅适用于轻客户端数据可用性,也广泛用于模块化DA方案。DataAvailabilityProofs:将DAS与纠删码结合,由于DAS并没有验证全部的数据,区块提议者仍有可能实行“datawithholdingattack”。纠删编码是通过在数据本身上增加冗余数据,以此实现用更少的数据还原交易。由于要求区块提议者发布的数据更少了,那么如果区块提议者想实施攻击,就需要保留至少50%的区块数据,而未使用纠删码时只需保留1%便可实施攻击。纠删码是一种允许通过添加冗余片段将数据集加倍的技术,可用于重建原始数据。从CD-ROM到卫星通信再到二维码,它在信息技术中无处不在。MustafaAl-Bassam在*什么是数据可用*一文解释,纠删码允许用户获取一个块,例如1MB大,然后将其“放大”到2MB大,其中额外的1MB是称为纠删码的特殊数据。如果块中的任何字节丢失,用户可以通过代码轻松恢复这些字节。即使多达1MB的块丢失,您也可以恢复整个块。相同的技术可以让计算机读取CD-ROM中的所有数据,即使它已受损。
Optimism推出模块化组件OPStack,支持构建自定义链“op-chains”:10月18日消息,以太坊二层解决方案Optimism推出模块化组件OP Stack,支持组装构建自定义链“op-chains”以适应任何用例,此外通过共享排序和消息传递层,未来“op-chains”之间的界限将会消失,形成一个单一的逻辑链“Superchain”,从而将集体的资源开放给插入“Superchain”的许多不同的“op-chains”。[2022/10/18 17:30:00]
目前最常用的是Reed-Solomon编码。实现方式是,从k个信息块开始,构造相关的多项式,并在不同的x坐标处对其进行评估,以获得编码块。使用RS纠删码,随机采样丢失大块数据的可能性非常小。KZG多项式承诺(KZGPolynomialCommitment)允许基于对未编码信息块的承诺直接验证Reed-Solomon编码块,因此不会为无效编码留下空间。
Reed-Solomon编码过程如下:
来源:https://www.paradigm.xyz/2022/08/das
下面我们将通过比较数据可用性,对模块化解决方案进行分析。
解读:模块化项目/解决方案
Danksharding
Danksharding是以太坊模块化解决方案。不同于简单的Sharding,Danksharding使用DAS验证数据可用性,解决了Sharding的单个分片上验证者隐藏数据作恶的问题。Sharding将区块和区块提议者分散在不同的分片上,而Danksharding引入合并市场费用(MergeFeeMarket)的概念,唯一的区块提议者将处理所有的交易数据。同时,将区块建设者和区块提议者分离(PBS),避免了提升节点要求的问题。
Proto-danksharding(EIP-4844)是实现完整分片路线图的途径。其提出了一种新的交易类型“Blob携带交易”(Blob-carryingTransaction)。Blob的特点是相同数据大小,比calldata要便宜很多,且数据容量大于calldata。
不同于使用简单的KZG多项式承诺,Proto-danksharding采用的是哈希后的KZG多项式承诺,以实现EVM兼容和未来容量兼容。
不同于EIP-4488试图大幅降低gas成本,Blob并不会降低gas费用,但会降低layer2协议的交易费用。目的不同,EIP-4488只是作为临时解决方案,分片将是最终的扩容解决方案。
模块化DeFi协议Encentive的Web3操作系统已集成Alchemy Pay支付功能:6月14日消息,模块化DeFi协议Encentive的Web3操作系统已集成Alchemy Pay支付功能,支持用户通过法定货币和加密货币进入Web3领域,同时,用户可以将他们的加密资金转换为100多种当地法定货币,并直接存入银行账户。据悉,Encentive是一个用于构建DeFi系统的平台,允许企业或者社区使用模块化的组件部署去中心化交易所、高产农业、借贷市场等DeFi项目。[2022/6/14 4:25:41]
来源:Ethereum.org
Validium
简单来说,Validium是以以太坊为中心的L2扩容方案,Validium类似zkRollup,唯一的区别是它会把数据可用性放在链下。由此,Validium极大程度的实现扩容-达到每秒9000笔交易的速度。
为了更好地理解Validium,不得不提采纳Validium实现数据可用性方案的项目-StarkEX。StarkEX是由StarkWare开发的、STARK支持的可扩展性引擎,可被应用于加密货币交易所。StarkEx于2019年夏天上线,它采用zk-STARK有效性证明的独立式定制化扩容解决方案。目前有dYdX、Sorare、Immutable和Deversifi四款产品。
StarkEX的数据可用性有三种可选择的模式:zk-Rollup,Validium和Volition。其中Validium是一种链下的数据可用性方案。在这个方案里,数据的安全性由数据可用委员会的八个节点来维护。
这个方案的好处是降低的交易费用和隐私性:首先用户不再需要为数据上链而付费,因为大部分的gas费用都用在更新链上的状态性上。此外,Validum把用户的账户额度信息放在链下,由DAC来保管维护保证了隐私性。
但是用户需要权衡的是虽然Validium使交易费用降低且拥有相对的隐私性,但是他们需要信任DAC成员。这也是Validium方案中最大的弱点。
首先,DAC的签名钥匙存储在链上,这意味着这些钥匙很容易被攻击。比如攻击者可以把Validium转换成只有他们才知道的状态,由此来冻结资产,要求赎金。仅仅由八个成员组成的DAC类似于一个名誉证明的网络,安全性相对较弱。
此外,StarkEX的Validium也相对中心化,因为Validium的操作者,或称数据可用性管理者,完全可以冻结用户的资产。他们可以改变哈希后的状态而不向用户披露。然而缺少了这一信息,用户则无法为其账户创建所有权证名。
相比之下,zkRollup的解决方案不会发生冻结用户资金的问题。这是因为对于zkRollup来说重建状态所需的信息必须调用以太坊的交易数据,否则zkRollup就会拒绝改变状态。换句话来说,在zkRollup的安全性和状态性均由以太坊主网所保证。只要用户向以太坊上的zkRollup合约提交申请即可提取他们的资产。然而,向以太坊主网提交的信息验证请求以及验证的过程均伴随着一小笔gas费用,而这笔费用随着交易数量增加而线性增加。所以相比Validium的方案,zkRollup只能实现每秒2000笔的交易。
Bitfinex旗下数据流平台Dazaar实现模块化接口部署 可接入BTC等支付网络:近日,Tether和Bitfinex首席技术官Paolo Ardoino发推称,Bitfinex旗下开源点对点数据流平台Dazaar网络现已实现部署一个模块化接口。用户可利用该接口接入任何想要的支付系统,例如通过主链或闪电网络接入BTC支付网络、Tether等等。[2021/1/17 16:21:56]
值得一提的是StarkEX还有第三种数据可用方案Volition,但是理解起来相对简单。它是一种混合的数据可用性制度,即让用户来选择把数据可用放在链下或链上,权衡利弊。
zkPorter
之前已经提到,zkRollup的扩容方案是让交易在链下处理,然后再把结果同步给以太坊上的全节点-具有链上数据可用性。
具体来说,如果一个zkRollup账户的用户想证明她/他在此账户拥有资产,用户则可以自己提供一个MerklePath并把状态的改变或者最终状态广播至以太坊网络的每一个全节点。这样即使zkRollup的操作者作恶想要隐藏某个数据,用户都可以直接从以太坊的网络提取数据。虽然这个方案赋予了用户对数据可用的自主掌握权,或是说“任何人可以自行重建Layer2的状态,以确保抗审查”。但是这伴随而来的是扩容上的瓶颈,因为以太坊网络验证状态改变的这一动作是占用区块空间的。
而zkPorter是zkRollup的进阶扩容方案,这个方案与前者的区别是,zkPorteraccount的用户将不会把状态改变作为calldata更新至以太坊主网上,而是发送至由守护者组成的网络。
注意这里,与StarkEX方案中的Validium不同的是,zkPorter的数据可用性是由守护者来维持和保护的。通过权益证明的方式,守护者质押zkSync的代币并且跟踪数据可用性的状态。一旦漏掉任何一笔交易,守护者的质押都将被销毁,相比Validium的DAC依靠信誉实现安全,zkPorter则从加密经济上保证安全去掉了需要信任的假设。
zkPorterbyzkSync@ETHGlobal
来源:https://www.youtube.com/watch?v=dukgSVE6fxc&ab_channel=MatterLabs
虽然zkRollup和zkPorter是两种扩容方案,但这并不妨碍着两侧的合约和账户无缝交互。此外,从用户体验上来看,zkPorter账户的交易费用减少了100倍。zkPorter能够实现便宜的交互费用是因为它不像rollup那样向以太坊上的全节点发布数据,从而导致成本的增加。
来源:https://twitter.com/zksync/status/1381955843428605958
Eigenlayer
Eigenlayer是建立在以太坊POS基础上的再质押协议(Re-staking)。通过将权益证明质押的ETH、包含ETH的LP代币,或者包含stETH的LP代币进行二次质押,来运行节点验证服务。这些服务可以包括:中间件、预言机、侧链、二层网络等协议。它提供了一个统一的质押平台,使得其他协议可以直接采用,而不用建立自己的验证器和池子,从而可以将更多精力放在开发核心协议和用户体验上。Eigenlayer不仅为其他协议的节点验证服务带来了统一标准,也提高了ETH质押者的收益。
来源:https://messari.io/report/eigenlayer-to-stake-and-re-stake-again
Datalayr是建立在Eigenlayer之上的数据可用性协议中间件。Datalayr使用KZG多项式承诺和纠删码,结合欺诈证明和强制披露为节点提供诚信保证。它们在测试网拥有10MB/s的吞吐量,这是在不考虑历史数据的情况下。随着节点数量增多,可用的吞吐量就越多,验证也越便宜。拥有1,000个节点将使以太坊能够处理330TX/s。
Datalayr的缺点是,尚不知道能激励多少ETH质押者提供数据可用性服务。因此,并不能断言其扩展能力和安全性。
PolygonAvail
PolygonAvail是一个模块化的数据可用性区块链。旨在为其他的独立链、侧链或链下数据可用性扩展。采用KZG多项式承诺,数据可用性抽样(DAS)和纠删码,使得轻客户端也能作为数据可用性验证,而不依赖欺诈证明。Polygon8月30日发布的测试数据显示,目前,Avail的出块时间为20秒,每个块能够保存大约2MB的数据。假设平均事务大小为250字节,现在每个PolygonAvail块可以容纳大约8,400个事务。
除了用于数据可用性的PolygonAvail,Polygon生态的扩容解决方案还包括:
PolygonPoS:EVM兼容的以太坊侧链,通过一系列无需许可的PoS节点确保安全;PolygonHermez,基于zk-rollup的以太坊layer2;**PolygonEdge:**提供可定制的模块化框架,支持私有或公有的以太坊兼容的区块链;PolygonNightfall,是一个OptimisticRollup,旨在降低私下转移ERC20、ERC721和ERC1155代币的成本;**PolygonMiden:**是基于zk-STARK的以太坊二层扩容解决方案,其核心是MidenVM:一个图灵完备的基于STARK的虚拟机,它提供了一定程度的安全性并支持目前在以太坊上不可用的高级功能;**PolygonZero:**使用Polygon自己开创的Plonky2零知识证明系统,Plonky2支持高效的递归证明生成,允许PolygonZero水平扩展,这意味着协议的吞吐量不受网络上最弱节点的限制,而仅受可用的总计算量限制。
来源:https://polygon.technology/solutions/polygon-avail/
项目对比图:
参考资料:
https://medium.com/@Jon_Charbonneau/celestia-the-foundation-of-a-modular-blockchain-world-95900fe2cfb0
https://twitter.com/ptrwtts/status/1509869606906650626
https://mp.weixin.qq.com/s/mpHSH-L48jJebtFZQrg3kw
https://rainandcoffee.substack.com/p/the-modular-world
https://twitter.com/apolynya/status/1517137608253485059
https://twitter.com/zksync/status/1381955843428605958
https://www.tuoluo.cn/article/detail-10012090.html
https://coinmarketcap.com/alexandria/article/what-is-data-availability
https://www.chaincatcher.com/article/2077770
https://messari.io/report/rollups-execution-through-the-modular-lens
https://ethereum.org/en/developers/docs/data-availability/
https://www.paradigm.xyz/2022/08/das
https://messari.io/report/progression-of-the-data-availability-problem?referrer=author:eshita-nandini
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。