分散型台帳基盤の「Corda」とは何か?特徴やユースケースを解説

分散型台帳基盤の「Corda」とは何か?特徴やユースケースを解説

はじめに

企業がブロックチェーンの活用を検討する場合、ネットワークへのアクセス権を管理できるパーミッション型(許可型)のブロックチェーンが有力な選択肢となります。

多くのパーミション型ブロックチェーンが開発されており、そのなかでも「Corda」(コルダ)や「Hyperledger Fabric」、「Quorum」(クォーラム)は、企業の実証実験や実プロダクトに採用されることが多い基盤です。

本記事では、ブロックチェーンのビジネス利用を検討している方に向けて、Cordaの特徴を整理した上で、Cordaに対応するBaaS(Blcokchain as a Service)やユースケースを紹介していきます。

Cordaとは?概要や誕生背景を解説

まずはCordaの概要を解説していきましょう。

Cordaとはなにか?概要を紹介

Cordaは、パーミッション型の分散型台帳基盤(ブロックチェーン)です。他のブロックチェーン基盤と同様に、改ざん耐性やスマートコントラクトなど、既存のブロックチェーンの特徴を備えています。

また、一般的なブロックチェーンとは異なり、Cordaではトランザクションがネットワークの参加者全体に共有されることは基本的にはありません。トランザクションの共有範囲を取引の当事者間に限定することで、プライバシーが担保される点が特徴的だと言えるでしょう。

なお、後述するように、トランザクションの検証は「Notary」と呼ばれるノードが行っているため、二重支払いは防止されています。

Corda上では「CorDapps」と呼ばれるアプリケーションを動かすことが可能であり、金融や保険、サプライチェーンなど様々な分野でのユースケースが誕生しています。

UTXO型を採用

Cordaでは、Hyperledger FabricQuorumのようなアカウント型とは異なり、BitcoinのようなUTXO型のデータモデルが採用されています。

したがって、トランザクションはInputとOutputで構成されており、新規トランザクション作成時には、過去のトランザクションのハッシュ(およびOutputのIndex)を参照してInputを作成します。

https://docs.corda.net/docs/corda-os/4.5/key-concepts-transactions.html

なお、UTXOとアカウントの違いについては、以下の記事で解説しています。

Cordaが誕生した背景

Cordaの開発を主導するのは、ニューヨークに本社を置くソフトウェア企業「R3」(R3CEV LLC)です。同社はブロックチェーンの金融領域への応用可能性を研究する目的で、2014年に設立されました。

しかし、当時のブロックチェーンでは「取引におけるプライバシーの確保」という金融取引の要件を満たせなかったため、2015年9月に金融機関などが使うのに適したプラットフォームを1から構築しようと「R3コンソーシアム」が発足したのです。

2020年7月現在、「バンク・オブ・アメリカ」や「みずほ銀行」など、200以上の企業がR3コンソーシアムに参加しています。

Cordaの特徴とは?

Cordaの主な特徴を以下の通りです。

  • プライバシーの担保
  • Cordaネットワーク上でのインターオペラビリティを担保
  • 高いスループット(単位時間あたりの処理能力)を実現

それぞれ簡単に説明していきましょう。

プライバシーの担保

Cordaでは、トランザクションが取引の当事者間でのみ共有されます。たとえ同じCorDappを利用するノードであっても、取引の当事者でなければトランザクションの存在自体を認識できません(ハッシュすらも共有されない)。

したがって、Cordaネットワークのノードが管理する分散台帳はそれぞれ異なります。この点はネットワーク全体で取引内容を同期するほかのブロックチェーンとの大きな違いです。

https://docs.corda.net/key-concepts-ledger.html

上記のネットワークでは、それぞれの円が重なる部分だけが当事者間で共有された状態であることを示しています。例えば、Aliceは自身の分散台帳に「1」「7」という状態を記録しており、Bobは「1」「5」「6」「7」を記録しているのです。

そして、Aliceは「1」「7」以外のトランザクションの存在を認識できません。このように他のノードに対して、トランザクションの存在自体を秘匿できるため、Cordaはプライバシー要件が厳しいユースケースに向いているのです。

Cordaの二重支払いや不正を防止する「Notary」

以上のように、Cordaでは当事者間に限った情報共有が前提となっています。したがって、二重消費といった不正を防ぐ仕組みが必要です。

そこで、新規のトランザクション(のInputのState)が二重消費ではないことを検証するノード「Notary」(公証人の意)が存在しています。コンセンサスノードであるNotaryが検証し、署名したトランザクションはファイナリティを得られるのです。

なお、Notaryにはトランザクションのハッシュのみをチェックし、過去に当該トランザクションが消費されていないかを検証する「Non-Validating Notary」と、トランザクションの中身も含めて検証する「Validating Notary」の2種類が存在します。

Cordaネットワーク上でのインターオペラビリティを担保

Cordaを用いて開発されたCorDappは、他のCorDappとのコミュニケーションが可能です。したがって、ネットワーク間のインターオペラビリティ(相互運用性)が担保されています。

スケーラブルな分散台帳を実現

Cordaでは、膨大な金融取引を処理するために、高いスループット(単位時間当たりの処理能力)を備えています。

例えば、2018年10月に公表されたCordaのパフォーマンステストの調査結果によれば、1.15億件/日、5時間連続で1秒あたり6,300件の取引を処理できることが明らかになりました。

参考:DTCC Announces Study Results Demonstrating that DLT Can Support Trading Volumes in the US Equity Markets

なお、上記はCordaの商用版である「Corda Enterprise」を使ったテストであり、パフォーマンスを向上させる工夫(シャーディング)が行われているようです。

Cordaに対応しているBaaS

Cordaでの開発工数を削減するためのBaaS(Blockchain as a Service)としては、以下のサービスが対応しています。

  • AWS
  • Microsoft Azure
  • Accenture
  • Hewlett Packard Enterprise

前半の「AWS」と「Microsoft」では、少ない工数でセキュアなCordaネットワークを構築できる開発環境を提供しており、各BaaS上でデプロイする手順はCordaの公式ドキュメントで紹介されています。

参考:Azure MarketplaceAWS Marketplace

また、後半の「Accenture」と「Hewlett Packard Enterprise」は、ブロックチェーンの導入支援(コンサルティング)などが利用できるサービスとなっています。

Cordaを活用した事例紹介

Cordaを活用するコンソーシアムが数多く組成されています。いくつか紹介していきましょう。

Marco Polo

「Marco Polo」は、貿易金融(トレードファイナンス)の電子化プロジェクトです。現在の貿易では、請求書などの必要な資料が紙ベースでやり取りされており、十分に効率化されていません。

貿易金融のプロセスに分散型台帳技術を用いることで、透明性や改ざん耐性のあるグローバルなネットワークを構築できるようになり、貿易金融にかかる業務の効率化が期待されているのです。

また、Marco Poloのネットワークには、「三井住友銀行」や「マスターカード」、ドイツのメガバンク「コメルツ銀行」など、30以上の企業が参画しています。

さらに、2019年12月には5大陸25ヶ国以上、70以上の企業が参加した7週間の試験運用が完了しました。Marco Poloからの公式発表によれば、すべての参加者がMarco Poloの利用によって、業務が大幅に改善する可能性を感じたと回答しているようです。

Contour(旧Voltron)

「Contour」もMarco Poloのように、既存の貿易金融プロセスを効率化するプロジェクトです。Marco Poloが「オープンアカウント取引」を対象としている一方で、Contourは「信用状取引」をターゲットにしています。

オープンアカウント取引は、信用力のある企業同士の貿易において採用される取引方法であり、信用状取引は買い手と売り手の間に金融機関を仲介させることで、代金の未回収リスクを減らす取引方法です。

他にも多数のソリューションが存在する

この他にも、保険契約プロセスなどを効率化する「B3i」など、様々なコンソーシアムやソリューションがCordaで構築・提供されています。Cordaで開発されているソリューションは以下のページから検索できます。

参考:https://marketplace.r3.com/solutions

また、以下の記事では、今回取り上げたMarco PoloやContour以外の事例を紹介しています。

まとめ

パーミッション型の分散型台帳基盤であるCordaの大きな特徴は、プライバシーの担保であり、同じCorDappを共有するノードであっても取引の当事者でなければ、取引の存在自体が秘匿される点です。

したがって、例えば、利害関係にある他社とのコンソーシアム組成・CorDapp運用において、情報の共有範囲を厳格にコントロールしたい場合に適しています。

さらに、Cordaで開発されたCorDappは、異なるコンソーシアム間の相互運用性が担保されているので、ユースケースが増えるほど、ネットワーク全体の価値が高まっていくかもしれません。

なお、当メディアでは主に開発者向けに、CorDappを開発する手順についても紹介しています。以下の記事では公式チュートリアルを参考に、KotlinのCorDappテンプレートを利用したIOUコントラクト(借用コントラクト)を実装していますので、興味のある方はぜひご覧ください。

参考資料:
9 Big Takeaways from R3’s New Distributed Ledger Debut
Key concepts
Corda開発入門
Marco Polo Network successfully completes largest Blockchain Open Account Trade Finance Trial on R3’s Corda platform

製造業におけるブロックチェーン活用方法とは?

CTA-IMAGE 【ホワイトペーパー】製造業における業務変革をテーマに、業界の課題に対してブロックチェーンを活用する方法を紹介します。

ブロックチェーンカテゴリの最新記事