Bitcoinの制限を克服する:BTC Layer2スケーリングの監査に関する完全ガイド

この記事では、ライトニングネットワーク、サイドチェーン、およびロールアップ技術などのBTC Layer2スケーリングソリューションについて探求し、BTCネットワークの分散化とセキュリティを維持しながら迅速で低コストの取引を可能にします。ライトニングネットワークは、支払いチャネルとオフチェーン取引を通じて取引速度とプライバシーを向上させ、CKBやStacksなどのサイドチェーンは、双方向ペギングを通じて独立した革新的な機能を提供します。ロールアップ技術は、オフチェーンで大量の取引を処理することでスループットを向上させますが、決済時間や計算リソースの課題に直面しています。

2009年の創設以来、世界初の暗号通貨であるBitcoin(BTC)は、デジタル資産や分散型金融の礎となってきました。しかし、ユーザー数や取引量が増加するにつれて、BTCネットワークのいくつかの問題がますます明らかになっています:

  • 高い取引手数料:Bitcoinネットワークが混雑していると、ユーザーは取引が迅速に確認されることを確実にするために高い手数料を支払う必要があります。
  • 取引確認時間:Bitcoinブロックチェーンは約10分ごとに新しいブロックを生成するため、オンチェーン取引は通常、最終的と見なされる前に複数のブロック確認が必要です。
  • スマートコントラクトの制限:Bitcoinのスクリプト言語は機能が制限されており、複雑なスマートコントラクトを実装することが難しいです。

この記事では、ビットコインなどの技術に言及していますライトニングネットワーク, サイドチェーン、およびロールアップは、BTC Layer2スケーリングソリューションとして集約されます。これらの技術により、BTCネットワークの分散化とセキュリティを維持しながら、迅速で低コストな取引が可能になります。Layer2技術の導入により、取引速度が向上し、取引コストが削減され、ユーザーエクスペリエンスが最適化され、ネットワーク容量が拡大されることで、BTCの将来の発展において重要な技術的サポートとイノベーションが提供されます。

現在、BeosinはMerlin ChainなどのいくつかのBTC Layer2プロジェクトの公式セキュリティパートナーとなり、Bitmap.Games、Surf Protocol、Savmswap、Mineralなど、複数のBTCエコシステムプロトコルを監査しています。過去の監査では、Ronin Network、Clover、Self Chain、Crust Networkなどの多くの有名なパブリックチェーンがBeosinのパブリックチェーンセキュリティ監査に合格しました。Beosinは現在、BTC Layer2向けの包括的な監査ソリューションを提供し、BTCエコシステム全体に信頼性の高い徹底的なセキュリティ監査サービスを提供しています。

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

Lightning Networkの最初のコンセプトは、「支払いチャネル」として知られていました。設計思想は、未確認の取引の状態をトランザクションの置き換えを通じて継続的に更新し、最終的にビットコインネットワークにブロードキャストされるまでの間でした。2009年にSatoshi Nakamotoがビットコインを作成したとき、支払いチャネルのアイディアを既に提案しており、さらにBitcoin 1.0で支払いチャネルのためのドラフトコードも含まれていました。このドラフトでは、ユーザーはネットワークによって確認される前に取引の状態を更新できるようになっていました。しかし、その後のホワイトペーパーのリリースまで待たなければなりませんでした。ビットコイン・ライトニングネットワーク:スケーラブルなオフチェーンインスタントペイメントライトニングネットワークが実際に存在し、一般の注目を集めるようになったこと。

今日、支払いチャネルとライトニングネットワークの実装はかなり成熟してきました。現在、ライトニングネットワークは13,325のノードと49,417のチャネルで構成され、合計4,975 BTCがステークされています。

https://1ml.com/

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

関係する両者は、ビットコインメインネットに2つの取引を提出します: チャネルを開くための1つと閉じるためのもう1つ。 一般的に、このプロセスには3つのステップが含まれます。

1.チャンネルオープニング:

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

2.オフチェーン取引:

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

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

3. チャネルの閉鎖と台帳の決済:

いずれかのユーザーがチャンネルを退出すると、最終の台帳決済が行われます。このプロセスにより、チャンネル内のすべての資金が最新の状態に従って分配されることが保証されます。その後、両者はマルチシグネチャウォレットからそれぞれの決済残高を引き出し、チャンネルが閉じられた時点での資金の実際の分配を反映します。最後に、台帳の最終状態を表す取引がBitcoinメインネットワークに送信されます。

ライトニングネットワークの利点は次のとおりです:

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

ライトニングネットワークが直面する課題には、次のようなものがあります:

  • ネットワーク流動性:
    ライトニングネットワークは、チャネルに事前にロックされたBitcoinに依存しています。つまり、ユーザーは取引を円滑にするために、事前に支払いチャネルに十分なBitcoinを預け入れる必要があります。支払いが失敗する可能性があり、特に大きな支払いの場合には流動性が不足しているときに注意が必要です。
  • ルーティング:
    送信元から受信元への効果的なルートを見つけることは、特にネットワークが規模拡大するにつれて複雑な問題となる可能性があります。ネットワークノードとチャネルの数が増えるにつれて、支払い完了の成功を確実にすることがますます困難になります。
  • カストディアル信託:ノードは悪意のある攻撃を受ける可能性があり、ユーザーは、接続されているノードが資金を盗もうとはしないことを信頼する必要があります。また、ノードが秘密鍵の漏洩を防げるかどうかという問題もあります。
  • テクニカルスタンダードと相互運用性: ライトニングネットワークのさまざまな実装間の相互運用性を確保するためには、一貫した技術基準とプロトコルが必要です。現在、複数の開発チームがライトニングネットワークのさまざまな実装に取り組んでおり、互換性の問題が発生する可能性があります。
  • プライバシー問題: ビットコイン取引のプライバシーを向上させるライトニングネットワークですが、取引情報はまだ追跡や分析が可能です。さらに、ネットワークノードの運営者は、自分のノードを通過する取引を見ることができ、一部のプライバシーが危険にさらされる可能性があります。

ライトニングネットワークのセキュリティは、ビットコインのオフチェーンのスケーラビリティとユーザー資産の安全性に直接影響します。したがって、公開チェーンの一般的な監査項目に加えて(この文書の最後の付録で詳細に説明されています)、ライトニングネットワークは以下の主要なセキュリティリスクにも対処する必要があります。

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

サイドチェーン

ライトニングネットワークとは異なり、サイドチェーンはメインチェーン(例:BTCブロックチェーンなど)と並行して運営される独立したブロックチェーンであり、2WP(双方向ペッグ)として知られるメカニズムを介してそれと連携します。サイドチェーンの目的は、メインチェーンのプロトコルを変更せずに追加機能とスケーラビリティを実現することです。

サイドチェーンは、独自のブロックチェーンとして、独自のコンセンサスメカニズム、ノード、およびトランザクション処理ルールを持っています。特定のアプリケーションシナリオのニーズに応じて、さまざまな技術とプロトコルを採用することができます。サイドチェーンは、メインチェーンとの間で資産を自由かつ安全に移動できるように、双方向ペッグメカニズムを採用します。双方向ペッグメカニズムの運用は、一般的に以下の手順を含んでいます。

  1. ユーザーはBTCをメインチェーンにロックします。信頼された実体は、簡略支払検証(SPV)を使用して、ユーザーのロックトランザクションが確認されたかどうかを確認します。

  2. 信頼できるエンティティは、サイドチェーン上でユーザーに等価な量のトークンを発行します。

  3. 取引を完了した後、ユーザーは残りのトークンをサイドチェーンにロックします。

  4. 取引の正当性を確認した後、信頼されたエンティティが対応するBTCの価値をメインチェーン上のユーザーにアンロックおよびリリースします。

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

注意2:SPV検証により、ノードは全体のブロックチェーンをダウンロードせずに特定のトランザクションの妥当性を検証できます。SPVノードはブロックヘッダーのみをダウンロードし、マークルツリーを使用して、トランザクションがブロックに含まれているかを検証します。

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

CKB (Nervos Network) \
Nervos Networkは、ビットコインのProof of Work(PoW)コンセンサスメカニズムのセキュリティと分散化の利点を活用するよう設計されたオープンソースのパブリックブロックチェーンエコシステムであり、よりスケーラブルで柔軟なUTXOモデルを導入して取引を処理します。その中心には、RISC-V上に構築されたPoWを利用したLayer 1ブロックチェーンであるCommon Knowledge Base(CKB)があります。UTXOモデルをCellモデルに拡張し、任意のデータを保存し、任意の言語で書かれたスクリプトをサポートして、スマートコントラクトとしてチェーン上で実行することができます。

スタック

Stacksは、Proof of Transfer(PoX)メカニズムを介して、各StacksブロックをBitcoinブロックに接続します。スマートコントラクトの開発を支援するために、StacksはClarityプログラミング言語を設計しています。Clarityでは、get-burn-block-info?機能は、Bitcoinブロックの高さを入力してブロックのヘッダーハッシュを取得することができます。burn-block-heightキーワードは、Bitcoinチェーンの現在のブロック高を取得します。これらの機能により、ClarityスマートコントラクトはBitcoinベースチェーンの状態を読み取ることができ、Bitcoin取引が契約をトリガーできます。これらのスマートコントラクトを自動的に実行することにより、StacksはBitcoinの機能を拡張します。Stacksの詳細な分析については、Beosinの以前の研究記事を参照してください。Stacksとは何ですか?BTCレイヤー2ネットワークのStacksが直面する課題は何ですか?

サイドチェーンの利点

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

サイドチェーンの課題

  • サイドチェーンには独自のコンセンサスメカニズムがあり、BTCのメインチェーンほど安全とは限らない場合があります。サイドチェーンのコンセンサスメカニズムが弱いか脆弱性があると、51%攻撃やその他の攻撃が起こり、ユーザー資産の安全が危険にさらされる可能性があります。BTCのメインチェーンのセキュリティは、その巨大なハッシュパワーと広範なノード分散に依存しており、サイドチェーンがそれに匹敵することができないかもしれません。
  • 2ウェイペグメカニズムの実装には、複雑な暗号アルゴリズムとプロトコルが必要です。このメカニズムに脆弱性があると、メインチェーンとサイドチェーン間の資産移転に問題が生じ、資産の損失や盗難の可能性があります。
  • スピードとセキュリティのバランスを取るため、ほとんどのサイドチェーンはメインチェーンよりも中央集権化されています。

Layer 2は完全なブロックチェーンシステムであり、一般的な公開ブロックチェーンの監査項目はサイドチェーンにも適用されます。詳細については、この記事の最後にある付録を参照してください。

また、その独自の特性のため、サイドチェーンにはいくつかの追加の監査が必要です。

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

ロールアップ

Rollupは、ブロックチェーンのトランザクションのスループットと効率を向上させるために設計されたレイヤー2のスケーリングソリューションです。多数のトランザクションを集約(ローリングアップ)してオフチェーンで処理することで、メインチェーンへの負荷を軽減し、最終結果のみを送信します。

Rollupには、zk-Rollupとop-Rollupの2つの主要なタイプがあります。ただし、Ethereumとは異なり、Bitcoinのチューリング完全性の欠如により、スマートコントラクトをゼロ知識証明(ZKP)検証に直接使用することはできません。これは、従来のzk-RollupソリューションをBitcoin上に実装することができないことを意味します。では、どのようにしてzk-Rollupを使用してBitcoin Layer 2のスケーリングを実現できるのでしょうか?例として、B² Networkプロジェクトを探ってみましょう。

BitcoinのZKP検証を実行するために、B² Networkはzk-Rollupのゼロ知識証明検証とop-Rollupのインセンティブチャレンジメカニズムを統合したTaprootスクリプトを開発しました。こういう仕組みです:

  1. B² Networkはまずすべてのユーザートランザクションをロールアップします。
  2. その後、シーケンサーはこれらのRollupトランザクションを順番に並べ、分散型ストレージに保存し、zkEVMを介して処理します。
  3. Bitcoinチェーンの状態を同期した後、zkEVMは契約の実行やその他の取引を処理し、結果をまとめて集約者に送信します。
  4. プルーバーはゼロ知識証明を生成し、それを集約者に送信します。集約者は取引と証明を組み合わせ、それらをB²ノードに転送します。
  5. B²ノードはゼロ知識証明を検証し、分散型ストレージに保存されているRollupデータに基づいてTaprootスクリプトを作成します。
  6. Taprootは、値が1サトシのUTXOであり、そのデータ構造にはB² Inscriptionが含まれており、すべてのRollupデータを格納しています。一方、Tapleafはすべての証明の検証データを格納しています。インセンティブチャレンジメカニズムに合格した後、Bitcoinにzk-proofベースのコミットメントとして提出されます。

Rollupの利点:

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

Rollupの課題:

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

Rollupが使用されていることを考慮すると、その主要なセキュリティ監査項目は、EthereumのLayer 2と一致しています。

他の人(バビロン)

従来のBTC Layer 2ソリューションに加えて、BabylonなどBTCエコシステムに関連する新しいサードパーティープロトコルが登場しています。

バビロンは、21百万BTCを分散型ステーキング資産に変えることを目指しています。他のBTCレイヤー2の解決策とは異なり、バビロンはBTCネットワークのスケーリングに焦点を当てていません。代わりに、これは主にProof of Stake(PoS)チェーンとインターフェースするために設計された専門のBTCステーキングプロトコルを持つユニークなブロックチェーンです。その目標は、PoSチェーンのセキュリティを向上させるためにBTCをステーキングし、長期攻撃や中心化リスクなどの問題に対処することです。

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

  • ビットコイン レイヤー:これはビットコインネットワーク上と同様に、すべての取引が超安全であることを確実にするために、ビットコインの名声あるセキュリティを活用するバビロンの堅固な基盤です。
  • バビロンレイヤー:バビロンのコア、このカスタムブロックチェーンはBitcoinをさまざまなPoSチェーンに接続します。トランザクションを処理し、スマートコントラクトを実行し、エコシステム全体でのスムーズな運営を確保します。
  • PoS チェーン レイヤー:トップレイヤーは、それぞれ固有の利点を持つ複数のPoSチェーンで構成されています。この構造により、BabylonChainは傑出したスケーラビリティと柔軟性を提供し、異なるPoSブロックチェーンの最良の機能を利用できるようにしています。

バビロンは、PoSチェーンを保護するためにBTCチェーン上で最終ブロックに署名することによって動作します。 これにより、基本プロトコルが追加の署名ラウンドを持つことになります。 最終の+1ラウンドのこれらの署名には、ユニークな特徴があります:それらは抽出可能なワンタイム署名(EOTS)です。 目標は、PoSシステムでの長期間のアンバインディングと長距離攻撃の問題に対処するために、PoSチェックポイントをBTCチェーンに統合することです。

バビロンの利点:

  • バビロンはPoSステーキングのアンバインディングプロセスを加速させます。
  • BTCをステーキングすることで、Babylonは対応するPoSネットワークのインフレーション圧力を緩和するのに役立ちます。
  • バビロンは、BTC保有者が収益を得る新しい道を開きます。

バビロンの挑戦:

  • ステーキング報酬率やその他の経済要因は、BTCのステーキングのインセンティブに大きな影響を与えます。
  • 異なるPoSチェーン間で報酬メカニズムの統一性がありません。

サードパーティプロトコルの特定の実装に応じて、セキュリティ焦点が異なります。 Babylonの場合、いくつかの主要なセキュリティ監査ポイントには次のようなものがあります。

1. スマートコントラクトセキュリティ:BTC上のステーキング契約はUTXOスクリプトを介して実装されており、そのセキュリティには注意が必要です。2. 署名アルゴリズムのセキュリティ:契約内のステーキングを管理するために使用される署名アルゴリズムのセキュリティは重要であり、署名の生成と検証に影響します。3. 経済モデル設計:特に報酬とペナルティの観点から、プロトコルの経済モデルは検討される必要があり、ユーザー資産の損失を防ぐために検証される必要があります。

付録:

パブリックチェーンおよびレイヤー2の一般監査項目

  • 整数オーバーフロー:整数オーバーフローおよびアンダーフローをチェックしてください。
  • 無限ループ:プログラムのループ条件が妥当かどうかを検証してください。
  • 無限再帰:再帰呼び出しの終了条件が適切に設定されていることを確認してください。
  • レースコンディション:並行条件下で共有リソースへのアクセス操作を調査します。
  • 未処理の例外:予期せぬプログラムの終了を引き起こす例外をスローするコードを特定します。
  • ゼロによる除算:ゼロでの除算が発生する可能性がある箇所をチェックしてください。
  • 型変換:プロセスで正確な型変換が行われ、重要な情報が失われないようにしてください。
  • Array Out-of-Bounds:配列要素が有効な境界内でアクセスされることを確認してください。
  • デシリアライゼーションの脆弱性:逆シリアル化プロセス中の問題をチェックします。
  • 機能実装セキュリティ:RPCインターフェースの実装が安全であり、機能設計と一貫しているかどうかを確認してください。
  • センシティブRPCインターフェースの権限設定:機密RPCインターフェースのアクセス許可が適切に構成されていることを確認してください。
  • 暗号化された伝送メカニズム:暗号化された転送プロトコル(TLSなど)の使用を検証します。
  • リクエストデータの形式解析:リクエストデータ形式の解析プロセスをチェックしてください。
  • ウォレットアンロック攻撃:ノードがウォレットをアンロックする際に、RPCリクエストを介して資金が盗まれないようにしてください。
  • 従来のWebセキュリティ:次の脆弱性をチェックしてください:クロスサイトスクリプティング(XSS)、テンプレートインジェクション、サードパーティコンポーネントの脆弱性、HTTPパラメータ汚染、SQLインジェクション、XXEインジェクション、逆シリアル化の脆弱性、SSRFの脆弱性、コードインジェクション、ローカルファイルインクルージョン、リモートファイルインクルージョン、コマンドインジェクションなど。
  • ネットワークノードの認証および識別メカニズム:ノードの識別メカニズムが存在し、回避できないことを確認してください。
  • ルーティングテーブルの毒ルーティングテーブルが任意に操作または上書きされていないか確認してください。
  • ノード検出アルゴリズム:ノード発見アルゴリズムがバランスを取り、予測不可能であり、距離アルゴリズムの不均衡などの問題に対処されていることを確認します。
  • 接続占有監査:P2Pネットワークに接続されたノードの制限と管理が適切であることを確認してください。
  • Eclipse Attack:エクリプス攻撃のコストと影響を評価し、必要に応じて定量分析を提供します。
  • シビル攻撃:投票コンセンサスメカニズムを評価し、投票資格を検証する戦略を分析します。
  • 盗聴攻撃:通信プロトコルが個人情報を漏洩していないことを確認してください。
  • エイリアン攻撃:ノードが同じブロックチェーンネットワーク内の他のノードを認識できるかどうかを評価します。
  • タイムハイジャック:ノード上のネットワーク時間を計算するメカニズムを確認します。
  • メモリ枯渇攻撃:高メモリ消費領域をチェックします。
  • ディスク枯渇攻撃:大容量ファイルストレージに関連するエリアをチェックしてください。
  • ソケットストレス攻撃:接続数を制限する戦略を検証します。
  • カーネルハンドル枯渇攻撃:カーネルハンドルの作成に制限がある場合、ファイルハンドルなどが適切な範囲内に収まっていることを確認してください。
  • 持続的なメモリーリーク:メモリーリークの発生しやすいエリアを特定します。
  • ハッシュアルゴリズムセキュリティ:ハッシュアルゴリズムが衝突耐性であることを確認してください。
  • デジタル署名アルゴリズムのセキュリティ:署名アルゴリズムとその実装のセキュリティを検証します。
  • 暗号化アルゴリズムセキュリティ:暗号化アルゴリズムとその実装が安全であることを確認してください。
  • 乱数生成器のセキュリティ:重要な乱数生成アルゴリズムが妥当であることを確認してください。
  • BFT実装セキュリティ:ビザンチン容認障害耐性(BFT)アルゴリズム実装のセキュリティを評価します。
  • Fork Choice Rule:セキュリティを確保するためにフォーク選択ルールを検証します。
  • 中央集権検出:システム設計における過度な中央集権化を特定します。
  • インセンティブメカニズム監査:セキュリティへのインセンティブメカニズムの影響を評価します。
  • 二重支払い攻撃:二重支出攻撃に対抗できるかどうかを検証します。
  • MEV攻撃監査:ブロックパッキング中の最大採取可能価値(MEV)がチェーンの公平性に与える影響を評価します。
  • ブロック同期プロセス監査:同期プロセス中にセキュリティの問題をチェックしてください。
  • ブロック形式の解析監査:ブロック形式の解析中にセキュリティ上の懸念を評価します。たとえば、解析エラーがクラッシュにつながる可能性があります。
  • ブロック生成プロセス監査:ブロック生成プロセスのセキュリティを確認し、Merkleツリールートの構築を含む。
  • ブロック検証プロセス監査:ブロック署名のコンテンツ項目と検証ロジックが適切かどうかを確認してください。
  • ブロック確認ロジック監査:ブロック確認アルゴリズムとその実装が妥当かどうかを評価します。
  • ブロックハッシュ衝突:ブロックハッシュ衝突がどのように構築されているか、およびそのような衝突の処理が適切かどうかを確認してください。
  • ブロック処理リソース制限:孤児ブロックプール、検証計算、およびディスクアドレッシングのリソース制限が適切かどうかを検証してください。
  • トランザクション同期プロセス監査:取引同期プロセス中のセキュリティ問題をレビューします。
  • トランザクションハッシュ衝突:トランザクションハッシュの衝突がどのように構築され、処理されるかを確認してください。
  • 取引フォーマットの解析:トランザクション形式の解析中にクラッシュを引き起こす解析エラーなど、セキュリティ上の懸念を評価します。
  • 取引の正当性の検証:さまざまな取引署名のコンテンツアイテムを検証し、検証ロジックが十分かどうかを確認します。
  • 取引処理リソース制限:トランザクションプール、検証計算、およびディスクアドレッシングのリソース制限が合理的かどうかを確認してください。
  • トランザクションの改ざん攻撃:トランザクションが内部フィールド(例:ScriptSig)を変更してトランザクションハッシュを変更できるかどうかを評価し、その有効性に影響を与えないかどうかを評価します。
  • トランザクションリプレイ攻撃監査:取引再生攻撃のシステム検出を確認します。
  • スマートコントラクトバイトコードの検証:仮想マシンの契約検証プロセスのセキュリティを確認します。整数オーバーフローや無限ループのチェックなどを行います。
  • スマートコントラクトバイトコードの実行:仮想マシンによるバイトコードの実行中に、整数オーバーフローと無限ループなどのセキュリティ上の懸念を評価します。
  • ガスモデル:各アトミック操作の取引処理/契約実行手数料がリソース消費に比例していることを確認してください。
  • ログの整合性:重要な情報がログに記録されていることを確認してください。
  • ログセキュリティ:ログ処理が整数オーバーフローなどのセキュリティ問題を導入していないかをチェックしてください。
  • 機密情報を含むログ:キーまたは他の個人情報が含まれていないことを確認してください。
  • ログストレージ:ノード上のリソース消費に過剰なログ記録が影響するかどうかを確認してください。
  • ノードコードサプライチェーンセキュリティ:すべてのサードパーティライブラリ、コンポーネント、およびパブリックチェーンフレームワークバージョンの既知の問題を確認します。

世界中で最も早く形式検証に特化したブロックチェーンセキュリティ企業の1つであるBeosinは、包括的な「セキュリティ+コンプライアンス」エコシステムに焦点を当てています。同社は世界各地に10カ国以上の支店を設立しており、プロジェクトの立ち上げ前のコードセキュリティ監査、プロジェクト運営中のリアルタイムセキュリティリスクモニタリングとインターセプト、盗まれた資産の回収、仮想資産のマネーロンダリング対策(AML)、地元の規制要件を満たすコンプライアンス評価など、ワンストップのブロックチェーンコンプライアンス製品とセキュリティサービスを提供しています。監査が必要なプロジェクトは、Beosinセキュリティチームにご連絡ください。

免責事項:

  1. この記事は[から転載されましたBeosin], すべての著作権は原著作者に帰属します [Beosin].もしこの転載に異議がある場合は、お問い合わせください。Gate Learnチームが迅速に対応します。
  2. 責任の免責事項:この記事で表現されている意見や考えは、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳はGate Learnチームによって行われます。特に記載がない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

Bitcoinの制限を克服する:BTC Layer2スケーリングの監査に関する完全ガイド

中級8/27/2024, 9:33:27 AM
この記事では、ライトニングネットワーク、サイドチェーン、およびロールアップ技術などのBTC Layer2スケーリングソリューションについて探求し、BTCネットワークの分散化とセキュリティを維持しながら迅速で低コストの取引を可能にします。ライトニングネットワークは、支払いチャネルとオフチェーン取引を通じて取引速度とプライバシーを向上させ、CKBやStacksなどのサイドチェーンは、双方向ペギングを通じて独立した革新的な機能を提供します。ロールアップ技術は、オフチェーンで大量の取引を処理することでスループットを向上させますが、決済時間や計算リソースの課題に直面しています。

2009年の創設以来、世界初の暗号通貨であるBitcoin(BTC)は、デジタル資産や分散型金融の礎となってきました。しかし、ユーザー数や取引量が増加するにつれて、BTCネットワークのいくつかの問題がますます明らかになっています:

  • 高い取引手数料:Bitcoinネットワークが混雑していると、ユーザーは取引が迅速に確認されることを確実にするために高い手数料を支払う必要があります。
  • 取引確認時間:Bitcoinブロックチェーンは約10分ごとに新しいブロックを生成するため、オンチェーン取引は通常、最終的と見なされる前に複数のブロック確認が必要です。
  • スマートコントラクトの制限:Bitcoinのスクリプト言語は機能が制限されており、複雑なスマートコントラクトを実装することが難しいです。

この記事では、ビットコインなどの技術に言及していますライトニングネットワーク, サイドチェーン、およびロールアップは、BTC Layer2スケーリングソリューションとして集約されます。これらの技術により、BTCネットワークの分散化とセキュリティを維持しながら、迅速で低コストな取引が可能になります。Layer2技術の導入により、取引速度が向上し、取引コストが削減され、ユーザーエクスペリエンスが最適化され、ネットワーク容量が拡大されることで、BTCの将来の発展において重要な技術的サポートとイノベーションが提供されます。

現在、BeosinはMerlin ChainなどのいくつかのBTC Layer2プロジェクトの公式セキュリティパートナーとなり、Bitmap.Games、Surf Protocol、Savmswap、Mineralなど、複数のBTCエコシステムプロトコルを監査しています。過去の監査では、Ronin Network、Clover、Self Chain、Crust Networkなどの多くの有名なパブリックチェーンがBeosinのパブリックチェーンセキュリティ監査に合格しました。Beosinは現在、BTC Layer2向けの包括的な監査ソリューションを提供し、BTCエコシステム全体に信頼性の高い徹底的なセキュリティ監査サービスを提供しています。

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

Lightning Networkの最初のコンセプトは、「支払いチャネル」として知られていました。設計思想は、未確認の取引の状態をトランザクションの置き換えを通じて継続的に更新し、最終的にビットコインネットワークにブロードキャストされるまでの間でした。2009年にSatoshi Nakamotoがビットコインを作成したとき、支払いチャネルのアイディアを既に提案しており、さらにBitcoin 1.0で支払いチャネルのためのドラフトコードも含まれていました。このドラフトでは、ユーザーはネットワークによって確認される前に取引の状態を更新できるようになっていました。しかし、その後のホワイトペーパーのリリースまで待たなければなりませんでした。ビットコイン・ライトニングネットワーク:スケーラブルなオフチェーンインスタントペイメントライトニングネットワークが実際に存在し、一般の注目を集めるようになったこと。

今日、支払いチャネルとライトニングネットワークの実装はかなり成熟してきました。現在、ライトニングネットワークは13,325のノードと49,417のチャネルで構成され、合計4,975 BTCがステークされています。

https://1ml.com/

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

関係する両者は、ビットコインメインネットに2つの取引を提出します: チャネルを開くための1つと閉じるためのもう1つ。 一般的に、このプロセスには3つのステップが含まれます。

1.チャンネルオープニング:

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

2.オフチェーン取引:

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

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

3. チャネルの閉鎖と台帳の決済:

いずれかのユーザーがチャンネルを退出すると、最終の台帳決済が行われます。このプロセスにより、チャンネル内のすべての資金が最新の状態に従って分配されることが保証されます。その後、両者はマルチシグネチャウォレットからそれぞれの決済残高を引き出し、チャンネルが閉じられた時点での資金の実際の分配を反映します。最後に、台帳の最終状態を表す取引がBitcoinメインネットワークに送信されます。

ライトニングネットワークの利点は次のとおりです:

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

ライトニングネットワークが直面する課題には、次のようなものがあります:

  • ネットワーク流動性:
    ライトニングネットワークは、チャネルに事前にロックされたBitcoinに依存しています。つまり、ユーザーは取引を円滑にするために、事前に支払いチャネルに十分なBitcoinを預け入れる必要があります。支払いが失敗する可能性があり、特に大きな支払いの場合には流動性が不足しているときに注意が必要です。
  • ルーティング:
    送信元から受信元への効果的なルートを見つけることは、特にネットワークが規模拡大するにつれて複雑な問題となる可能性があります。ネットワークノードとチャネルの数が増えるにつれて、支払い完了の成功を確実にすることがますます困難になります。
  • カストディアル信託:ノードは悪意のある攻撃を受ける可能性があり、ユーザーは、接続されているノードが資金を盗もうとはしないことを信頼する必要があります。また、ノードが秘密鍵の漏洩を防げるかどうかという問題もあります。
  • テクニカルスタンダードと相互運用性: ライトニングネットワークのさまざまな実装間の相互運用性を確保するためには、一貫した技術基準とプロトコルが必要です。現在、複数の開発チームがライトニングネットワークのさまざまな実装に取り組んでおり、互換性の問題が発生する可能性があります。
  • プライバシー問題: ビットコイン取引のプライバシーを向上させるライトニングネットワークですが、取引情報はまだ追跡や分析が可能です。さらに、ネットワークノードの運営者は、自分のノードを通過する取引を見ることができ、一部のプライバシーが危険にさらされる可能性があります。

ライトニングネットワークのセキュリティは、ビットコインのオフチェーンのスケーラビリティとユーザー資産の安全性に直接影響します。したがって、公開チェーンの一般的な監査項目に加えて(この文書の最後の付録で詳細に説明されています)、ライトニングネットワークは以下の主要なセキュリティリスクにも対処する必要があります。

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

サイドチェーン

ライトニングネットワークとは異なり、サイドチェーンはメインチェーン(例:BTCブロックチェーンなど)と並行して運営される独立したブロックチェーンであり、2WP(双方向ペッグ)として知られるメカニズムを介してそれと連携します。サイドチェーンの目的は、メインチェーンのプロトコルを変更せずに追加機能とスケーラビリティを実現することです。

サイドチェーンは、独自のブロックチェーンとして、独自のコンセンサスメカニズム、ノード、およびトランザクション処理ルールを持っています。特定のアプリケーションシナリオのニーズに応じて、さまざまな技術とプロトコルを採用することができます。サイドチェーンは、メインチェーンとの間で資産を自由かつ安全に移動できるように、双方向ペッグメカニズムを採用します。双方向ペッグメカニズムの運用は、一般的に以下の手順を含んでいます。

  1. ユーザーはBTCをメインチェーンにロックします。信頼された実体は、簡略支払検証(SPV)を使用して、ユーザーのロックトランザクションが確認されたかどうかを確認します。

  2. 信頼できるエンティティは、サイドチェーン上でユーザーに等価な量のトークンを発行します。

  3. 取引を完了した後、ユーザーは残りのトークンをサイドチェーンにロックします。

  4. 取引の正当性を確認した後、信頼されたエンティティが対応するBTCの価値をメインチェーン上のユーザーにアンロックおよびリリースします。

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

注意2:SPV検証により、ノードは全体のブロックチェーンをダウンロードせずに特定のトランザクションの妥当性を検証できます。SPVノードはブロックヘッダーのみをダウンロードし、マークルツリーを使用して、トランザクションがブロックに含まれているかを検証します。

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

CKB (Nervos Network) \
Nervos Networkは、ビットコインのProof of Work(PoW)コンセンサスメカニズムのセキュリティと分散化の利点を活用するよう設計されたオープンソースのパブリックブロックチェーンエコシステムであり、よりスケーラブルで柔軟なUTXOモデルを導入して取引を処理します。その中心には、RISC-V上に構築されたPoWを利用したLayer 1ブロックチェーンであるCommon Knowledge Base(CKB)があります。UTXOモデルをCellモデルに拡張し、任意のデータを保存し、任意の言語で書かれたスクリプトをサポートして、スマートコントラクトとしてチェーン上で実行することができます。

スタック

Stacksは、Proof of Transfer(PoX)メカニズムを介して、各StacksブロックをBitcoinブロックに接続します。スマートコントラクトの開発を支援するために、StacksはClarityプログラミング言語を設計しています。Clarityでは、get-burn-block-info?機能は、Bitcoinブロックの高さを入力してブロックのヘッダーハッシュを取得することができます。burn-block-heightキーワードは、Bitcoinチェーンの現在のブロック高を取得します。これらの機能により、ClarityスマートコントラクトはBitcoinベースチェーンの状態を読み取ることができ、Bitcoin取引が契約をトリガーできます。これらのスマートコントラクトを自動的に実行することにより、StacksはBitcoinの機能を拡張します。Stacksの詳細な分析については、Beosinの以前の研究記事を参照してください。Stacksとは何ですか?BTCレイヤー2ネットワークのStacksが直面する課題は何ですか?

サイドチェーンの利点

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

サイドチェーンの課題

  • サイドチェーンには独自のコンセンサスメカニズムがあり、BTCのメインチェーンほど安全とは限らない場合があります。サイドチェーンのコンセンサスメカニズムが弱いか脆弱性があると、51%攻撃やその他の攻撃が起こり、ユーザー資産の安全が危険にさらされる可能性があります。BTCのメインチェーンのセキュリティは、その巨大なハッシュパワーと広範なノード分散に依存しており、サイドチェーンがそれに匹敵することができないかもしれません。
  • 2ウェイペグメカニズムの実装には、複雑な暗号アルゴリズムとプロトコルが必要です。このメカニズムに脆弱性があると、メインチェーンとサイドチェーン間の資産移転に問題が生じ、資産の損失や盗難の可能性があります。
  • スピードとセキュリティのバランスを取るため、ほとんどのサイドチェーンはメインチェーンよりも中央集権化されています。

Layer 2は完全なブロックチェーンシステムであり、一般的な公開ブロックチェーンの監査項目はサイドチェーンにも適用されます。詳細については、この記事の最後にある付録を参照してください。

また、その独自の特性のため、サイドチェーンにはいくつかの追加の監査が必要です。

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

ロールアップ

Rollupは、ブロックチェーンのトランザクションのスループットと効率を向上させるために設計されたレイヤー2のスケーリングソリューションです。多数のトランザクションを集約(ローリングアップ)してオフチェーンで処理することで、メインチェーンへの負荷を軽減し、最終結果のみを送信します。

Rollupには、zk-Rollupとop-Rollupの2つの主要なタイプがあります。ただし、Ethereumとは異なり、Bitcoinのチューリング完全性の欠如により、スマートコントラクトをゼロ知識証明(ZKP)検証に直接使用することはできません。これは、従来のzk-RollupソリューションをBitcoin上に実装することができないことを意味します。では、どのようにしてzk-Rollupを使用してBitcoin Layer 2のスケーリングを実現できるのでしょうか?例として、B² Networkプロジェクトを探ってみましょう。

BitcoinのZKP検証を実行するために、B² Networkはzk-Rollupのゼロ知識証明検証とop-Rollupのインセンティブチャレンジメカニズムを統合したTaprootスクリプトを開発しました。こういう仕組みです:

  1. B² Networkはまずすべてのユーザートランザクションをロールアップします。
  2. その後、シーケンサーはこれらのRollupトランザクションを順番に並べ、分散型ストレージに保存し、zkEVMを介して処理します。
  3. Bitcoinチェーンの状態を同期した後、zkEVMは契約の実行やその他の取引を処理し、結果をまとめて集約者に送信します。
  4. プルーバーはゼロ知識証明を生成し、それを集約者に送信します。集約者は取引と証明を組み合わせ、それらをB²ノードに転送します。
  5. B²ノードはゼロ知識証明を検証し、分散型ストレージに保存されているRollupデータに基づいてTaprootスクリプトを作成します。
  6. Taprootは、値が1サトシのUTXOであり、そのデータ構造にはB² Inscriptionが含まれており、すべてのRollupデータを格納しています。一方、Tapleafはすべての証明の検証データを格納しています。インセンティブチャレンジメカニズムに合格した後、Bitcoinにzk-proofベースのコミットメントとして提出されます。

Rollupの利点:

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

Rollupの課題:

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

Rollupが使用されていることを考慮すると、その主要なセキュリティ監査項目は、EthereumのLayer 2と一致しています。

他の人(バビロン)

従来のBTC Layer 2ソリューションに加えて、BabylonなどBTCエコシステムに関連する新しいサードパーティープロトコルが登場しています。

バビロンは、21百万BTCを分散型ステーキング資産に変えることを目指しています。他のBTCレイヤー2の解決策とは異なり、バビロンはBTCネットワークのスケーリングに焦点を当てていません。代わりに、これは主にProof of Stake(PoS)チェーンとインターフェースするために設計された専門のBTCステーキングプロトコルを持つユニークなブロックチェーンです。その目標は、PoSチェーンのセキュリティを向上させるためにBTCをステーキングし、長期攻撃や中心化リスクなどの問題に対処することです。

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

  • ビットコイン レイヤー:これはビットコインネットワーク上と同様に、すべての取引が超安全であることを確実にするために、ビットコインの名声あるセキュリティを活用するバビロンの堅固な基盤です。
  • バビロンレイヤー:バビロンのコア、このカスタムブロックチェーンはBitcoinをさまざまなPoSチェーンに接続します。トランザクションを処理し、スマートコントラクトを実行し、エコシステム全体でのスムーズな運営を確保します。
  • PoS チェーン レイヤー:トップレイヤーは、それぞれ固有の利点を持つ複数のPoSチェーンで構成されています。この構造により、BabylonChainは傑出したスケーラビリティと柔軟性を提供し、異なるPoSブロックチェーンの最良の機能を利用できるようにしています。

バビロンは、PoSチェーンを保護するためにBTCチェーン上で最終ブロックに署名することによって動作します。 これにより、基本プロトコルが追加の署名ラウンドを持つことになります。 最終の+1ラウンドのこれらの署名には、ユニークな特徴があります:それらは抽出可能なワンタイム署名(EOTS)です。 目標は、PoSシステムでの長期間のアンバインディングと長距離攻撃の問題に対処するために、PoSチェックポイントをBTCチェーンに統合することです。

バビロンの利点:

  • バビロンはPoSステーキングのアンバインディングプロセスを加速させます。
  • BTCをステーキングすることで、Babylonは対応するPoSネットワークのインフレーション圧力を緩和するのに役立ちます。
  • バビロンは、BTC保有者が収益を得る新しい道を開きます。

バビロンの挑戦:

  • ステーキング報酬率やその他の経済要因は、BTCのステーキングのインセンティブに大きな影響を与えます。
  • 異なるPoSチェーン間で報酬メカニズムの統一性がありません。

サードパーティプロトコルの特定の実装に応じて、セキュリティ焦点が異なります。 Babylonの場合、いくつかの主要なセキュリティ監査ポイントには次のようなものがあります。

1. スマートコントラクトセキュリティ:BTC上のステーキング契約はUTXOスクリプトを介して実装されており、そのセキュリティには注意が必要です。2. 署名アルゴリズムのセキュリティ:契約内のステーキングを管理するために使用される署名アルゴリズムのセキュリティは重要であり、署名の生成と検証に影響します。3. 経済モデル設計:特に報酬とペナルティの観点から、プロトコルの経済モデルは検討される必要があり、ユーザー資産の損失を防ぐために検証される必要があります。

付録:

パブリックチェーンおよびレイヤー2の一般監査項目

  • 整数オーバーフロー:整数オーバーフローおよびアンダーフローをチェックしてください。
  • 無限ループ:プログラムのループ条件が妥当かどうかを検証してください。
  • 無限再帰:再帰呼び出しの終了条件が適切に設定されていることを確認してください。
  • レースコンディション:並行条件下で共有リソースへのアクセス操作を調査します。
  • 未処理の例外:予期せぬプログラムの終了を引き起こす例外をスローするコードを特定します。
  • ゼロによる除算:ゼロでの除算が発生する可能性がある箇所をチェックしてください。
  • 型変換:プロセスで正確な型変換が行われ、重要な情報が失われないようにしてください。
  • Array Out-of-Bounds:配列要素が有効な境界内でアクセスされることを確認してください。
  • デシリアライゼーションの脆弱性:逆シリアル化プロセス中の問題をチェックします。
  • 機能実装セキュリティ:RPCインターフェースの実装が安全であり、機能設計と一貫しているかどうかを確認してください。
  • センシティブRPCインターフェースの権限設定:機密RPCインターフェースのアクセス許可が適切に構成されていることを確認してください。
  • 暗号化された伝送メカニズム:暗号化された転送プロトコル(TLSなど)の使用を検証します。
  • リクエストデータの形式解析:リクエストデータ形式の解析プロセスをチェックしてください。
  • ウォレットアンロック攻撃:ノードがウォレットをアンロックする際に、RPCリクエストを介して資金が盗まれないようにしてください。
  • 従来のWebセキュリティ:次の脆弱性をチェックしてください:クロスサイトスクリプティング(XSS)、テンプレートインジェクション、サードパーティコンポーネントの脆弱性、HTTPパラメータ汚染、SQLインジェクション、XXEインジェクション、逆シリアル化の脆弱性、SSRFの脆弱性、コードインジェクション、ローカルファイルインクルージョン、リモートファイルインクルージョン、コマンドインジェクションなど。
  • ネットワークノードの認証および識別メカニズム:ノードの識別メカニズムが存在し、回避できないことを確認してください。
  • ルーティングテーブルの毒ルーティングテーブルが任意に操作または上書きされていないか確認してください。
  • ノード検出アルゴリズム:ノード発見アルゴリズムがバランスを取り、予測不可能であり、距離アルゴリズムの不均衡などの問題に対処されていることを確認します。
  • 接続占有監査:P2Pネットワークに接続されたノードの制限と管理が適切であることを確認してください。
  • Eclipse Attack:エクリプス攻撃のコストと影響を評価し、必要に応じて定量分析を提供します。
  • シビル攻撃:投票コンセンサスメカニズムを評価し、投票資格を検証する戦略を分析します。
  • 盗聴攻撃:通信プロトコルが個人情報を漏洩していないことを確認してください。
  • エイリアン攻撃:ノードが同じブロックチェーンネットワーク内の他のノードを認識できるかどうかを評価します。
  • タイムハイジャック:ノード上のネットワーク時間を計算するメカニズムを確認します。
  • メモリ枯渇攻撃:高メモリ消費領域をチェックします。
  • ディスク枯渇攻撃:大容量ファイルストレージに関連するエリアをチェックしてください。
  • ソケットストレス攻撃:接続数を制限する戦略を検証します。
  • カーネルハンドル枯渇攻撃:カーネルハンドルの作成に制限がある場合、ファイルハンドルなどが適切な範囲内に収まっていることを確認してください。
  • 持続的なメモリーリーク:メモリーリークの発生しやすいエリアを特定します。
  • ハッシュアルゴリズムセキュリティ:ハッシュアルゴリズムが衝突耐性であることを確認してください。
  • デジタル署名アルゴリズムのセキュリティ:署名アルゴリズムとその実装のセキュリティを検証します。
  • 暗号化アルゴリズムセキュリティ:暗号化アルゴリズムとその実装が安全であることを確認してください。
  • 乱数生成器のセキュリティ:重要な乱数生成アルゴリズムが妥当であることを確認してください。
  • BFT実装セキュリティ:ビザンチン容認障害耐性(BFT)アルゴリズム実装のセキュリティを評価します。
  • Fork Choice Rule:セキュリティを確保するためにフォーク選択ルールを検証します。
  • 中央集権検出:システム設計における過度な中央集権化を特定します。
  • インセンティブメカニズム監査:セキュリティへのインセンティブメカニズムの影響を評価します。
  • 二重支払い攻撃:二重支出攻撃に対抗できるかどうかを検証します。
  • MEV攻撃監査:ブロックパッキング中の最大採取可能価値(MEV)がチェーンの公平性に与える影響を評価します。
  • ブロック同期プロセス監査:同期プロセス中にセキュリティの問題をチェックしてください。
  • ブロック形式の解析監査:ブロック形式の解析中にセキュリティ上の懸念を評価します。たとえば、解析エラーがクラッシュにつながる可能性があります。
  • ブロック生成プロセス監査:ブロック生成プロセスのセキュリティを確認し、Merkleツリールートの構築を含む。
  • ブロック検証プロセス監査:ブロック署名のコンテンツ項目と検証ロジックが適切かどうかを確認してください。
  • ブロック確認ロジック監査:ブロック確認アルゴリズムとその実装が妥当かどうかを評価します。
  • ブロックハッシュ衝突:ブロックハッシュ衝突がどのように構築されているか、およびそのような衝突の処理が適切かどうかを確認してください。
  • ブロック処理リソース制限:孤児ブロックプール、検証計算、およびディスクアドレッシングのリソース制限が適切かどうかを検証してください。
  • トランザクション同期プロセス監査:取引同期プロセス中のセキュリティ問題をレビューします。
  • トランザクションハッシュ衝突:トランザクションハッシュの衝突がどのように構築され、処理されるかを確認してください。
  • 取引フォーマットの解析:トランザクション形式の解析中にクラッシュを引き起こす解析エラーなど、セキュリティ上の懸念を評価します。
  • 取引の正当性の検証:さまざまな取引署名のコンテンツアイテムを検証し、検証ロジックが十分かどうかを確認します。
  • 取引処理リソース制限:トランザクションプール、検証計算、およびディスクアドレッシングのリソース制限が合理的かどうかを確認してください。
  • トランザクションの改ざん攻撃:トランザクションが内部フィールド(例:ScriptSig)を変更してトランザクションハッシュを変更できるかどうかを評価し、その有効性に影響を与えないかどうかを評価します。
  • トランザクションリプレイ攻撃監査:取引再生攻撃のシステム検出を確認します。
  • スマートコントラクトバイトコードの検証:仮想マシンの契約検証プロセスのセキュリティを確認します。整数オーバーフローや無限ループのチェックなどを行います。
  • スマートコントラクトバイトコードの実行:仮想マシンによるバイトコードの実行中に、整数オーバーフローと無限ループなどのセキュリティ上の懸念を評価します。
  • ガスモデル:各アトミック操作の取引処理/契約実行手数料がリソース消費に比例していることを確認してください。
  • ログの整合性:重要な情報がログに記録されていることを確認してください。
  • ログセキュリティ:ログ処理が整数オーバーフローなどのセキュリティ問題を導入していないかをチェックしてください。
  • 機密情報を含むログ:キーまたは他の個人情報が含まれていないことを確認してください。
  • ログストレージ:ノード上のリソース消費に過剰なログ記録が影響するかどうかを確認してください。
  • ノードコードサプライチェーンセキュリティ:すべてのサードパーティライブラリ、コンポーネント、およびパブリックチェーンフレームワークバージョンの既知の問題を確認します。

世界中で最も早く形式検証に特化したブロックチェーンセキュリティ企業の1つであるBeosinは、包括的な「セキュリティ+コンプライアンス」エコシステムに焦点を当てています。同社は世界各地に10カ国以上の支店を設立しており、プロジェクトの立ち上げ前のコードセキュリティ監査、プロジェクト運営中のリアルタイムセキュリティリスクモニタリングとインターセプト、盗まれた資産の回収、仮想資産のマネーロンダリング対策(AML)、地元の規制要件を満たすコンプライアンス評価など、ワンストップのブロックチェーンコンプライアンス製品とセキュリティサービスを提供しています。監査が必要なプロジェクトは、Beosinセキュリティチームにご連絡ください。

免責事項:

  1. この記事は[から転載されましたBeosin], すべての著作権は原著作者に帰属します [Beosin].もしこの転載に異議がある場合は、お問い合わせください。Gate Learnチームが迅速に対応します。
  2. 責任の免責事項:この記事で表現されている意見や考えは、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳はGate Learnチームによって行われます。特に記載がない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。
เริ่มตอนนี้
สมัครและรับรางวัล
$100