Cordageは、Cordaと他のブロックチェーン間の相互運用を可能にします。 信頼できる第三者を追加しなくともブロックチェーン間で情報を伝播、取得、検証することを可能にするいくつかのモジュールを提供します。
最初の段階では、EthereumやQuorum、Hyperledger BesuなどのEVMベースのブロックチェーンに焦点を当てます。
警告:Cordageはアルファ品質のソフトウェアであり、改善と修正は頻繁に行われます。
一般に、相互運用性を構成する主要な機能は次のとおりです:
- データ伝搬
- データ検証
データ伝播は、ブロックチェーン間でデータを相互に伝播する機能です。 データ検証は、伝播されたデータを検証する機能です。
Cordageはこれらの機能を、Cordaおよびその他のブロックチェーン以外の追加コンポーネントを必要としない実行可能モジュールとして提供します。 これらのモジュールの組み合わせにより、具体的なクロスチェーンアプリケーションを構築できます。
簡単に言えば、クロスチェーンアプリケーションは2つのパターンに抽象化されます。
1つはデータのインポートです。 Wrapped Bitcoinなどのラップされたアセットを実装すると、1つの台帳から別の台帳にアセットを移動できます。 クロスチェーンオラクルを実装することにより、ETH/DAI価格などの外部の台帳の情報をインポートできます。
もう1つは、条件トリガーを使用したデータ更新です。 クロスチェーンアトミックスワップは、最も魅力的なアプリケーションの1つです。 PvP (Payment vs Payment) およびDvP (Payment vs Delivery) での決済が可能です。 このパターンには、資産の担保も含まれます。 先取特権、金融担保、クローバックなどのさまざまなアプリケーションを実現します。
最初の段階では、CordaおよびEVMベースのブロックチェーンとの相互運用性に焦点を当てます。 次に、Hyperledger Fabricに接続します。
「Cordageが相互運用を可能にする方法」の章で説明したデータ伝播およびデータ検証機能は、次のように細分化された機能で構成されます。
データ伝搬
- P1:CordeからEthereum Txを作成して送信する機能
- P2:EthereumからCorda Flowを実行する機能(おそらく不要)
- P3:EthereumでファイナライズされたTx /イベントをCordaにインポートする機能
- P4:CordaでファイナライズされたTxをEthereumにインポートする機能
データ検証
- V1:P3でインポートされたEthereum Tx、イベント、ブロックを検証し、ブロックのファイナリティを検証する機能
- V2:P4でインポートされたTx値を検証し、Corda Txのファイナリティを検証する機能
これまでに以下のモジュールを実装しました。
P1: Flow Ethereum TX
- このCorDappは、Corda FlowからEthereumにトランザクションを送信する方法の簡単な例を提供します。
- このCorDappは、Corda FlowからEthereumイベントを監視(取得)する方法の簡単な例を提供します。
P1+P4+V2: Custom Notary Flow はEthereum txを作成し、Ethereumノードに送信します
- このCorDappは、Custom Notary Flowを作成してCordaからEthereumにデータを伝播する方法の簡単な例を提供します。
各ディレクトリ内のREADMEファイルに従って実行してください。
さらなるディスカッションや質問はGitterでご連絡ください。
私たちはCordageへの貢献を歓迎します。 ぜひお気軽にissueやpull requestを作成してください!
Cordageはthe Apache License, Version 2.0にて提供されています。