火星链 火星链
Ctrl+D收藏火星链
首页 > OKB > 正文

PHA:Phase one and done:Eth2 作为数据可用性引擎

作者:

时间:1900/1/1 0:00:00

编者注:这篇文章的原标题为 “Phase One and Done: eth2 as a data availability engine”,在发表当时(2019 年 4 月),作者意在为 Eth2.0 提出一种替代 Phase 2 的路线图,也就是,如果仅用分片来保证数据可得性,这样的系统是否有用,还需要增加哪些部分来使之变得有用。令人惊讶的是,在一年半以前,作者就已经认识到,对 zk-rollup 这样的系统来说,底层必须保障的是 “状态转换的执行和数据可得性必须是原子化地绑定在一起的”,因此底层必须具备执行能力,哪怕是非常简单的无状态执行;而且,(作者也通过层层推理指出)为保证用户体验,还缺少的主要部分是数据怎么上分片的手续费支付协议(这两点认识,即使放到今天,也仍然称得上是前沿,甚至是超前)。手续费协议在 Phase 2 的规范中,目前也仍然是缺失的。

顺带说一句,本文作者是 Casey Detrio,他是 Ewasm 团队的一员,之前也为 Phase 2 提供过很多想法;他也认为,应该以 “保证 Eth1 的合约到了 Eth2 能够如常执行” 为核心来设计 Eth2.0。他是被低估的一个开发者。

目前,限制 Eth1 吞吐量的瓶颈是状态增长。因此,如果我们想要扩展以太坊,从逻辑上来说,1000 个具有独立状态的分片能够将吞吐量提高 1000 倍。

以太坊Layer2解决方案Linea推出主网Alpha版本:7月18日消息,由ConsenSys推出的以太坊Layer2解决方案Linea宣布向整个Linea社区开放对Linea主网Alpha版本的访问,开发人员可以访问该Rollup和ETH桥UI以及Infura和MetaMask和Infura中的RPC端点。支持ERC20代币的规范代币桥将在未来几周内推出。[2023/7/18 11:02:18]

但是,从 Eth1.x 的路线来看,Eth1.x 想要对两类资源的成本进行重大调整:存储(storage)和交易数据(tx data)。目前,存储的定价过低,而交易数据的定价过高。这会激励 dApp 开发者在编写合约时更多使用存储而非交易数据,从而导致存储成为吞吐量的瓶颈。针对这一问题提出的解决方案是增加存储的定价,并减少交易数据的定价。经过这些成本调整,开发者将受到激励更多地使用交易数据,而非存储(即,他们会编写更多无状态合约而非状态合约)。因此,在不久的将来(如果 Eth1.x 的路线图获得广泛采用),我们预期 Eth1 的吞吐量会受到交易数据的限制,而非存储的限制。

如果我们假设吞吐量受到交易数据的限制,那么为了扩展以太坊,Serenity 上的分片不需要有状态。如果吞吐量受到来自无状态合约的交易数据的限制,那么 1000 个无状态分片就会将吞吐量提高 1000 倍。

Big Data Protocol:bALPHA排放速率再次下降:官方消息,Big Data Protocol表示,bALPHA排放速率再次下降。超过2/3总供应量的bALPHA已被排放(在18000中超过12000)。[2021/4/9 20:03:27]

这听起来不错,但是需要通过分片来实现,按计划要等到 Phase 2。与此同时,我们可以将 Phase 1 作为数据可得性引擎。数据可得性引擎一词似乎逐渐流行起来。我们来思考一下它是如何运作的。

以 zk-rollup 为例,zk-rollup 受到数据可得性的限制。Eth1 上的 zk-rollup 合约能否有效地将 Eth2 作为桥接式可用性保障提供方?如果在执行(即,验证 SNARK 证明并更新状态根)过程中无法同时保障数据可得性,你就会得到一个类似 plasma 的 zk-rollback 系统。这个系统虽然能够大幅提高 TPS,但是会引入复杂的权衡关系,需要处理像 plasma 那样的运营者挑战和退出机制。在可用性挑战中,任何人都可以提供数据来证明可用性,因此目前还不清楚将数据放入桥接的 Eth2 分片中能不能让事情变得更简单。

现在有了另一个版本的 zk-rollup,即,500 TPS 的 zk-rollup,一切都变得简单多了。不再需要指定的运营者,任何人随时都能充当中继者,并生成 SNARK 证明来更新状态。事实上,数据可得性保障始终伴随着状态更新,也就是说不需要处理像 plasma 那样的运营者挑战和退出机制。但是这需要执行和数据可得性保障都发生在同一笔交易中,而遗憾的是我们无法使用桥接式可用性引擎做到这点。换言之,桥接对于 zk-rollback 这样的欺诈证明系统来说足够了,但是对 zk-rollup 这样的有效性证明系统来说还不够。结论是,为了将 Layer 2 上的有效性证明简单化,Layer 1 上的可用性引擎需要具备的一项重要功能是,能保证数据可得性与状态转换的执行是原子化地一起发生的。

Alpha5(A5T)将于3月3日20:00上线ZBG:据ZBG官方消息,Alpha5(A5T)将于3月3日20:00开启A5T/USDT交易对,并同步开放充值和提币业务。

Alpha5是一站式加密货币衍生交易平台,借鉴芝加哥期货商品交易所隐含订单,可根据期货价格曲线的价差帮助用户找到不同的产品间的套利空间。Alpha5获得Polychain领投,参投资机构包括FBG资本,Axia8 Ventures, Oasis Capital,ZBG Capital等资本投资支持,累计融资金额超400万美金。更多详情请咨询ZBG官网客服。[2021/3/3 18:09:57]

或许我们不应该对这一认识感到惊讶。如果单靠数据可得性(没有执行)就有用的话,就不会有人说 Phase 1 启动只是为了确保一堆非零 blob(二进制大型对象)的可用性,也就不会有人抱怨必须要等 Eth2 进入下一阶段才能真正发挥作用了(除了 PoS 之外)。我们正在努力将 Phase 1 作为数据可得性引擎,但是它依然无法执行任何操作,因此令人感到失望。(哇,我们可以构建 Mastercoin 2.0 了!)

那么,为什么 Phase 1 会与执行相冲突?好吧,假设是有状态执行,则每个分片都要维护一些本地状态。如果验证者需要维护很多本地状态,那么验证者混洗就会复杂得多。反之,如果没有执行,就不用担心本地状态。验证者混洗就会简单得多,我们就可以专注于使用数据 blob 构建分片,然后更快地启动分片。

金色相对论 | Phala Network创始人佟林:kusama的卡槽适用于创新项目、实验项目、低成本项目去使用:金色财经报道,在今日举行的金色相对论中,针对“插槽拍卖的主网启动前最重要的里程碑,这个里程碑会带来什么联动效果?”等问题,Phala Network创始人佟林表示,Kusama在波卡主网上线之前很多人以为它是波卡的测试网,但实际上经过一年的运行,Kusama已经不仅仅是测试网了,而是一条和波卡功能一样的网络。比如波卡很多新的功能都会先在 KSM 上运行测试,运行没问题后再加入到波卡中。这有点像比特币和莱特币,比特币的很多新功能(比如隔离见证)都会先在莱特币上测试,没问题后再部署到比特币上。至于Kusama的卡槽数量,因为平行链插槽数量有限,上限大约会在 100 条左右,但是其中有一部分是公益卡槽,一部分是平行线程卡槽,最后一部分才是平行链拍卖。所以总体可能只有30-50个可以供拍卖,甚至波卡的会比Kusama的还更少。 拍卖机制上,每次仅会释放一个卡槽,下一个插槽的释放会有一定的时间间隔,所以需要项目方去参与拍卖。Kusama的平行链插槽拍卖,目标对象是想使用Kusama的平行链。因此其实是在拍卖平行链的租赁资源。平行链插槽只租不卖,波卡上的平行链插槽每个租赁期为 6 个月,拍卖时可竞标四个租赁期,也就是说项目方可拍下一个或者多个租赁期,KSM 上的平行链插槽租赁期时长会更短一些。目前已经有97条基于Substrate的链,都需要卡槽来完成平行链的上线。那么Kusama和波卡的区别是: kusama的卡槽会便宜些,适用于创新项目、实验项目、低成本项目去使用;而波卡更适合金融类、商业成熟的项目、大市值的项目去拍卖。[2020/12/11 14:56:19]

但是,我们先不假设执行是有状态的。如果我们尝试使用非常简单的无状态虚拟机来执行操作会怎么样?

动态 | IOTA发布Coordicide alpha网络0.1.0版本:IOTA今日宣布推出Coordicide alpha网络的0.1.0版本(Coordicide alphanet 0.1.0)。alpha网络最初计划是在第二季度于基于Rust的节点(Bee)上发布,但IOTA官方称:“考虑到Hornet团队的成功以及他们与GoShimmer团队的密切合作,我们决定调整我们的方法。”[2020/2/4]

假设信标链状态中有 3 个新的验证者字段:code、stateRoot和deployedShardId。这里还有一个函数process_deploy(就在 process_transfer 下方)。一旦代码部署完成,验证者必须保证账户余额不低于某个阈值[至少锁定 1 ETH。如果代码中没有自毁程序(SELFDESTRUCT),那么这部分 ETH 就等同于销毁了,代码也会永久部署]。

现在,我们假设全局状态中已经有了一些带有代码的账户。

接下来,我们尝试将特定数据 blob 打包到分片上,但是该怎么做?据我所知,对于 phase 1 的分片验证者来说,如何决定将哪些数据 blob 打包到分片区块中仍是个悬而未决的问题。假设 phase 1 规范中没有详细说明这一点。那么,对于用户来说,如果他们想要将自己的数据 blob 打包到分片上,就只能通过两种方式:(1)联系验证者,并通过协议外的方式(例如,eth1 支付通道)向其付款;(2)自己成为验证者,就可以(在他们被随机选为分片的区块提议者时)将数据 blob 打包到分片上。这两种方式都是下策。

比较好的方法是,将事情摆到台面上,允许验证者通过一个交易协议向当前区块提议者支付费用。作为交换,区块提议者要将验证者的数据 blob 打包到分片链上。但是,如果信标链区块操作(如验证者转账)有最小容量要求,这种方法就行不通了。如果没有一个能够让验证者决定数据 blob 打包优先级的交易协议,那么“将 phase 1 作为数据可得性引擎” 的用例将无法实现(无论是通过桥梁连接到信标链的 eth1 合约,还是 Truebit、Mastercoin 2.0 或其它我之前听说过的数据可得性用例)。不管怎么说,我们先假设,不管分片提议者在 “没有执行的数据可得性引擎” 模式中如何打包数据 blob,都可以在 “简单无状态执行的数据可得性引擎” 中都同样能做到。

好了,那么假设特定的数据 blob可以打包进区块了。每个区块都将执行限制在一笔交易中(例如,整个数据 blob 必须作为一笔交易)。我们还未明确交易要用密钥签署(存在交易协议),还是不需要签署(不存在交易协议)。假设是后者,且代码实现了自己的签名检查(类似账户抽象;存在区块 gas 上限,但是没有费用转账机制,因此没有 gas 价格和 GASPAY 操作码)。如果 blob 能够作为交易成功解码,则以数据和当前状态根作为输入执行目标账户代码。如果执行成功,则返回数据为新的状态根。

我们如何更新验证者账户的stateRoot(状态根)?我们无法在每个分片区块的 BeaconState(信标链状态)中更新状态根(因为信标链操作在数量上有严格限制)。但是,信标链的状态中的分片字段,会随着交联(crosslink)而更新。取同一个分片上所有账户的已更新状态根,假设对它们进行哈希运算,得到shard_state_root(分片状态根)。shard_state_root似乎与 phase 1设计中已有的crosslink_data_root差不多(二者都是取决于之前分片区块内容的哈希值)。

不可否认的是,不是每挖出一个信标链区块,所有分片状态根都会更新,因此存在一些本地状态。但是,如果账户是全局的,状态根数据就是最小化的。这就与混洗期间验证者之间需要转移部分分片区块的数据差不多。

这里当然忽略了很多细节。我想要表达的是,无状态执行的大部分要求似乎在 phase 1 就能满足。我认为,最大的问题在于,目前尚未明确用户可以通过哪种方式将他们的 blob 打包上链(如果这个问题不解决,phase 1 就无法成为桥接式可用性引擎)。或许这只是第一个问题,还有其它严重的问题被我忽略了。我忽略了什么?如果要在 phase 1 上允许用户通过某种方式将 blob 打包上链,那么最困难的部分是什么(如果你喜欢的话,也可称之为 phase 1.1)?

这个执行模式相比 phase 2 的提议更加简单,一大原因是合约账户是全局的,就像验证者账户一样。这就意味着,合约账户的数量必须设有上限,而且部署代码的成本与成为验证者的成本一样高(也有可能低于后者)。但是,如果这能够让我们更快地将执行引入 Eth2,我们是否可以接受这种权衡?代码部署后,就无法更改合约存储,因此也可以说,我们这是在尝试不扩展合约存储而为 Phase 1 提供执行功能。这里还有一大重要用例:具备数据可得性的超高吞吐量(将交易吞吐量增加 1000 倍)。

即使有了基础的无状态执行,用户也可以通过将一个合约的状态证明作为交易数据发送到另一个合约,从而实现跨分片合约调用。合约也可以实现自己的类似收据的功能(合约状态根中的收据就像区块头中的收据字段一样可验证)。开发者体验不是很好,因为协议不会提供任何帮助。但是现有的 phase 2 提议似乎缺乏实际的功能来促进跨分片合约交互(这些麻烦都留给了 dApp 开发者,他们必须实现从不同分片中获取收据的逻辑,确保收据没有双花等等)。因此,就开发者体验而言,基础的 phase 1 无状态执行听起来没有比 “简单的” phase 2 构想糟糕很多。基础的无状态执行也足以实现信标链上的 BETH 和主链上的 ETH 之间的双向锚定。

Phase 2 提议与我们这里的提议的最大区别在于,Phase 2 的目标是扩展合约的 storage。但是存储,以及相应而来的富状态执行(stateful execution),同样似乎就是大多数复杂性的来源,也正是使我们无望在 Phase1 引入执行的原因。

原文链接:

https://ethresear.ch/t/phase-one-and-done-eth2-as-a-data-availability-engine/5269

作者:?Casey Detrio

翻译&校对:?闵敏?& 阿剑

标签:PHAETHBLOALPHalpha币有投资价值吗reth币暴跌bloc币2022前景如何AlphaRush AI

OKB热门资讯
SWAP:觅新 | 再现现象级产品?YFI创始人AC新项目Deriswap

《觅新》是金色财经推出的一档区块链项目观察类项目,覆盖行业各领域项目发展情况,具体设计到项目概况、技术进展、募资情况等,力图为您呈现热门新潮的项目合辑.

1900/1/1 0:00:00
BTC:火币观察:比特币上19000是机构哄抬吗?

11月24日晚6点左右,火币全球站数据显示,比特币最高涨到了19099美元,距2万美元的历史新高仅5%的差距。比特币“一骑绝尘”主要源于机构投资者的追捧.

1900/1/1 0:00:00
DEFI:首发 | 太和观察:Defi 极简史

The following article will briefly discuss about what Defi has been gone through、popular things o.

1900/1/1 0:00:00
KEN:NFT的3种协议标准 你了解多少?

市场里永远在寻找新的投资标的、新的落地场景,就目前区块链行业的发展来看,NFT很有可能是通往未来的一扇大门。本系列文章将从NFT的3种协议、6大领域、基本数据等方面,全面介绍NFT相关内容.

1900/1/1 0:00:00
KEY:12.1午间行情:贪婪随币价创新高 天堂地狱各一遭

文章系金色财经专栏作者牛七的区块链分析记供稿,发表言论仅代表其个人观点,仅供学习交流!金色盘面不会主动提供任何交易指导,亦不会收取任何费用指导交易,请读者仔细甄别,谨防上当.

1900/1/1 0:00:00
比特币:12.1午间行情:灰度又加仓比特币 你一定要注意这个位置

文章系金色财经专栏作者牛七的区块链分析记供稿,发表言论仅代表其个人观点,仅供学习交流!金色盘面不会主动提供任何交易指导,亦不会收取任何费用指导交易,请读者仔细甄别,谨防上当.

1900/1/1 0:00:00