Bitcoinのボトルネックを解消する:BTC Layer2スケーリングテクノロジーの包括的な監査ガイド

この記事では、ライトニングネットワーク、サイドチェーン、ロールアップなどのBTCレイヤー2拡張ソリューションについて説明し、異なるメカニズムにより迅速かつ低コストな取引を実現すると同時に、BTCネットワークの分散化とセキュリティを確保します。ライトニングネットワークは、支払いチャネルとオフチェーン取引により取引速度とプライバシーを向上させ、CKBやStacksのようなサイドチェーンは、2ウェイペグを介して独立したイノベーティブな機能を提供します。ロールアップ技術は、決済時間とコンピューティングリソースの課題に直面しながらも、大量の取引をオフチェーンで処理することでスループットを向上させます。

ビットコイン(BTC)は、世界初の暗号通貨として、2009年の登場以来、デジタル資産や分散型金融の基盤として徐々に確立されてきました。しかし、ユーザー数や取引量の増加に伴い、BTCネットワークの問題がますます明らかになってきています。主に以下のような問題があります:

  • 高い手数料:ビットコインネットワークが混雑している場合、ユーザーは取引ができるだけ早く確認されるように、より高い手数料を支払う必要があります。
  • トランザクション確認時間:ビットコインブロックチェーンは平均して10分ごとに新しいブロックを生成します。つまり、オンチェーンのトランザクションはしばしば複数のブロックの確認を待たなければならないため、最終的に承認されるまで時間がかかることがあります。
  • スマートコントラクトの制約:Bitcoinのスクリプト言語は機能が限られており、複雑なスマートコントラクトの実装が困難です。

この記事では、私たちはライトニングネットワーク(ライトニングネットワーク)、サイドチェーン、ロールアップなどの技術は、BTCレイヤー2の拡張ソリューションとして総称されます。BTCネットワークの分散化とセキュリティを維持しながら、迅速で低コストな取引を実現します。レイヤー2技術の導入により、取引速度を向上させ、取引コストを削減し、ユーザーエクスペリエンスを最適化し、ネットワーク容量を拡大することができます。BTCの将来の発展において重要な技術的サポートとイノベーションの方向性を提供します。

現在、BeosinはMerlin Chain.などのBTC Layer2の公式セキュリティパートナーとなり、Bitmap.Games、Surf Protocol、Savmswap、Mineralなどの複数のBTCエコロジカルプロトコルを監査しています。過去の監査では、Ronin Network、Clover、Self Chain、Crust Networkwaitなど、多くの有名なパブリックチェーンがBeosinのパブリックチェーンセキュリティ監査に合格しています。

ライトニングネットワーク

Lightning Networkの最初の概念は「ペイメントチャネル」と呼ばれています。その設計思想は、未確認取引の状態を取引の置換によって継続的に更新し、最終的にビットコインネットワークにブロードキャストされるまでのプロセスです。2009年にビットコインを作成した際、サトシ・ナカモトは既にペイメントチャネルのアイディアを提案し、Bitcoin 1.0にペイメントチャネルのためのドラフトコードを含め、ユーザーにネットワークによって取引が確認される前に取引の状態を更新することを可能にしました。しかし、実際には、「The Bitcoin Lightning Network: Scalable Off-Chain Instant Payment」という白書がリリースされてから、Lightning Networkは本当に生まれ、一般の注目を浴びるようになりました。

今日、支払いチャネルとライトニングネットワークの実装は非常に成熟しています。 現時点で、ライトニングネットワークには合計13,325のノード、49,417のチャネルがあり、担保されたBTCの総数は4,975に達しています。


https://1ml.com/

ライトニングネットワークでは、転送プロセス中にユーザー資産のセキュリティを確保することが非常に重要です。以下では、ライトニングネットワークの動作方法と、ネットワークノードの規模に基づいてユーザー資産のセキュリティを保護する方法について説明します。

両者のユーザーは、ビットコインメインネットワークに2つのトランザクションを提出します:チャネルを開くための1つとチャネルを閉じるための1つ。次の3つのステップに大まかに分けられます。

1.チャネルの開設:

まず、両者のユーザーはビットコインをBTC上のライトニングネットワークのマルチサインウォレットに担保する。ビットコインが正常に担保されロックされると、支払いチャネルが開かれ、両者はこのチャネルでオフチェーン取引を行うことができます。

2.オフチェーン取引:

チャネルが開かれると、ユーザー間のすべての転送トランザクションはライトニングネットワークで処理され、これらのオフチェーントランザクションの数に制限はありません。もちろん、これらのトランザクションはBitcoinメインネットにすぐに提出する必要はありませんが、ライトニングネットワークのオフチェーンメカニズムを通じて即座に完了します。

このオフチェーン処理方法は、トランザクションの速度と効率を大幅に向上させ、ビットコインのメインネットの混雑や高いトランザクション手数料を回避します。

3. チャネルのクロージングとレジャーの決済:

チャネルのいずれかの側のユーザーが退出することを決定した場合、最終的な帳簿決済が行われます。このプロセスにより、チャネル内のすべての資金が最新の状態に割り当てられます。同時に、両側のユーザーはマルチシグネチャウォレットから決済後の残高を引き出し、チャネルが閉じられたときの実際の資金配分を反映します。最終的に、チャネルは帳簿トランザクションの最終状態をBitcoinメインネットに送信します。

Lightning Networkの利点は、

  • 取引速度が向上しました。ライトニングネットワークを使用すると、ユーザーはオフチェーンで取引を行うことができます。つまり、ブロックの確認時間を待たずに取引をほぼ即座に完了することができます。これにより、取引速度を第二レベルで実現し、ユーザーエクスペリエンスを大幅に向上させることができます。
  • 強化されたプライバシー。ライトニングネットワークのオフチェーン取引は、ビットコインのメインチェーンに公開記録される必要がないため、取引のプライバシーが向上します。チャネルの開設と終了のみがメインチェーンに記録されるため、ユーザーの取引行動が完全に公開されることはありません。
  • マイクロペイメントサポート。ライトニングネットワークは、コンテンツ支払い、IoTデバイス支払いなどの小さな支払い(マイクロペイメント)を処理するのに非常に適しています。伝統的なビットコイン取引は高い取引手数料のため、頻繁な小さな支払いには適していませんが、ライトニングネットワークはこの問題を解決します。

Lightning Networkに直面する課題:

  • ネットワークの流動性の問題:ライトニングネットワークは、ビットコインがチャネルに事前にロックされていることを前提としています。つまり、ユーザーは取引を行うために十分なビットコインを事前に支払いチャネルに預ける必要があります。流動性が不足していると、特に大きな支払いで支払いが失敗する可能性があります。
  • ルーティングの問題:支払いの送信者から受信者への効率的なパスを見つけることは、特にネットワークサイズが大きい場合、複雑な問題になる可能性があります。ネットワークノードやチャネルの数が増えると、決済を円滑に完了させることも難しくなります。
  • 資金の保管信頼問題:ノードは悪意のある攻撃の対象となる可能性があり、ユーザーは接続されているノードが資金を盗もうとしないことを信頼する必要があります。ノードは秘密鍵の漏洩を防ぐことができますか?
  • 技術標準と相互運用性:相互運用性を確保するためには、異なるライトニングネットワーク実装間で一貫した技術標準とプロトコルが必要です。現在、複数の開発チームがライトニングネットワークのさまざまな実装に取り組んでおり、互換性の問題が発生する可能性があります。
  • プライバシーの問題: ライトニングネットワークはビットコイン取引のプライバシーを向上させますが、取引情報は追跡や分析される可能性があります。また、ネットワークノードのオペレーターは、自分のノードを通過する取引を見ることができ、特定のプライベートな情報を明らかにする可能性があります。

ライトニングネットワークのセキュリティは、ビットコインのオフチェーンの拡張性とユーザー資金のセキュリティに直接影響します。したがって、一般的な公開チェーンの監査項目(詳細はこの記事の末尾の付録を参照)以外にも、ライトニングネットワークは以下の重要なセキュリティリスクに注意する必要があります。

  • チャネルの混雑:ライトニングネットワークシステムの設計の包括性を確認し、悲しみの攻撃によるチャネルの混雑を引き起こす可能性があるかどうかを確認してください。
  • チャネルの干渉:ライトニングネットワークチャネル構造のセキュリティをチェックし、チャネルの干渉攻撃の対象となるかどうかを確認してください。
  • チャネル資産のロックとアンロック:ライトニングネットワークでの資産のロックとアンロックのプロセスを見直し、支払いチャネルを開設または閉鎖する際に、チェーン上での資金の移動が安全かつ信頼性があることを確認します。
  • ステータスの更新とクローズ: 異常な状況が発生した場合に、最新のステータスを正しく識別して実行できるように、チャネルのステータス更新プロセスと強制クローズメカニズムを評価します。
  • タイムロックとハッシュロック契約(HTLC):HTLCの実装を評価して、時間ロックとハッシュロック条件が正しく実行され、時間ウィンドウの問題による資金の損失を防止することを確認します。
  • ブロックチェーンのタイムスタンプ依存性:ライトニングネットワークがビットコインブロックチェーンのタイムスタンプに依存していることを評価し、オンチェーンとオフチェーンの時間が正しく調整され、時間攻撃を防ぐことができるかどうかを確認します。
  • ルーティングアルゴリズムのセキュリティ:ユーザーのプライバシー漏洩や悪意のあるルーティング操作のリスクを防ぐために、ルーティングアルゴリズムの効率とセキュリティをチェックします。
  • チャネルのストレージメカニズムとデータの復旧:ノードの障害や予期しない切断の場合に、チャネルの状態を復元できるように、ストレージメカニズムとデータの復旧戦略を確認して、資金の損失を防ぐ。

サイドチェーン

ライトニングネットワークとは異なり、サイドチェーンはメインチェーン(たとえばBTCブロックチェーン)と並行して実行される独立したブロックチェーンであり、メインチェーンとの間で二重アンカリング(Two-Way Peg)を通じて相互運用します。サイドチェーンの目的は、メインチェーンプロトコルを変更せずに、より多くの機能を実現し、スケーラビリティを向上させることです。

独立したブロックチェーンとして、サイドチェーンは独自のコンセンサスメカニズム、ノード、および取引処理ルールを持っています。特定のアプリケーションシナリオのニーズに応じて、メインチェーンとは異なる技術やプロトコルを採用することができます。2WP(双方向アンカリングメカニズム)を通じて、サイドチェーンはメインチェーンと通信し、両者の間で資産を自由かつ安全に移動できるようにします。2WP(双方向アンカリングメカニズム)の動作メカニズムはおおよそ以下の通りです。

  1. ユーザーはBTCをメインチェーン上でロックし、信頼できる機関1がSPV検証2を取得して使用し、ユーザーのロックされた取引が確認されているかどうかを確認します。

  2. 信頼できる機関は、サイドチェーン上のユーザーに同等のトークンを発行します。

  3. 無料トランザクション後、ユーザーは残りのトークンをサイドチェーンにロックします。

  4. 取引の合法性を確認した後、信頼できる機関がメインチェーン上のBTCをロック解除し、対応する価値のBTCをユーザーに提供します。

注1:信頼できる権威は、二方向アンカリングメカニズムで重要な役割を果たし、資産のロックおよび解除を管理する責任があります。これらの機関は、ユーザー資産のセキュリティを確保するために高い信頼性と技術力を持っている必要があります。

Note 2:SPV検証ノードがフルブロックチェーンをダウンロードせずに特定のトランザクションの妥当性を検証できるようにします。 SPVノードはブロックヘッダーのみをダウンロードし、Merkle Treeを通じてトランザクションがブロックに含まれているかどうかを検証します。

サイドチェーンの代表的なプロジェクト:

CKB(ネルヴォス・ネットワーク)

Nervos Network(ネルボスネットワーク)は、BTCのPOW(Proof of Work)コンセンサスメカニズムのセキュリティと分散化の利点を活用しつつ、よりスケーラブルかつ柔軟なUTXOモデルを導入するオープンソースのパブリックブロックチェーンエコシステムです。その中核はCommon Knowledge Base(CKB)であり、RISC-V上に構築されたLayer 1のブロックチェーンであり、コンセンサスとしてPoW(Proof of Work)を使用しています。UTXOモデルをセルモデルに拡張し、任意のデータを格納し、チェーン上でスマートコントラクトとして実行するための任意の言語でスクリプトを書くことができます。


スタックス

Stacksは、そのPoX(Proof of Transfer)メカニズムを介して、各Stacksブロックをビットコインブロックに接続します。スマートコントラクトを開発するために、Stacksは専用のClarityプログラミング言語を設計しました。Clarityでは、get-burn-block-info?関数を使用して、ビットコインブロックの高さを渡し、ブロックのヘッダーハッシュを取得することができます。同時に、burn-block-heightキーワードを使用して、ビットコインチェーンの現在のブロック高さを取得することができます。これらの2つの関数により、Clarityスマートコントラクトはビットコインベースチェーンの状態を読み取ることができ、ビットコイントランザクションを契約のトリガーとして利用することができます。これらのスマートコントラクトの自動実行により、StacksはBitcoinの機能を拡張します。

Stacksの詳細な分析については、Beosinの以前の研究記事「スタックとは何ですか?BTCレイヤー2ネットワークのスタックが直面する課題は何ですか?

サイドチェーンの利点は次のとおりです:

  • サイドチェーンは、メインチェーンの安定性とセキュリティに影響を与えることなく、さまざまな実験やイノベーションを行うために、異なる技術やプロトコルを使用することができます。
  • サイドチェーンは、スマートコントラクト、プライバシー保護、トークン発行など、メインチェーンにはない機能を導入することができ、ブロックチェーンエコシステムのアプリケーションシナリオを豊かにすることができます。

サイドチェーンに直面する課題:

  • サイドチェーンには独自の合意メカニズムがあり、BTCメインチェーンほど安全ではない可能性があります。サイドチェーンの合意メカニズムが弱いか、または不備がある場合、51%攻撃やその他の攻撃が発生する可能性があり、ユーザー資産の安全性に影響を及ぼすことがあります。BTCメインチェーンの安全性は、その巨大な計算能力と広範なノード分散に依存していますが、サイドチェーンは同じセキュリティ基準を満たしていない可能性があります。
  • 2つの方法のアンカリングメカニズムの実装には、複雑な暗号化アルゴリズムとプロトコルが必要です。それらに欠陥があると、メインチェーンとサイドチェーン間の資産の移動に問題が生じ、資産の損失や盗難につながる可能性さえあります。
  • スピードとセキュリティのバランスを取るために、ほとんどのサイドチェーンはメインチェーンよりも集中化の度合いが高くなっています。

Layer2は完全なブロックチェーンシステムですので、パブリックチェーンの一般的な監査項目はサイドチェーンにも適用されます。詳細については、この記事の末尾にある付録をご覧ください。

また、サイドチェーンの特殊性から、いくつかの追加的な監査が必要とされます。

  • コンセンサスプロトコルのセキュリティ:サイドチェーンのコンセンサスプロトコル(例:PoW、PoS、DPoSなど)が十分に検証およびテストされ、潜在的な脆弱性や攻撃ベクトル(51%攻撃、長期攻撃など)があるかどうかを見直す。
  • コンセンサスノードのセキュリティ:コンセンサスノードのセキュリティを評価し、キー管理、ノード保護、冗長バックアップなどを含め、ノードの侵害や悪用を防ぎます。
  • 資産のロックと解除:サイドチェーンとメインチェーン間の資産の双方向アンカリングメカニズムを確認し、資産のロックと解除のためのスマートコントラクトが安全かつ信頼性があり、二重支出、資産の損失、またはロックの失敗を防ぐことを確認します。
  • クロスチェーンの検証:クロスチェーンの検証の正確性とセキュリティを確認し、検証プロセスが分散化され、改ざん防止され、検証の失敗や悪意のある検証を防止します。
  • 契約コードの監査:サイドチェーン上で実行されているすべてのスマートコントラクトの詳細な監査を行い、特にクロスチェーン操作を処理する際の契約ロジックに可能な脆弱性やバックドアを検出します。
  • アップグレードメカニズム:スマートコントラクトのアップグレードメカニズムが安全であるかどうか、適切な監査とコミュニティの合意プロセスがあるかどうかをチェックし、悪意のあるアップグレードや契約の改ざんを防止します。
  • ノード間通信:サイドチェーンノード間の通信プロトコルが安全であるかどうか、また、中間者攻撃やデータ漏えいを防止するために暗号化されたチャネルが使用されているかどうかを確認してください。
  • クロスチェーン通信:サイドチェーンとメインチェーンの通信チャネルを確認し、データの完全性と信頼性を確保し、通信が乗っ取られたり改ざんされたりするのを防止します。
  • タイムスタンプとブロック時間:サイドチェーンの時間同期メカニズムを検証し、ブロック生成時間の一貫性と正確性を確保し、時間の違いによる攻撃やブロックの巻き戻しを防止します。
  • オンチェーンガバナンスのセキュリティ:サイドチェーンのガバナンスメカニズムを見直して、投票、提案、意思決定プロセスの透明性とセキュリティを確保し、悪意のある制御や攻撃を防止します。
  • トークン経済の監査:サイドチェーンのトークン経済モデルをチェックし、トークンの割り当て、インセンティブメカニズム、インフレモデルなどを確認して、経済的インセンティブが悪意のある行動やシステムの不安定化につながらないようにします。
  • 手数料メカニズム:サイドチェーンの手数料メカニズムをチェックして、メインチェーンとサイドチェーンのユーザーのニーズに合致していることを確認し、手数料の操作やネットワークの混雑を防止します。
  • 資産のセキュリティ:ブロックチェーン上の資産の管理メカニズムを監査し、資産の保管、転送、破棄プロセスが安全かつ信頼性があり、不正アクセスや盗難のリスクがないことを確認します。
  • 鍵管理:サイドチェーンの鍵管理ポリシーを確認して、秘密鍵のセキュリティとアクセス制御を確保し、鍵の漏洩や盗難を防ぎます。

ロールアップ

Rollupは、ブロックチェーンのトランザクションスループットと効率を向上させるために設計されたレイヤー2のスケーリングソリューションです。それは大量のトランザクションをパッケージ化(「Rollup」)し、それらをオフチェーンで処理してメインチェーンへの最終結果のみを提出することで、メインチェーンへの負荷を大幅に軽減します。

ロールアップは、主にzk-Rollupとop-Rollupに分けられます。しかし、ETHとは異なり、BTCのチューリング不完全性のため、BTC上で契約を使用してゼロ知識証明の検証を行うことは不可能です。従来のzk-RollupソリューションはBTC上で実装することはできません。では、zk-Rollupを使用してBTCのLayer2をどのように実装するのでしょうか?次に、B² Networkプロジェクトを例に説明します:

BTCのゼロ知識証明の検証を完了するために、B² Networkはzk-Rollupのゼロ知識証明の検証とop-Rollupのインセンティブチャレンジを組み合わせたTaprootスクリプトを作成しました。その動作メカニズムはおおよそ次のようになります:

  1. B² Networkは、まずユーザーによってイニシエートされたすべての取引をロールアップします。

  2. ソーターを使用してRollupトランザクションをソートした後、分散型ストレージを使用してRollupトランザクションを保存し、同時にzkEVMに処理を委任します。

  3. zkEVMがBTCチェーンの状態を同期した後、契約の実行、結果のマージとパッケージ化などのトランザクションを処理し、アグリゲーターに送信します。

  4. プロバーはゼロ知識証明を生成し、それをアグリゲータに送信します。アグリゲータは取引を集約し、証明をB²ノードに送信します。

  5. B²ノードは、ゼロ知識証明の検証を行い、分散型ストレージ内のRollupデータに基づいてTaprootスクリプトを作成します。

  6. Taprootは、1satoshiの値を持つUTXOです。データ構造のB² InscriptionはすべてのRollupデータを格納し、Tapleafはすべての検証データを格納します。インセンティブチャレンジメカニズムを通過すると、zkプルーフに基づいて検証されたコミットメントとしてBTCに送られます。

Rollupの利点は次のとおりです:

  • Rollupは、メインチェーンのセキュリティと分散化機能を継承しています。定期的に取引データと状態をメインチェーンに送信することで、データの完全性と透明性が確保されます。
  • Rollupは、Ethereumなどの既存のブロックチェーンネットワークにシームレスに統合することができ、開発者は既存のスマートコントラクトやアプリケーションを大幅に変更することなく、その利点を簡単に活用することができます。
  • 大量の取引をオフチェーンで処理し、それらを1つのバッチにまとめてメインチェーンに送信することにより、Rollupは取引処理能力を大幅に向上させ、秒間取引数(TPS)を大幅に増加させます。
  • ロールアップトランザクションは、オフチェーンでのみ処理する必要があり、オンチェーンのトランザクションに必要な計算リソースとストレージスペースを大幅に削減するため、ユーザーのトランザクション手数料を大幅に削減します。

Rollupが直面する課題:

  • オフチェーンデータが利用できない場合、ユーザーは取引を確認し、状態を復元することができなくなる可能性があります。
  • ロールアップトランザクションはバッチ処理され、最終的にメインチェーンに送信する必要があり、より長い決済時間につながる可能性があります。特にop-Rollupでは、紛争期間があるため、トランザクションが最終的に確認されるまでユーザーは長時間待つ必要があります。
  • ZK Rollupは高いセキュリティと即時確認を提供しますが、計算およびストレージ要件が高く、ゼロ知識証明の生成には大量の計算リソースが必要です。

採用された解決策がロールアップであるため、その主要なセキュリティ監査項目は、基本的にETH Layer2と同じです。

その他(バビロン)

従来のBTC Layer2に加えて、最近BTCエコシステムに関連する新しいコンセプトのサードパーティプロトコルもいくつかあります。たとえば、バビロン:

バビロンの目標は、2100万BTCを分散型ステーキング資産に変換することです。Babylonは他のBTCのLayer 2とは異なり、BTCチェーンを拡張しません。それ自体がユニークなチェーンであり、特別なBTC担保プロトコルを持っています。主な目的はPoSチェーンと接続することです。PoSチェーンのより強力なセキュリティを提供するためにBTCを担保し、チェーンのリモートエンドからの攻撃のリスクと中央集権化の問題を解決します。

アーキテクチャは3つの層に分かれています:

Bitcoinレイヤー:これはバビロンの頑丈な基盤であり、ビットコインの広く知られたセキュリティを活用して、すべての取引がビットコインネットワーク上と同様に超安全であることを保証します。

バビロニアレイヤー:バビロンの中心にあるのは、ビットコインをさまざまなプルーフオブステーク(PoS)チェーンに接続するカスタムブロックチェーンであるバビロンレイヤーです。トランザクションを処理し、スマートコントラクトを実行し、エコシステム全体ですべてがスムーズに実行されるようにします。

PoSチェーンレイヤー:トップレイヤーは複数のPoSチェーンで構成されており、それぞれのPoSチェーンはその独自の利点のために選択されています。これによりBabylonChainは驚異的なスケーラビリティと柔軟性を持ち、異なるPoSブロックチェーンの最高の機能を利用することができます。

その動作方法は、BTCチェーン上で署名された最終ブロックを使用してPoSチェーンを保護することにあります。これにより、基本プロトコルが追加の署名ラウンドで拡張されます。最終+1ラウンドのこれらの署名には、ワンタイム抽出可能署名(EOTS)というユニークな特性があります。その目的は、PoSのチェックポイントをBTCに統合し、PoSの長いアンバインディング期間やリモート攻撃の問題を解決することです。

バビロンの利点は次のとおりです。

  • PoSのアンバインディング期間を短くする
  • BTCが担保になっているため、価格はBTCに連動しており、これにより対応するPoSネットワークのインフレ圧力を軽減することができます。
  • BTCの収益の新たな可能性を開きます

バビロンが直面する課題:

  • ステーキングのリターン率などの経済的な設計は、BTCのステーキングの熱意に大きな影響を与えます
  • PoSチェーン間の報酬の一貫性の不足

サードパーティのプロトコルには、実装に応じて異なるセキュリティポイントがあります。バビロンを例にとると、注意が必要なセキュリティ監査項目は次のとおりです。

  1. スマートコントラクトのセキュリティ:BTCの誓約契約はUTXOスクリプトを介して実装されており、そのセキュリティに注意を払う必要があります。

  2. Signature algorithm security: シグネチャは契約でユーザーの質流管理に使用され、そのアルゴリズムのセキュリティは、シグネチャの生成と検証に関連しています。

  3. プロトコル経済モデルの設計:プロトコルの経済モデルが報酬とペナルティの観点から合理的に設定されているかどうか、およびそれがユーザー資産の損失につながるかどうか。

付録:

パブリックチェーン&Layer2一般監査項目

  • 整数オーバーフロー:整数オーバーフローと整数アンダーフローをチェックしてください
  • 無限ループ:プログラムのループ判定条件が妥当かどうかを確認します
  • 無限再帰呼び出し:プログラムの再帰呼び出しの終了条件が妥当かどうかを確認します
  • レース条件:共有リソースへのアクセス操作を並行条件でチェックしてください
  • 異常クラッシュ:プログラムが能動的に終了することを許可する例外スローイングコードをチェックしてください
  • 0除算の脆弱性:0除算があるか確認する
  • タイプ変換:タイプ変換が正しいかどうか、および変換プロセス中に重要な情報が失われていないかを確認してください
  • 配列外の境界: 配列の境界を超えた要素がアクセスされているかどうかを確認してください
  • 逆シリアル化の脆弱性:逆シリアル化プロセス中に問題がないか確認してください
  • 機能実装セキュリティ:各RPCインターフェース実装にセキュリティリスクがあるかどうか、およびRPCインターフェース機能と一致しているかどうかを確認します。
  • マッチするようにデザインすることができます
  • 機密性の高い RPC インターフェイスのアクセス許可設定が妥当かどうか: 機密性の高い RPC インターフェイスのアクセス許可設定を確認します
  • 暗号化転送メカニズム:TLSなどの暗号化転送プロトコルが使用されているかどうかを確認してください。
  • リクエストデータの形式解析:リクエストデータの形式解析プロセスをチェックします
  • ウォレットのロック解除攻撃:ノードがウォレットをロック解除すると、RPCによって資金を盗むように要求されます。
  • 従来のWebセキュリティ:次の脆弱性を確認します。 クロスサイトスクリプティング(XSS)/テンプレートインジェクション
  • サードパーティのコンポーネントの脆弱性 / HTTPパラメータの汚染 / SQLインジェクション / XXEエンティティインジェクション逆シリアル化
  • 脆弱性/SSRF脆弱性/コードインジェクション/ローカルファイルインクルージョン/リモートファイルインクルージョン/コマンド実行インジェクションおよびその他の伝統的な脆弱性
  • ネットワーク・ノード ID の認証および識別メカニズム: ノード識別メカニズムがあるかどうか、およびノード識別メカニズムをバイパスできるかどうかを確認します。
  • ルーティングテーブルの汚染:ルーティングテーブルがランダムに挿入または上書きされる可能性があるかどうかを確認します
  • ノード発見アルゴリズム:ノード発見アルゴリズムがバランスが取れており、予測不可能であるかどうか、例えばバランスの取れていない距離アルゴリズムなどの問題を確認してください。
  • 接続数占有監査:P2Pネットワーク接続ノードの数の制限と管理が適切かどうかをチェックします
  • Eclipse attack: エクリプス攻撃のコストと被害を評価し、必要に応じて定量分析を提供します
  • シビル攻撃:投票コンセンサスメカニズムを評価し、投票資格チェック戦略を分析する
  • 盗聴攻撃: プライバシーリークのための通信プロトコルのチェック
  • エイリアンの攻撃: ノードが類似のチェーンノードを識別できるかどうかを評価します
  • タイムハイジャッキング:ノードのネットワーク時間計算メカニズムの確認
  • メモリ枯渇攻撃: 大量メモリ使用箇所のチェック
  • ハードドライブの枯渇攻撃:大きなファイルが保存されている場所を確認してください
  • ソケット圧力攻撃:接続数の制限ポリシーを確認してください
  • カーネル ハンドル枯渇攻撃: ファイル ハンドルなど、カーネル ハンドルの作成の制限を確認します。
  • 持続的なメモリーリーク:メモリーリークをチェックします
  • ハッシュアルゴリズムのセキュリティ:ハッシュアルゴリズムの衝突抵抗性のチェック
  • デジタル署名アルゴリズムのセキュリティ:署名アルゴリズムとアルゴリズムの実装のセキュリティを確認します
  • 暗号化アルゴリズムのセキュリティ:暗号化アルゴリズムのセキュリティをチェックし、アルゴリズムの実装セキュリティを確認します
  • 乱数生成器のセキュリティ: 重要な乱数生成アルゴリズムが適切かどうかを確認する
  • BFT実装セキュリティ:BFTアルゴリズムの実装セキュリティを評価する
  • Fork-choice rules: フォーク選択ルールをチェックして安全性を確保します
  • 中央集権検出:システム設計に過度な中央集権があるかどうかを特定します
  • インセンティブ監査:セキュリティへのインセンティブの影響を評価する
  • ダブルスペンディング攻撃:コンセンサスがダブルスペンディング攻撃を防御できるかどうかを確認してください
  • MEV攻撃監査:ブロックパッケージングノードのMEVがチェーンの公平性に与える影響を確認
  • ブロック同期プロセスの監査:同期プロセス中のセキュリティ問題をチェックします
  • ブロック形式解析プロセスの監査:解析プロセスにおけるセキュリティ問題をチェックし、クラッシュにつながる解析エラーなどを調査します
  • ブロック生成プロセスの監査:Merkleツリールートの構築方法が合理的かどうかを含む、ブロック生成プロセス中のセキュリティ問題を確認します
  • ブロック検証プロセスの監査:ブロック署名コンテンツ項目と検証ロジックが十分かどうかを確認します
  • ブロック確認ロジックの監査:ブロック確認アルゴリズムと実装が妥当かどうかを確認します
  • ブロックハッシュ衝突:ブロックハッシュ衝突の構築方法と衝突処理が合理的かどうかを確認してください。
  • ブロック処理リソースの制限: 孤立ブロック プール、検証計算、ハード ディスク アドレス指定などのリソース制限が妥当かどうかを確認します。
  • トランザクション同期プロセスの監査: 同期プロセス中のセキュリティの問題をチェックします
  • トランザクションハッシュ衝突:トランザクションハッシュ衝突の構築方法と衝突の処理を確認してください
  • トランザクション形式の解析: 形式の解析プロセス中に、クラッシュにつながる解析エラーなどのセキュリティ上の問題を確認します
  • トランザクションの合法性検証:各種類のトランザクション署名コンテンツ項目と検証ロジックが十分かどうかを確認します
  • トランザクション処理リソース制限: トランザクション プール、検証計算、ハード ディスク アドレス指定などのリソース制限が妥当かどうかを確認します。
  • トランザクションの改ざん攻撃:トランザクションのハッシュを変更せずに内部フィールド(ScriptSigなど)を変更することで、トランザクションの妥当性に影響を与えずに変更できるのか?
  • トランザクション再生攻撃の監査:トランザクション再生のシステム検知を確認します
  • コントラクトのバイトコード検証:コントラクトの仮想マシン検証プロセスのセキュリティ問題(整数オーバーフロー、無限ループなど)を確認します。
  • コントラクトバイトコードの実行:仮想マシンがバイトコードを実行するプロセスにおける、整数オーバーフロー、無限ループなどのセキュリティ問題を確認します。
  • ガスモデル:トランザクション処理/契約実行の各原子操作に対応する手数料がリソース消費に比例しているかどうかを確認してください
  • ログの整合性:キー情報がログに記録されているかどうかを確認してください
  • ログレコードのセキュリティ:ログ処理中の不適切な処理(整数オーバーフローなど)に起因するセキュリティ上の問題がないか確認します。
  • ログには個人情報が含まれています:キーなどの個人情報がログに含まれているかどうかを確認してください
  • ログストレージ:ログレコードが過剰なコンテンツを記録していないか、ノードのリソース消費を引き起こしていないかを確認します
  • ノードコードのサプライチェーンセキュリティ:パブリックチェーンフレームワークのすべてのサードパーティーライブラリ、コンポーネント、および対応するバージョンの既知の問題をチェックしてください

Beosinは、世界で最初のブロックチェーンセキュリティ企業の1つであり、形式的な検証に取り組んでいます。「セキュリティ+コンプライアンス」の完全なエコロジカルビジネスに注力し、世界各地に10か国以上の支店を設立しています。その業務は、プロジェクトがオンラインになる前のコードのセキュリティ監査、プロジェクトの運用中のセキュリティリスクの監視とブロック、盗難の回復など、現地の規制要件に準拠した「ワンストップ」ブロックチェーンコンプライアンス製品+セキュリティサービス、仮想資産のマネーロンダリング(AML)およびコンプライアンス評価などのセキュリティサービスをカバーしています。監査の必要があるプロジェクト関係者は、Beosinセキュリティチームにご連絡ください。

免責事項:

  1. この記事は[ベオシン]. すべての著作権は元の作者に帰属します [Beosin].この転載に異議がある場合は、Gate Learnチームがすぐに対応します。
  2. 免責事項:この記事で表明された見解や意見は、著者のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に断りがない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

Bitcoinのボトルネックを解消する:BTC Layer2スケーリングテクノロジーの包括的な監査ガイド

中級8/27/2024, 8:04:59 AM
この記事では、ライトニングネットワーク、サイドチェーン、ロールアップなどのBTCレイヤー2拡張ソリューションについて説明し、異なるメカニズムにより迅速かつ低コストな取引を実現すると同時に、BTCネットワークの分散化とセキュリティを確保します。ライトニングネットワークは、支払いチャネルとオフチェーン取引により取引速度とプライバシーを向上させ、CKBやStacksのようなサイドチェーンは、2ウェイペグを介して独立したイノベーティブな機能を提供します。ロールアップ技術は、決済時間とコンピューティングリソースの課題に直面しながらも、大量の取引をオフチェーンで処理することでスループットを向上させます。

ビットコイン(BTC)は、世界初の暗号通貨として、2009年の登場以来、デジタル資産や分散型金融の基盤として徐々に確立されてきました。しかし、ユーザー数や取引量の増加に伴い、BTCネットワークの問題がますます明らかになってきています。主に以下のような問題があります:

  • 高い手数料:ビットコインネットワークが混雑している場合、ユーザーは取引ができるだけ早く確認されるように、より高い手数料を支払う必要があります。
  • トランザクション確認時間:ビットコインブロックチェーンは平均して10分ごとに新しいブロックを生成します。つまり、オンチェーンのトランザクションはしばしば複数のブロックの確認を待たなければならないため、最終的に承認されるまで時間がかかることがあります。
  • スマートコントラクトの制約:Bitcoinのスクリプト言語は機能が限られており、複雑なスマートコントラクトの実装が困難です。

この記事では、私たちはライトニングネットワーク(ライトニングネットワーク)、サイドチェーン、ロールアップなどの技術は、BTCレイヤー2の拡張ソリューションとして総称されます。BTCネットワークの分散化とセキュリティを維持しながら、迅速で低コストな取引を実現します。レイヤー2技術の導入により、取引速度を向上させ、取引コストを削減し、ユーザーエクスペリエンスを最適化し、ネットワーク容量を拡大することができます。BTCの将来の発展において重要な技術的サポートとイノベーションの方向性を提供します。

現在、BeosinはMerlin Chain.などのBTC Layer2の公式セキュリティパートナーとなり、Bitmap.Games、Surf Protocol、Savmswap、Mineralなどの複数のBTCエコロジカルプロトコルを監査しています。過去の監査では、Ronin Network、Clover、Self Chain、Crust Networkwaitなど、多くの有名なパブリックチェーンがBeosinのパブリックチェーンセキュリティ監査に合格しています。

ライトニングネットワーク

Lightning Networkの最初の概念は「ペイメントチャネル」と呼ばれています。その設計思想は、未確認取引の状態を取引の置換によって継続的に更新し、最終的にビットコインネットワークにブロードキャストされるまでのプロセスです。2009年にビットコインを作成した際、サトシ・ナカモトは既にペイメントチャネルのアイディアを提案し、Bitcoin 1.0にペイメントチャネルのためのドラフトコードを含め、ユーザーにネットワークによって取引が確認される前に取引の状態を更新することを可能にしました。しかし、実際には、「The Bitcoin Lightning Network: Scalable Off-Chain Instant Payment」という白書がリリースされてから、Lightning Networkは本当に生まれ、一般の注目を浴びるようになりました。

今日、支払いチャネルとライトニングネットワークの実装は非常に成熟しています。 現時点で、ライトニングネットワークには合計13,325のノード、49,417のチャネルがあり、担保されたBTCの総数は4,975に達しています。


https://1ml.com/

ライトニングネットワークでは、転送プロセス中にユーザー資産のセキュリティを確保することが非常に重要です。以下では、ライトニングネットワークの動作方法と、ネットワークノードの規模に基づいてユーザー資産のセキュリティを保護する方法について説明します。

両者のユーザーは、ビットコインメインネットワークに2つのトランザクションを提出します:チャネルを開くための1つとチャネルを閉じるための1つ。次の3つのステップに大まかに分けられます。

1.チャネルの開設:

まず、両者のユーザーはビットコインをBTC上のライトニングネットワークのマルチサインウォレットに担保する。ビットコインが正常に担保されロックされると、支払いチャネルが開かれ、両者はこのチャネルでオフチェーン取引を行うことができます。

2.オフチェーン取引:

チャネルが開かれると、ユーザー間のすべての転送トランザクションはライトニングネットワークで処理され、これらのオフチェーントランザクションの数に制限はありません。もちろん、これらのトランザクションはBitcoinメインネットにすぐに提出する必要はありませんが、ライトニングネットワークのオフチェーンメカニズムを通じて即座に完了します。

このオフチェーン処理方法は、トランザクションの速度と効率を大幅に向上させ、ビットコインのメインネットの混雑や高いトランザクション手数料を回避します。

3. チャネルのクロージングとレジャーの決済:

チャネルのいずれかの側のユーザーが退出することを決定した場合、最終的な帳簿決済が行われます。このプロセスにより、チャネル内のすべての資金が最新の状態に割り当てられます。同時に、両側のユーザーはマルチシグネチャウォレットから決済後の残高を引き出し、チャネルが閉じられたときの実際の資金配分を反映します。最終的に、チャネルは帳簿トランザクションの最終状態をBitcoinメインネットに送信します。

Lightning Networkの利点は、

  • 取引速度が向上しました。ライトニングネットワークを使用すると、ユーザーはオフチェーンで取引を行うことができます。つまり、ブロックの確認時間を待たずに取引をほぼ即座に完了することができます。これにより、取引速度を第二レベルで実現し、ユーザーエクスペリエンスを大幅に向上させることができます。
  • 強化されたプライバシー。ライトニングネットワークのオフチェーン取引は、ビットコインのメインチェーンに公開記録される必要がないため、取引のプライバシーが向上します。チャネルの開設と終了のみがメインチェーンに記録されるため、ユーザーの取引行動が完全に公開されることはありません。
  • マイクロペイメントサポート。ライトニングネットワークは、コンテンツ支払い、IoTデバイス支払いなどの小さな支払い(マイクロペイメント)を処理するのに非常に適しています。伝統的なビットコイン取引は高い取引手数料のため、頻繁な小さな支払いには適していませんが、ライトニングネットワークはこの問題を解決します。

Lightning Networkに直面する課題:

  • ネットワークの流動性の問題:ライトニングネットワークは、ビットコインがチャネルに事前にロックされていることを前提としています。つまり、ユーザーは取引を行うために十分なビットコインを事前に支払いチャネルに預ける必要があります。流動性が不足していると、特に大きな支払いで支払いが失敗する可能性があります。
  • ルーティングの問題:支払いの送信者から受信者への効率的なパスを見つけることは、特にネットワークサイズが大きい場合、複雑な問題になる可能性があります。ネットワークノードやチャネルの数が増えると、決済を円滑に完了させることも難しくなります。
  • 資金の保管信頼問題:ノードは悪意のある攻撃の対象となる可能性があり、ユーザーは接続されているノードが資金を盗もうとしないことを信頼する必要があります。ノードは秘密鍵の漏洩を防ぐことができますか?
  • 技術標準と相互運用性:相互運用性を確保するためには、異なるライトニングネットワーク実装間で一貫した技術標準とプロトコルが必要です。現在、複数の開発チームがライトニングネットワークのさまざまな実装に取り組んでおり、互換性の問題が発生する可能性があります。
  • プライバシーの問題: ライトニングネットワークはビットコイン取引のプライバシーを向上させますが、取引情報は追跡や分析される可能性があります。また、ネットワークノードのオペレーターは、自分のノードを通過する取引を見ることができ、特定のプライベートな情報を明らかにする可能性があります。

ライトニングネットワークのセキュリティは、ビットコインのオフチェーンの拡張性とユーザー資金のセキュリティに直接影響します。したがって、一般的な公開チェーンの監査項目(詳細はこの記事の末尾の付録を参照)以外にも、ライトニングネットワークは以下の重要なセキュリティリスクに注意する必要があります。

  • チャネルの混雑:ライトニングネットワークシステムの設計の包括性を確認し、悲しみの攻撃によるチャネルの混雑を引き起こす可能性があるかどうかを確認してください。
  • チャネルの干渉:ライトニングネットワークチャネル構造のセキュリティをチェックし、チャネルの干渉攻撃の対象となるかどうかを確認してください。
  • チャネル資産のロックとアンロック:ライトニングネットワークでの資産のロックとアンロックのプロセスを見直し、支払いチャネルを開設または閉鎖する際に、チェーン上での資金の移動が安全かつ信頼性があることを確認します。
  • ステータスの更新とクローズ: 異常な状況が発生した場合に、最新のステータスを正しく識別して実行できるように、チャネルのステータス更新プロセスと強制クローズメカニズムを評価します。
  • タイムロックとハッシュロック契約(HTLC):HTLCの実装を評価して、時間ロックとハッシュロック条件が正しく実行され、時間ウィンドウの問題による資金の損失を防止することを確認します。
  • ブロックチェーンのタイムスタンプ依存性:ライトニングネットワークがビットコインブロックチェーンのタイムスタンプに依存していることを評価し、オンチェーンとオフチェーンの時間が正しく調整され、時間攻撃を防ぐことができるかどうかを確認します。
  • ルーティングアルゴリズムのセキュリティ:ユーザーのプライバシー漏洩や悪意のあるルーティング操作のリスクを防ぐために、ルーティングアルゴリズムの効率とセキュリティをチェックします。
  • チャネルのストレージメカニズムとデータの復旧:ノードの障害や予期しない切断の場合に、チャネルの状態を復元できるように、ストレージメカニズムとデータの復旧戦略を確認して、資金の損失を防ぐ。

サイドチェーン

ライトニングネットワークとは異なり、サイドチェーンはメインチェーン(たとえばBTCブロックチェーン)と並行して実行される独立したブロックチェーンであり、メインチェーンとの間で二重アンカリング(Two-Way Peg)を通じて相互運用します。サイドチェーンの目的は、メインチェーンプロトコルを変更せずに、より多くの機能を実現し、スケーラビリティを向上させることです。

独立したブロックチェーンとして、サイドチェーンは独自のコンセンサスメカニズム、ノード、および取引処理ルールを持っています。特定のアプリケーションシナリオのニーズに応じて、メインチェーンとは異なる技術やプロトコルを採用することができます。2WP(双方向アンカリングメカニズム)を通じて、サイドチェーンはメインチェーンと通信し、両者の間で資産を自由かつ安全に移動できるようにします。2WP(双方向アンカリングメカニズム)の動作メカニズムはおおよそ以下の通りです。

  1. ユーザーはBTCをメインチェーン上でロックし、信頼できる機関1がSPV検証2を取得して使用し、ユーザーのロックされた取引が確認されているかどうかを確認します。

  2. 信頼できる機関は、サイドチェーン上のユーザーに同等のトークンを発行します。

  3. 無料トランザクション後、ユーザーは残りのトークンをサイドチェーンにロックします。

  4. 取引の合法性を確認した後、信頼できる機関がメインチェーン上のBTCをロック解除し、対応する価値のBTCをユーザーに提供します。

注1:信頼できる権威は、二方向アンカリングメカニズムで重要な役割を果たし、資産のロックおよび解除を管理する責任があります。これらの機関は、ユーザー資産のセキュリティを確保するために高い信頼性と技術力を持っている必要があります。

Note 2:SPV検証ノードがフルブロックチェーンをダウンロードせずに特定のトランザクションの妥当性を検証できるようにします。 SPVノードはブロックヘッダーのみをダウンロードし、Merkle Treeを通じてトランザクションがブロックに含まれているかどうかを検証します。

サイドチェーンの代表的なプロジェクト:

CKB(ネルヴォス・ネットワーク)

Nervos Network(ネルボスネットワーク)は、BTCのPOW(Proof of Work)コンセンサスメカニズムのセキュリティと分散化の利点を活用しつつ、よりスケーラブルかつ柔軟なUTXOモデルを導入するオープンソースのパブリックブロックチェーンエコシステムです。その中核はCommon Knowledge Base(CKB)であり、RISC-V上に構築されたLayer 1のブロックチェーンであり、コンセンサスとしてPoW(Proof of Work)を使用しています。UTXOモデルをセルモデルに拡張し、任意のデータを格納し、チェーン上でスマートコントラクトとして実行するための任意の言語でスクリプトを書くことができます。


スタックス

Stacksは、そのPoX(Proof of Transfer)メカニズムを介して、各Stacksブロックをビットコインブロックに接続します。スマートコントラクトを開発するために、Stacksは専用のClarityプログラミング言語を設計しました。Clarityでは、get-burn-block-info?関数を使用して、ビットコインブロックの高さを渡し、ブロックのヘッダーハッシュを取得することができます。同時に、burn-block-heightキーワードを使用して、ビットコインチェーンの現在のブロック高さを取得することができます。これらの2つの関数により、Clarityスマートコントラクトはビットコインベースチェーンの状態を読み取ることができ、ビットコイントランザクションを契約のトリガーとして利用することができます。これらのスマートコントラクトの自動実行により、StacksはBitcoinの機能を拡張します。

Stacksの詳細な分析については、Beosinの以前の研究記事「スタックとは何ですか?BTCレイヤー2ネットワークのスタックが直面する課題は何ですか?

サイドチェーンの利点は次のとおりです:

  • サイドチェーンは、メインチェーンの安定性とセキュリティに影響を与えることなく、さまざまな実験やイノベーションを行うために、異なる技術やプロトコルを使用することができます。
  • サイドチェーンは、スマートコントラクト、プライバシー保護、トークン発行など、メインチェーンにはない機能を導入することができ、ブロックチェーンエコシステムのアプリケーションシナリオを豊かにすることができます。

サイドチェーンに直面する課題:

  • サイドチェーンには独自の合意メカニズムがあり、BTCメインチェーンほど安全ではない可能性があります。サイドチェーンの合意メカニズムが弱いか、または不備がある場合、51%攻撃やその他の攻撃が発生する可能性があり、ユーザー資産の安全性に影響を及ぼすことがあります。BTCメインチェーンの安全性は、その巨大な計算能力と広範なノード分散に依存していますが、サイドチェーンは同じセキュリティ基準を満たしていない可能性があります。
  • 2つの方法のアンカリングメカニズムの実装には、複雑な暗号化アルゴリズムとプロトコルが必要です。それらに欠陥があると、メインチェーンとサイドチェーン間の資産の移動に問題が生じ、資産の損失や盗難につながる可能性さえあります。
  • スピードとセキュリティのバランスを取るために、ほとんどのサイドチェーンはメインチェーンよりも集中化の度合いが高くなっています。

Layer2は完全なブロックチェーンシステムですので、パブリックチェーンの一般的な監査項目はサイドチェーンにも適用されます。詳細については、この記事の末尾にある付録をご覧ください。

また、サイドチェーンの特殊性から、いくつかの追加的な監査が必要とされます。

  • コンセンサスプロトコルのセキュリティ:サイドチェーンのコンセンサスプロトコル(例:PoW、PoS、DPoSなど)が十分に検証およびテストされ、潜在的な脆弱性や攻撃ベクトル(51%攻撃、長期攻撃など)があるかどうかを見直す。
  • コンセンサスノードのセキュリティ:コンセンサスノードのセキュリティを評価し、キー管理、ノード保護、冗長バックアップなどを含め、ノードの侵害や悪用を防ぎます。
  • 資産のロックと解除:サイドチェーンとメインチェーン間の資産の双方向アンカリングメカニズムを確認し、資産のロックと解除のためのスマートコントラクトが安全かつ信頼性があり、二重支出、資産の損失、またはロックの失敗を防ぐことを確認します。
  • クロスチェーンの検証:クロスチェーンの検証の正確性とセキュリティを確認し、検証プロセスが分散化され、改ざん防止され、検証の失敗や悪意のある検証を防止します。
  • 契約コードの監査:サイドチェーン上で実行されているすべてのスマートコントラクトの詳細な監査を行い、特にクロスチェーン操作を処理する際の契約ロジックに可能な脆弱性やバックドアを検出します。
  • アップグレードメカニズム:スマートコントラクトのアップグレードメカニズムが安全であるかどうか、適切な監査とコミュニティの合意プロセスがあるかどうかをチェックし、悪意のあるアップグレードや契約の改ざんを防止します。
  • ノード間通信:サイドチェーンノード間の通信プロトコルが安全であるかどうか、また、中間者攻撃やデータ漏えいを防止するために暗号化されたチャネルが使用されているかどうかを確認してください。
  • クロスチェーン通信:サイドチェーンとメインチェーンの通信チャネルを確認し、データの完全性と信頼性を確保し、通信が乗っ取られたり改ざんされたりするのを防止します。
  • タイムスタンプとブロック時間:サイドチェーンの時間同期メカニズムを検証し、ブロック生成時間の一貫性と正確性を確保し、時間の違いによる攻撃やブロックの巻き戻しを防止します。
  • オンチェーンガバナンスのセキュリティ:サイドチェーンのガバナンスメカニズムを見直して、投票、提案、意思決定プロセスの透明性とセキュリティを確保し、悪意のある制御や攻撃を防止します。
  • トークン経済の監査:サイドチェーンのトークン経済モデルをチェックし、トークンの割り当て、インセンティブメカニズム、インフレモデルなどを確認して、経済的インセンティブが悪意のある行動やシステムの不安定化につながらないようにします。
  • 手数料メカニズム:サイドチェーンの手数料メカニズムをチェックして、メインチェーンとサイドチェーンのユーザーのニーズに合致していることを確認し、手数料の操作やネットワークの混雑を防止します。
  • 資産のセキュリティ:ブロックチェーン上の資産の管理メカニズムを監査し、資産の保管、転送、破棄プロセスが安全かつ信頼性があり、不正アクセスや盗難のリスクがないことを確認します。
  • 鍵管理:サイドチェーンの鍵管理ポリシーを確認して、秘密鍵のセキュリティとアクセス制御を確保し、鍵の漏洩や盗難を防ぎます。

ロールアップ

Rollupは、ブロックチェーンのトランザクションスループットと効率を向上させるために設計されたレイヤー2のスケーリングソリューションです。それは大量のトランザクションをパッケージ化(「Rollup」)し、それらをオフチェーンで処理してメインチェーンへの最終結果のみを提出することで、メインチェーンへの負荷を大幅に軽減します。

ロールアップは、主にzk-Rollupとop-Rollupに分けられます。しかし、ETHとは異なり、BTCのチューリング不完全性のため、BTC上で契約を使用してゼロ知識証明の検証を行うことは不可能です。従来のzk-RollupソリューションはBTC上で実装することはできません。では、zk-Rollupを使用してBTCのLayer2をどのように実装するのでしょうか?次に、B² Networkプロジェクトを例に説明します:

BTCのゼロ知識証明の検証を完了するために、B² Networkはzk-Rollupのゼロ知識証明の検証とop-Rollupのインセンティブチャレンジを組み合わせたTaprootスクリプトを作成しました。その動作メカニズムはおおよそ次のようになります:

  1. B² Networkは、まずユーザーによってイニシエートされたすべての取引をロールアップします。

  2. ソーターを使用してRollupトランザクションをソートした後、分散型ストレージを使用してRollupトランザクションを保存し、同時にzkEVMに処理を委任します。

  3. zkEVMがBTCチェーンの状態を同期した後、契約の実行、結果のマージとパッケージ化などのトランザクションを処理し、アグリゲーターに送信します。

  4. プロバーはゼロ知識証明を生成し、それをアグリゲータに送信します。アグリゲータは取引を集約し、証明をB²ノードに送信します。

  5. B²ノードは、ゼロ知識証明の検証を行い、分散型ストレージ内のRollupデータに基づいてTaprootスクリプトを作成します。

  6. Taprootは、1satoshiの値を持つUTXOです。データ構造のB² InscriptionはすべてのRollupデータを格納し、Tapleafはすべての検証データを格納します。インセンティブチャレンジメカニズムを通過すると、zkプルーフに基づいて検証されたコミットメントとしてBTCに送られます。

Rollupの利点は次のとおりです:

  • Rollupは、メインチェーンのセキュリティと分散化機能を継承しています。定期的に取引データと状態をメインチェーンに送信することで、データの完全性と透明性が確保されます。
  • Rollupは、Ethereumなどの既存のブロックチェーンネットワークにシームレスに統合することができ、開発者は既存のスマートコントラクトやアプリケーションを大幅に変更することなく、その利点を簡単に活用することができます。
  • 大量の取引をオフチェーンで処理し、それらを1つのバッチにまとめてメインチェーンに送信することにより、Rollupは取引処理能力を大幅に向上させ、秒間取引数(TPS)を大幅に増加させます。
  • ロールアップトランザクションは、オフチェーンでのみ処理する必要があり、オンチェーンのトランザクションに必要な計算リソースとストレージスペースを大幅に削減するため、ユーザーのトランザクション手数料を大幅に削減します。

Rollupが直面する課題:

  • オフチェーンデータが利用できない場合、ユーザーは取引を確認し、状態を復元することができなくなる可能性があります。
  • ロールアップトランザクションはバッチ処理され、最終的にメインチェーンに送信する必要があり、より長い決済時間につながる可能性があります。特にop-Rollupでは、紛争期間があるため、トランザクションが最終的に確認されるまでユーザーは長時間待つ必要があります。
  • ZK Rollupは高いセキュリティと即時確認を提供しますが、計算およびストレージ要件が高く、ゼロ知識証明の生成には大量の計算リソースが必要です。

採用された解決策がロールアップであるため、その主要なセキュリティ監査項目は、基本的にETH Layer2と同じです。

その他(バビロン)

従来のBTC Layer2に加えて、最近BTCエコシステムに関連する新しいコンセプトのサードパーティプロトコルもいくつかあります。たとえば、バビロン:

バビロンの目標は、2100万BTCを分散型ステーキング資産に変換することです。Babylonは他のBTCのLayer 2とは異なり、BTCチェーンを拡張しません。それ自体がユニークなチェーンであり、特別なBTC担保プロトコルを持っています。主な目的はPoSチェーンと接続することです。PoSチェーンのより強力なセキュリティを提供するためにBTCを担保し、チェーンのリモートエンドからの攻撃のリスクと中央集権化の問題を解決します。

アーキテクチャは3つの層に分かれています:

Bitcoinレイヤー:これはバビロンの頑丈な基盤であり、ビットコインの広く知られたセキュリティを活用して、すべての取引がビットコインネットワーク上と同様に超安全であることを保証します。

バビロニアレイヤー:バビロンの中心にあるのは、ビットコインをさまざまなプルーフオブステーク(PoS)チェーンに接続するカスタムブロックチェーンであるバビロンレイヤーです。トランザクションを処理し、スマートコントラクトを実行し、エコシステム全体ですべてがスムーズに実行されるようにします。

PoSチェーンレイヤー:トップレイヤーは複数のPoSチェーンで構成されており、それぞれのPoSチェーンはその独自の利点のために選択されています。これによりBabylonChainは驚異的なスケーラビリティと柔軟性を持ち、異なるPoSブロックチェーンの最高の機能を利用することができます。

その動作方法は、BTCチェーン上で署名された最終ブロックを使用してPoSチェーンを保護することにあります。これにより、基本プロトコルが追加の署名ラウンドで拡張されます。最終+1ラウンドのこれらの署名には、ワンタイム抽出可能署名(EOTS)というユニークな特性があります。その目的は、PoSのチェックポイントをBTCに統合し、PoSの長いアンバインディング期間やリモート攻撃の問題を解決することです。

バビロンの利点は次のとおりです。

  • PoSのアンバインディング期間を短くする
  • BTCが担保になっているため、価格はBTCに連動しており、これにより対応するPoSネットワークのインフレ圧力を軽減することができます。
  • BTCの収益の新たな可能性を開きます

バビロンが直面する課題:

  • ステーキングのリターン率などの経済的な設計は、BTCのステーキングの熱意に大きな影響を与えます
  • PoSチェーン間の報酬の一貫性の不足

サードパーティのプロトコルには、実装に応じて異なるセキュリティポイントがあります。バビロンを例にとると、注意が必要なセキュリティ監査項目は次のとおりです。

  1. スマートコントラクトのセキュリティ:BTCの誓約契約はUTXOスクリプトを介して実装されており、そのセキュリティに注意を払う必要があります。

  2. Signature algorithm security: シグネチャは契約でユーザーの質流管理に使用され、そのアルゴリズムのセキュリティは、シグネチャの生成と検証に関連しています。

  3. プロトコル経済モデルの設計:プロトコルの経済モデルが報酬とペナルティの観点から合理的に設定されているかどうか、およびそれがユーザー資産の損失につながるかどうか。

付録:

パブリックチェーン&Layer2一般監査項目

  • 整数オーバーフロー:整数オーバーフローと整数アンダーフローをチェックしてください
  • 無限ループ:プログラムのループ判定条件が妥当かどうかを確認します
  • 無限再帰呼び出し:プログラムの再帰呼び出しの終了条件が妥当かどうかを確認します
  • レース条件:共有リソースへのアクセス操作を並行条件でチェックしてください
  • 異常クラッシュ:プログラムが能動的に終了することを許可する例外スローイングコードをチェックしてください
  • 0除算の脆弱性:0除算があるか確認する
  • タイプ変換:タイプ変換が正しいかどうか、および変換プロセス中に重要な情報が失われていないかを確認してください
  • 配列外の境界: 配列の境界を超えた要素がアクセスされているかどうかを確認してください
  • 逆シリアル化の脆弱性:逆シリアル化プロセス中に問題がないか確認してください
  • 機能実装セキュリティ:各RPCインターフェース実装にセキュリティリスクがあるかどうか、およびRPCインターフェース機能と一致しているかどうかを確認します。
  • マッチするようにデザインすることができます
  • 機密性の高い RPC インターフェイスのアクセス許可設定が妥当かどうか: 機密性の高い RPC インターフェイスのアクセス許可設定を確認します
  • 暗号化転送メカニズム:TLSなどの暗号化転送プロトコルが使用されているかどうかを確認してください。
  • リクエストデータの形式解析:リクエストデータの形式解析プロセスをチェックします
  • ウォレットのロック解除攻撃:ノードがウォレットをロック解除すると、RPCによって資金を盗むように要求されます。
  • 従来のWebセキュリティ:次の脆弱性を確認します。 クロスサイトスクリプティング(XSS)/テンプレートインジェクション
  • サードパーティのコンポーネントの脆弱性 / HTTPパラメータの汚染 / SQLインジェクション / XXEエンティティインジェクション逆シリアル化
  • 脆弱性/SSRF脆弱性/コードインジェクション/ローカルファイルインクルージョン/リモートファイルインクルージョン/コマンド実行インジェクションおよびその他の伝統的な脆弱性
  • ネットワーク・ノード ID の認証および識別メカニズム: ノード識別メカニズムがあるかどうか、およびノード識別メカニズムをバイパスできるかどうかを確認します。
  • ルーティングテーブルの汚染:ルーティングテーブルがランダムに挿入または上書きされる可能性があるかどうかを確認します
  • ノード発見アルゴリズム:ノード発見アルゴリズムがバランスが取れており、予測不可能であるかどうか、例えばバランスの取れていない距離アルゴリズムなどの問題を確認してください。
  • 接続数占有監査:P2Pネットワーク接続ノードの数の制限と管理が適切かどうかをチェックします
  • Eclipse attack: エクリプス攻撃のコストと被害を評価し、必要に応じて定量分析を提供します
  • シビル攻撃:投票コンセンサスメカニズムを評価し、投票資格チェック戦略を分析する
  • 盗聴攻撃: プライバシーリークのための通信プロトコルのチェック
  • エイリアンの攻撃: ノードが類似のチェーンノードを識別できるかどうかを評価します
  • タイムハイジャッキング:ノードのネットワーク時間計算メカニズムの確認
  • メモリ枯渇攻撃: 大量メモリ使用箇所のチェック
  • ハードドライブの枯渇攻撃:大きなファイルが保存されている場所を確認してください
  • ソケット圧力攻撃:接続数の制限ポリシーを確認してください
  • カーネル ハンドル枯渇攻撃: ファイル ハンドルなど、カーネル ハンドルの作成の制限を確認します。
  • 持続的なメモリーリーク:メモリーリークをチェックします
  • ハッシュアルゴリズムのセキュリティ:ハッシュアルゴリズムの衝突抵抗性のチェック
  • デジタル署名アルゴリズムのセキュリティ:署名アルゴリズムとアルゴリズムの実装のセキュリティを確認します
  • 暗号化アルゴリズムのセキュリティ:暗号化アルゴリズムのセキュリティをチェックし、アルゴリズムの実装セキュリティを確認します
  • 乱数生成器のセキュリティ: 重要な乱数生成アルゴリズムが適切かどうかを確認する
  • BFT実装セキュリティ:BFTアルゴリズムの実装セキュリティを評価する
  • Fork-choice rules: フォーク選択ルールをチェックして安全性を確保します
  • 中央集権検出:システム設計に過度な中央集権があるかどうかを特定します
  • インセンティブ監査:セキュリティへのインセンティブの影響を評価する
  • ダブルスペンディング攻撃:コンセンサスがダブルスペンディング攻撃を防御できるかどうかを確認してください
  • MEV攻撃監査:ブロックパッケージングノードのMEVがチェーンの公平性に与える影響を確認
  • ブロック同期プロセスの監査:同期プロセス中のセキュリティ問題をチェックします
  • ブロック形式解析プロセスの監査:解析プロセスにおけるセキュリティ問題をチェックし、クラッシュにつながる解析エラーなどを調査します
  • ブロック生成プロセスの監査:Merkleツリールートの構築方法が合理的かどうかを含む、ブロック生成プロセス中のセキュリティ問題を確認します
  • ブロック検証プロセスの監査:ブロック署名コンテンツ項目と検証ロジックが十分かどうかを確認します
  • ブロック確認ロジックの監査:ブロック確認アルゴリズムと実装が妥当かどうかを確認します
  • ブロックハッシュ衝突:ブロックハッシュ衝突の構築方法と衝突処理が合理的かどうかを確認してください。
  • ブロック処理リソースの制限: 孤立ブロック プール、検証計算、ハード ディスク アドレス指定などのリソース制限が妥当かどうかを確認します。
  • トランザクション同期プロセスの監査: 同期プロセス中のセキュリティの問題をチェックします
  • トランザクションハッシュ衝突:トランザクションハッシュ衝突の構築方法と衝突の処理を確認してください
  • トランザクション形式の解析: 形式の解析プロセス中に、クラッシュにつながる解析エラーなどのセキュリティ上の問題を確認します
  • トランザクションの合法性検証:各種類のトランザクション署名コンテンツ項目と検証ロジックが十分かどうかを確認します
  • トランザクション処理リソース制限: トランザクション プール、検証計算、ハード ディスク アドレス指定などのリソース制限が妥当かどうかを確認します。
  • トランザクションの改ざん攻撃:トランザクションのハッシュを変更せずに内部フィールド(ScriptSigなど)を変更することで、トランザクションの妥当性に影響を与えずに変更できるのか?
  • トランザクション再生攻撃の監査:トランザクション再生のシステム検知を確認します
  • コントラクトのバイトコード検証:コントラクトの仮想マシン検証プロセスのセキュリティ問題(整数オーバーフロー、無限ループなど)を確認します。
  • コントラクトバイトコードの実行:仮想マシンがバイトコードを実行するプロセスにおける、整数オーバーフロー、無限ループなどのセキュリティ問題を確認します。
  • ガスモデル:トランザクション処理/契約実行の各原子操作に対応する手数料がリソース消費に比例しているかどうかを確認してください
  • ログの整合性:キー情報がログに記録されているかどうかを確認してください
  • ログレコードのセキュリティ:ログ処理中の不適切な処理(整数オーバーフローなど)に起因するセキュリティ上の問題がないか確認します。
  • ログには個人情報が含まれています:キーなどの個人情報がログに含まれているかどうかを確認してください
  • ログストレージ:ログレコードが過剰なコンテンツを記録していないか、ノードのリソース消費を引き起こしていないかを確認します
  • ノードコードのサプライチェーンセキュリティ:パブリックチェーンフレームワークのすべてのサードパーティーライブラリ、コンポーネント、および対応するバージョンの既知の問題をチェックしてください

Beosinは、世界で最初のブロックチェーンセキュリティ企業の1つであり、形式的な検証に取り組んでいます。「セキュリティ+コンプライアンス」の完全なエコロジカルビジネスに注力し、世界各地に10か国以上の支店を設立しています。その業務は、プロジェクトがオンラインになる前のコードのセキュリティ監査、プロジェクトの運用中のセキュリティリスクの監視とブロック、盗難の回復など、現地の規制要件に準拠した「ワンストップ」ブロックチェーンコンプライアンス製品+セキュリティサービス、仮想資産のマネーロンダリング(AML)およびコンプライアンス評価などのセキュリティサービスをカバーしています。監査の必要があるプロジェクト関係者は、Beosinセキュリティチームにご連絡ください。

免責事項:

  1. この記事は[ベオシン]. すべての著作権は元の作者に帰属します [Beosin].この転載に異議がある場合は、Gate Learnチームがすぐに対応します。
  2. 免責事項:この記事で表明された見解や意見は、著者のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に断りがない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.