本文总结了社区中对于 Polygon 侧链与 L2 的相关争议讨论,并且翻译了 Dankrad Feist 的文章《关于 51% 攻击,大家都搞错了什么》以便读者从中参考对这些争议的解答。5 月 16 日,以太坊扩容解决方案 Polygon 的市值跻身加密货币市值前 20,随后 StarkWare 的联合创始人 Uri Kolodny 转推祝贺,但同时他强调:“Polygon 是侧链,而不是 Layer-2。L2 的安全性依赖于以太坊;而侧链的安全性与以太坊的不相关 (甚至更低)。” 因此,社区围绕 Polygon 到底是不是 L2 开始了激烈的讨论。针对 Uri Kolodny 的评论,Mihailo Bjelic 做了以下回复 [1]:首先,Polygon 并不是一条侧链,它是一套扩容解决方案。其次 (也是最重要的),默认 L2 比 PoS 侧链 (我们的是提交链 commit chain) 更安全是绝对错误的。为了解释其中原因,我将简单地比较一下 Polygon 的 PoS 链和 StarkWare 的 zkRollup 或者 Validium。我们的 PoS 链的确有自己的验证者集,但这是完全无需许可的,且质押金额已达到 28 亿美元。此外,该实现已经经过了实战测试 (1400 万个区块且零事故)。然而 StarkWare Rollup 只有一个 PoA 运营者。这个运营者可能会宕机,抢跑、审查用户的交易等。并且,它由 STARKs 提供安全性,这是一个全新的、未经过验证的密码学。至于 Validium,情况甚至更令人担忧。DeversiFi 所使用的 Validium 方案还依赖于一小组 PoA 数据可用性节点。这些节点可以合谋,通过拒绝访问数据来阻止任何或所有用户提取资金。考虑到上述情况,我认为那种默认 L2s 比侧链/提交链更加安全的想法是错误的。针对 Mihailo Bjelic 的回复,社区分别从三个角度进行了讨论:1) Layer-2 与侧链在安全性上的区别;2) Layer-2 能否达到与 Layer-1一样的安全性;3) Eth2 与侧链在安全性上的区别。而对于社区上的困惑,以太坊基金会开发者 Dankrad Feist 发布了文章《关于 51% 攻击,大家都搞错了什么》[2](见下文),该文章基本上囊括了以上讨论中的问题与解答。1.首先,关于第一个问题,Dankrad Feist 表示不赞同,他说 L2 确实更安全,因为作为 L2 必须提供与基础层相同的安全性。而 PoS 侧链具有较弱链 (通常是侧链) 的安全性。[3]James Prestwich 也参与了讨论 [4]:“与侧链相比,L2 需要更少新的安全假设,但其安全性并非与主网完全一样。”他指出 L2 与侧链相比,具有以下不同的特点:在下文中,Dankrad Feist 指出“侧链不验证有效性,仅验证共识条件的绝大部分,并且其不具有数据可用性检查。”关于侧链的安全性问题,详见文章中“侧链如何运作?”那一部分。2.至于 L2 能否达到与 L1 一样的安全性。Patrick McCorry 认为[5],L2 的目标是尽可能地接近 L1 的安全性,但想要完全一样,是不可能的:他还提到,L2 解决方案可以归结为以下四点:这个混合的方案难以完全达到 L1 的安全性。回到下面的文章,Dankrad Feist 解释了“区块链的安全模型”,以强调为何 L1 的安全性如此难达到。3.那么 Polygon 的 PoS chain 与 Eth2 的 PoS 机制对比呢?在讨论中, Dankrad Feist 指出[5],在长期发展来看,PoS 侧链会是一个很大的隐患。在 Eth2 中我们尽量移除大多数诚实假设,然而 PoS 桥接并不能做到。以下是文章内容:请大家原谅标题中的挑衅意味。显然,并不是每个人都会误解 51% 攻击,但还是有相当一部分人没有搞清楚,因此写一篇相关的文章并无坏事。区块链圈内大概有一个神话:只要有人控制了比特币、以太坊或者其他区块链的超过 50% 的算力,那么 ta 就可以对网络做任何事。在 PoS (权益证明) 机制中,只要有人聚集了质押总额的 2/3,ta 同样可以对网络做任何事情。ta 可以转走别人的资产,随意发行代币等等。这种想法是错误的。以下是 51% 攻击可以做的事情:他们不能做到的是:更改系统的规则。这意味着:这并非说明 51% 攻击的后果不严重,这仍然是十分恶劣的攻击。重新排序交易可以造成双花,这是非常严重的问题。但他们能做的事情仍然有局限性。那么包括比特币和以太坊的大多数区块链,他们现在如何确保这一点?如果有一名矿工挖出了违法共识规则的区块会如何?或者,如果绝大部分质押者对一个违反共识规则的区块签名会发生什么?有时人们声称最长链为有效的比特币或者以太坊链。这个说法不太完整。对当前链头的正确定义是因此,在客户端接受区块链应该用来记录当前历史数据这个条件之前,他们需要验证两个属性:这听起来可能有点抽象。我们有理由提出一个疑问,上述中的第一个条件由谁来验证,即谁来验证者区块链上的所有区块均应有效?因为如果还是矿工验证该链有效,那么这只是重复工作了,我们并没有真正从中获得什么。但区块链不一样。让我们分析一下为什么,先从一个普通的客户端/服务器数据库架构开始:请注意,对于典型的数据库,用户信任数据库服务器。他们不会检查回应是否正确;客户端确保已按照协议对其有效格式化,仅此而已。客户端 (此处用一个空白的方块表示) 是“非智能的”:它无法验证任何内容。但是在区块链的架构中,是这样的:我先来总结一下上图包括的组件。首先矿工 (或质押者) 生产区块链。P2P (点对点) 网络确保每个人都能够使用有效的链,尽管存在一些不诚实节点 (你需要连接到至少一个诚实且连接良好的 P2P 节点,以确保自己始终与有效链保持同步)。最后,客户端将交易发送至 P2P 网络并从网络中的其他节点接收最新的链更新 (或者是完整的链,如果它们正在同步的话)。客户端实际上是网络的一部分,它们也将通过转发区块和交易来做贡献,但在这里不是那么重要。重要的部分是,用户正在运行一个全节点,上图中由客户端中的柱体表示。只要客户端获得一个新的区块,就像任何其他节点一样,无论是一个矿工还是 P2P 网络中的一个节点,这些客户端都将验证该区块是否为有效的状态转换。如果这不是一个有效的状态转换,该区块则会被忽略。这就是为什么网络中的矿工试图挖掘无效的状态转换是没有意义的。所有人都只会忽略它。许多用户运行自己的节点,与以太坊或比特币等区块链交互。许多社区已将此模式作为其文化的一部分,并且非常强调每个人都运行自己的节点,由此他们就成为验证过程的一部分。确实,让大多数用户 (尤其是那些质押了大笔资产的用户) 运行全节点是非常重要的;如果大多数用户变得懒惰,那么矿工可能会突然被诱使生产无效区块,如此一来该模型将不再适用。这有点像民主制中的三权分立 —— 政府有不同的分支,而仅仅因为你在其中一个分支拥有多数席位 (比如立法机构),并不意味着你可以做任何你喜欢的事以及藐视所有的法律。同样,矿工或质押者有权排序区块链中的交易;而他们无权轻易对社区制定新规则。But do all blockchains work like this?但是所有区块链都是这样运作的吗?这是个好问题。需要注意的一个重点是,以上所说的模型只有在全节点易于运行的情况下才会奏效。作为普通用户,如果运行全节点必须要花 $5000 购买另一台计算机,并且一直需要 1 GBit/s 的网络连接,那么 ta 根本不会选择运行全节点。尽管 ta 可以在某些地方达到该网络要求,但是永久地保持以运行自己的区块链节点很可能不那么方便。在这种情况下,普通用户很有可能不会选择自己运行节点 (除非 ta 的交易非常有价值),这意味着 ta 将信任其他人来为其执行该操作。假设有一条链,其运行成本太高,以至于只有质押者和交易所会运行全节点。你刚刚改变了信任模型,然后大多数质押者和交易所能够聚集在一起并改变共识规则。对于这一点,用户是没有任何争议的 —— 如果用户对该链完全没有控制权,那么他们无法发起分叉。他们可以坚持使用旧的规则,然而,除非他们开始运行全节点,否则,他们根本不知道自己的请求是否在自己想要的链 (满足其共识要求的链) 上得到了回应。这就是为什么每当出现提高以太坊或比特币的区块大小的讨论时,总会引起大量的争论 —— 区块大小每提高一次,都会增加大家自己运行节点的负担。这对矿工来说不是什么大问题 —— 与实际的挖矿操作相比,运行一个节点的成本要小得多 —— 因此,这将权力的天平从用户转移到了矿工 (或质押者) 身上。但是,如果用户只是想用加密货币来买咖啡,该怎么办?Ta 需要在手机上运行全节点吗?当然,没人希望需要这样做,用户也不希望。那么这时候就是轻客户端发挥作用的时候了。轻客户端是较简单的客户端,它们不需要验证整条链 —— 它们仅验证共识,即总难度或者已投票的质押金额数量。换句话说,轻客户端会被诱使跟随一条包含无效区块的链。对此有补救措施,例如数据可用性检查和欺诈证明。据我所知,目前还没有任何一条链实现了这些,但至少以太坊未来会这样做。因此,使用具有数据可用性检查和欺诈证明的轻客户端,用户在不需要运行全节点的情况下,也可以使用区块链的安全模型了。这是我们最终的目标,即任何智能手机都能够轻松地运行以太坊轻客户端。侧链是当前的热门话题。它们似乎可以提供一种简单的扩容方案,不像 rollups 那么复杂。简而言之:不幸的是,桥的状态与轻客户端相同。它们不验证有效性,仅验证共识条件的绝大部分。然而,侧链有两个方面比轻客户端更糟糕:第二点很微妙,可以花一到两篇文章讲解一下。但是简单来说,桥接不能做数据可用性检查,而没有数据可用性检查,欺诈证明也几乎没用了。而如果使用零知识证明,可以要求桥接打包所有有效区块的证明,从而改善这个问题 —— 不幸的是,这样还是有可能会受到数据可用性攻击,但也是一种改进了。总言而止,侧链的安全模型与以太坊和比特币等区块链不同,而且要弱得多。它们无法防止无效的状态转换。实际上,所有这些都与分片有很大的关系。我们之所以需要分片来进行扩容,是因为只有分片能够实现这样的扩容方式:既不需要提高运行全节点的门槛,同时又能够尽可能地维护区块链的完整安全性保证。理论上说,在一条非检查点的 PoW 链上,可以通过回滚所有交易来盗取比特币。是的,你不能发行一万亿个比特币,但你仍然可以盗取现存的所有比特币,这也很好,对吧?我认为这一点非常理论化。社区会接受一个修改其好几年数据 (甚至只是好几个小时) 的分叉的机率几乎为零。在所有可能的分叉中,都会出现大规模的争抢,很快就会得出结论并拒绝分叉,只同意有效的链为现存的那条链。有了 PoS 和敲定,这种机制将变得形式化 —— 客户端永远不能回滚已敲定的区块。
[1] https://twitter.com/MihailoBjelic/status/1393686451255226368[2] https://dankradfeist.de/ethereum/2021/05/20/what-everyone-gets-wrong-about-51percent-attacks.html[3] https://twitter.com/dankrad/status/1393721324300865537?s=20[4] https://twitter.com/_prestwich/status/1393730794238005253[5] https://twitter.com/stonecoldpat0/status/1393869662572748801
原创文章,作者:惊蛰财经,如若转载,请注明出处:http://www.xmlm.net/wang/4194.html