Synthetix 将如何帮助 ETH 2.0 实现扩容?
原标题: 为什么 Synthetix 选择 Optimism 扩容方案?
作者: Kain Warwick
翻译&校对: ECN以太坊中国 & 阿剑
DeFi 的兴起发出了一个清晰的信号:以太坊需要在 ETH2.0 之前实现扩容,但要在 DeFi 生态内保持可组合性还需要在同一个扩容方案上协调。
幸好,市场是非常擅长预测和解决这样的困难的,我们现在已经有非常多的扩容技术上线了。我们与多个主要扩容技术变体的团队进行了对话,且经过对它们逐一评估,我相信 Optimistic Ethereum 是在社区里最可能达成共识的扩容方案。
这篇文章会详述我为何如此相信,我也会回应社区对 Optimistic Ethereum 的顾虑。本文还将给出在主网实现 OVM 的 Synthetix 变体所需的治理过程流程,以及说明何种情况下另一种扩容技术可以替代 Optimistic Ethereum。总的来说,本文的目的是保证社区的充分知情,使大家能对 Snythetix 迁移到 Optimistic Ethereum 的计划达成共识。
【如果你还未阅读Vitalik的文章《以 rollup 为中心的以太坊路线图》( 中文译本 ),本文是围绕它的论述展开的,但 Vitalik 的是自顶向下的,而我这篇是自底而上的,着眼于 DeFi 项目需要扩展什么,以及为什么 Optimistic Ethereum 能满足这些要求。】
社会共识
我感觉 “你总得有所取舍” 好像变成了我的新口头禅。但它是对的 —— 完美的扩容解决方案是不存在的。每种方法都有大方向上的权衡,而每种具体实现又有进一步的小范围的权衡。所有这些都以一个高风险的元协作机制为基础,因为光是选择正确的设计和权衡是不够的,我们还必须为其他人最有可能选择的方案而调整自身。因此,扩展变成不只是一个技术上的难题,它还是一个社会协作博弈。
当我第一次阅读关于 Optimistic Rollups 的内容时,当时我们的 gas 费还没有很高。无论是对于技术还是社会上的难题,它看上去都像是个优雅的解决方案,但我已经意识到,无论我们选择哪种扩容方案,我们都需要与其他项目合作。Uniswap 的 Unipig 演示给了 Optimism 收获社区共识一个很好的机会,因为它与以太坊上最知名的项目之一合作了。因此,我选择参与这个解决方案,不仅在如何解决 DeFi 特有的困难上给 Optimism 提供反馈,还协助他们在社区里引导社会协作。
- “你的意思是,扩展以太坊吞吐量还是个社会问题?” “从来都是。” -
技术因素
对于 Synthetix 来说,Justin Moses 既是它的幸运也是它的诅咒。他为 Synthetix 树立了不轻易妥协的、严谨的工程文化,但是他极度厌恶认知上的负担,简直跟软体动物一样。这意味着,把 Synthetix 部署到 Layer2 上需要在最小化风险与减少对代码库的任何修改之间达成微妙的平衡。迁移期间在 Layer1 和 Layer2 上运行两个并行的、不同的代码库,这种做法我们是绝不会同意的,因为迁移甚至都不会实现;而如果这意味着用另一种语言重写合约的话,就更加不可能发生了。
Synthetix 是建在 Ethereum 上最复杂的智能合约之一,这无疑增加了维持不同代码库的难度。我们对此有亲身经验,因为曾尝试将 Havven network 移植到 EOS 而不得:https://twitter.com/kaiynne/status/1166234541616316417?s=21。
我们还需要向社区证明这项技术是可行的,且是值得我们进一步投放资源的,然后再尝试围绕它作为我们的扩容方案构建共识,OVM 的交易演示也有助于加强这点。但仍有社区成员对这个方法保有忧虑也是在理的,因此即使社区共识已经非常明显偏向 Optimistic Ethereum,我们还没到可以用 SIP 来测试它的地步。
但在我开始讨论具体的权衡之前,我准备先聊一聊当前对智能合约执行的扩展方向:
- 快速区块链,即 “以太坊杀手”,其他 Layer 1 架构,非常快速的区块链
- ETH 2.0,即 2032 年见(开个玩笑)
- 状态/支付通道,即 “都能发送代币了,你还想要啥?”
- 侧链,即 xDAI 那一套
- Plasma,以 Omisego 为代表,也叫 “虽迟但到”
- 使用零知识的 ZKrollup 和其他解决方案,即你是否 solidity 的真爱。
- Optimistic Ethereum Optimistic Rollup,高能预警
- Lightning,笑而不语
如果还有其他解决方案是我漏了的,我很抱歉,我非常期待在 twitter 上看到它们的消息。由于在迁移阶段需要保持使用同一个代码库,上述的大部分解决方案都被排除了。当然,很多解决方案都声称与 EVM 兼容,但这并非听上去这般简单 —— 虽然 Optimism 突破了这个限制,也还需要对合约进行少量修改。但基于这点我们可以很快排除这些方案:快速区块链、ZKrollups、Lightning、状态通道、和 Plasma。即使 ZKrollup 进展迅猛,目前的所有变体都需要用一种新语言来重写合约。这并不是不可克服的,只是这些语言的工具还非常不成熟,这会大大增加实现风险。可能有一些快速区块链支持者看到这里就不服了。的确,其中有些项目是与 EVM 兼容的,支持部署 Solidity 合约,但大部分方案都有其他问题,使我们觉得可行性不佳。包括那些十分新颖的共识机制也还没经过反复测试来证明其可行性,所以安全性这一项也失分严重。考虑到现状所表现出来的困难要求,#2 也出局了。没错,我把 Eth2.0 放在第二位是因为我们真的考虑过。目前来说,普适性计算是状态/支付通道和 Plasma 第二个难以达到的要求。那就只剩下侧链和 Optimistic Rollup 了。我们排除了像 xDAI 这样的侧链,因为我们需要为价值上亿美元的资产提供保障,在未来还会再增加几个数量级。如果有异议,feel free to 掰头 with me看完了全部的选项后,我们觉得 Optimistic Ethereum 呈现的权衡是最佳的,而且他们团队也非常有能力执行他们的路线图。
分阶段的 Optimism
很明显 Optimistic Ethereum 还没有上线,因此还存在重大的执行风险,这也是为什么我还没提交关闭 Layer1 上的 Synthetix 的SIP。但是,在上述的选项中,结合权衡与风险来看,我们认为 Optimism 证明了它值得 Synthetix 投入大量工作实现迁移以及带动 DeFi 的其他项目一起参与。这就是为什么我决定我们需要利用我们作为最老牌的 DeFi 协议之一的地位并承担早期实现的风险。我知道这会有利于在社区建立共识。到目前为止,社区的普遍接受程度很高,且还没有人反对给 Optimistic Ethereum 分配资源。但是,随着我们越来越接近可能的主网迁移,我们提出了三大忧虑。1)欺诈证明2)中心化3)提款延迟最关键的技术问题是欺诈性的状态转变。有人说目前的实现阶段不包含欺诈证明,实际上,欺诈证明是包含在内的,但尚不支持自动生成的欺诈提交。Optimism 团队选择了分阶段测试的方法,以便在增加复杂性之前测试像储存与提款这样的特定功能。不过,这一点可以在测试网路线图里就声明,以避免用户疑惑。尽管在主网上线之前,自动提交欺诈证明这项功能就会上线。在欺诈证明功能不完备的情况下,很明显是不会有主网上的资金可以存进 Optimistic Ethereum 网络的。对于任何提议迁移到一个低安全保障网络的 SIP,我个人是会投反对票的,我也鼓励社区里的每个人都这样做。这也是为什么 xDAI 和其他 POA(权威证明)网络被认为不可用的原因之一,即安全性低。另一个主要忧虑是 Optimistic Ethereum 呈现出来是去中心化的,但它有中心化的部分。我相信这个看法是被误导的,但这种担忧是有道理的。在过去几年,社区为提高协议的去中心化程度投入了大量的时间和资源,现在如果为了 gas 费和吞吐量而往后退,会是个糟糕的取舍。但事情不是这样的,排序者 (sequencer) 是在最少牺牲的前提下大幅提高用户体验的。这些忧虑源自人们对 Optimistic Ethereum 网络中排序者的误解。大家需要知道,并不是只有通过排序者才能访问 Optimistic Ethereum,排序者的存在仅仅是为了提高用户体验的。很多人还以为一个排序者意味着一个单点故障,这样的情况很不理想,但其实不是这样的,唯一有问题的就是我们现有的 Layer-1 体验太糟糕了。当然,退回到 Layer1 的区块时间并不理想,但还有很多潜在的解决方案,包括如果活跃排序者出故障或被攻击,后备排序者可以替补上。所有这些忧虑都只是暂时的,因为目标始终是尽快转移到一个有排序者的网络里。最后一个主要忧虑是提款延迟对跨层可组合性的影响——这个忧虑除了其他 Layer1 架构,其他所有扩容方案都会面临。这些延迟意味着在挑战期,资金都会锁在 Layer2 的网络,但还是有几种可变通的处理方法的。一种是搭建一个验证者网络,为桥的两边提供资金,并承担提供及时提款的风险以赚取费用(译者注:即基于流动性提供者的快速取款方案)。实际上,Connext 已经开始往这方面开展工作了,这里有更多的细节。这并不能彻底解决可组合性问题,因为资金转移依然需要在链上得到确认,然后你才敢发送另一笔交易,但这基本上对所有扩容方案来说都是至关重要的,我们无法逃避。这也是为什么我认为所有的主要 DeFi 协议都应该尽早在 Optimistic Ethereum 上上线它们的并行版本。这会使得几乎所有目前的 DeFi 交易都在 Layer2 上发生。很有可能质押合约会完全迁移到 Layer2,而交易合约将继续在 Layer1 和 Layer2 上平行运行。需要明确的是,在 “开始 Optimistic Ethereum 主网迁移” 的 SIP 被提出之前,关于功能完备的主网的所有信息都需要公开。我个人有信心,这个条件在未来数月内会得到满足。
主网迁移后
关于 Synthetix 该如何迁移到 Optimistic Ethereum ,仍需社区辩论。首先,我们得决定要不要在一个 Layer-2 上发布 Synthetix 的一个并行的、功能有限的版本。达成共识之后,我们需要评估此次主网发布的结果并对迁移的其他部分进行形式化。尽管 Synthetix 的 DAO 很可能在主网迁移后的前几周提供资金,但我们将需要一份 SIP 提议把最终协议奖励的 1% 分给 Optimistic Ethereum。如果我们将部分的协议奖励分给这个并行网络,我们可以监测采纳情况,并使得市场可以对迁移风险进行定价。预计收益会因为下降的 gas 费而比在 Optimistic Ethereum 低,但也有可能平台风险会导致更高的收益,因为大多数的 SNX 持有者会选择晚点迁移。我的看法是通过质押 Optimistic Ethereum 上的 SNX 铸造 sUSD 与当前通过抵押托管的 SNX 铸造 sUSD 差别不大。我们决定允许通过托管的 SNX 来铸造 sUSD 以最大化可用抵押品的价值。对于那些已经迁移到 Layer2 的 SNX,如果想将它们迁回到某个点,这是可以实现的,这意味着这些 SNX 在网络里都会被视为有效抵押品,只是与在 Layer1 上的 SNX 状态不同。因此,在 Layer2 铸造的 sUSD 与 Layer1 上的 sUSD 应该是可以互相置换的。对此当然有反对声音,理由包括这个实现会是非常复杂的。我们必须采用对整个社区来说最合理的方法。如果此次的迁移是有效的,我们就会有一个相当有力的杠杆可以影响其他部分的迁移:只需要继续转移更大比例的通胀奖励,直到全部都发送到 Layer2 以及所有活跃的、质押的 SNX 都发生在 Layer2 上。到时我们当然需要支持在 Layer1 和 Layer2 上 Synth 的兑换。因此,在这个过程里有大量相互关联的依赖关系需要处理。我曾公开表示我相信 Optimistic Ethereum 将是现在与 Eth2.0 上线之间 DeFi 的出路。如果 Synthetix 社区的其他人都如此相信,我们需要计划如何加入这个网络并完全从 Layer1 迁移过去。我们当然应该谨慎为之,但 Synthetix 的勇士们从未在没十足把握的对赌中退缩过,我相信这是我们遇到的最大挑战之一。为了执行这项工作,我们将需要一系列 SIP 和 SCCP,列明每次发布里提议的变化以及背后的理由。这将确保最大限度的透明度以及得到所有持币者的同意。
后备方案
一般而言,以太坊扩容方案以及智能合约平台的竞争是动辄上几十亿美元的事业。在这个高风险游戏里,有非常多的竞争团队,因此尽管我们对 Optimism 有信心,还是可能有其他团队推出比他们优秀的方案。如果出现了这种情况,我们必须先作好准备,将我们的中心切换到这项更有竞争力的技术上,尤其是当我们发现众多 DeFi 项目已经取得共识,要从 Optimistic Ethereum 中撤出、迁移到该替代方案上。我们必须为最差的情况做准备,即 Optimistic Ethereum 的发布失败了或中止了。在这种情况下,我们必须快速将资源转移到认真调研其他解决方案上,同时还要优化现存的 Layer1 系统。实际上,我们已经开始了应对紧急情况的准备工作。债务快照(debt snapshot)那份 SIP 的快速实现就是一个优化的例子,这个优化已经被搁置了很多个月,但为了解决在 Layer1 上迫切的 gas 问题,我们加快了这个实现。庆幸的是,我们得到了暂时的缓和,但它不能持续很久。如果因为任何原因我们无法就迁移到 Optimistic Ethereum 达成共识,我认为我们社区必须聚集起来一起选出另一个扩容方案,并团结起来推进它。虽然我认为可能性不大,但假装这是不可能的就过于轻率了。
结论
本文初衷是解答一些社区提出的问题,但也希望能够解释,我们是如何走到现在的,以及现在是处于整个迁移过程的什么阶段。没有什么是不可更改的,即使是一份已通过且实现了的 SIP 也可能因为情况改变而回滚。但是,我坚信如果我们就 SIP 达成了共识,并希望为 DeFi 扩容构建一个最可行的网络,整个社区都需要尽力推进它。我有信心我们的社区可以实现这点,我们比任何时候都更强大,也对 2021 充满期待,其中当然包括 Synthetix 得以在一个功能齐全的 Optimistic Ethereum 主网上运行。