原文链接:Rollups on Solana and EIP-4844
本文作者:Madhav Goyal;编译:Cointime Freya
当在数千台计算机中运行一个全局虚拟机来计算相同的数据时,如果没有外部资源/检查人员的任何验证,就很难像计算该数据的单台服务器一样快速。这一直是以太坊及其低tps的最大问题之一,并催生了一个完全不同的生态系统,致力于让以太坊处理更多交易。
区块链限制了可以放入单个区块的数据量和计算量,以防止恶意向量对网络进行dos攻击。由于以太坊只有有限的区块空间,且许多参与方希望将他们的交易包含在最新的区块中,这开始推动支付给验证者/矿工的费用更高,以包括他们的交易。以太坊是一个单一的全球费用市场,各方都在竞争将他们的交易包含在区块中,任何一个程序上的活动都会影响所有用户支付的gas费,这与Solana不同,Solana拥有平行的本地收费市场,每个程序热点都被包含在内,允许一般交易的用户继续进行。
这是通过Solana的状态管理系统实现的,其中每个程序都必须事先指定它要接触的所有程序和状态。以太坊的全球费用市场导致了巨大的费用激增,每当有像NFT mint或代币空投这样的大型炒作事件发生时,费用就会飙升至数千美元,这使得想要转移一些代币却无法支付数百美元的普通人无法使用该链。这个问题将在一定程度上通过分片来解决,因为即使在分片之后,也无法为不同的程序创建孤立的状态和单独的收费市场。
这个问题可以通过rollup来解决。
什么是Rollup?
rollup是链下扩展解决方案,它们验证和计算主网的交易,并发布维护交易计算完整性的数据证明。为了使这个过程更加高效,rollup需要在主网上批量提交验证它们的证明。
rollup分为两种类型:
- Optimistic rollup:它们乐观地假设每笔交易都是正确的,并对其进行验证,但是有一个时间窗口,人们可以通过产生欺诈证明来反对交易的完整性。欺诈证明通常由交易本身和一些Merkle树数据组成,以证明交易无效。在大多数情况下,这是一个非常实用的系统,但由于有一个通常约为1周的时间窗口,交易就有可能会失败,从而延长等待时间。
- ZK rollup:ZK rollup在主网上发布一个加密证明,显示交易的执行情况。ZK rollup的类型取决于rollup产生的零知识证明的类型。
A)SNARKS(Succinct Non-Interactive Argument of Knowledge)):非交互式意味着一旦生成证明,各方就不需要交互,任何人都可以通过运行验证算法来检查它们的有效性。
B)STARKS(Scalable Transparent Argument of Knowledge):Starks比Snarks大,但更容易计算和证明,因为verifier/time= O(N * poly-log(N))。随着Stark证明大小的增加,验证时间却不会增加,从而实现更好的验证系统。
rollup可以进行的交易数量受数据可用性层和共识层的限制,因为在一天结束时,他们必须在主网上发布证明。Celestia正在致力于拆分两个层,使主权rollup不与任何主网相关联,但可以自由选择和移动不同的数据可用性层。L2 rollup具有以太坊的安全性,为了解决以太坊分片后的数据可用性(DA)问题,提出了EIP 4844提案。
什么是EIP-4844和Blob交易?
它是proto-dank sharding,意味着它将实现在以太坊上进行dank sharding所需的scaffolding,并且最大的重点是引入一种称名为blob交易的新型交易。这些交易将是 blob-carrying交易,其数量级相当大,大于100kb。由于这些blob的数据限制,它将允许rollup在主网上发布更大的交易批次,这些数据对主网来说是不可用的,因此验证器无需自己处理这些数据,但需要在短时间内维护这些数据。
为什么要在Solana上进行Rollup?
Solana是区块链并行执行的先驱之一,它解锁了一整套新功能,使其成为超高性能的区块链。Solana的Sealevel运行时允许将线程分配给程序,并隔离不同状态,以避免普通用户面临费用高峰。
如果Solana上的交易已经非常便宜了,那么为什么还需要rollup呢?Solana虚拟机是一种高性能的虚拟机,如果在其他链上实施,可能会产生巨大的影响。Eclipse建立了一个SVM Rollup,可以在L3开发者选择的任何链上达成共识。截至目前,Eclipse的rollup是optimistic rollup,意味着它们使用欺诈证明,但它们也在使用RiscZero构建ZK rollup。另一个最大的问题是,rollup允许一定程度的可组合性和开发者自由度,这是单体链所不允许的。但同时存在一个障碍,即SVM的交易数据限制约为1.3 kb,并且需要缓慢地将数据写入账户,这对发布大批量交易的rollup来说将是一个障碍。
这就是SIMD-0019的作用!
由于rollup数据不需要写入状态更改本身,而只需要验证其可用性,因此blob交易也可以应用于Solana。这些数据blob将以KZG的形式包含提交的数据和元数据,数据将通过Sidecar发布,,然而,只有KZG的提交将被写入链上,blob本身只需要在短时间内维护数据的可用性,但之后可以在KZG提交的帮助下进行验证,这将花费更少的时间。
关于承诺方案的妙处在于,随着所做的承诺,我们可以验证它属于多项式,而无需揭示多项式本身。我们可以验证对于m的任何值都只有一个值n,同时保持函数或短语本身的隐私。
另一个应用程序是Proto-Danksharding:数据blob被表示为多项式,并通过KZG计算它们的承诺。KZG的数学特性支持数据可用性采样,这对于以太坊数据层的扩展至关重要。
*本文由CoinTime整理编译,转载请注明来源。
所有评论