每个平台都有很强的动机将自己定位为足够安全。但事实是,所有的解决方案都有交换条件。重要的是,项目需要非常清楚地了解及其平台的具体交换条件。
我是 Alex Connolly,Immutable 首席技术官和联合创始人-我们是大规模、高质量的 NFT 项目(尤其是游戏)已经建立了领先的平台之一。我想写一些最受欢迎的 NFT 详细、基本、公正地评估平台的选择,包括 Ronin、Polygon、Immutable、Solana 和 Optimism。
我将专注于每个平台底部安全的两个核心要素:
1、共识安全:攻击平台的节点/验证者(如 51% 攻击)很难窃取资产
2、桥梁安全:以太坊资产转移机制的安全。这通常是一个更大的担忧,因为妥协通常使用户的资金直接面临风险
这篇文章将是对的NFT 平台安全的深入讨论为相关项目负责人做出明智的选择提供了必要的技术细节。如果您只是想些关键内容,请查看下表。
从共识机制和桥梁安全出发,深入探讨五大 NFT 平台安全
接下来,让我们深入讨论一些 NFT 平台安全。
Ronin
Ronin 是由 Sky Mavis Labs 创建的区块链目前是 Axie Infinity 及其生态系统提供动力。
共识安全
Ronin 是一个「侧链」——区块链有自己的节点和共识机制,但与以太坊保持官方关系「桥」的连接。Ronin 是权力的证明(POA)区块链,它有 10个节点,它们把自己的声誉押在不滥用权力的事实上。这与以太坊的测试网络有关,如 Goerli( 20个节点POA)同样。如果这些节点中的任何一个 5 (超过50%)成为恶意或妥协的节点,它们将能够攻击网络 51% ,并通过双花或其他攻击窃取用户资金。一般来说,这被认为是一个极低的节点(比特币有 15000 ,以太坊有近 6000 ),并产生一个更集中的网络,以换取更快、更便宜的交易。此外,用户无法操作自己的节点,Ronin 节点的源代码不公开,所以 Ronin 用户无法审计。
桥安全
从共识机制和桥梁安全出发,深入探讨五大 NFT 平台安全
Ronin 官方以太坊桥由 5-9 的「多签(multisig)」控制n 个密钥持有者中的 m 签名者批准每笔交易。Ronin 中,每座桥的动作都需要获得多签证的批准。但是,没有机制检查充值或取款是否真的有效——任何能接触到 9 私钥的 5 都能接触到 Ronin 桥上持有的任何代币的任何金额都提取到任何以太坊地址。这意味着桥上的任何用户都直接所有签署的资金。
2022 年 3 月,一名黑客获得 Axie 4 私钥和 Axie DAO 验证器(节点)借给 Axie 团队 1 私钥(给他们 5/9)后,这种信任被黑客窃取 6.25 1亿美元。众所周知,这是一个典型的网络安全漏洞,由于这些验证器私钥的集中,的后果。Sky Mavis 已承诺偿还损失资金,并在未来三个月内达到 21 独立验证,以确保 Ronin 虽然在更强的共识/桥机制和网络可扩展性之间,但它对未来的攻击更有弹性。
Polygon
Polygon 目前以太坊侧链为证明提供权益证明(Polygon PoS),还有专门的 NFT 服务业务 Polygon Studios,支持 Skyweaver 和 ZED RUN 等主要项目。Polygon 正朝着提供一系列不同扩展解决方案的方向发展,其中大部分是基于 zk-rollup 技术(稍后讨论),但目前只有 Polygon PoS 是作为 NFT 平台上线。
共识安全
Polygon PoS 是侧链,其基本模式和 Ronin 相似,只是 Polygon 是一个「提交(commit)侧链」,它定期向以太坊提交链上状态的检查点。Polygon PoS 共识有两个主要组成部分。首先是 Bor 链,这是 Polygon 交易实际发生的地方:轮流从更大的验证池中选择块生产者子集,运行修改后的权威认证网络,以确定交易的包含和排名。然而,该子集中只有一个块生产者(见 PolygonScan选择 块验证者)提出 64 连续块。
从共识机制和桥梁安全出发,深入探讨五大 NFT 平台安全
接下来是 Heimdall 检查点系统,更多的验证者(目前上限为 100 人) Bor 区块最终总结快照约30分钟,达到三分之二「权益证明」共识并在以太坊发布快照作为检查点。但是,虽然有 100 验证人,但 4 控制 53% 的权益,7 控制 67% 的权益(见此,点击「显示全部」根据权益排序),三分之二主要是指权益,而不是验证人的数量。这意味着只有 7 破坏了私钥,链上的所有资金,而不仅仅是桥上的资金,才能通过恶意检查站被盗;质押人必须随时保持私钥的热度。此外,由于法定数量需要三分之二的质押,43% 的权益由 3 的验证人控制。只要 3 的热钱包损坏,提款和检查点就足以完全冻结。
从共识机制和桥梁安全出发,深入探讨五大 NFT 平台安全
在 2、307、879、127 的质押中,前 7 验证人的质押为 1、540、761、159 (~67%)
合同升级可以用来防止恶意检查点(假设检足够快),但它有自己的安全风险,我们将在下一步讨论。
桥安全
Polygon 的桥与 Ronin 的区别在于,检查点系统消除了独立验证器组签署每次充值和提款的需要。然而,这意味着桥梁的安全完全取决于 Heimdall 和 Bor 共识,这很容易受到上述攻击。
从共识机制和桥梁安全出发,深入探讨五大 NFT 平台安全
此外,Polygon 使用 5- 8 签署更多管理他们的桥梁智能合同,合同更新可以在没有时间锁定的情况下立即进行。这可以抵抗智能合同的错误或上述质押权重(stakeweight)验证器妥协。 4 私钥由 Polygon 创始人持有的结构受到社区安全研究人员的强烈批评,因为只要有另一把私钥,就有可能恶意升级 Polygon 合同的所有资金(超过50 亿美元)已经完全耗尽。然而,由于 Polygon 签名者不签署每一笔充值和提线交易,这些管理密钥可以保持离线,不太可能被破坏。
Immutable
Immutable 是一种高质量、高规模的 NFT 游戏等项目平台。Immutable 包括 Illuvium、Gods Unchained、Ember Sword 和 Guild of Guardians。
共识安全
Immutable 是一个 zk-rollup,它使用 StarkWare 的 StarkEx 校验器(prover)/构建验证器系统。这意味着 Immutable 预订一批第二层网络(L2)交易,生成 STARK 证明这些交易是有效的,并提交给主网(L1)智能合约「验证器」,该验证器更新了一些主网状态(在我们的情况下,它包括数百万用户 NFTs 余额的 merkle 树根)。STARK 认证成本和交易数量呈亚线性扩展。
从共识机制和桥梁安全出发,深入探讨五大 NFT 平台安全
即使 Immutable 系统完全损坏,Immutable 不可能将无效交易嵌入 rollup ,或窃取资产。这是一个非常强大的安全属性,也是 Vitalik 将 rollup 描述为「在可预见的未来,以太坊的关键可扩展性解决方案」部分原因。
然而,Immutable 作为一个「单一操作者」的 rollup 操作(只有 Immutable 可以订购或证明交易)。这意味着 Immutable 矿工可以通过预处理或重新排序来提取价值(MEV)。目前,几乎所有 rollup 都是「单一运营商」,尽管随着时间的推移,大多数人都有分散的计划。
桥安全
rollup 使用与侧链完全不同的桥梁结构,因为它们在主网上保持验证「状态」,只有通过有效的证明才能更新。桥梁资金要求这种验证状态包括您的充值/提线,没有多签攻击(如 Ronin),也没有办法通过破坏验证器来增加「假的」状态转换(如 Polygon),每一笔交易都得到了验证,就像它发生在主网上一样。为什么这座信任的桥是 rollup 被称为「第二层网络」原因——它们的安全直接取决于以太坊的共识,而不是信任桥接的单独共识机制。
从共识机制和桥梁安全出发,深入探讨五大 NFT 平台安全
用户可以随时提交一个「提现」交易时,他们的资金从二层网络过桥到主网络。Immutable 将该交易纳入已证明的状态变化集,用户可以通过信任直接从以太坊提取资金。Immutable 用户总能直接与主网桥合同交互使用,不处理提现(不可用或故意审核)「全额提现」流。
假如这个新的「全额提现」如果要求没有服务,交易所状态将被冻结,所有用户将能够提供其状态 merkle 提取树中的资产路径。Immutable 恶意或离线,即「rollup 数据的可用性」。在标准的 zk-rollup 结构中有一个简单的解决方案:在允许状态更新之前向以太坊主发布必要的数据。然而,这引入了一个小的线性 gas 成本,许多应用程序不愿意支付。这种成本合并后不会改变,但通过 EIP-4488、由于以太坊接受了原始数据库和(最终)分片的提议,因此大幅减少rollup 基础验证和数据可用性层的角色。
然而,这些解决方案尚未上线,并在链上发布 calldata 成本如大规模 NFT 铸币的用例仍然令人望而却步,Immutable 目前是 Validium rollup 运行。Validium rollups 是 zk-rollup,它不发布重建状态所需的所有数据,以换取更便宜的交易。确保这些数据即使在 Immutable 离线或恶意仍可用,Immutable 依靠一个「数据可用性委员会(DAC)」。
这个委员会的大部分成员(由著名的生态系统公司组成)和几个「强制性」成员必须签署每一批来证明他们必要的数据。这与验证人的多重签名不同:任何 DAC 诚实,用户可以成功退出。即使发生数据扣留攻击,整个 DAC 和序列器损坏,Immutable 仍然可以使用合同升级来防止赎金攻击。