2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
旗手友和氏(以下、旗手):はい、よろしくお願いします。私、普段、こういうライトニングトークみたいなものやらないので、簡単に自己紹介します。最近転職して、とある企業で、R3のCordaというものをやり始めました。いわゆるプライベート型のチェーンなので、ここにはあまり馴染みのある人はいないかなと思いますが。
私自身はどちらかというと、EthereumとかBitcoin Coreというパブリック型のほうが好きです。例えば、先ほど発表いただいたEthereumのERC725なんかも、以前公開講義でチラッと言ったことがあります。ぜんぜん簡単なところだけですが。
あと、将来はトークン・エコシステムみたいな、DEXでいろんなものがすべてつながって、トークンでやりとりするとか、Atomic Swapだとか、そういうのでいろんなチェーンがつながって、暗号通貨において1つの経済圏みたいなものができていくのを楽しみにしてますし、私自身それを目指しています。とりあえず今は、企業に勤めてることもあるので、Cordaの話を簡単にしていこうと思います。
Cordaは、簡単に言うと、一般的に金融機関向けとして使われるプラットフォームです。R3自体は、金融機関以外のもっと汎用的なところも目指してるんですが、やっぱり金融機関のエンジニアが多く集まったので、まずは金融のところから押さえていこう、という経緯でできたものです。
EthereumにDAppsというものがあるんですけど、CordaもCordaネットワーク上にDAppsを構築して、そのCorDappsという分散型アプリケーションを使って、取引のやりとりをします。
みなさんもご存知だと思いますが、Cordaはブロックチェーンではないです。要するに、とあるブロックの中に一定数のトランザクションが入って、それがナンスとかでつながって、どんどんどんどんブロックがつながって、ledger(台帳)が更新していきますよ、というかたちではない。あくまで、取引する2者間の中だけ、ある特定の取引者の間でだけデータが共有されるモデルを取っています。
ただ、結局、Mike Hearn(注:元Bitcoin Coreの開発者)がR3にいることや、あるいは、もともとR3としてEthereumの研究から始めていたりということもあって、Bitcoin CoreとかEthereumの良い要素をいっぱい取り入れてたりもします。
まず、実はR3って、トレーニングをけっこう熱心にやってまして、月1回ベース、ロンドンとかそういったところで、値段はちょっと高いんですけど、30万ぐらい取ってやってます。ただ、資料とかスクリプトとかは全部GitHub上で公開されてるので、実は1人でもやろうと思えばできたりもします。
これはそのGitHub上に公開されてる資料を、そのままお見せしてる感じです。ちなみに、日本でやると、一応12万ぐらいで受けられます。まあ、それでも高いと思ってます。なので個人でやりたければ、一応オープンソースなので(GitHub上のトレーニング用ソースやドキュメントを)どうぞご活用ください。
(スライドを指して)ここに書いてある“Corda network”というもの、これが1つのネットワークです。
ノードAとかノードBとか、これは例えば金融機関とかのノードだと思っていただければいいんですけど、ここにノータリー・ノードというものがあります。
ノータリー・ノードが、Bitcoin Coreでいうプルーフ・オブ・ワークをするところです。マイナーみたいなもので、この人(厳密には単なるノード)が最終的にこの取引は正しい、大丈夫だという正当性を証明しています。
ノータリー・ノードって、図で表すと単一障害点のように見えるんですけど、実はこれ自体はクラスタ化されているので、例えば(クラスタ化された)ノータリー・ノード(の一つである)Aが壊れても別のBがつながるようなかたちになっているので、厳密には単一障害点ではないです。
それ以外にも、許可サービスみたいなものがあって、何をしてるかというと、結局要するにプライベートネットワークなので、(ノードの)AとかBとかCとかDに「あなたは参加していいですよ」ということを決めたり、別の人が勝手に入ってこようとしたら「入っちゃダメだよ」って言ったり。「新しく入りたい」って言ったら、ここに追加して「君、入っていいよ」っていうかたちにしています。
一方でこのネットワーク・マップ・サービスというものにも、ノードAとかノードBとかノードCとかの情報が入っているようなかたちになっています。
CorDappsという、最初のほうでもお話しした分散アプリケーションの中には何が入ってるかというと、ステートと、それからコントラクトですね。スマートコントラクトはちょっと別で、単なるベリファイ(トランザクションの検証)しかしてないものがあるんですが。それからトランザクションというか、(トランザクションを作成し、そのトランザクションを取引相手に提案し、最終的に取引を成立させる一連の流れを規定した)フローの3つになってます。
(スライドを指して)ステートはこういうかたちになってまして、簡単に言うと、この図例はIOUですね。IOUというのは一種の借用証明書です。このステートがあるとしたら、このようにいろんなプロパティ、パラメータを入れることができます。
借り手とか、貸し手とか、お金だとか、期限とかを全部パラメータ設定して、なおかつそのコントラクトに対する参照情報と、それから参加者の情報、例えばアリスとボブについての情報を持っています。
このステートに対して(スライドを指して)こういうかたちでコントラクトがあります。
先ほど、ステートはコントラクトへの参照を持っていると言ったんですけど、このようになります。例えば“CASH”というステートだったら、“CASH”というステートは常にそれに対応したコントラクトを見にいくような動きです。“BOND”だったら“BOND”に対する、まあ、債券ですね、それに対するコントラクトを持っているというかたちです。
中を見ていただいたらわかるように、実はトランザクションの枠の中に複数のステートが入っています。
Cordaにおいては、1つのトランザクションの中に複数の型のステートを入れることができます。
トランザクションはアトミックなので「このステートの変遷はOKだけど、このステートの変遷はダメだよ」という時は、トランザクション自体を完全にバツにしてしまう(承認しない)ことができる。そういう意味で、いろんな表現方法ができます。
例えば、DVP、Delivery Versus Paymentのような、債券と決済を交換してやるようなものでは、債券はうまくいってるのに、決済だけダメでしたというわけにはいかない。そういうとき、両方の検証が通ってはじめてOKにするというようなことも、表現できたりします。
こういうふうに、意外といろんな使い道ができます。あとは、(Bitcoinで採用している)UTXOモデルを使っているので、複数のインプットをもとに、アウトプットをうまくつくったりすることができます。
Bitcoinと少し違うところは、Bitcoinだともしかしたら、自分でこのインプットとこのインプットを使ってアウトプットということができなかったかもしれないですけど。
Cordaはどっちかというと、このインプットとこのインプットを使ってこのアウトプットをつくるというふうに、自分で明確に示す形になっています。そのへんがちょっと違うのかなという気がします。
あとは、フローが何をしてるかを簡単にいうと、例えば「あるトランザクションをつくります」と提案者(例えばアリス)が提案して、それに対して(アリスが)自分の署名とかを載せる。そして、こういうかたちでボブに投げて、ボブが検証して、また署名して返す。そしてアリスに返したら、またアリスが署名するという、1つの流れを規定するものになってます。
当然その間、他の関係者は一切関知しない。つまり、トランザクションはネットワーク上にあるんですけど、ポイント・トゥ・ポイントのやり方なのでブロードキャストしない。だから、このアリスとボブ以外の人たちは誰もその取引が行われたかどうかを関知できない、見る・見られないどころか、(同じネットワーク上にいながら)取引の存在すらわからないことになります。
そういう意味で、金融機関向けに適している考え方になります。駆け足ですが、以上となります。
(会場拍手)
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05