こんにちは、“動物的に”大胆に物事を進めたい北岡です。
この度、LayerXからHyperledger Fabricによる証券発行のDvP決済の実装を公開しました。
本記事では、この証券発行のDvP決済の概要と開発に至った背景を紹介致します。
目次
- 開発の背景
- レポジトリの概要
- レポジトリが提供する機能
- LayerXの取り組み
開発の背景
Hyperledger Fabricはエンタープライズ向けのブロックチェーンのひとつで、Linux FoundationのHyperledgerコミュニティによって開発されています。Hyperledger Fabricはその設計の自由度の高さや、秘匿化機能の充実などからいろいろなユースケースに対応できます。
また、Go、Java、JavaScriptなど主流の開発言語に多く対応しているのもその魅力の一つです。実際に金融やサプライチェーンをはじめ、多くの事例で採用されています。
LayerXではこれまで、三井物産、SMBC日興証券、三井住友信託銀行と合同で設立した新会社による次世代アセットマネジメント事業やMUFGとの次世代金融取引サービス基盤の開発など金融領域におけるブロックチェーンの活用に積極的に取り組んできました。
今回はこれまでに培ったHyperledger Fabricによる開発の知見と、金融領域における経験と知識を組み合わせ、証券発行のDvP決済をHyperledger Fabricで実装しました。
レポジトリの概要
本レポジトリは証券発行のDvP決済の実装です。日本銀行の解説記事によるとDvPとは、
Delivery Versus Paymentの略であり、証券の引渡し(Delivery)と代金の支払い(Payment)を相互に条件を付け、一方が行われない限り他方も行われないようにすることをいいます。これは、証券決済において、資金(または証券)を渡したにもかかわらず、取引相手からその対価となる証券(または資金)を受け取れないという「取りはぐれ」リスクを回避するための方法・仕組みです。
すなわち、2つのアセットを交換する際に、最終的に2つのアセットが両方とも移転に成功するか、もしくは2つのアセットが両方とも移転しないかのどちらかになるということです。
お金と証券の場合はDvPと呼ばれますが、このような取引の性質は一般にアトミック性と呼ばれ、様々なケースで必要とされています。
レポジトリが提供する機能
本レポジトリが提供する機能は主に以下のようになります。
- ネットワーク構築
- ネットワークへの新しい組織の追加
- Chaincodeの作成・インストール・アップグレード
- Private Dataによる残高秘匿化
- Chaincode間の関数の呼び出し
- お金と証券のアトミックスワップ
本レポジトリのシナリオは証券を発行し、それを投資家が購入するというものです。上図は全体のアーキテクチャーを指しており、各組織間で共有するデータベースが異なるのが見て取れます。
本レポジトリから検証できたこと
今回、単一チャネル内であれば残高を秘匿化したDvP決済はシンプルな設計で実現できることがわかりました。また、同一チャネル内の異なるchaincode上のアセットのアトミックスワップも可能であることが検証されました。
LayerXの取り組み
LayerXではHyperledger Fabricに関する情報をScrapboxにおいても発信しております。
また、LayerXでは“すべての経済活動をデジタル化する”と言うミッションのもと、Hyperledger Fabricに限らず、Ethereum、Quorum、Cordaなど様々ブロックチェーンによる開発や研究を行っています。ご相談等ございましたらお気軽にLayerXコンタクトフォームよりご連絡ください。
https://forms.gle/6hFcg8xZoa8HXuiL6
採用活動も積極的に行っておりますので、一緒に未来を作っていきたい方は是非ご連絡ください。
最後になりますが、Hyperledger Fabricの開発者は私、北岡以外にも以下の心強い3人がいますので是非フォローしてください!