[Little Monster Inc. × Monday Capital] 2019年1月24日開催 第3回目Blockchain講義 at 茨城大学

皆様こんにちは。BlockRabbit編集部です!
お天気が続く東京ですが最近は風が強く寒いですね。インフルエンザが流行っている様ですので皆様お身体ご自愛ください!
日立市は今回も綺麗な冬晴れで私達を迎えてくれました。
茨城大学内ではなんと梅の花を確認!寒い中とても綺麗に咲いていました。


さて、では今日も43番教室へ行きましょう!
第3回目の講義内容はスマートコントラクトです!


アジェンダは以下の通り。
一つ一つ振り返っていきましょう。

前回の復習 BitcoinとBlockchain

前回までは、世界で初めての分散型プラットフォームの代表であるBitcoinを元にブロックチェーンについて説明を行って参りました。前回の内容はBlockRabbitのレポートでご覧下さい!

[Little Monster Inc. × Monday Capital] 2019年1月17日開催 第2回目Blockchain講義 at 茨城大学

Bitcoinは価値を転送する事が出来るという事を前回学びました。
現実社会では、あらゆる取引や決済を完了するまでに、常に多くのやり取りが行われています。例えば、弁護士や会計士が取引を精査する際には、法律を精査するのに、多くの時間とペーパーワークが必要となります。

そのような作業や法則の”ロジック(論理)”をブロックチェーンに加える事で、単純作業をデジタルで全て自動化できないのか?という試みを実現する可能性を、秘めているのがスマートコントラクトだと言えます。

コントラクトとスマートコントラクト

まず、「コントラクト=契約」とは何でしょう?
インターネットから拾ってきた辞典に寄ると、契約とは約束。一定の法律的効果を発生させる目的で、相対する当事者の合意によって成立する、法律行為です。
スマートコントラクトの定義については、まだまだ議論の余地があるかと思いますが、LayerXの福島氏が唱えるスマートコントラクトが個人的に一番しっくり来ているので、福島氏の説明を引用したいと思います。
”スマートコントラクトは、どちらかというと台帳上の通貨の動きを決めたルールのようなもの。”(LayerX 福島氏、引用:「ブロックチェーンの「Next Use Case」をテーマに有識者が語る、銀行や証券会社の境界がなくなる世界」)

あくまでもスマートコントラクトとは、台帳機能であるブロックチェーンを基盤に、その台帳上の資産の動きを決められるブロックチェーンの拡張機能、とも解釈できます。
さて、以上の説明を踏まえてスマートコントラクトの実態に迫っていきましょう。
契約を実行するためにはトリガー(きっかけ)もしくは、条件の達成が必要となります。
例えば「誰かが何かを買った(店から持ち出した)」という行為の発生に対して、「当該人のウォレットからお金がその分引かれる」などというプログラムを設定しておけば、購入と支払いがシームレスにスマートコントラクト上で処理されます。
(わざわざスマートコントラクトでやる必要があるのか?という疑問は大変鋭いのですが、後ほどその点に触れていきますので、今は置いておきましょう。)

さて、概要について大分なぞっていきましたが、未だにスマートコントラクトのイメージが湧かない方に、この界隈でよく用いられるスマートコントラクトの例がありますので、ご紹介します。


それは、自動販売機です。

(トリガー)指定された量のコインを入れて、欲しい飲み物のボタンを押す
(結果)欲しい飲み物が手に入る

なんとなく普段用いている自動販売機の裏にもこのようなシステムが動いています。

誤解していただきたくないので、強調しますが、自動販売機はスマートコントラクトとはもちろん別物です。自動販売機はスマートコントラクトで動いている訳ではありません。
何となく、スマートコントラクトのイメージを持って頂きたく自動販売機の例を出させていただきました。

改めて、スマートコントラクトとは

Trustless(トラストレス)
相手方を信頼する必要のない
Automated (自動化)
つまり、プログラムで強制的に契約を執行

この一連の作業をブロックチェーンという資産台帳で行えるものです。
実用例の案を見てみましょう!

  1. デジタルIDの管理
  2. 今は異なる様々な機関がそれぞれに私たちの個人情報を管理しています。ここにおける問題は、当事者であるあなた自身があなたの健康情報を持っていない、ということです。
    中々この概念はご理解いただけないかもしれませんが、現在、本来はあなたが持つべき情報が他の誰かに管理されています。
    FacebookやInstagramであたかも自分がアカウントを管理しているかのように錯覚していますが、それらのデータは企業に帰属し、あなたに変わって企業が活用しています。
    この先、あなた自身の情報はあなたご自身が管理する社会になってくると考えられています。スマートコントラクトがそのような世の中でどのように活用できるのか?
    一つ想定されている使途として、スマートコントラクトを用いたアクセス権限管理が唱えられています。自分が指定した相手にのみ情報へアクセスできる権限を与える。例えば、そこで発生する金銭的な授受は連動するブロックチェーンで記録できますので、アクセス権の授受と金銭の動きを同時に実行できます。

  3. 家を買う
  4. 家など人生で大きな買い物をする時というと、不動産屋との手続き、役所での書類集め、銀行での振り込み、弁護士や会計士との相談など多くの人や組織が関わり、煩雑な手続きやペーパーワークが起こります。
    スマートコントラクトで不動産の権利の売買をデジタル上で行えると、大きな時間的、金銭的コスト削減が見込まれます。

  5. サプライチェーンの簡略化
  6. 様々な経由地、企業を経て流通は成り立っています。
    たとえば海外からの輸入品を生産から販売までブロックチェーンでタグをつけて管理し、常に生産や輸送の情報をリアルタイムで記録、スマートコントラクトである一定の管理条件を設定し、それをクリアした商品だけ届くようにする事が可能になるかもしれません。
    流通データを明らかにする事で安全性の保障、管理こすと無駄を削減出来る可能性を秘めています。

  7. 研究や開発
  8. 最後の例は現在の研究や開発の効率の悪さに焦点を当ててみましょう。
    もしも、全ての大学や研究組織が全ての研究データを共有できると、同じ研究を繰り返すことも無くなり、研究や開発のスピードも格段に加速させることが出来るかもしれません。
    もちろん全ての研究結果を開示したくないという人も出てくるでしょう。そこでスマートコントラクトを使用し、アクセス権限を与える事も可能ですね!


スマートコントラクトを使った応用例はたくさんありますが、全てにおいて完璧とはまだ言えません。そこでやはり質問が上がりました。

Question :
アクセス権限を与える人が医者かどうかをどのようにして承認するのか?なりすましを防ぐ事は出来るのか?

Answer :
いい質問です。まさにデジタルIDの設計自体が現段階での大きな課題です。
実はスマートコントラクトもデジタルIDが確立できなければ活用出来る範囲が限られるというのが現状です。
しかし、中には興味深いプロジェクトもあり、AさんをAさんだと承認するために、ある条件を満たしたBさん、Cさんの承認を得て立証するなどといった試みがあります。
「デジタルでアイデンティティーを証明する事」これが今スマートコントラクトが直面している大きな課題である
と講師は答えました。

以スマートコントラクトの利点と欠点をまとめましょう。

Benefit

  • スピードが早い、リアルタイムアップデート
  • 正確性
  • 仲介者がいらない
  • 少ないコスト
  • 新しいマーケットやビジネスモデルの可能性

《どのような場面で利用できるのか?》

  • 当事者間で頻繁に取引が行われる時
  • マニュアル的な反復作業に対して

Backdraw

  • 一度ブロックチェーンに入れたものは変更できない
  • 巻き戻す事が出来ない(スマートコントラクトの内容はアップデート出来るが完了してしまった取引は無かった事にはできません)
  • 法律や政府の理解がなければ実現不可能 法的要件の確認
  • 今現在はブロックチェーン上にいれた情報は誰でも見れる状態なので現段階では重要機密情報には向いていない

《どのような場面では適さないか》

  • プライバシーに関わる情報や機密情報
  • 取引相手が適宜変わるなど複雑すぎる取引

ここで私が魅力的に聞こえた事が、
”コストの削減が出来ると同時に人間がもっとクリエイティブな物事に集中できるようになる”
という利点です。私たちは日々多くのルーティーン作業や反復作業に追われていて本来の個人の能力やクリエイティビティーを発揮出来ていないのではないでしょうか?
AIやブロックチェーン、ロボットによって多くの仕事が搾取されるという懸念は確かにありますが、本来人間がするべき仕事をしなければならなくなるだけである。と講師は言います。
皆さんはどうお考えになりますか?

スマートコントラクトの構造

詳しくは触れていきませんが、どのようにしてスマートコントラクトが動いているのか見ていきましょう。
構成としては以下の4つでスマートコントラクトは成り立ちます。

  • ブロックチェーン
  • プログラミング言語 “Solidity”
  • バーチャルマシーン “VM”
  • 独自のトークン
How It Works?
  • スマートコントラクトはネットワーク上で行われる自動処理である
  • それぞれのノードがアドレスを持つ
  • システムはプログラムされた通りに必ず遂行される
  • スマートコントラクトのトリガーは当事者のアドレスが指定された取引に対して施行される
  • スマートコントラクトは独自のコインの残高と状態を管理している状態で行われる
“VM”バーチャルマシーン

1、全てのスマートコントラクトを行うノードはVMを持ちます。
2、スマートコントラクトを構築する時、Solidityという特殊な言語を使用するので、VMが処理出来るようにSolidityをBytecodesに変換する必要があります。


SolidityとVMはチューリング完全です。
(チューリング完全 : 無限ループのように、動作が永遠と起こり続けられるもの。かなり意訳した表現なので、詳しくはご自身で調べていただければ大変助かります!)
Solidityのプログラム言語はチューリング完全なので、一度動作が始まると無限に起こり続けてしまう事から、もしも無駄な取引内容までたくさん起こしてしまうと全てが適応されます。そうなるとネットワークは混雑してしまい、膨大な取引量によって全てのノードやVMが停止してしまう可能性があります。
その対策としてGASという手数料を取引の際に課し、簡単に無駄な取引が起こらないように調整を図っています。



非常に難しい内容で限られた時間の中で全ては説明出来ませんが、テクニカルな構造の表面だけでも皆さんに知ってもらおうと、今回は触れました。

まとめ

  1. スマートコントラクトのプラットフォームは分散化されたコンピューター
  2. ネットワーク上のすべてのノードは並行してコードを処理する
  3. コードが処理されたらシステムは再び処理された取引が正しいかを承認する(コンセンサス)
  4. ブロックチェーンを用いる事で各ノードの信用を確保
  5. スマートコントラクトはネットワーク上で永遠に適応される契約である

スマートコントラクトの代表的なプラットフォーム : Ethereum, RSK

次に、世界的にもスマートコントラクトのプラットフォームを開発する代表的なプロジェクトを2つ紹介します。

Ethereum



EthereumはBitcoinに次ぐ時価総額が第2位の、スマートコントラクトを実装する為に作られた組織です。独自トークンはEtherと言います。Ethereumも全てのノードが同じシステムを持ちアップデートを行う、完全に分散化されたコンピューターです。

RSK(Rootstock)

アールエスケーまたはルートストックと呼ばれる、同じくスマートコントラクトを開発するプロジェクトですが、RSKはBitcoinのブロックチェーン上にデータを蓄積し、サイドチェーンにてスマートコントラクトを実行し、データを再びBitcoinのチェーンへ戻し保存します。(今後Bitcoin以外にも適応される予定)
サイドチェーンとメインチェーンで役割を分ける事でイーサリアムよりも取引が100倍近く早く処理され、コストも安い。またスマートコントラクトの変更もより簡単に出来るというのが特徴です。
ご興味ある方は是非それぞれのサイトへ行って、ホワイトペーパーを読むなどしてもっと深くそれぞれのプロジェクトの特徴を調べてみてくださいね!


さて、本日の講義「スマートコントラクト」の内容は以上になります。
コメントはお気軽にBlockRabbitテレグラム、またはFacebookTwitterにてお待ちしております!

P.S
今週のMonday Capitalから学生の皆さんへ送ったメッセージを追記しておきます。


「文明社会は、私たちが何も考える事なく処理できることの数が増えることで発展する」

一々自分としての証明に書類をかき集めたりする必要のないシームレスな操作を出来る事が、テクノロジーが社会に適合する最終的な姿とも言えるのではないでしょうか?

加えて、An Overview of Academia & Blockchain


こちらはサンフランシスコにあるバークレー大学のブロックチェーンコンサルティングの代表の方が世界の有名大学の在学生、卒業生が開発した著名なブロックチェーンプロジェクトや集めた資金額をまとめたものです。

Monday Capitalはこれを通して、以下の激励の言葉を伝えました。

「トップ大学では多くの学生が既にブロックチェーンについて学び研究しています。
ここにいる皆さんが次のイーサリアムのような、またはより良いプロジェクトを開発する可能性は十分にあります。
素晴らしい事に、多くのプロジェクトがコードをオープンソースにしているので、皆さんにもそれを元に新たなアイデアや改良をして行ってほしい。」


さぁ、いよいよ来週は最終講義にて学生に皆さんのプレゼンテーションが行われます!

テーマは「人口減少に対してどのようにしてブロックチェーンが活用できるか」また、「現在起こっている社会問題に対するブロックチェーンを用いたソリューション」です。

我々一同とても楽しみにしています!
皆様、最終レポートもお楽しみに!

1 個のコメント