#目的
Cordaとは何かを理解する。
技術的な内容というよりは、概念レベルで理解する。
#内容
##Cordaとは?
分散台帳技術Distributed Ledger Technology(DLT)プラットフォーム。R3社が主体となって開発している。
R3が主催するコンソーシアムには世界中の金融機関やTech企業が参加している。(日本からはメガバンなど)
CordaにはOpenSource版とEnterprise版がある。
##開発言語
CordaのスマートコントラクトはJavaやKotlinなどJVM言語で記述する。Corda自体はKotlinで書かれている。
ちなみにHyperledger FabricはGoかJavaかNode.jsで、EthereumはSolidityという言語でスマートコントラクトを開発する。
##分類
BlockchainはPublicとPrivateの2つに分類可能で、CordaはPrivateに分類される。
- Public Blockchain
誰でも参加可能なBlockchain。BitcoinやEthereumなど。 - Private Blockchain
参加者が制限される、企業や団体向けに設計されたBlockchain。CordaやHyperledgerなど。
##第3波のBlockchain
ホームページでは、自身を"第3波のBlockchain"と位置付けている。
- 第1波-Bitcoin
分散台帳を実現 - 第2波-Ethereum
スマートコントラクトを実現 - 第3波-Corda
プライバシーやトランザクションなどの問題を解決し、ビジネス利用できるBlockchainを目指す
##Cordaの全体図
Cordaの台帳には当事者間の取引のみが記録されるため、参加者ごとに台帳の中身が異なる。Bitcoinのように参加者が全く同じ台帳を持っている訳ではない。参加者ごとの台帳を持つことで、不特定多数の人が全ての取引を閲覧できないようにしてプライバシーを確保している。
トランザクションはImmutability(不変性)が確保されているため、トランザクションそれ自体を変更したり削除することはできない。トランザクションを新しく作成する場合は、Bitcoinと同じように前のトランザクションのハッシュを新たなトランザクションに含める。(最初のトランザクションは例外)
Cordaではノータリーというサービスがあり、トランザクションのハッシュが既に別のトランザクションに含まれていないか検証することで、2重支払いを防ぐ。
#まとめ
BitcoinやEthereumとは方向性がまた違い、ビジネス利用を目的としているのがCorda。
金融だけでなく、他分野での利用も可能で今後が楽しみ。
#参考文献
Github
https://github.com/corda/corda
公式HP(英)
https://www.corda.net/
公式Document(英)~日本語字幕の動画あり
https://docs.corda.net/index.html
medium(英)
https://medium.com/corda