YouTube https://youtu.be/lH5yyWKJiWc?t=6382
Google Slides https://docs.google.com/presentation/d/1pTf-jmhg6mCeNAXH2p-eCxXdZtiRYAIFK70ZZB-_slc/edit#slide=id.p1
Introduction tohttps://youtu.be/lH5yyWKJiWc?t=6382
View Slide
2Introduction to Cordage © 2020 The Cordage AuthorsSpeakerShun Takagiwa / 高際 隼シニアソフトウェアアーキテクト, LayerX Inc.Cordageコアメンテナー● 2018年8月のLayerX創業とともに参画● 技術担当として複数のプロジェクトを推進○ e.g. MUFG, 三井物産, Cryptorealty, etc● プロダクトコンセプト設計、アジャイルソフトウェア開発、システム設計、実装、運用を担当● 2019年社長賞、2020年行動指針賞@shun_tak
3Introduction to Cordage © 2020 The Cordage AuthorsAgenda● ブロックチェーン・インターオペラビリティ概要● Cordageとは何か● Cordageによるクロスチェーン・アトミックスワップ● デモ● マイルストーン
4Introduction to Cordage © 2020 The Cordage Authorsブロックチェーン・インターオペラビリティ概要
5Introduction to Cordage © 2020 The Cordage Authors背景Bitcoin誕生以来、多くのブロックチェーンプロダクトやユースケースが出てきた異なるプロダクトをつなぎたいという需要が高まっている● 例. Quorum vs Corda(Ubin-Jasperプロジェクト)● 例. Hyperledger Fabric vs Corda(ドイツ銀行のプロジェクト)ブロックチェーン・インターオペラビリティにより、プラットフォーム間の連携を既存のシステムで実現していたものよりも更に強固でよりセキュアに実現できる
6Introduction to Cordage © 2020 The Cordage Authorsブロックチェーン・インターオペラビリティの種類● ブロックチェーンと既存のシステムをつなぐ○ 例. Swiftのデータをブロックチェーンに取り込む● 同じブロックチェーン上の異なる Dapp(分散アプリケーション)をつなぐ○ 例. 分散取引所 (DEX)○ 例. 分散金融 (DeFi)● 同じタイプの異なるブロックチェーンをつなぐ○ 例. Quorum vs 別のQuorum● 異なるタイプのブロックチェーンをつなぐ○ 例. Quorum vs Cordaここから、後半2つのインターオペラビリティについて議論するよく議論されるブロックチェーンインターオペラビリティ
7Introduction to Cordage © 2020 The Cordage Authorsインターオペラビリティを利用したアプリケーションの例● クロスチェーン・アトミックスワップ○ 例. ブロックチェーンをまたいだ DvP決済● クロスチェーン・オラクル○ 例. Ethereumメインネット上のUniswapから価格を取得し、別のブロックチェーンで利用● ペグされた資産○ 例. Wrapped BTC● 資産の移植○ 例. ブロックチェーンのシャード間でアセットを移動する● 自動支払○ 例. OpenLawの契約執行条件に応じて etherやbitcoinを移転する
8Introduction to Cordage © 2020 The Cordage Authorsブロックチェーン・インターオペラビリティの3つの方式信頼できる仲介者 リレー HTLC概略図信用モデル 過半数の正常な仲介者 それぞれのブロックチェーンに依存 それぞれのブロックチェーンに依存実装の容易さ 中 難 易要求される機能 ● イベント取得● イベント伝播● 仲介者間のコンセンサス● 仲介者の署名のオンチェーン検証● イベント取得● イベント伝播● イベントの正確性の検証● イベントの最終性の検証● データ取得● データ伝播● タイムロックが可能● 暗号学的ハッシュ関数適用可能なユースケース あらゆるユースケース(いくつかのユースケースでは長期的な仲介者の信用が必要)あらゆるユースケース(いくつかのユースケースでは双方向のリレーが必要)アトミックスワップに特化(資産の移植や自動支払は困難)Ref: Chain Interoperability by Vitalik ButerinA B A B A B信頼できる仲介者方式は過半数の正常な仲介者に依存する一方でリレー方式は実装が困難コンソーシアムの領域においてはブロックチェーン運用者を利用することで信頼できる仲介者方式を改善可能
9Introduction to Cordage © 2020 The Cordage AuthorsCordageとは何か
10Introduction to Cordage © 2020 The Cordage AuthorsCordageは信頼できる仲介者を追加せずにCordaとEthereumベースのブロックチェーンとのインターオペラビリティを実現するCordageとは何か特徴● Ethereumベースのブロックチェーンと Cordaを接続する● 追加のプロセスを実行しなくていいCordageのインターオペラビリティはどうなっているのか?
11Introduction to Cordage © 2020 The Cordage AuthorsCordageのインターオペラビリティ方式信頼できる仲介者 Cordage方式概略図信用モデル 過半数の正常な仲介者 Depends on each blockchains実装の容易さ 中 中要求される機能 ● イベント取得● イベント伝播● 仲介者間のコンセンサス● 仲介者の署名のオンチェーン検証● イベント取得● イベント伝播● ブロックチェーン Aのスマートコントラクト上で動作するブロックチェーンBのライトクライアント適用可能なユースケース あらゆるユースケース(いくつかのユースケースでは長期的な仲介者の信用が必要)あらゆるユースケースA B A Bリレー方式と同じセキュリティレベルで、信頼できる仲介者方式よりも高いリレー方式よりも容易仲介者が存在しないため、信頼できる仲介者方式よりも可用性が高いCordaはEthereumのライトクライアントを実行可能
12Introduction to Cordage © 2020 The Cordage AuthorsCordageのインターオペラビリティ方式はどのように動くかイベント伝播1. Cordaのデータを含むEthereumトランザクションを作成2. Corda Notaryが持つEthereum秘密鍵でトランザクションに署名3. トランザクションをEthereumノードに送信Cordaでの正確性と最終性を保証するために Corda Notaryが署名するイベント取得1. Ethereumトランザクションレシート内のログを監視2. ABIやエンコーダを利用しログをパース3. Cordaに保存両処理とも追加の仲介者ではなく Corda NodesまたはCorda Notaryから実行されるEthereum RPCエンドポイントへのアクセス権限が必要3. Txを送信1. ログを監視2-3. ログをパースして保存1-2. Txを作成し署名
13Introduction to Cordage © 2020 The Cordage AuthorsCordageによるクロスチェーン・アトミックスワップ免責事項これはブロックチェーン間でアトミックにアセットを交換することを確認するための MVP(最小限の実行可能な製品)です。本番環境においてはプライバシー機能等、追加の機能が必要になる場合があります。
14Introduction to Cordage © 2020 The Cordage AuthorsCordageによるクロスチェーン・アトミックスワップScenario● Etherと社債は事前に発行されている● AliceはBobが持つ社債を100個購入したい○ AliceはBobにetherで支払う(単価は社債登録時に指定される)○ Bobは100個の社債をAliceに送信する○ これらがアトミックに起こることが期待されるクロスチェーン・アトミックスワップの手順1. ProposeAtomicSwapFlowを実行することで、AliceはProposalStateを作成し、Bobに署名を求める2. ProposeAtomicSwapFlowの確定後、LockEtherFlowは自動的に実行される3. StartEventWatchFlow一度実行すると、BobはEventWatchFlowを5秒毎に実行してログを監視する4. 目標のログ (LockEtherEvent) が見つかったら、EventWatchFlowによりSettleAtomicSwapFlowが自動的に実行される5. SettleAtomicSwapFlowでは、BobがAliceに社債を送信するのと同時に、Corda NotaryがetherをアンロックしてBobに送金するhttps://github.com/LayerXcom/cordage/tree/master/cross-chain-atomic-swap-cordapp
15Introduction to Cordage © 2020 The Cordage Authorsデモ
16Introduction to Cordage © 2020 The Cordage Authorsマイルストーン
17Introduction to Cordage © 2020 The Cordage Authorsマイルストーン● バージョン0.3○ クロスチェーン・アトミックスワップの異常系を実装(現在テスト中)● 改善○ ドキュメントを充実させる○ 追加のサンプルアプリケーションを実装● バージョン1.0○ モジュールがmaven (gradle) ライブラリとして動作するようにする● 新機能○ Hyperledger Fabricへの対応
18Introduction to Cordage © 2020 The Cordage AuthorsGitHub https://github.com/LayerXcom/cordageGitter chat https://gitter.im/LayerXcom/Cordage