世界タイムズ

インターネットビジネスの真理を探る

仮想通貨(暗号通貨)は、契約の施行をコンピュータープログラムにして自動化することに向いた技術である #イーサリアム

f:id:world-times:20210312005446p:plain
日本ではビットコインに次いで知名度が高い「イーサリアム」という暗号通貨ですが、いまいちその違いが掴めません。この記事では、イーサリアムが何かというのを説明する、3つのキーワードで解説します。

  1. スマートコントラクト: 取引&契約の自動化
  2. dApps: スマートコントラクトを実装するためにエンジニアが扱う技術
  3. THE DAO 事件: 事故発生時のイーサリアム運営の方針を決定づけた事件

それではさっそく、これら3つのキーワードについて理解していきましょう。

1. スマートコントラクト: 契約の遂行を人間でなくコンピュータープログラムに任せるという考え方

お金を扱った取引というのは、原則として時間とセットで扱われます。決められた期日が来るか、もしくは何かしらの事象が起きたら、お金を受け取る/支払うという手続きが行われるものです。

例えば、街場の小料理屋は料理の材料を卸屋から買うのですが、その際の支払は翌月の◯日に行われる、というのはよくある話だと思います。

卸屋は「売掛金」という、あとでお金を受け取る権利を得た、という状態。そして、小料理屋は「買掛金」という、あとでお金を支払う債務を負った、という状態です。

翌月の期日になって小料理は本当にお金を払ってくれるのかがわからない、すなわち「与信」が低いと感じるなら、できれば即支払ってて欲しいと考えるものです。一方で、小料理屋も売上の中から卸屋に支払を行いたいわけですから、支払の時期は遅ければ遅いほど助かる、という事情があったりします。こういうジレンマは、どこの業界にも必ずと言っていいほど存在しています。

こういった売掛金・買掛金のような金銭を扱う取引に対して、与信というあいまいなもので対応しようとするのでなく、時間になったら自動的に支払が実行されるようにソフトウェアで解決してしまおうというという発想で生まれたのがこのイーサリアムです。この取引を実現する仕組み・技術を「スマートコントラクト」といいます。

ビジネスの「取引処理」に特化した通貨であると、そう考えればイーサリアムは非常にシンプルにみえますね。

2. dApps: スマートコントラクトを実装するためにエンジニアが扱う技術

「時間になったらいくら振り込む」みたいな取引の処理は、プログラミングによって実現されます。その処理は特定のサーバーで実行するとなると、また問題がでてきます。

そもそも、特定の時間になったら〇〇円振り込むという取引の処理は、サーバーが動いていることが大前提なんですね。サーバーが壊れていたら、規定の時間に振り込むという処理が動かない。では、それがある1台のサーバーでしか実行できない、となると、極端な話、サーバーを破壊したら支払処理を止めることができるのですね。

イーサリアムは、dAppsという考え方を採用していて、特定のサーバーで取引の処理を実行させない、という戦略で機能します。dAppsは、日本語では分散型アプリケーションと言いまして、一部のサーバーが壊れていても、イーサリアムを扱う全サーバーのうちどれかが生きていたら取引の処理が実行される、という仕組みです。

この仕組を実現するのは、技術的には結構難くて、気軽にエンジニアが扱えるものではなかったんです。しかし、イーサリアムはこれを簡単に扱えるようにしたというのが大きな特徴で、例えばスマートコントラクトを扱うための方法は「ERC-20」として標準化され、技術者の間で広く知れ渡った手段で利用できるようになっています。

3. THE DAO 事件: 事故発生時のイーサリアム運営の方針を決定づけた事件

このプログラムにはバグがない、ということを証明することはできない。これをソフトウェアエンジニアは「悪魔の証明」という言葉で表現しています。どのようなソフトウェアも、作った人が想定していないような使われ方をされると、想定していない状況に陥る可能性があるのです。

イーサリアムにも、まさにそんな事件がありました。イーサリアムのプログラムに問題があり、悪意を持った人間が大量の通貨を盗むという事件が起きたんです。これを「THE DAO 事件」といいます。

このとき、イーサリアムを扱う人々はどのようにこの問題に対応したのかというと、サーバーの取引記録を全て巻き戻す、という対応をした。そうすることで、盗まれたという事実を、サーバーの記録上から無くしたんです。これで事件は一旦は解決されました。

ところが、この対応に異義を唱える人たちがいました。そんなことが許されるんだったら、本当は実行されるはずだた取引の処理も、無かったことにできるじゃないか。そんなフランクなノリで取引を亡き者にできるようじゃ、イーサリアムというシステムは破綻してる!存在している意味がない!と、そう彼らは言うのです。とてもまっとうな意見ですね。

ただ、さきほども言った通り、プログラムにバグがないなんて誰も証明できないし、なんなら人間もちょっとしたミスをしてしまうような性質のものなわけですから、事故が起きた時に何も手が打てないというのは、それはそれでシステムの信頼に不安が生じるぐらいにはリスクであるとも言えます。

そんな騒動が起きた結果として、失敗がある時にはなんとかしようというという派閥「イーサリアム(ETH)」と、失敗の柔軟な対応よりも取引処理の厳格な実行を望む派閥「イーサリアムクラシック(ETC)」の2つに分裂しました。この2つの暗号通貨の違いは、そういう運営方針の違いである、と考えると良いでしょう。