详解 Ronin、Polygon 与 Solana 等五个流行 NFT 平台安全指南

去中心化金融社区2022-04-18 17:27
对比 Ronin、Polygon、Immutable、Solana 和 Optimism 选择的共识安全和桥安全。


原文标题:《NFT 平台安全指南:Ronin/Polygon/Immutable/Solana/Optimism 比较》

撰文:ChinaDeFi


对于任何软件公司来说,安全性从根本上来说都是一个困难的问题。没有什么灵丹妙药 —— 仅上个月就有几家科技公司做出了妥协 (如 Okta、HubSpot)。然而,加密技术的自我保管和不可逆转性意味着,安全方面的妥协可能导致数十亿美元的永久性损失。这种持续的风险对于具有长期野心的 NFT 项目来说是一个巨大的挑战。


数亿美元的用户资金损失严重损害了其声誉,并严重损害了所涉及到的公司和项目。对于许多正在进入该领域的企业来说,这种风险是不可接受的,特别是那些拥有现有客户群、声誉和法律义务的企业。因此,作为 NFT 项目选择平台的标准,安全性变得越来越重要。


每个平台都有强大的动机将自己定位为足够安全的平台。事实是,所有的解决方案都有权衡 —— 重要的是,项目对自己和自己的平台所做的具体权衡有非常清晰的理解。


这篇文章是为了对一些最流行的 NFT 平台 (包括 Ronin、Polygon、Immutable、Solana 和 Optimism) 所做的选择提供一个详细且公正的评估。我将特别关注每个平台底层安全的两个核心元素:


  • 共识安全:通过攻击平台的节点 / 验证者来窃取资产的难度 (例如通过 51% 攻击)
  • 桥安全:在以太坊之间移动资产的安全机制。这通常是更大的问题,因为妥协通常会直接将用户资金置于风险之中


本文将深入探讨项目负责人做出明智选择所需的技术细节:



Ronin


Ronin 是 Sky Mavis Labs 创造的区块链,目前只支持 Axie Infinity 及其生态系统。


共识安全


Ronin 是一个「侧链」—— 一个拥有自己节点和共识机制的区块链,但它维持着一个到以太坊的官方「桥」。Ronin 是一个权威证明 (POA) 链,有 10 个节点,他们将自己的声誉押在不会滥用权力这个事实上。这可以与以太坊测试网 (如 Goerli (20 节点 POA)) 相媲美。如果其中 5 个节点 (50% 以上) 被恶意攻击或被破坏,它们将能够对网络进行 51% 的攻击,并通过双花或其他攻击窃取用户资金。一般来说,这被认为是一个极低的节点数量 (比特币有 15000 个节点,以太坊接近 6000 个节点),并产生一个更中心化的网络,以换取更快、更便宜的交易。此外,用户不能运行自己的节点,并且 Ronin 节点的源代码不是公开的,因此不能被 Ronin 用户审计。


桥的安全



Ronin 的官方以太坊桥由「5/9 多重签名」控制。一个多重签名需要 n 个密钥持有者中的 m 个签名者来批准每一笔交易。在 Ronin 中,每一个桥接动作都需要这个多重签名的批准。然而,没有机制来检查存款或取款是否真的有效 —— 任何能够访问 9 个密钥中的 5 个的人都可以将 Ronin 桥上持有的任何代币提取到任何以太坊地址。这意味着桥的用户用他们所有的资金直接信任这个多重签名。


2022 年 3 月,一名黑客获取了由 Axie 团队持有的 4 个密钥,以及 Axie DAO 验证者借给 Axie 团队的 1 个密钥 (给他们 5/9) 之后,该信任损失了 6.25 亿美元。目前我们所知道的情况表明,这是一个典型的网络安全漏洞,由于这些验证者密钥的中心化,导致了这样严重的后果。Sky Mavis 已经承诺赔偿那些损失资金的人,并在未来三个月内联系 21 家独立验证者,以确保 Ronin 在未来的攻击中更有弹性,尽管这可能要在更强大的共识 / 桥机制与网络的可扩展性之间需要一个折衷。


Polygon


Polygon 目前提供了一个权益证明的以太坊侧链 (Polygon PoS),以及一个专门的 NFT 服务公司 Polygon Studios,该公司支持 Skyweaver 和 ZED RUN 等主要项目。Polygon 正在提供一系列不同的扩展解决方案,其中大部分基于 zk-rollup 技术,但目前只有 Polygon PoS 是作为 NFT 平台而存在的。


共识安全


Polygon PoS 是一个侧链,其基本模型与 Ronin 类似,除了 Polygon 是一个「提交侧链」,它定期将链状态的检查点提交到以太坊。Polygon PoS 共识有两个主要组成部分。首先,Bor 链,这是 Polygon 的交易实际发生的地方:从一个更大的验证者池中选择轮流的区块生产者子集来运行一个修改的权威网络证明,其决定交易的包含和排序。然而,这个子集只有一个区块生产者,然后被选择提议 64 个连续区块 (一个 sprint)。



接下来是 Heimdall 检查点系统,在该系统中,大量的验证者 (目前上限为 100) 会对 Bor 区块的最后 30 分钟的摘要快照达成 ⅔「权益证明」共识,并将该快照作为以太坊上的检查点发布。然而,尽管有 100 个验证者,但 4 个验证者控制了 53%,7 个验证者控制了 67%,而 ⅔ 要求的是权益的百分比,而不是验证者的数量。这意味着,只要有 7 个密钥,链条上的所有资金,注意不仅仅是桥上的资金,就会被恶意的检查点偷走 —— 而质押者必须始终保持他们的密钥处于热状态。此外,由于 ⅔ 的质押需要达到法定人数,而 43% 的股份由 3 个验证者控制,因此只要破坏 3 个热钱包,就足以冻结提款和检查点。


 


合约升级可以用来防御恶意的检查点 (假设它被足够快地检测到)—— 但是这有它自己的安全风险,我们将在下面讨论!


桥的安全


Polygon 的桥与 Ronin 的桥的不同之处在于,它的检查点系统不需要一个独立的验证者集合来签署每次的存款和取款。然而,这意味着桥的安全完全依赖于 Heimdall 和 Bor 共识,这很容易受到上述攻击。


 


此外,Polygon 使用 5/8 多重签名来管理他们的桥智能合约,合约更新可以立即进行,没有时间锁定。这可以防止智能合约漏洞或上面讨论过的质押验证者的妥协。其中 4 个密钥由 Polygon 创始人持有,这一结构一直受到社区安全研究人员的强烈批评,因为只有再一个密钥就可能会通过恶意升级完全耗尽 Polygon 合约中的所有资金 (50 亿美元以上)。然而,由于 Polygon 签名者并不签署每一个存款和取款交易,因此这些管理员密钥可以保持离线状态,从而降低了它们被泄露的可能性。


Immutable


Immutable 是一个构建高质量、高规模 NFT 项目 (如游戏) 的平台。在 Immutable 平台上创建的著名项目包括 Illuvium、Gods Unchained、Ember Sword 和 Guardians Guild。


共识安全


Immutable 是一个 zk-rollup,使用 StarkWare 的 StarkEx 证明者 / 验证者系统构建。这意味着 Immutable 命令一批 L2 交易,生成一个 STARK 证明,证明这些交易是有效的,并将该证明提交给 L1 智能合约「验证者」,该验证者更新 L1 状态 (在我们的例子中,默克尔树的根包含数百万用户 NFT / 余额)。重要的是,这比单纯地批量处理交易要好得多,因为 STARK 证明验证成本与交易的数量成次线性增长。



由于所有状态转换都必须通过 L1 智能合约进行验证,因此 Immutable 永远不会将无效的交易插入到 rollup 中,或者窃取资产,即使 Immutable 的系统被完全破坏。这是一个非常强大的安全特性,这也是为什么 Vitalik 将 rollup 描述为「在可预见的未来,以太坊的关键可扩展性解决方案」的部分原因。


然而,Immutable 作为一个「单一操作符」进行 rollup (只有 Immutable 可以对交易排序或证明)。这意味着 Immutable 可以通过提前运行或重新排序交易来提取 MEV。几乎所有的 rollup 目前都是「单一的操作者」,尽管大多数都有计划随着时间的推移去中心化。


桥的安全


rollup 使用与侧链完全不同的桥接结构,因为它们在 L1 上维护一个经过验证的「状态」,该状态只能用有效的证明进行更新。桥接资金要求这个验证状态已经包括你的存款 / 取款 —— 没有多重签名攻击 (如 Ronin),也没有办法通过破坏验证者(例如 Polygon)来添加「假」状态转换 —— 每一个交易被验证,就像它发生在 L1 上。这种无需信任的桥接正是 rollup 被称为「L2」的原因 —— 它们直接依赖于以太坊的共识来保证安全性,而不是一个单独的、带有可信桥的共识机制。


 



在任何时候,用户都可以提交一个「提款」交易,将资金从 L2 转移到 L1。如果 Immutable 将该交易包含进已验证的状态更改集合中,用户可以放心地直接将资金提取到以太坊。如果 Immutable 不处理这个提款 (不可用或故意审查),用户能够通过直接与 L1 桥合约进行交互来使用「完全提款」流程。


如果这个新的「全部提款」请求没有得到解决,那么交易状态将被冻结,所有用户都可以通过在状态默克尔树中提供其资产的路径来进行提款。确保用户能够访问这些数据,即使 Immutable 是恶意的或离线的,这就是「rollup 数据可用性问题」。在标准的 zk-rollup 构造中,有一个简单的解决方案:在允许状态更新之前,要求在 Ethereum L1 上发布必要的数据。然而,这引入了一个小的线性 gas 成本,许多应用程序不愿意支付。合并后,这个成本不会改变,但将通过 EIP-4488、proto-danksharding 和分片等提议大幅降低,因为以太坊支持其作为基本验证和数据可用性层的角色。


然而,由于这些解决方案都不是实时的,而且在链上发布调用数据的成本对于像大规模 NFT 铸造这样的用例来说仍然是被禁止的,因此 Immutable 目前的操作就像一个有效的 rollup。为了确保这些数据即使在 Immutable 离线或恶意的情况下仍然可用,Immutable 依赖于一个「数据可用性委员会」。这个委员会的大多数成员 (由著名的生态系统公司组成) 和几个「强制」成员,他们必须签署每一批次,以证明其有必要的数据。这与验证者多重签名不同:只要任何 DAC 都是诚实的,用户就能够成功提款。即使发生数据隐藏攻击,整个 DAC 和定序器都被破坏,Immutable 仍然可以使用合约升级来防止勒索攻击。

 

 


Immutable 的 rollup 验证者合约可以升级,但有 14 天的时间锁定,如果用户对新合约不满意,这将给他们提供可以退出系统的机会 (即使 Immutable 恶意审查交易)。


Immutable 正转向 Volition 模型,其中单个的「vault」(用户、代币、数量元组) 可以被标记为需要链上数据。由于存储在 rollup 中的大部分值要么作为大型代币 / ETH 余额存在,要么作为高值 NFT 存在,因此该值可以存储在相对较少的链上数据库中。这种结构可能会让 rollup 数据库里的大部分价值得到链上数据的支持,减少数据可用性风险,同时保留做大规模 NFT 铸造的能力,这对游戏等项目至关重要。


Solana


Solana 作为一个完全独立的 L1 区块链运营,刻意专注于通过定制共识机制实现低成本、高规模的交易。


共识安全


Solana 目前有超过 1500 个活动节点,但它确实对这些节点施加了大量的硬件要求,以实现更高的 TPS (降低个人验证交易的能力,这是区块链去中心化的一个重要原则)。重要的是,目前有 20 个超级少数节点控制着 33% 的质押 SOL。如果这些节点串通或被泄露,他们将能够停止网络或任意审查交易。


桥的安全


作为一个完全独立的 L1, Solana 没有通往以太坊的官方桥。然而,受 Solana 用户欢迎的 (和半官方的) 桥是 Wormhole,它允许资产跨越多个链移动。Wormhole 依赖于一组被称为守护者的验证者,它在所有桥操作上达成 ⅔+1 的权威共识证明。目前有 19 个有效的守护者。由于 Solana 和以太坊不能验证彼此的交易,桥合约完全取决于桥接资产时守护者的共识。这意味着,如果这些守护者的 ⅔ 被泄露,所有用户在 Wormhole 内的资金都可能被窃取。这个机制实际上与 Ronin 使用的机制非常相似,不幸的是,守护者密钥也必须保持热状态才能签署新的交易。


 


2022 年初,Wormhole 的一个漏洞导致 3.25 亿美元的用户资金被盗。这实际上不是验证者系统的漏洞,而是一个智能合约的漏洞,该漏洞允许攻击者欺骗桥在 Solana 上发行没有存储在以太坊上的 ETH。Jump Crypto 的介入是加密领域财力雄厚的惊人迹象,但随着该领域的发展,这种模式完全不可持续。这不是对 Solana 或 Wormhole 的控诉 —— 所有链上系统都容易受到智能合约漏洞的攻击。虽然不可能有保证,但最好使用经过审计 / 正式验证的合约,这些合约经受住了时间和公众监督的考验 —— 例如,Wormhole 在出现漏洞后受到了严格的审查,没有发现进一步的漏洞。


Optimism


Optimism 是以太坊 Optimistic rollup,由 Optimism PBC 开发。它在 2021 年 8 月进入主网,到目前为止,NFT 项目的采用率有限,尽管在像 Quixotic 这样的市场上有一个早期社区。


共识安全


Optimistic rollup 的工作方式与 zk- rollup 类似:收集交易并上传所有这些状态转换后的最终状态的压缩版本。然而,在 zk-rollup 为每个状态转换提供「有效性证明」,Optimistic rollup 转换被认为是有效的,除非有人能够生成一个「错误证明」,表明发生了一个无效的交易。如果有人能提供这样的证明,他们将得到奖励,而证明的发布者将受到惩罚。为了允许这种挑战发生,Optimistic rollup 在交易完全结束之前需要 1 周的争议时间。这种异步性引入了一类有趣的潜在经济攻击,减轻这些攻击是一个活跃的研究课题。


 


然而,Optimism 的错误证明目前是禁用的 —— 这意味着 Optimism (或任何损害了 Optimism 多重签名的人) 可以通过提交无效的状态转换窃取所有用户的资金。这是一种临时状态,一旦新的防故障系统准备好,就会升级,但在当前状态下对用户资金构成严重威胁。由于 Optimism 是一个单一的序列器 rollup,它也开放潜在的 MEV 提款。


桥的安全


Optimistic rollup 也为以太坊提供了一个无需信任的桥梁。然而,由于任何用户都可能在 1 周争议期间的任何时间点质疑该批次的有效性,因此被提款到 L1 的资产至少在这段时间内会被锁定。对于可替代资产,可以使用「快速提款」(在假设状态转换不包含欺诈交易的情况下,有效地向用户提供贷款) 来规避这种锁定。然而,由于 NFT 是独特的,不能被替代,用户必须等待整个争议期 (长达一周),才能将他们的资产移回 L1 以太坊。


Optimism (与所有 Optimistic rollup 一样) 要求将中间交易数据发布在链上,以便有效地应对挑战 —— 这将产生更高的费用,但绕过了 Immutable 分析中讨论的任何复杂的数据可用性构造。


超越核心平台的安全


为了真正做出明智的决定,NFT 项目需要考虑共识和桥安全之外的各种因素,包括:


  • 钱包安全:如何存储用户密钥?如果这个存储系统被破坏了,会有什么影响 (例如,托管钱包提供商,原生钱包应用程序的错误版本,浏览器扩展中的不良依赖)?
  • 元数据安全:如何存储资产元数据 (包括图像)?如果元数据因妥协而被更改或替换,会对市场产生什么影响?
  • 项目安全性:任何平台上的项目通常会为其项目保留一些管理密钥。如果这些密钥被泄露会发生什么?是否对违规行为进行了主动监控?平台是否支持密钥管理的最佳实践?
  • 金库安全:大多数平台将拥有大量的代币储备 (例如用于奖励或赠款)。这些资金是如何持有的?如何授权和执行金库的转移?妥协会产生什么影响?
  • 市场安全:支持该协议的市场如何保护用户免受恶意交易?


任何一层的妥协都可能使最安全的底层平台的用户受到攻击。不幸的是,在处理一个新的资产类别时,特别是一个增长如此迅速的资产类别时,会有人不断地寻找新的漏洞。在这样的环境中,充分理解这些权衡对于为项目选择正确的平台至关重要。

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

来源链接

相关Wiki

相关标签