首页 > 百科 > 美国目前比特币交易所|最新 Vitalik 台北以太坊会议演讲:用零知识证明实现以太坊扩容
链闻速递  

美国目前比特币交易所|最新 Vitalik 台北以太坊会议演讲:用零知识证明实现以太坊扩容

摘要:本文由 Trenton Van Epps 根据 Vitalik 2019 年 3 月 15 日晚在台北的以太坊会议上的演讲整理而成,由汇智网提供中文翻译版本。V

本文由 Trenton Van Epps 根据 Vitalik 2019 年 3 月 15 日晚在台北的以太坊会议上的演讲整理而成,由汇智网提供中文翻译版本。Vitalik 最近提出了他对 Rollups 的想法以及与 Ethereum1.0 和 2.0 中的第 2 层解决方案相关的数据可用性问题。他的演讲包含了一些引人入胜的结构,可能会进一步从团队中进行迭代。这是一个至关重要的研究领域,因为对于希望增加用户群的项目来说,仍然非常需要信任最小化的区块链扩展机制。如果你有时间我建议听完整的演讲。

原文标题:《Transcript 可扩展的以太坊区块链作为数据层》
文章整理:Trenton Van Epps
编译:汇智网

以前的研究

本次演讲所依据的基本概念首先出现在 Vitalik 于 2018 年 8 月发表的文章中,将可用性引擎 availability engines 归功于 Justin Drake。2018 年 9 月,一个扩大该主题的 ETHresearch 帖子得到了重要讨论。在 2019 年 1 月,EF 研究人员和 Matter Labs 之间的合作在 Rinkeby 测试网上产生了一个名为 Ignis 的概念证明。这是团队的原始帖子和 Trustnodes 访谈 / 演示。

以下是 Alex Gluchowski 和 Kent Barton 在 ETHDenver 2019 上的精彩演讲,详细介绍了 Rollup 机制:零知识缩放 Scaling With Zero Knowledge。对于 SNARK 和 STARK 之间的差异也有很好的探索。

最后,由于 EF 资助,看起来 Matter Labs 继续通过 snark 进行扩展工作,请查看此处的公告以及更多资源。

我在下面输入了 Vitalik 演讲的粗略记录,试图捕捉每个部分的精髓。希望人们觉得这很有用。

背景 / MASTERCOIN

这是一种新的 L2 结构,与可扩展性(plasma/state channels)的 L2 不同,它使用 BC 作为数据存储而非计算的场所。计算可以用 zk-snarks 完成。

最新 Vitalik 台北以太坊会议演讲:用零知识证明实现以太坊扩容

  • 一些历史:将 Mastercoin 视为 BTC 之上的元协议。为解释 tx 定义一组不同的规则。BTC 是数据存储,但不是状态执行。特殊 tx 可以用 flag 表示。
  • Mastercoin 的缺点:客户端不够轻(需要 BTC 区块链和 Mastercoin 节点)。MC 协议中的活动不会影响 BTC 链,这限制了整体功能。
  • 现在我们有 ETH 1.0,很快我们将获得 ETH 2.0,我们能做类似于 Mastercoin 的事吗?

ZK ROLLUP

ZK 汇总(not ignis, not ignis plasma)可以在今天提高 30 倍的可扩展性,将来会更高。工作原理:Onchain 合约只存储一个值:merkle 树的 merkle 根。

最新 Vitalik 台北以太坊会议演讲:用零知识证明实现以太坊扩容

  • 用户发送 txs,由一个叫做中继者的特殊 actor 调用并设置 zKsnark。发布以前的状态,新状态,其中包括捆绑在一起的交易。
  • 这与 Plasma 相似吗?(两者都是持有 merkle 根的合约)不同之处在于 Plasma 需要复杂的退出游戏 / 退出期以便处理恶意操作员的可能性(数据可用性)。
  • ZK Rollup 没有数据可用性问题,因为所有交易都发布到链,没有签名。
  • 每个发布 13 个字节 X 每个字节 68 个 gas=884 个 gas,当前简单 tx 的当前成本为 21k。
  • zKsnark 证明了 tx 的有效性,而不是让 ETH 主链验证每个签名交易。计算和存储被移除。Merkle root 留在链上。这避免了 central actor/relayer。因为数据是在链上发布的,所以任何人都可以验证。
  • 这可以通过不包括 nonce 来改进,删除 2 个字节(每个字节 11 个字节每字节 X gas 气体 = 748 个 gas)
  • 注意:即时存款和取款。提款:coin 从他们的 merkle 分支转移到主链,然后是 merkle root 更新。存款将是相反的,但另外为用户提供帐户 ID。可能会有很多漂浮在周围。
  • 这种结构可以相对安全地将简单付款从 15 tx/s 增加到 500 tx/s。
  • 斯坦福 1.x 研讨会(youtube 视频)的一个结果是,与其他业务相比,数据价格过高。尽管存在对状态的担忧,但向块大小添加 1kb 并不会使事情变得更糟。在 Istanbul 可以减少简单 tx 的 gas 成本,从而将 ETH1.x 的吞吐量提高到 1000 tx/sec 以上。

进一步采取行动

Rollup 应该能够支持更复杂的状态转换,包括 Uniswap,高性能交换,多个 token,隐私保护计算,ENS 等,所有这些都使用 SNARK + publish tree details 范例。

ZK ZK ROLLUP (Bose–Einstein condensate)

  • 基本思路:采用 ZK 汇总但内置迷你版 zCash。(关于 zCash 的入门:用户发布 txs,SNARKs 说「我有一个有效的支出证书,用于该状态的一些 coin 哈希。这是一个新的 coin 哈希」
  • zCash,续,用户有加密 S,coin 哈希:h(s+1),支付证书:h(s+2)。SNARK 证明支付证书属于现有 coin,但不属于哪一枚。验证功能还应检查尚未显示支出证书。
  • 转发者不会发布 tx,它会发布收据(105 字节 X 68 gas= 每 tx 7140 gas)。在这里我们放置一个 SNARK 来验证包含的每个单独的 tx 是否附加了 SNARK (一级递归)。验证 SNARKs onchain,它需要 500k gas。

BEACON CHAIN - 第 1 阶段

  • 如果我们想做更多的事情怎么办?输入 ETH 2.0 的 Beacon Chain 第 1 阶段。作为仅数据链的分片链意味着 2.8 MB/ 秒的数据可用性。
  • 每个 zK zK 汇总是 105 字节 / 意味着 27k 隐私保留交易 / 秒,如果完全消耗 2.8 MB。如果我们不关心隐私,则 27k 增加 10 倍。
  • get rekt scamcoins LOL VB 甚至无法选择哪个是 TPS 声称的最差。
  • 障碍是这些系统依赖于数据和计算(虽然数量很少)。ETH 2.0 (阶段 1)没有计算但有大量数据,而 ETH 1.0 有计算:让我们桥接两者。

ETH2 在 ETH1 轻客户端

  • ETH 2.0 研究团队花了很多时间使 2.0 体系结构轻松客户端友好。
  • 当持久委员会切换时,每 9 天需要 80kb 的 merkle 分支(也可以在 9 天内分摊),每个头部加 500 字节。
  • 在 ETH1 客户端需要 BLS-12-381 预编译。 ETH 1 链可以是挂钩到 2.0 链的计算层,要求在 2.0 链上发布用于汇总模式的数据。

其他用于可扩展数据可用性的引擎。

Plasma 具有更频繁的承诺,Dapps 存储链上的消息,具有独立「主权」状态转换功能的区块链协议搭载在以太坊上用于数据可用性。

加快跨境交易

  • 当前分片设计的弱点:分片之间的通信有延迟(等待交联,~6 分钟)
  • 解决此延迟的粗略建议是允许一个分片看到另一个分片的根的机制。这可能在大多数时间都有效。

最新 Vitalik 台北以太坊会议演讲:用零知识证明实现以太坊扩容

  • 快速探索用户何时想要在分片之间转移 token:他们可以将 tx 发布到带有 root 的智能合约(包含预期的 token 转移),以及保证金。
  • 「碎片的 merkle root 是 0x12345,如果这个说法错了,我同意失去 100 ETH (押金)」。
  • 在存储令牌余额的注册表的上下文中,发布 100 个 ETH 存款的用户(在等待 x-shard 交易通过时)然后将其余额更新为条件状态如果状态根声明是正确的,我有 x+转移 amt ,如果不正确我只有原始金额(减去没收的 ETH 保证金)。
  • 将其视为 SC 内部的量子叠加(存储两种状态 / 两种可能性)。只有当合约通过交联才能知道原始碎片的状态根时才解决。
    然后可以在用户之间传递这种叠加,而不需要他们知道(钱包会显示乐观的值,直到约 6 分钟后才会发送交联)。

一般用途隐私

ZEXE:基于 UTXO 的系统,可以保护隐私。

第 2 层计算的好处

  • 从哲学上讲,第 1 层不需要过于复杂来优化属性,块时间,x-shard 通信,x-shard 同步消息支持,隐私等。
  • 从理论上讲,ETH 2.0 阶段 3 可能永远是足够的,不需要超级二次分片。
  • 例外情况是增加分片或更新加密。
  • 其他区块链已经提出了这个主张,但实际情况是,一旦你拥有可扩展的数据可用性和足够的表现力,至少要验证 zKSnarks 和状态转换(功率和复杂性的最低阈值),你可以在顶部建立所有必要的 L2。
  • L1 可能变得越来越难以改变,但如果它们处于可扩展数据可用性之上(2.8 mb/sec),这对计算 L2 来说是好的。

问题交流

问:L2 内容是否排除了使用完整语言不适用于 zKsnarks?

TC 的数学定义与加密社区的含义有所不同。数学:TC 意味着计算机。这是如此笼统,你不能告诉计算何时停止(Snark 需要事先知道)。

加密:使用 TC 意味着表达足以使应用程序具有复杂的内部状态(plasma,makerdao,uniswap,这些 L2 的验证引擎) BTC 不能做这些事情,ETH 可以。ZEXE 是基于 UTXO 的模型,但也可以。

TC 是错误的词,但是你可以做一些足够表达的事情来构建 zKsnarks 中的应用程序。

问:我们是否应该担心熊市期间 30%的哈希率损失?

这是一个问题,但不是真正需要担心的事情。ETC (以太坊经典)遭到攻击,但只有 3%的 ETH 链哈希值。如果它成为一个重要的问题,那么第 0 阶段可以用作 1.0 链 POW 客户端的终结机制。然后,51%的攻击只允许审查块,而不是恢复块。

问:基础层和应用层之间的去中心化程度总会存在竞争。数据可用性和 SNARK 总是 mean 集中化?

这个新的 L2 类非常有趣,不需要解决数据可用性问题。集中化可以减少。比较 Plasma 和 Rollup:plasma 数据可用性问题意味着需要有一个 actor,如果恶意,他可以浪费用户 2 周的 coin 锁定时间。如果转发者消失,Rollup 没有数据可用性问题,另一个可以迅速取代他们的位置。可能的伤害减少,像 Rollup 这样的 L2 是解决方案的一部分。

问:在进行跨域通信时,你是否正在考虑两阶段提交协议?

合约 yanking 有助于解决火车和酒店问题。(与不同分片上的 2 个对象进行交互) ETH 链是否应支持 L1 上的同步?不,它引入了太多的复杂性。

现在,在两个交联之间,你可以计算分片中的状态转换,作为分片和信标链中数据的函数。不依赖于其他分片中发生的事情。

具有同步交叉分片调用会破坏此不变量,使状态计算游戏变得更加复杂,尽管你可以实现类似 Rollup 的 L2,这将有助于支持同步交叉分片调用。

问:「第三方」L2 解决方案(Celer)与其他以太坊 L2 解决方案之间的关系是什么?

Celer 是一个提供自己的数据可用性解决方案的 L2,Plasma 也是这样做的。Rollup 执行计算 offchain 并在链上处理数据可用性。有不同的权衡。

youtube 视频链接

google 幻灯片地址

免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:msy2134。