完璧に見えるスマートコントラクトが、世の中に普及するまでの問題とは?
スマートコントラクトで全ての取引を電子化・自動化させて行ける可能性は勿論あるのですが、一方でまだまだ解決して行かなければならない課題も幾つか抱えております。 そこで、今回はスマートコントラクトの課題にフォーカスを当ててご紹介していきたいと思います。


スマートコントラクトも完璧なものではないのじゃ。幾つかの課題があるからその点について今回は紹介しようと思う。

そうだねー。実装するのってエンジニア以外まだ出来ないから普及するためにもやらなきゃいけないこと多そうだよね。

今のところそれも課題の一つなのじゃ。例えば契約書、コードで記述されることになるから双方エンジニアとしての素養は必要になるのじゃ。

まだ簡単にスマートコントラクト上に契約書を作成出来るツールとかないんでしょ?それは仕方ないね〜。。

そうじゃ。じゃが解決しなければならない課題なのじゃ。その点も含めて、早速紹介していくぞ!
契約書が全てコードで記述
スマートコントラクトでは、プログラミング言語で契約を記述することになります。
例えばイーサリアムの場合Goという特殊な開発言語が利用されているため、イーサリアム上でスマートコントラクトを実装しようとすると、Go言語を用いて契約を記述していかなければなりません。
また、この記述に対して後々バグが発見された場合であっても取り返しのつかない事態となってしまいます。
これが後々の訴訟や大きな損失につながる恐れがありますし、当該損失を補填してくれる保険商品もまだ存在しておりません。したがって、損失が出た場合は全て当事者同士で解決しなければならなくなってしまいます。
また、現状のスマートコントラクトを活用して契約を自動化させて行こうとすると、まず開発言語を習得する必要があります。
もっとも、実装自体はエンジニアに任せるとしても、最低限自分で契約書の内容に誤りがないかを確認するためにコードを読める程度にプログラミング言語を学習しなければならず非常にハードルが高いものとなっております。
ネットワーク合意の必要性
スマートコントラクトでは、外部情報を直接取り込むことができない点も課題として挙げられております。
これはどういうことかと言いますと、例えばある契約に関して天候情報を条件として盛り込もうとする場合、気象庁や他の天候情報サイトから引っ張って来なければなりません。
通常の開発であれば気象庁は他の天候情報サイトと開発したサイトをAPIで連携すれば良いのですが、スマートコントラクトの場合、この連携に関してすべてのネットワーク参加者によって合意されたものでなければならないのです。
なぜなら、気象庁などの公的機関が発表している天候情報であったとしても、当該データが不正に作成された可能性が排除できないため、当該データが正しい、正当性のあるデータであるということに対してネットワーク参加者と合意を取らなければならないからです。
しかし、ネットワーク参加者が全て合意しなければならないとすると、スマートコントラクトにとって非常に足かせとなってしまうため、「オラクル」という正当性が検証可能なものに限って正しいと、全ネットワーク参加者が信じるようにするという考え方を採用することで、この点について「一部の外部情報のみ」正当なものと決めることが可能となっています。
ネットワーク外部のデータとブロックチェーンネットワークとの間の繋ぎとなるオラクルですが、前述のとおり、外部情報、そして当該情報を提供している企業や機関の信用を前提とするため、分散性とトラストレスを重視するシステムにおいては大きな課題となっております。
現状は、このオラクルの仕組み自体も分散型でトラストレスにするため、アルゴリズムの開発が行われているようです。
まとめ
スマートコントラクトで全てが分散され、そしてトラストレスな世界を実現することができると思われがちですが、そこまでの道のりはまだまだ険しく、一筋縄ではいかないのが現実のところです。
しかし、コードで記述しなければならないスマートコントラクトは今後グラフィカルに、ユーザーがウェブ上に簡単に書き込むようになると思います。
というのも、昔のコンピュータはマウスも無く、簡単なコードをキーボードから打ち込んでソフトウェアを起動させたりしておりましたが、マウスができ、WindowsがGUIのパソコンを出したりと、使いやすいものになってきました。今では指一つでパソコンを操作することができるようになっています。
これと同じように、スマートコントラクトもより身近に、より使いやすくなると考えられます。
また、スマートコントラクトの課題である外部情報の参照についてはオラクルの仕組みを取り入れることで解決を図ることができますので、今後アルゴリズムが開発出来ればクリアになって行くかと思われます。

スマートコントラクトという言葉が先走ってしまっておるが、解決しなきゃならん課題はまだまだあるのじゃ。

そうだね。世の中に浸透するまではもう少し時間が掛かりそうだね。

そうじゃの。しかし、積極的に使い続けることが、応援する側としての良い身の振るまい方じゃろうとわしは思うのじゃ。タカシも積極的に触れてみると良いぞ

確かに。積極的に使いながら応援するのも有りだね!