じぇいラボ

僕の脳内情報を皆様に差し上げます。-Precious Time for You-

スマートコントラクトって何?

f:id:hiroaking717:20180724003823p:plain

今日はイーサリアムなどで話題の「スマートコントラクト」についてお話しします。



1.スマートコントラクトとは


様々な機能を実現できるスマートコントラクトを一言で語るなら
「プログラムによって自動で実行される契約」です。
実は専門家の間でも現在のところ明確な定義はありません。


契約は本来、(定義→イベント発生→価値の交換→契約執行→決済)で出来ていますが、スマートコントラクトをブロックチェーンに刻むことでイベントの発生から決済までを自動化できるのです!


ちなみにイーサリアムはループ処理可能なチューリング完全型という
スマートコントラクトを用いています

(ビットコインはループ処理不能な非チューリング型)



2.そもそもスマートコントラクトってなんの役に立つの?f:id:hiroaking717:20180724004229j:plain

「スマートコントラクトが発展したからってなんの役に立つの?」という
ご意見もあるでしょう。


最も変化があるのは、「対面で」「書面で」「口頭で」といった契約のあり方です。

まずはあらゆる契約を対面かつ書面ベースで保存するという非効率を解消できます。


加えてセキュアなシステムで保護されたブロックチェーン内の情報に対して基本的にサイバー攻撃は意味を持ちません。しかしながらPoWの場合「そのブロック内の過半数以上を占める計算能力で改ざんを行う」、PoSやの場合は「そのブロックチェーンのバリデーター(監視・承認者)の大半が不正な取引を承認する=ビザンチン将軍問題」が起こった場合は別です。



3.ではどうやってスマートコントラクトを実現しているのか?
f:id:hiroaking717:20180724010411j:plain

スマートコントラクトを実現するに当たって、一番のメリットは
ブロックチェーンに個人の権利や支払いの情報が保存されていること」です。


「大企業から情報流出とかあるじゃん。何か怖い。」

ご安心を。大企業の古ぼけたレガシーシステムと、
情報を個人のみで管理するブロックチェーンでは技術の理念そのものが異なります。


ブロックチェーン上に個人の与信記録、信用力や契約状況を記録することで、
保険会社や銀行などは非常に顧客相手のビジネスがやりやすくなります。


消費者である我々も、
「どのような契約を誰と結んだか、
三者の干渉を受けないセキュアな状況で逐一確認できる」

状況を大いに享受できるでしょう。


一方でデメリットとしては「不完備契約になってしまい、契約の変更が困難なこと」です。不完備契約とは「取引で発生し得る全ての状況とその対応を事前に全て記載することのできない契約、あるいは取引で発生した全ての事柄を第三者に立証することができないような状況で結ばれる契約」のことですが、スマートコントラクトでは現実の契約で必要な完備契約を包括することが出来ず、ビジネスにおいて今ひとつ現実に普及していないという現状です。



4.実際の例(codius)
f:id:hiroaking717:20180724010650p:plain


medium.com

Ripple(リップル)社の元最高技術責任者(CTO)
ステファン・トーマス(Stefan Thomas)氏が7月6日、
新しいスマートコントラクトプラットフォーム「Codius」をリリースしました。


codiusのスマートコントラクトはイーサリアムとは異なり、
「特定の基盤となるブロックチェーンを必要とせず、
独立したホスト上で実行」
されます。


これによって他のサービスやAPI(アプリをページに埋め込むこと)を
利用して、スケーリングの幅が急激に広がるという利点があります。


なお、codiusはイーサリアムにおけるSolidityの様な特殊な言語でなく、
JavaやJavaScipt、C#C++などで記述できるそうです。

言語の難しさでイーサリアムを諦めていた技術者も、
codiusなら頑張れるかもしれませんね笑




みなさん、スマートコントラクトについてさっくりとご理解いただけましたか?
また新しい技術をご紹介するので、よろしくお願いします!