コンセンサスメカニズムとブリッジセキュリティから始まり、5つの主要なNFTプラットフォームのセキュリティについての詳細な議論
元のソース:Immutable X
原曲:キャプテンヒロ
元のソース:
原曲:キャプテンヒロ
セキュリティは、どのソフトウェア会社にとっても根本的に難しく、非対称的な問題です。そして、セキュリティ問題に関しては、特効薬はありません。先月だけでも、いくつかのテクノロジー企業 (Okta、HubSpot など) で顕著な侵害が発生しています。しかし、暗号通貨の自己保管性と不可逆的な性質は、セキュリティ侵害が数十億ドルの永久的な損失をもたらす可能性があることを意味します。この一定のリスクは、長期的な野心を持つNFTプロジェクトにとって大きな課題です。
ユーザー資金の数億ドルの損失は、NFTスペースの評判を大きく傷つけ、関連企業やプロジェクトに深刻な損害を与えました。このリスクは、この分野に参入する多くの企業にとって、特に既存の顧客ベース、評判、法的義務がある企業にとっては容認できません。したがって、NFTプロジェクトのプラットフォームを選択する基準としてセキュリティはますます重要になります。 Alex Connolly,Immutable どのプラットフォームにも、自分自身を十分に安全であると位置づけようとする強いインセンティブがあります。しかし実際には、すべてのソリューションは見返りがあり、プロジェクトとそのプラットフォームに対する具体的な見返りを明確に理解することが重要です。
私は
CTO 兼共同創設者 - 当社は、大規模で高品質の NFT プロジェクト、特にゲーム向けの主要なプラットフォームの 1 つを構築しました。 Ronin、Polygon、Immutable、Solana、Optimism など、最も人気のある NFT プラットフォームのいくつかによって行われた選択について、詳細かつほぼ公平な評価を提供するためにこの記事を書きたいと思いました。特に、各プラットフォームの基盤となるセキュリティの 2 つの中心的な要素に焦点を当てます。
コンセンサスセキュリティ:プラットフォームのノード/バリデーターを攻撃して資産を盗むことの困難さ (例: 51% 攻撃による)
ブリッジのセキュリティ:

イーサリアムから資産を転送するメカニズムのセキュリティ。侵害はユーザーの資金を直接危険にさらすことが多いため、通常はこれがより大きな懸念事項となります。
Ronin
この記事では、関連プロジェクトのリーダーが情報に基づいた選択を行うために必要な技術的な詳細を提供するために、NFT プラットフォームのセキュリティについて詳しく説明します。いくつかの重要なポイントを簡単に理解したい場合は、以下の表をご覧ください。
次に、いくつかの NFT プラットフォームのセキュリティを詳しく見てみましょう。
Ronin は Sky Mavis Labs によって作成されたブロックチェーンで、現在 Axie Infinity とそのエコシステムを独占的に支えています。
コンセンサスセキュリティ

Ronin は「サイドチェーン」、つまり独自のノードとコンセンサスメカニズムを備えたブロックチェーンですが、イーサリアムへの公式の「ブリッジ」接続を維持します。 Ronin は Proof of Authority (POA) ブロックチェーンであり、一度に 10 個のノードを持ち、これらのノードは権力を乱用しないという事実に評判を賭けています。これは、Goerli (20 ノードの POA) のようなイーサリアムのテストネットと同じです。これらのノードのうち 5 つ (50% 以上) が悪意のあるノードまたは侵害されたノードになると、ネットワークに対して 51% 攻撃を実行し、二重支払いやその他の攻撃を通じてユーザーの資金を盗むことができます。一般に、これはノード数が非常に少ないと考えられており (ビットコインは 15,000、イーサリアムは 6,000 近く)、より高速で安価なトランザクションと引き換えにネットワークがより集中化されます。さらに、ユーザーは独自のノードを実行できず、Ronin ノードのソース コードは公開されていないため、Ronin ユーザーは監査できません。
橋のセキュリティ
Polygon
Ronin の公式イーサリアム ブリッジは、5 ~ 9 の「マルチシグ」によって制御されます。マルチシグでは、合計 n 人のキーホルダーのうち m 人の署名者が各トランザクションを承認する必要があります。 Ronin では、すべてのブリッジ アクションがこのマルチ署名によって承認される必要があります。ただし、入金または出金が実際に機能したことを確認するメカニズムはありません。9 つの秘密キーのうち 5 つにアクセスできる人は誰でも、Ronin Bridge に保持されている任意の量のトークンを任意のイーサリアム アドレスに引き出すことができます。これは、ブリッジのユーザーがすべての資金を直接このマルチシグに信頼していることを意味します。
この信頼は、ハッカーが Axie チームが保有する 4 つの秘密鍵と、Axie DAO バリデーター (ノード) によって Axie チームに貸与された 1 つの秘密鍵 (5/9 を与えた) を入手し、ハッカーが 6 億 2,500 万ドルを盗んだ後、2022 年 3 月に停止されました。これまでにわかっていることは、これがこれらのバリデーター秘密鍵の一元化による深刻な結果を伴う古典的なネットワークセキュリティ侵害であることを示唆しています。 Sky Mavis は、より強力なコンセンサス/ブリッジ メカニズムとネットワークの信頼性にも関わらず、Ronin が将来の攻撃に対する耐性を確実に高めるために、今後 3 か月以内にこれらの失われた資金を返済し、21 の独立したバリデーターに連絡を取ることを約束しています。 。
Polygon は現在、プルーフ オブ ステークのイーサリアム サイドチェーン (PoS) を提供しているほか、専用の NFT サービス ビジネスである Polygon Studios を提供し、Skyweaver や ZED RUN などの主要プロジェクトをサポートしています。 Polygon は、さまざまなスケーリング ソリューションの提供に向けて動いており、そのほとんどは zk-rollup テクノロジー (後述) に基づいていますが、現在 NFT プラットフォームとして稼働しているのは Polygon PoS のみです。

Polygon PoS は、Polygon がチェーン上の状態のチェックポイントを定期的にイーサリアムに送信する「コミット サイド チェーン」である点を除いて、基本モデルは Ronin に似ているサイド チェーンです。 Polygon PoS コンセンサスには 2 つの主要なコンポーネントがあります。まず、Bor チェーンです。これは、Polygon トランザクションが実際に行われる場所です。大規模なバリデーターのプールから選ばれたブロックプロデューサーのローテーションサブセットが、トランザクションの包含と順序を決定する修正された権限証明ネットワークを実行します。ただし、このサブセットから 1 つのブロック プロデューサー (PolygonScan ブロック バリデータを参照) だけが選択され、64 の連続ブロックが提案されます。

次は Heimdall チェックポイント システムです。ここでは、より多くのバリデーター (現在は 100 に制限されています) が、Bor ブロックの最後の ~30 分間の概要スナップショットに関して 3 分の 2 の「プルーフ オブ ステーク」コンセンサスに達し、そのスナップショットをイーサリアムのチェックポイント。ただし、バリデーターは 100 人いますが、4 人のバリデーターがステークの 53% を制御し、7 人のバリデーターがステークの 67% を制御します (ここを参照、「すべて表示」をクリックしてステーク順に並べ替えます)。一方、必要な 3 分の 2 の多数派は、バリデーターの数ではなく、賭け金です。これは、たった 7 つの秘密鍵が侵害されただけで、ブリッジ上の資金だけでなく、チェーン上のすべての資金が悪意のあるチェックポイントを通じて盗まれる可能性があることを意味し、ステークは秘密鍵を常にホットな状態に保たなければなりません。さらに、クォーラムにはステークの 3 分の 2 が必要で、ステークの 43% は 3 人のバリデーターによって制御されるため、出金とチェックポイントを完全に凍結するには 3 つのホットウォレットのみを侵害する必要があります。
画像の説明
2,3 億 7,879,127 ドルのステークのうち、上位 7 つのバリデーターは 1,540,761,159 ドル (約 67%) をステーキングしました。
コントラクトのアップグレードは、悪意のあるチェックポイントを防御するために使用できます (チェックポイントが十分に迅速に検出されることが前提) が、これには独自のセキュリティ リスクが伴います。これについては次に説明します。

橋の安全性
Immutable
Polygon のブリッジは、チェックポイント システムにより、独立したバリデータのグループがすべての入金と出金に署名する必要がなくなるという点で Ronin とは異なります。しかし、これは橋の安全性がヘイムダルとボールの合意に完全に依存していることを意味しており、上述の攻撃に対して脆弱である。
さらに、Polygon は 5 ~ 8 マルチシグを使用してブリッジ スマート コントラクトを管理しており、タイム ロックなしで契約の更新を即座に行うことができます。これにより、スマート コントラクトのバグや、上で説明したステークウェイト バリデーターの侵害から保護されます。秘密鍵のうち 4 つは Polygon の創設者が保持しています。別の秘密鍵がある限り、Polygon 契約のすべての資金を移転することが可能であるため、この構造はコミュニティのセキュリティ研究者によって強く批判されています (5) 10億ドル)完全に使い果たされました。ただし、Polygon の署名者はすべての入金および出金トランザクションに署名するわけではないため、これらの管理キーはオフラインに保つことができ、侵害される可能性が低くなります。
Immutable は、ゲームなどの高品質で大規模な NFT プロジェクトを構築するためのプラットフォームです。 Immutable をベースにした注目すべきプロジェクトには、Illuvium、Gods Unchained、Ember Sword、Guild of Guardians などがあります。

コンセンサスセキュリティ
Immutable は、StarkWare の StarkEx 検証者 (証明者)/検証者システムを使用して構築された zk-rollup です。これは、Immutable がレイヤー 2 ネットワーク (L2) トランザクションのバッチを予約し、それらのトランザクションが有効であることを示す STARK 証明を生成し、この証明をメインネット (L1) スマート コントラクトの「バリデーター」に送信し、メインネットの一部の状態 (私たちの場合、何百万ものユーザーのNFTの残高を含むマークルツリーのルート)。重要なのは、STARK プルーフの検証コストがトランザクション数に比例して増加するため、これは単純なバッチ トランザクションよりもはるかに優れているということです。
すべての状態遷移はメインネットのスマート コントラクトによって検証される必要があるため、たとえ Immutable のシステムが完全に破壊されたとしても、Immutable が無効なトランザクションをロールアップに埋め込んだり、資産を盗んだりすることは不可能です。これは非常に強力なセキュリティ特性であり、Vitalik 氏がロールアップを「当面のイーサリアムの主要なスケーラビリティ ソリューション」と表現する理由の 1 つです。
ただし、Immutable は「単一オペレーター」ロールアップとして動作します (トランザクションを注文または証明できるのは Immutable だけです)。これは、Immutable がトランザクションの前処理または並べ替えによってマイナー抽出可能値 (MEV) を抽出できることを意味します。現在、ほとんどすべてのロールアップは「単一オペレーター」ですが、ほとんどは時間の経過とともに分散化する計画があります。

橋の安全性
ロールアップは、有効な証明によってのみ更新できる検証済みの「状態」をメインネット上で維持するため、サイドチェーンとは根本的に異なるブリッジ構造を使用します。ブリッジ ファンドでは、この検証状態にリチャージ/引き出しがすでに含まれている必要があり、マルチシグネチャ攻撃 (Ronin など) がなく、バリデーター (Polygon など) を破壊して「偽の」状態遷移を増やす方法はありません。メインネットで行われるのと同様に、すべてのトランザクションはブロックされます。このトラストレス ブリッジが、ロールアップが「レイヤー 2 ネットワーク」と呼ばれる理由です。ロールアップのセキュリティは、トラスト ブリッジによる個別のコンセンサス メカニズムではなく、イーサリアムのコンセンサスに直接依存しています。
ユーザーはいつでも「引き出し」トランザクションを送信して、資金を第 2 層ネットワークからメインネットにブリッジすることができます。 Immutable が実証済みの一連の状態変更にこのトランザクションを含めると、ユーザーはトラストレスな方法で資金をイーサリアムに直接引き出すことができるようになります。 Immutable がこの取り消しを処理しない場合 (利用できない、または意図的に検閲されている場合)、ユーザーはメイン ブリッジ コントラクトと直接対話することで常に「完全な取り消し」フローを使用できます。

この新しい「完全出金」リクエストが処理されない場合、取引所の状態は凍結され、すべてのユーザーは状態マークル ツリーに資産パスを提供することで出金できるようになります。 Immutable に悪意がある場合やオフラインである場合でも、ユーザーがこのデータにアクセスできるようにすることが「ロールアップ データの可用性の問題」です。標準の zk-rollup 構造では、これには簡単な解決策があります。つまり、状態の更新が許可される前に、必要なデータがイーサリアム メインネットに公開されるように要求します。ただし、これにより、多くのアプリケーションが支払いたくないわずかな線形ガスコストが発生します。このコストは合併後も変わりませんが、イーサリアムが基礎となる検証およびロールアップのデータ可用性レイヤーとしての役割を受け入れるため、EIP-4488、元のデータベース、および(最終的には)シャーディングなどの提案によって大幅に削減されます。
ただし、これらのソリューションはどれも稼働しておらず、コールデータをオンチェーンで公開するコストは大規模な NFT ミントなどのユースケースにとって依然として法外なコストであるため、Immutable は現在 Validium ロールアップとして運用されています。 Validium ロールアップは、より安価なトランザクションと引き換えに状態を再構築するために必要なすべてのデータを公開しない zk ロールアップです。 Immutable がオフラインになったり悪意のあるものになった場合でも、このデータが利用可能な状態を維持できるようにするために、Immutable は「データ可用性委員会 (DAC)」に依存しています。この委員会(著名なエコシステム企業で構成される)の過半数と少数の「必須」メンバーは、必要なデータを持っていることを証明するために各バッチに署名する必要があります。これは検証マルチシグとは異なります。いずれかの DAC が正直である限り、ユーザーは正常に終了できます。 DAC とシーケンサー全体が侵害されるデータ保留攻撃が発生した場合でも、Immutable はコントラクト アップグレードを使用して身代金攻撃を防ぐことができます。
Solana
Immutable のロールアップバリデーターコントラクトはアップグレードできますが、14 日間の期限があり、ユーザーが新しいコントラクトに不満がある場合は (Immutable が悪意を持ってトランザクションを検閲したとしても) システムを終了する機会が与えられます。
Immutable は Volition モデルに移行しており、個々の「ボールト」(ユーザー、トークン、数量プリミティブ) にオンチェーン データを必要とするフラグを付けることができます。ロールアップに保存される価値のほとんどは、大規模なトークン/ETH 残高または高額 NFT に存在するため、この価値は比較的少数のオンチェーン データベースに保存できます。この構造により、ロールアップ トレジャリーの価値のほとんどをオンチェーン データでサポートできるようになり、ゲームなどのプロジェクトにとって重要な、安価で大規模な NFT ミントを実行する機能を維持しながら、データ可用性のリスクが軽減されます。
Solana は完全に独立したメインネット ブロックチェーンとして動作し、カスタム コンセンサス メカニズムを通じて低コストで大規模なトランザクションを可能にすることに特に重点を置いています。
コンセンサスセキュリティ
Solana には現在 1500 を超えるアクティブ ノードがありますが、高い TPS (ブロックチェーン分散化の重要な原則であるトランザクションを検証する個人の能力を低下させる) を達成するために、これらのノードに重大なハードウェア要件が課されます。重要なのは、現在、超少数の 20 ノードが SOL ステーキングの 33% 以上を制御していることです。これらのノードが共謀した場合、または侵害された場合、ネットワークを停止したり、トランザクションを自由に検閲したりすることができます。

橋のセキュリティ
Optimism
完全に独立したメインネットである Solana には、イーサリアムへの公式なブリッジがありません。ただし、Solana ユーザーにとって最も人気のある (そして半公式の) ブリッジは、アセットをいくつかのチェーン間で移動できるようにするワームホールです。ワームホールは、すべてのブリッジ アクションについて 3 分の 2 と 1 つの権限証明の合意に達するガーディアンと呼ばれるバリデーターのグループに依存しています。現在活動している保護者は19名です。 Solana と Ethereum は相互のトランザクションを検証できないため、ブリッジ契約は資産がブリッジを通過する際の保護者の合意に完全に依存します。これは、これらのガーディアンの 3 分の 2 が侵害された場合、ワームホール内のすべてのユーザーの資金が盗まれる可能性があることを意味します。このメカニズムは実際には Ronin が使用するものと非常によく似ていますが、残念なことに、新しいトランザクションに署名するにはガーディアンの秘密キーもホットに保つ必要があります。
2022 年初頭、ワームホール ブリッジのバグにより、ユーザーの資金 3 億 2,500 万ドルが盗まれる可能性がありました。これは実際にはバリデーター システムの侵害ではありませんが、攻撃者がブリッジをだましてイーサリアムに入金されていない ETH を Solana 上で発行できるようにするスマート コントラクトのバグが発見されました。 Jump Crypto が介入してユーザーに補償することは、暗号通貨における資本の力を驚くほど示していますが、この分野が成長するにつれて、完全に持続不可能なモデルになります。すべてのオンチェーン システムはスマート コントラクトの脆弱性に対して脆弱であるため、これは Solana または Wormhole の告発ではありません。保証は決して保証されませんが、時の試練と世間の監視に耐えた、監査済み/正式に検証された契約を使用することをお勧めします。たとえば、ワームホールはバグ後に厳しく検査され、それ以上のバグは発見されませんでした。
Optimism は、Optimism PBC によって開発された Ethereum Optimistic ロールアップです。ホワイトリストに登録されたプロジェクトのために2021年8月にメインネットに上陸し、Quixoticのようなマーケットプレイスに初期のコミュニティがあったにもかかわらず、これまでのところNFTプロジェクトによる採用は限られています。

コンセンサスセキュリティ
オプティミズム ロールアップは、zk-rollups と同様に機能します。つまり、トランザクションを収集し、それらすべての状態遷移の最終状態の圧縮バージョンをアップロードします。ただし、zk-rollup が各状態遷移の「有効性証明」を提供するのに対し、Optimism のロールアップ遷移は、誰かが無効なトランザクションが発生したという「失敗証明」を生成できない限り、有効であるとみなされます。誰かがそのような証明を提出できれば報酬が与えられますが、証明の発行者は罰せられます。この問題の発生を可能にするために、オプティミズム ロールアップでは、取引が完全に終了するまでに 1 週間の異議申し立ての遅延が必要です。この非同期性により、興味深い種類の潜在的な経済攻撃が引き起こされ、これらの攻撃を軽減することが活発な研究テーマとなっています。
ただし、Optimism の失敗証明は現在無効になっています。つまり、Optimism (または Optimism マルチシグを破る者) が無効な状態遷移を送信することで、ユーザーの資金をすべて盗む可能性があります。これは一時的な状態であり、新しいフォールトプルーフシステムの準備が整い次第アップグレードされますが、現在の状態ではユーザーの資金に重大な危険をもたらします。 Optimism は単一のシーケンサー ロールアップであるため、MEV 抽出の可能性もあります。
橋の安全性
オプティミズム ロールアップは、イーサリアムへのトラストレス ブリッジも提供します。ただし、1 週間の紛争期間中はいつでも、どのユーザーもバッチの有効性に異議を唱えることができるため、メインネットに取り出された資産は少なくともその期間はロックされます。代替資産の場合、このロックアップは「高速引き出し」(状態遷移に不正な取引が含まれないと仮定してユーザーに事実上融資する)を使用して回避できます。ただし、NFT は独自のもので交換できないため、ユーザーは資産をイーサリアム メインネットに移す前に、紛争期間全体 (最長 1 週間) 待つ必要があります。
Optimism (すべての Optimism ロールアップと同様) では、効果的にチャレンジできるようにするために、中間トランザクション データをオンチェーンで公開する必要があります。これには、より高い手数料がかかりますが、 Immutable の分析時に説明したように、複雑なデータ可用性構造を回避できます。
コアプラットフォームを超えたセキュリティ
プロジェクトのセキュリティが他のメカニズムを通じて侵害されれば、世界最高のコア プラットフォーム セキュリティを備えていても意味がありません。本当に情報に基づいた意思決定を行うために、NFT プロジェクトはコンセンサスやブリッジセキュリティを超えて、次のようなさまざまな要素を考慮する必要があります。
ウォレットのセキュリティ: ユーザー キーはどのように保存されますか?このストレージ システムが侵害された場合、どのような影響がありますか (例: ホスト型ウォレット プロバイダー、ネイティブ ウォレット アプリケーションの悪意のあるバージョン、ブラウザ拡張機能の不正な依存関係)。
メタデータのセキュリティ: アセットのメタデータ (画像を含む) はどのように保存されますか?これらのメタデータが侵害により変更または置き換えられた場合、市場にどのような影響があるでしょうか?
プロジェクトのセキュリティ: 通常、どのプラットフォーム上のプロジェクトでも、プロジェクトの管理用秘密キーがいくつか保持されています。これらの秘密鍵が侵害された場合はどうなりますか?あなたのプロジェクトには、脆弱性を積極的に監視する機能がありますか?あなたのプラットフォームはキー管理のベスト プラクティスをサポートしていますか?
資金の安全性: ほとんどのプラットフォームには、大量のトークン (報酬や補助金など) が用意されています。これらの資金はどのように保管されていますか?ボールトからの転送を承認して実行するにはどうすればよいですか?妥協の影響は何ですか?
これらの層のいずれかに欠陥があると、最も安全な基盤プラットフォームのユーザーさえも危害にさらされる可能性があります。プログラムを侵入不可能であると表現する人は明らかに間違っています。残念ながら、新しい資産クラス、特に急速に成長している資産クラスを扱う場合、新しい脆弱性やエクスプロイトが絶えず探索されます。このような環境では、プロジェクトに適切なプラットフォームを選択するには、これらのトレードオフをしっかりと理解することが重要です。対話Immutable では、前述のセキュリティの課題を含め、ゲームなどの高品質、大規模、長期的な NFT プロジェクトを構築したいと考えている人々の中核的な課題に取り組んでいます。あなたがビルダーであれば、私たちはあなたと一緒に始めたいと思っています
また、この投稿のさまざまな部分についてフィードバックを提供していただいた方々にも感謝いたします。 Kelvin Fichter (Optimism)、Avihu Levy (StarkWare)、Bartek Kiepuszewski (MakerDAO、L2 Beat)、Philippe Castonguay (Horizon/Skyweaver)、および Wormhole チーム - この記事に残っている誤りはすべて私の責任です。


