干货 | zkRollup 相关讨论两则(以太坊)以太坊pos收益,墙裂推荐,

admin 289 0

第一则:链接:https://twitter.com/SomsenRuben/status/1349437071686062083@StopAndDecrypt:有没有比特币爱好者来解释下 zkrolBTClup?

我不指望以太坊的开发者会诚实地讲清楚其中的权衡 ,也不指望以太坊的粉丝真的明白它是怎样工作的(这是个严肃的问题哦)@SomsenRuben:用比特币的术语来说,就是一个大区块方案 —— 每个人都BTC要下载额外的数据 。

买卖进入区块之前,一个两头人先使用一个 SNARK 证据来 聚合/压缩 所有的见证数据(witness ,比如签名)(当前的 SNARK 需要使用受信任的启动设置) ,并发布新形态BTCUTXO 集合承诺(也是用上述的 SNARK 证据来证明的)。

每个人都验证这个 SNARK,证明区块的无效性和 UTXO 集合承诺的正确性没人必须生成 UTXO 集合,因为 SNARK 已经证明过了 ,BTC只需你想,你就能生成出来如果那个两头人失踪了,你只需使用 UTXO 集合承诺证明本人形态即可动用资金。

简而言之 ,好处是你可以节约见证数据和计算量(都外包给了 SNARK 证据)zkrollup 只是BTC使用了我们不断晓得的 SNARK 能做的事,可能差别只在于它用在了单独的一个 UTXO 集合上亦见我写的 SNARK 文章:SNARK 与区块链的未来 。

(译者注:下文有附非常清楚地说明了 SNARK BTC能做的事,以及为什么 zkrollup 要把不含见证数据的买卖数据发布出来)第二则(很长 ,请耐心):链接:https://twitter.com/SomsenRuben/status/14202991BTC97979504642

(略去两人对二层网络衰亡会不会降低对一层区块空间需求的讨论)@AdrianoFeria:侧链不能提供与 L1 同样的安全性Statechain 不是完全免信任的我还没研究 ChaBTCumian banks@bergealex4:

(侧链)当然不能,它从来也没说本人能你没法跨层复制 L1 的安全性@AdrianoFeria:“你没法跨层复制 L1 的安全性 ”这就是 ZK-RollupBTC 能做到的事@bergealex4:好吧,即便我们接受这个前提 ,光凭这一点也不能让 ETH 优于 BTC 。

@AdrianoFeria:就凭这一点,以太坊就有了一种扩容机制,可以保留 L1 的安全性 ,同BTC时无需付出 开启/关闭 通道的开销 ,也不必承担闪电网络内在的数据可得性风险我们没法靠推特来讨论哪个系统在全体上更优。

无论如何,zk-rollup 是一个大进步,并且提供了比领取通道更大的好处@SomsBTCenRuben:ZK-rollup 和领取通道是不同维度的(orthogonal)zk-rollup 就像扩大的区块(extention block) —— 非见证数据放到链上 ,并由每一个人(通过 SBTCNARK,便宜地)验证。

我可以理解为什么你们管它叫 “L2”,但从技术上来说 ,它其实不是它只是做了非交互的见证数据聚合(NIWA)看我的文章 《SNARK 与区块链的未来》@AdrianoFeria:BTC它是个 L2,因为 SNARK 的计算是委托给另一个网络的 。

L1 只用来存储证明,结果是它提高了 L1 的吞吐量大约 100 倍据我了解 ,它就相当于无损压缩@SomsenRuben:“L2” 只是个标BTC签关键是我们同意这个过程里面 SNARK 做了什么 —— 非交互的见证数据聚合,这个也可以用在主链上(就是完全用在 L1 上,由矿工来做 NIWA) ,或者用在链中链上(就像 zk-rollup 一样,BTC但它就是 “扩大的区块 ”)。

在比特币网络中,见证数据只占区块的 50%(跟以太坊不同) ,所以你最多只能获得 2 倍的效率提升(从区块空间的角度来看) ,而且这是假设了完满的 SNARK 技术;这个扩容效BTC果很一般即便运用了它,领取通道仍显然是有好处的。

@AdrianoFeria:在 rollup 基础上再运转领取通道就不可能吗?@SomsenRuben:当然可以,这就是为什么我说他们不是同一个维度的(BTC略)@AdrianoFeria:是不是可以断言 ,它(zk-rollup)提高了 L1 的吞吐量,代价是添加了额外的计算量(在以太坊的情形下,由于当前的规范要求 ,验证者没法这么做)?而且,即便证据的提供BTC者崩溃了,资金也仍然可以取回 。

@SomsenRuben:我那篇文章提出的 NIWA 概念解释了这种直觉任何人都可以收集所有的见证数据(包括签名在内、证明买卖合法性的数据)并 压缩/聚合 成一个 SNABTCRK 证据只需某人付出多一点 ,结果无益所有人。

资金总是可以取回的,证据的提供者也总是可以替换的@AdrianoFeria:我理解这些,但理想情况下 ,SNARK 的计算应该作为一项服务,由一个去中心化的BTC网络来提供这就是以太坊生态里面正在发生的事,而且我看不出为什么类似的东西对比特币来说就不可取。

@SomsenRuben:它总有可取之处 ,但你过高地估计了它的好处(扩容效果最多只要 2 倍) ,也低估了它BTC的代价(其数学原理未经考验 、不使用受信任的启动设置就很低效,以及矿工的中心化)我确实相信有一天 SNARK 会成熟,会变得很有意义 ,但现在还没到时候 。

@AdrianoFeria:普遍共识是,zkrolBTClup 在以太坊上的扩容效果是 100 倍(这个信息在多个信息源中是一致的)为什么它对比特币就没有这样的效果呢?@SomsenRuben:我能想到的两个缘由:。

相比比特币,以太坊中的 witness BTC数据大得多 ,验证起来也更昂贵 —— 所以 SNARK 能更好地缓解以太坊的低效率地址重用进一步减少了非见证数据 —— 对比特币来说,这种隐私上的牺牲也是不太可能被接受的。

我的主张是很容易推理的:SNABTCRK 只能减少见证数据比特币的见证数据大约占区块的 50%只需你理解这些,你就不需要 “相信我是个专家 ” ,但 100 倍的说法,实在是很难推理出来@AdrianoFeria: 。

我没有在任何地方看到有人BTC挑战这个 100 倍的说法我假设 zkrollup 的技术设计可能稍微不同于你用比特币来举的例子,以及/或者 跟 UTXO 或比特币脚本的限制有关@SomsenRuben:我不会那么快就开始假设。

“别BTC信任 ,本人验证”总的来说,我也建议你不要为某种主张辩护,除非你有非常强的决心谦虚一些 ,http://www.paulgraham.com/identity.html@AdrianoFeria:所以我也BTC欢迎对这个说法的技术上的挑战呀。

基于一个现实:它已经被许多著名的开发者援用 ,也广为流传,也没有被挑战,偏向这个陈述是合理的Rollup 已经快集成好了 ,证据就在眼前你需要务实地恪守这个 “别信任,本人BTC验证” 的信条相信某些东西,而不是本人验证每一件事 ,是有理由的 。

比如:相信 SHA-256 运作良好相信公钥密码学为客户端创建二进制未见得编译器是无效的@SomsenRuben:我只不过给了一种你(应BTC该)可以验证的,比特币无法靠 SNARK 实现两倍以上扩容,的证明 。

从这个角度看 ,说以太坊可以实现 100 倍扩容的主张至多可以开始怀疑如果这还不叫 “验证 ”,那我也不晓得什么是@AdrianoFerBTCia:我不断没法完全消化这一点,但这篇文章看起来与你用比特币来描述的情形完全不同。

你有什么评论吗?https://medium.com/interdax/ethereum-l2-optimistic-BTCand-zk-rollups-dffa58870c93@SomsenRuben:文章里列举了许多扩容方案 ,但就我所知,除了 zk-rollup,其它方案都已经被以太坊社区抛弃了。

但相比之下 ,我更了解比BTC特币如果你对我的文章有什么疑问 ,我很乐于帮你解答这也会间接帮你了解以太坊@AdrianoFeria:Vitalik 刚刚发布了这篇文章,我还没来得及看,但它似乎讲解了许多技术设计上的细节 ,以及各品种BTC买卖能压缩多少数据的细节 。

《Rollup 不完全指南》@SomsenRuben:好文章所以我的两个理由都是对的,但现在我更理解这个 100 倍是怎样来的了在以太坊中,空间和计算量都要消耗 gas ,但BTC前者的 gas 成本更低因为 SNARK 将计算量降到了接近 0,所以所有的 gas 都可以用来发布数据。

缺点是什么?区块变得更大@AdrianoFeria:区块是变得更大了,但这是我晓得的对存储空间BTC无效率的用法另外 ,这篇文章也证明了,一笔普通的买卖因而节约 10 倍空间所以,这说明 rollup 比你用比特币来描述的情形有 5 倍的效率优势。

这可不小了@SomsenRuben:你忘了第二个代BTC价 ,地址重用,这是个很严重的隐私降级你也可以为比特币引入这样的反向升级来节约区块空间,以前也有人提议过 ,但大家以很好的理由拒绝了@AdrianoFeria: 。

我看不出地址重用怎样就是专属于 rolluBTCp 的问题 ,而且这个问题也可以通过专门设计的提高隐私性的智能合约来缓解而且,钱包就不能每次收银都使用一个新地址、模仿 UTXO 的隐私性吗?@SomsenRuben:。

关键在于地址重用就是他们缩小买卖BTC体积的办法呀如果你为每一笔买卖都使用一个新地址(以及找零地址),那 zk-rollup 的买卖体积会大得多(这场讨论中还有其它旁生的讨论 ,在此不附)(译者注:不晓得读者还记不记得 zk-rollup BTC的扩容效果是怎样论证出来的。

简单来说,它是假设一笔普通买卖在主链上发生要消耗 X 单位 gas,而在 zk-rollup 上发生只需消耗 Y 单位 gas ,所以扩容效果是 X/Y换言之,所有的论证都基BTC于不同操作在以太坊上的 gas 定价,但是 ,gas 并不是一种真实的资源,它只是一种虚拟的单位并假设了不同的资源的代价可以化约到一个目标 。

假如你现在把 calldata 的 gas 定价下调一倍,zkBTC-rollup 的扩容效果就可以提高一倍(EIP-4488 和 4490 正有这样的意思)这不是有点儿戏吗?相反 ,Somsen 对 SNARK 扩容效果的论证更接近于技术本来的面目,它就是节约见证数据BTC(以及理想情况下,节约验证计算量)而已。

另外 ,zk-rollup 也确实有地址重用的问题(见这篇文章)Adriano 所谓的模仿 UTXO ,每次都使用一个新地址的办法,不是不行,但在以太坊的世界里不是BTC一个良好实践 ,因为所有的历史地址都会留在形态中,变成节点的负担,这就是所谓的形态爆炸问题。

下面 ,是 Somsen 的文章)SNARK 与区块链的未来作者:Ruben Somsen来源:https://BTCmedium.com/@RubenSomsen/snarks-and-the-future-of-blockchains-55b82012452b

SNARK(succinct non-interactBTCive argument of knowledge,简约的非交互式知识证明)常被认为是 “处理” 扩容问题的灵丹妙药虽然 SNARK 可以提供难以想象的好处,但我们也要晓得 —— SNARK 无法处理BTC区块链当前面临的带宽约束问题 。

本文希望能通过(相对)简要地引见 SNRAK 能为区块链做什么和不能做什么 ,来揭开 SNARK 的奥秘面纱我们会先谈谈,为什么它与区块链有关的功能可以被简约地归纳为 “非BTC交互式见证数据压缩(NIWA)”。

只需晓得比特币是怎样运转的,你就能理解这篇文章该当指出的是 ,SNARK 在很大程度上仍然处于活跃的研究阶段许多 SNARK 的变种,要么效率不足以至于无法证明复杂的BTC语句(statement),要么证明的体积非常大 ,大到不切实际 ,要么需要一个受信任的启动设置(trused setup)。

也就是说,虽然这几年我们看到了许多进展,估计未来数十年我们还将看到更多本文的写BTC作对这些进展有预期 ,即便它们今天看来可能不实用什么是 SNARK ?SNARK 是一种技术,让你可以在给定一个规则集和一个起始形态时,高效地验证一个结果 。

导致这个结果的输入是不公开的(“零知识性 ”)听BTC起来一头雾水?我们拿象棋举一个简单的例子的好了象棋案例规则:象棋规则起始形态:棋盘的起始局面 A结果:棋盘的新局面 B证明棋局从局面 A 到局面 B 是无效转换的传统方法是公开每一个步骤并检查每一步是BTC不是都无效 。

SNARK 也同样能用来检查形态转换的无效性 ,但效果更好:步骤不必公开(隐私性、节约数据)验证在计算上更高效但有一个问题 —— 创建 SNARK 的计算成本很高不过,在一个许多人都想验证同BTC一个结果的系统(比如区块链)中,使用这种技术可能仍是值得的。

只需要一个人花力气来创建 SNARK ,就能提高所有人的验证效率区块链案例规则:全节点软件起始形态:时间点 A 的区块头和 UXTO 集合哈希BTC值结果:时间点 B 的区块头和 UTXO 集合类似于我们上面提到的象棋,验证形态转换无效性的常规方法是:从时间点 A 的 UTXO 集合(所有未花费的买卖)开始,接收截至 B 点所有的区块并更新 UTBTCXO 集合。

有了 SNARK ,那就不需要这些数据来证明无效性了实际上,如果时间点 A 被设为创世区块(空的 UTXO 集合),而时间点 B 被设成现在 ,那么无需接收任何历史数据就能验证整条链重要的是 ,BTC你需要 B 点的整个 UTXO 集合,而关于 A 点你只需要晓得 UTXO 集合的哈希值 。

虽然这个数据不是证明无效性严格必需的,但我们也关怀 可得性如果你总是只能拿到 UTXO 集合的哈希值 ,那即便BTC晓得一个无效形态存在,你也不能晓得那个形态究竟是什么也就是说你没法花费任何资金,因为你没无数据来证明某个 UTXO 属于当前的集合。

如果以象棋为类比 ,那就是你晓得了一个新局面的哈希值,但你并不晓得BTC个局面到底是怎样样的,所以也没法继续玩这个游戏记住 ,无论是谁来创建 SNARK(假设是矿工)都要具备这个数据(结果 UTXO 集合)(因为这是创建 SNARK 必需的),但他们可能会选择扣住数据,不发BTC给你。

SNARK 区块链为了保证每个人都会花费本人的钱 ,更新 UTXO 集合所需的所无数据都必须与每个区块一起传播你还是要晓得哪些 UTXO 被花费了(即输入) 、哪些 UTXO 新产生了(输出)这就是BTC所谓的 “非见证数据” 。

形态转换的无效性可以靠一个 SNARK 来验证,因而 SNARK 可以取代所有的见证数据(脚本 、签名),而且几乎不占用带宽输入和输出之间的关联将被抹消 —— 一个区块看起来就像BTC一笔很大的 coinjoin 买卖一样。

大部分数据都是非见证数据所以 ,与大众的想象相反 ,SNARK 无法处理轻客户端或者非联盟侧链背后的根本问题,因为你必须下载非见证数据如果非见证数据丢失,全节点有能BTC力拒绝一个无效的 SNARK;但如果一个轻客户端疏忽于下载非见证数据 ,它可能会错误地认为一个数据丢失的链是无效的。

即便非见证数据的一小块被矿工扣住了,其他人也就没法在无效的 SNARK 上创建新区块 BTC—— 最终它会变成一个许可型系统SNARK 消耗见证数据用于区块链的 SNARK 最好的总结可能是,它可以启用一种功能:非交互的见证聚合(NIWA) 。

我在这里使用 “见证” 一词是比较随意的在比特币中BTC ,见证数据是放在买卖中、用来证明具体的 UTXO 能否能够合法创建出来的数据但随着时间推移,这个 UTXO(非见证数据)也会变成本身的见证数据,在它被花费的时候。

假设 1 btc 从 Alice 转给BTC了 Bob 又转给了 Carol ,Bob 的买卖就是从 Alice 到 Carol 的转账的见证数据同样地,创世块以来的所有领取买卖,都是当前 UTXO 集合的见证数据s。

同样要指出的是 ,一个 SNABTCRK 本身就是一个见证数据如果每一笔买卖都由一个 SNARK 来验证,我们也可以将这些 SNARK 都聚合(NIWA)在一起、为区块生成单个的 SNARK而且,因为输出在花费时会变成见证数据 ,我们甚至BTC可以在买卖池中取出未上链确认 、但已经被花费的输出 ,并聚合它们 。

Alice 转给 Bob 再转给 Carol 会变成 Alice 转给 Carol,实现非交互的买卖合并(transaction cut-BTCthrough)当带有许多链外买卖分支的单个 UTXO 被强制上链时(比如闪电网络通道工厂),这种功能特别有用。

简单总结我们已经用 NIWA 概念总结了 SNARK 为区块链提供的核心功能任何见证数据BTC都可以被一个 SNARK 非交互式地聚合在一起而剩下的非见证数据就是对系统形态(UTXO 集合)的直接反映虽然 SNARK 可以实现一些神奇的功能 ,比如直接下载一个 UTXO 集合和一个 SNARK BTC就从创世形态腾跃到最新形态、非交互式地将未上链买卖的序列聚合为单笔买卖,但我们还是需要为每一个新区块发布所有的非见证数据,以使所有的全节点都能更新他们的 UTXO 集合。

因而 ,SNARK 无法处理区块BTC链面临的带宽根本约束感激 Sanket Kanjalkar 富有教益的讨论和评论 。

- NIWA 在举动 。SNARK 消耗 witness,但本身也是一个 witness。所以 SNARK 可以吞吃 SBTCNARK -(完)

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~