Skip to main content
QUICK REVIEW

[論文レビュー] Atomic Crosschain Transactions White Paper

Peter Robinson, Raghavendra Ramesh|arXiv (Cornell University)|Feb 28, 2020
Distributed systems and fault tolerance参考文献 6被引用数 6
ひとこと要約

この論文は、HTLC、リレーチェーン、信頼できる中間者に依存せずに、同期的かつ原子的であるクロスコントラクトおよびクロスブロックチェーン関数呼び出しを可能にする、プライベートなイーサリアムブロックチェーン向けの新しいアトミッククロスチェーン取引プロトコルを提案する。本プロトコルは、BLSスコアリング署名、ライブ引数チェックを伴うネストされたトランザクション、ステート管理のためのコーディネーションコントラクト、および動的コード解析を活用し、複数のブロックチェーン間で一貫性と安全性を確保する。原子性はコーディネーションコントラクトとタイムアウトメカニズムを通じて達成される。

ABSTRACT

Atomic Crosschain Transaction technology allows composable programming across private Ethereum blockchains. It allows for inter-contract and inter-blockchain function calls that are both synchronous and atomic: if one part fails, the whole call graph of function calls is rolled back. It is not based on existing techniques such as Hash Time Locked Contracts, relay chains, block header transfer, or trusted intermediaries. BLS Threshold Signatures are used to prove to validators on one blockchain that information came from another blockchain and that a majority of the validators of that blockchain agree on the information. Coordination Contracts are used to manage the state of a Crosschain Transaction and as a repository of Blockchain Public Keys. Dynamic code analysis and signed nested transactions are used together with live argument checking to ensure execution only occurs if the execution results in valid state changes. Contract Locking and Lockability enable atomic updates.

研究の動機と目的

  • HTLC やリレーチェーンなどの既存のクロスチェーンパターンに依存せずに、プライベートなイーサリアムブロックチェーン間で合成可能で原子的なクロスチェーン取引を可能にすること。
  • コーディネーションロジックをイーサリアムクライアントソフトウェアに埋め込むことで、アプリケーション開発者がクロスチェーンの複雑さを抽象化できること。
  • コーディネーションコントラクトと暗号的証明を通じて、複数のブロックチェーンにまたがる取引の原子性と一貫性を保証すること。
  • 障害時ロールバックと成功時コミットを保証する、安全で分散型のクロスチェーン関数呼び出しメカニズムを提供すること。
  • ビザンチン障害およびクラッシュ障害モデル下でのプロトコルの形式的セーフティおよびライブネス特性を確立すること。

提案手法

  • プロトコルは、あるブロックチェーン上で発行された元のトランザクションが、他のブロックチェーン上で従属的なトランザクションおよびビューを引き起こす、ネストされたイーサリアムトランザクションおよびビューを用いる。
  • 署名済み従属トランザクションおよびビューは、実行時の正しさを保証するため、動的プログラム解析によって導出された期待されるパラメータ値を用いて作成される。
  • BLSスコアリング署名は、クロスチェーンメッセージを暗号的に束ねることで、送信元ブロックチェーンの大多数のバリデーターが取引データに合意していることを証明する。
  • 指定されたブロックチェーン上に配置されたコーディネーションコントラクトは、各クロスチェーン取引のグローバルステート(コミット済み、無視済み、保留中)を維持する。
  • 各参加ブロックチェーンのバリデーターはローカルタイマーを用いてタイムアウトを検出する。トランザクションがタイムアウトした場合、コーディネーションコントラクトは「無視済み」に更新され、すべてのチェーンでロールバックがトリガーされる。
  • ライブ引数チェックにより、実行時の関数パラメータが署名済み従属トランザクションおよびビューに記載された期待値と一致することを保証し、一貫性のない実行を防止する。

実験結果

リサーチクエスチョン

  • RQ1HTLC やリレーチェーン、信頼できる中間者に依存せずに、原子的クロスチェーン取引をどのように実装できるか?
  • RQ2強力な一貫性と原子性を保証するための、どのような暗号的および合意形成メカニズムが、複数のプライベートなイーサリアムブロックチェーン間で有効か?
  • RQ3動的プログラム解析を用いて、クロスチェーン関数呼び出しの期待されるパラメータ値をどのように特定できるか?
  • RQ4ビザンチン障害およびクラッシュ障害下でのプロトコルのセーフティおよびライブネス特性は何か?
  • RQ5最小限の信頼仮定で、複数のブロックチェーン間でどのようにコーディネーションを実現できるか?

主な発見

  • プロトコルは、コーディネーションコントラクトを用いて取引ステートをグローバルに追跡し、最終的なコーディネーションコントラクトのステートに基づいて、すべてのブロックチェーンでロールバックまたはコミットを強制することで、原子性を確保する。
  • セーフティは形式的に証明されている:取引がコミットされた場合、参加するすべてのチェーンがその一時的ステートをコミットする。無視された場合、すべてのチェーンがロールバックする。
  • ライブネスは保証されている:タイムアウトメカニズムのおかげで、コーディネートノードがクラッシュしても、すべての取引は最終的に終了する。
  • 実行時の関数パラメータが署名済み従属トランザクションおよびビューに記載された期待値と一致することを強制することで、一貫性のない実行を防止する。
  • BLSスコアリング署名は、送信元ブロックチェーンの大多数のバリデーターが取引データに合意していることを暗号的に検証可能な証明を提供し、信頼しないクロスチェーン検証を可能にする。
  • タイムアウトメカニズムとコーディネーションコントラクトのステート更新のおかげで、コーディネートノードのクラッシュ障害に対しても、システムはレジリエントであり、最終的に終了し、一貫性を保つ。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。