对于任何软件公司来说,安全是一个根本性的困难和不对称的问题。而对于安全问题来说,是没有什么灵丹妙药的——仅在上个月,就有几家技术公司出现了明显的漏洞。然而,加密货币的自我托管和不可逆的性质意味着安全漏洞可能会导致数十亿美元的永久性损失。这种持续的风险对于具有长期雄心的NFT项目来说是一个巨大的挑战。
数亿美元的用户资金损失严重损害了NFT领域的声誉,并严重损害了相关的公司和项目。这种风险对许多正在进入该领域的企业来说是不可接受的,特别是那些有现有客户基础、声誉和法律义务的企业。因此,安全作为NFT项目选择平台的一个标准将变得越来越重要。
每个平台都有强烈的动机将自己定位为足够安全。可事实是,所有的解决方案都是有交换条件的,重要的是项目需要对他们和他们平台的具体交换条件有一个非常清楚的了解。
我是AlexConnolly,Immutable?的首席技术官和联合创始人——我们为大规模、高质量的NFT项目建立了领先的平台之一。我想通过写这篇文章,对一些最受欢迎的NFT平台所做的选择进行详细且基本公正的评估,这些平台包括Ronin、Polygon、Immutable、Solana和Optimism。
我将特别专注于每个平台的底层安全的两个核心要素:
共识安全:通过攻击平台的节点/验证者窃取资产的难度桥的安全:将资产从以太坊转移的机制的安全性。这通常是更大的担忧,因为妥协通常会使用户资金直接面临风险这篇文章将是对NFT平台安全的一次深入探讨,从而为相关项目负责人做出明智选择提供必要的技术细节。如果你只是想简单了解一些重点内容,可以看看下面这个表格。
接下来,就让我们深入探讨一些NFT平台的安全性吧。
Ronin
Ronin是由SkyMavisLabs创建的区块链,目前专门为AxieInfinity及其生态系统提供动力。
共识安全
Ronin是一个“侧链”——一个拥有自己节点和共识机制的区块链,但它与以太坊保持着官方“桥”的连接。Ronin是一个权力证明区块链,它一有10个节点,这些节点把自己的声誉押在不会滥用权力的事实上。这与以太坊的测试网如Goerli相同。如果这些节点中的任何5个成为恶意的或妥协的节点,那么它们将能够对网络进行51%的攻击,并通过双花或其他攻击窃取用户的资金。一般来说,这被认为是一个极低的节点数量,并产生一个更中心化的网络,从而换取更快更便宜的交易。此外,用户不能运行自己的节点,Ronin节点的源代码是不公开的,因此Ronin用户无法对其进行审计。
桥安全
Ronin的官方以太坊桥由5-9的“多签”控制。多签要求总共n个密钥持有者中的m个签名者批准每笔交易。在Ronin中,每一个桥动作都需要得到这个多签的批准。然而,没有任何机制来检查充值或提现是否真的有效——任何能够接触到9把私钥中的5把的人都可以将Ronin桥中持有的任何代币的任何数额提取到任何以太坊地址上。这意味着该桥的任何用户都是直接信任这个多签的所有资金。
2022年3月,在一名黑客获得了Axie团队持有的4把私钥和AxieDAO验证器借给Axie团队的1把私钥后,这种信任被黑客窃取了6.25亿美元。我们目前所知的情况表明,这是一个典型的网络安全漏洞,由于这些验证器私钥的中心化造成了严重的后果。SkyMavis已经承诺偿还那些损失的资金,并在未来三个月内达到21个独立验证者,以确保Ronin对未来的攻击有更大的弹性,尽管在更强大的共识/桥机制和网络的可扩展性之间可能会有权衡。
Polygon
Polygon目前提供权益证明以太坊侧链,以及专门的NFT服务业务PolygonStudios,支持Skyweaver和ZEDRUN等主要项目。Polygon正朝着提供一系列不同的扩展解决方案的方向发展,其中大部分是基于zk-rollup技术,但目前只有PolygonPoS是作为NFT平台上线。
共识安全
PolygonPoS是一条侧链,其基本模式与Ronin相似,只是Polygon是一个“提交侧链”,它定期将链上状态的检查点提交给以太坊。PolygonPoS共识有两个主要组成部分。首先是Bor链,这是Polygon交易实际发生的地方:一个轮流的区块生产者子集从更大的验证者池中选择,运行一个修改过的权威证明网络,决定交易的包含和排序。然而,这个子集中只有一个区块生产者被选中,以提出64个连续的区块。
接下来是Heimdall检查点系统,更多的验证者就Bor区块最后约30分钟的总结快照达成三分之二“权益证明”共识,并将该快照作为检查点发布在以太坊上。然而,虽然有100个验证者,但4个验证者控制了53%的权益,7个验证者控制了67%的权益,而所需的三分之二多数指的是权益,而不是验证者的数量。这意味着,只有7把私钥被破坏,链上的所有资金,而不仅仅是桥上的资金,才能通过恶意检查站被盗;而且质押者必须随时保持他们的私钥热度。此外,由于法定人数需要三分之二的质押,而43%的权益由3个验证人控制,因此只需破坏3个热钱包,就足以完全冻结提现和检查点。
在2,307,879,127美元的质押中,前7名验证者的质押是1,540,761,159美元合约升级可以用来防御恶意检查点,但这有其自身的安全风险,我们接下来将会讨论。
桥安全
Polygon的桥与Ronin的不同之处在于,检查点系统消除了对独立验证器组签署每笔充值和提款的需要。然而,这意味着桥的安全性完全依赖于Heimdall和Bor的共识,这很容易受到上述的攻击。
此外,Polygon使用5-8多签来管理他们的桥梁智能合约,合约更新可以立即进行,没有时间锁定。这可以抵御智能合约的错误或上文讨论的质押权重验证器的妥协。其中4把私钥由Polygon创始人持有,这种结构受到了社区内安全研究人员的强烈批评,因为只要有另外一把私钥,就有可能通过恶意升级将Polygon合约的所有资金完全耗尽。然而,由于Polygon的签名者并不签署每一笔充值和提线交易,这些管理密钥能够被保持在离线状态,使得它们不太可能被破坏。
Immutable
Immutable是一个用于构建高质量、高规模的NFT项目的平台,如游戏。基于Immutable的知名项目包括Illuvium、GodsUnchained、EmberSword和GuildofGuardians。
共识安全
Immutable是一个zk-rollup,它使用StarkWare的StarkEx校验器/验证器系统构建。这意味着Immutable预定一批第二层网络交易,生成一个STARK证明,证明这些交易是有效的,并将该证明提交给主网智能合约“验证器”,该验证器更新一些主网状态。重要的是,这比天真的批交易要好得多,因为STARK证明的验证成本与交易的数量呈亚线性扩展。
由于所有的状态转换都必须经过主网智能合约的验证,即使Immutable的系统被完全破坏,Immutable也不可能将无效的交易嵌入到rollup中,或者窃取资产。这是一个非常强大的安全属性,也是Vitalik将rollup描述为“在可预见的未来,以太坊的关键可扩展性解决方案”的部分原因。
然而,Immutable作为一个“单一操作者”的rollup运作。这意味着Immutable可以通过对交易进行前置处理或重新排序来提取矿工可提取价值。目前,几乎所有的rollup都是“单一运营商”,尽管大多数都有计划随着时间的推移进行去中心化。
桥安全
rollup使用了与侧链根本不同的桥结构,因为他们在主网上保持了一个经过验证的“状态”,只有通过有效的证明才能更新。桥资金要求这个验证状态已经包括你的充值/提线,没有多签的攻击,也没有办法通过破坏验证器来增加“假的”状态转换,每笔交易都被验证,就像它发生在主网上一样。这种去信任的桥是为什么rollup被称为“第二层网络”的原因——它们的安全直接依赖于以太坊的共识,而不是一个单独的具有信任桥接的共识机制。
在任何时候,用户都可以提交一个“提现”交易,将他们的资金从第二层网络过桥到主网。如果Immutable将此交易纳入已证明的状态变化集,用户就能以去信任的方式将他们的资金直接提现到以太坊。如果Immutable不处理这个提现,用户总是能够通过直接与主网桥合约进行交互来使用“全额提现”流。
如果这个新的“全额提现”请求没有得到服务,交易所状态将被冻结,所有用户将能够通过提供他们在状态merkle树中的资产路径来提现。确保用户能够访问这些数据,即使Immutable是恶意的或离线的,这就是“rollup数据的可用性问题”。在标准的zk-rollup结构中,这有一个简单的解决方案:要求在允许状态更新之前将必要的数据发布到以太坊主网上。然而,这引入了一个小的线性gas成本,许多应用程序不愿意支付。这种成本在合并后不会改变,但会通过EIP-4488、原数据库和分片等提议大幅减少,因为以太坊接受了它作为rollup的基础验证和数据可用性层的角色。
然而,由于这些解决方案都没有上线,而且在链上发布calldata的成本对于像大规模NFT铸币这样的用例来说仍然令人望而却步,Immutable目前作为一个Validiumrollup运行。Validiumrollups是zk-rollup,它不发布重建状态所需的所有数据来换取更便宜的交易。为了确保这些数据即使在Immutable离线或恶意的情况下仍然可用,Immutable依靠一个“数据可用性委员会”。这个委员会的大多数成员和几个“强制性”成员必须签署每个批次,以证明他们有必要的数据。这与验证人的多签不同:只要任何一个DAC是诚实的,用户就能成功退出。即使发生数据扣留攻击,整个DAC和序列器被破坏,Immutable仍然可以使用合约升级来防止赎金攻击。
Immutable的rollup验证器合约可以升级,但有14天的时间限制,这将使用户有机会在对新合约不满意的情况下退出系统。
Immutable正在向Volition模式转变,其中个别“金库”可以被标记为需要链上数据。由于存储在rollup中的大部分价值存在于大型代币/ETH余额或高价值的NFT,该价值可以存储在相对较少的链上数据库中。这种结构可能会让rollup金库中的大部分价值得到链上数据的支持,减少数据可用性风险,同时保留做廉价、大规模NFT铸币的能力,这对游戏等项目来说至关重要。
Solana
Solana作为一个完全独立的主网区块链运行,它特别关注通过定制的共识机制实现低成本、高规模的交易。
共识安全
Solana目前有超过1500个活跃节点,尽管它确实对这些节点提出了大量的硬件要求,以实现其较高的TPS。重要的是,由20个节点组成的超级少数节点目前控制着超过33%的SOL质押。如果这些节点串通一气,或被破坏,他们将能够停止网络或任意审查交易。
桥安全
作为一个完全独立的主网,Solana没有与以太坊的官方桥。然而,对Solana用户来说,最流行的桥是Wormhole,它允许资产在一些链上移动。Wormhole依赖于一组被称为监护人的验证者,他们对所有桥行动达成三分之二加一的权威证明共识。目前有19个活跃的监护人。由于Solana和以太坊无法验证对方的交易,桥合约在资产过桥时完全依赖于监护人的共识。这意味着,如果这些监护人中的三分之二被破坏,Wormhole内的所有用户资金都可能被盗。这种机制实际上与Ronin使用的机制非常相似,不幸的是,监护人的私钥也必须保持热度以签署新的交易。
在2022年初,Wormhole桥的一个错误使得3.25亿美元的用户资金被盗。这实际上不是验证器系统的妥协,而是发现了一个智能合约的错误,允许攻击者桥在Solana上发行没有存入以太坊的ETH。JumpCrypto介入,使用户得到补偿,这令人惊讶地表明了加密货币中的资本的力量,但随着领域的发展,这是一个完全不可持续的模式。这并不是对Solana或Wormhole的控诉,因为所有链上系统都容易受到智能合约漏洞的影响。虽然永远不可能有保证,但最好是使用经过审计/正式验证的合约,这些合约经得起时间和公众审查的考验,例如,Wormhole在错误发生后受到了严格的审查,没有发现进一步的错误。
Optimism
Optimism是由OptimismPBC开发的以太坊Optimisticrollup。它在2021年8月登陆主网,用于白名单项目,到目前为止,它上面NFT项目的采用有限,尽管在Quixotic等市场上有一个早期社区。
共识安全
Optimismrollup工作类似于zk-rollups:收集交易并上传所有这些状态转换的最终状态的压缩版本。然而,在zk-rollups为每个状态转换提供“有效性证明”的情况下,Optimism的rollup转换被认为是有效的,除非有人能产生一个“故障证明”,表明有无效的交易发生。如果有人能产生这样的证明,他们会得到奖励,而证明的发布者会受到惩罚。为了允许这种挑战的发生,Optimismrollup需要在交易完全结束前有一周的争议时间延迟。这种非同步性引入了一类有趣的潜在经济攻击,而缓解这些攻击是一个积极的研究课题。
然而,Optimism的故障证明目前是禁用的——这意味着Optimism可以通过提交无效的状态转换来窃取所有的用户资金。这是一个临时状态,一旦新的故障证明系统准备好了,就会升级,但在目前的状态下对用户资金构成了严重的危险。由于Optimism是一个单一的序列器rollup,它也对潜在的MEV提取开放。
桥安全
Optimismrollup也提供了一个通往以太坊的去信任桥。然而,由于任何用户都可以在1周争议期的任何时候挑战该批次的有效性,被撤回到主网的资产至少会在这段时间内被锁定。对于可替换的资产,可以使用“快速提线”来规避这种锁定。然而,由于NFT是唯一的,不能被替代,用户必须等待整个争议期,然后才能将他们的资产转移回以太坊主网。
Optimism要求将中间交易数据发布在链上,以便能够有效地挑战——这产生了更高的费用,但规避了任何复杂的数据可用性结构,正如在分析Immutable时讨论的那样。
核心平台之外的安全
如果你的项目安全通过其他机制受到损害,那么拥有世界上最好的核心平台安全是不重要的。为了真正做出明智的决定,NFT项目需要考虑共识和桥安全之外的各种因素,包括:
钱包安全:用户密钥是如何存储的?如果这个存储系统被破坏,会有什么影响?元数据安全:资产元数据是如何存储的?如果这些元数据由于妥协而被改变或替换,会有什么市场影响?项目安全:任何平台上的项目通常都为其项目保留一些管理私钥。如果这些私钥被泄露,会发生什么?你的项目是否有主动监测漏洞的功能?你的平台是否支持密钥管理的最佳实践?资金安全:大多数平台都会有大量的代币储备。这些资金是如何持有的?如何授权和执行从金库的转移?妥协会有什么影响?市场安全:支持该协议的市场如何保护用户免受恶意交易,如山寨项目?在这些层次中的任何一个出现纰漏,都可能使即使是最安全的底层平台的用户受到伤害——任何人描述一个无懈可击的项目显然是错误的。不幸的是,当处理一个新的资产类别时,特别是一个增长如此迅速的资产类别,会有人不断地寻找新的漏洞和利用点。在这样的环境中,对这些权衡的有力理解对于为你的项目选择正确的平台至关重要。
在Immutable,我们正在解决那些想要建立高质量、高规模、长期的NFT项目的核心挑战,包括上述的安全挑战。如果你是一个建设者,我们很想和你展开对话?。如果你想直接帮助我们解决这些问题,我们正在招聘几乎所有的角色!
我还要感谢那些对这篇文章的不同部分提供反馈的人。KelvinFichter,AvihuLevy,BartekKiepuszewski,PhilippeCastonguay和Wormhole团队——文章出现的任何剩余错误都是我造成的。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。