先日のCorda 5.2リリースを記念して、Cordaは「なぜDLT技術を採用したのか?」、「他のDLTと比べたときのCordaの優位性」について改めてご紹介します。
Cordaとは?
Cordaは分散型アプリケーションの開発と運用を行うことができるDLT(Distributed Ledger Technology:分散型台帳技術)アプリケーションプラットフォームで、豊富なJava API を使用して記述されています。アプリケーションは、標準のJava 開発ツールを使って作成され、Cordaのツールを用いてパッケージ化されます。パッケージ化されたアプリケーションは Cordaにデプロイされ、組織に代わってアプリケーションと分散型台帳の更新のワークフローの両方を実行します。
なぜDLTなのか?
DLTは、デジタルデータを、異なる場所にある複数の組織が関与するコンピュータのネットワークを介して、分散型の方法で記録、保存、処理するためのデジタル台帳システムです。DLTには次のような利点があります。
- 分散化
- どのようなStateの変更が可能で、どのようなStateの変更が不可能かを指示する中央集権的な管理機関は存在しない。その代わり当事者はグローバルなStateの変更についてコンセンサスをとり、これはコンセンサスルールによって管理されます。
- セキュリティ - Stateの変更は署名によって証明され、不正アクセスを防止し、改ざんから保護します。次の 3 つの基本原則が適用されます。
- 機密性: 2社が相互に共有するデータをネットワーク上の他の者から秘密します。
- 整合性: 関係者間で共有されるデータがライフサイクル全体にわたって正確で一貫性があり、有効であることを保証します。
- 可用性: 運用中に発生する可能性がある障害に対する回復力により稼働時間を保証します。
- 透明性
- Stateに対するすべての変更が監査されるため、参加者間の信頼性が高まり、エラーの可能性も排除されます。
- 不変性
- State変更に対する記録は変更または削除できません。永続的な記録として残ります。
- 認識齟齬が生まれない
- 一旦更新が合意され、検証されれば、その有効性は揺るぎません。これにより、組織間で事後的に調整を行う必要がなくなります。コンセンサスとは、提案された変更が有効であり、適用できることを(問題が起こったドメイン内で)立証できることを意味します。重要なことは、一旦適用され受け入れられると、そのドメイン内のいかなる当事者もそれを否認することはできなくなります。
なぜCordaなのか?
Corda を他の DLT と区別するアプローチがいくつかあります。
- アイデンティティ
- 取引相手が誰であるかを知り、そのアイデンティティが一定レベルの保証で証明されていることを知ることは、信頼を確立するために重要です。他の多くの DLT およびブロックチェーンシステムは、機能として匿名性を提供します。しかし、Cordaは信頼が絶対的に重要なユースケースのために、アイデンティティに許可を与えるというコンセプトでプラットフォームをレイヤー化しています。 一方でCordaは特定のレベルの認証を義務付けておらず、各ネットワークは独自のルールを設定できます。許可がなければ、ネットワークの状態やそのネットワークの他のメンバーにアクセスすることはできません。
- プライバシー
- Corda上で互いに通信したい人々は、CorDappsと呼ばれる同じ分散アプリケーションをインストールすることができます。これらのアプリケーションは、相互作用のパラメータを定義し、ネットワークオペレータが許可したStateに対するルールの範囲内で、情報や資産を交換できます。これらのプライベートネットワークでは、関係者だけがそのStateの詳細を見ることができます。
- コンプライアンス
- Corda は金融サービス業界を念頭に置いて設計されており、既存の金融システムとシームレスに連携し、銀行やその他の金融機関が既存のプロセスに Corda を統合できるようにします。
- スケーラビリティ
- Corda はスケーラビリティが高くなるように設計されており、パフォーマンスやセキュリティを犠牲にすることなく大量の取引を処理できます。これは、短期間に大量の金融取引を処理する金融サービス業界に特に適しています。
- 合意メカニズム
- Corda はスマートコントラクトを使用して、当事者間の複雑な合意を自動化します。これらのコントラクトは一般的なプログラミング言語で記述されているため、他の DLT プラットフォームよりも開発と管理が簡単です。Cordaのスマート コントラクトは、既存および将来の規制と互換性があり、法的概念に基づいています。これらは、2社以上の検証済みで識別可能な当事者間での合意 (金銭的合意など) およびその他の共有データの推移を記録および管理します。コントラクトを検証するためにオブザーバーとして監督機関や規制機関にネットワークへのアクセスを与えることができます。
- ワークフロー
- Corda のフローは Corda の重要な機能です。フローは、Corda ネットワーク上の複雑なビジネスプロセスを簡素化し、自動化するのに役立ちます。フローは、取引や決済などの特定のビジネスプロセスを完了するために必要な手順を定義します。フローはメッセージングシステムを使用して、関係者間の通信や更新を可能にします。フローはモジュール式に設計されており、フロー内の各ステップを独立して他のステップと並行して実行できるため、処理時間が短縮され効率的です。
DLTおよびCordaの考え方の詳細については、キーコンセプトを参照ください。
Cordaの進化
R3 は、上記の機能を提供するために Corda の開発を開始し、プライベートに許可された初の DLT/ブロックチェーンプラットフォームを開発し、2017 年にバージョン 1 がリリースされました。Cordaを本番稼動させているお客様のニーズをより満たすために基盤技術を進化させています。この進化は、市場をリードするDLTソリューションとしての地位を維持しつつ、スケーリング、スループット、可用性に焦点を当てています。
Corda5.2についてさらに詳しく
Corda 5.2 のドキュメントは下記の方を対象に作成しています。
- アーキテクトの方向け
- キーコンセプトがおすすめです。
- CorDapp 開発者
- Cordadappの開発を始めるにはアプリケーションの開発を参照ください。
- クラスター管理者
- Corda をデプロイおよび構成する方法は、Corda クラスターの管理を参照ください。
- ネットワークオペレーター
- アプリケーションネットワークの開発とメンバーの管理を開始するには、アプリケーション ネットワークの運用を参照ください。
各ペルソナの役割の詳細については、「ドキュメントについて」を参照ください。
<ご質問・ご要望の例>
- Corda Portalの記事について質問したい
- ブロックチェーンを活用した新規事業を相談したい
- 企業でのブロックチェーン活用方法を教えて欲しい 等々