本レポートでは、ブロックチェーンにおけるスマートコントラクトの本質的価値について考えます。
スマートコントラクトの本質的価値を考える
イーサリアム(Etheruem)をはじめとしたブロックチェーンには、バーチャルマシンを用いてスマートコントラクトを実装出来ることが一般的になりつつあります。スマートコントラクトについての未来を楽観する人は、保険・不動産・金融取引の多くが将来、スマートコントラクトで実行され、仲介者が不要になるというような予測を述べる人もいます。
実際、それを実現することには、オラクル問題を含む多くのハードルはありながらも、現在、Etheruemのトランザクションの多くは何かしらのスマートコントラクトを用いたトランザクションで実行されています。
オラクル問題についてはこちらのレポートが詳しいです。
参考:ブロックチェーンのオラクル問題を理解する。オラクルに関する主要プロジェクトの概観。
また、MakerDAO・0xプロトコルを用いたDEX(分散型取引所)でのトークン交換などが出来るのは、全てスマートコントラクトが根底にあります。スマートコントラクトは日本語で説明されるときに、契約の自動執行としばしば表現されます。
しかし、契約の自動執行という表現はスマートコントラクトという概念や本質価値をわかりにくくする場合が多くあります。この前提にたち、本レポートではブロックチェーンにおけるスマートコントラクトの本質的価値を考えます。
スマートコントラクトという概念が初めて登場した時
スマートコントラクトの概念が世の中に初めて伝えられたのは、ブロックチェーンおよびビットコイン(Bitcoin/BTC)が登場する以前で、1997年です。暗号学者であるニック・サボ(Nick Szabo)氏によって発表された論文「the idea of smart contracts」の中にスマートコントラクトの概念がありました。
ニック氏は、2004年にIEEEのワークショップでスマートコントラクトを説明するために、自動販売機を例としてあげました。自動販売機の取引で必要なのは「購入に必要な金額を投入する」と「購入したい飲料のボタンを押す」の2つの行動です。この2つの行動が達成された場合のみ契約が成立するのです。
自動販売機は、このようにして「お金を入れて商品を選択すると、商品とお金の所有権が同時に入れ替わる」システムです。そして、この商取引には契約書が必要なく、自動販売機という機械(プログラム)がお金を受け取ったと認識をしたときに、商取引が成立します。
ニック氏は自動販売機を例に出しましたが、特定の行動をするだけで契約が成立したことになるのが、スマートコントラクトのアイデアでした。
イーサリアム(Etheruem)を考案したヴィタリック(Vitalik)氏は、パブリックブロックチェーン上であらかじめ設定した条件でトランザクションを制御できる実装を、すでに存在していた概念・言葉であるスマートコントラクトという言葉を用いて、説明しました。
スマートコントラクトより”persistent scripts”などの言葉のほうが適切
しかし、ヴィタリック氏はスマートコントラクトという呼称を使用したことを後悔していると発言しています。
To be clear, at this point I quite regret adopting the term "smart contracts". I should have called them something more boring and technical, perhaps something like "persistent scripts".
— Vitalik Non-giver of Ether (@VitalikButerin) 2018年10月13日
スマートコントラクトという言葉ではなく「persistent scripts」などといったテクニカルの言葉を使うべきだったと発言しています。直訳をすると、「永続性のあるスクリプト言語」という意味です。
契約の自動執行という意味の場合、ニック氏が紹介をしているように自動販売機ですでに実現している概念です。そもそもAを投入して、Bが返ってくるという意味での自動執行であれば、それは通常の関数で制御ができます。
では、ブロックチェーンによるトランザクションの制御が何がすごいのか、それはブロックチェーンでは検証性が高くコードの変更ができない、変更されてもそれを認識することが出来るという点です。
例えば、MakerDAOは現在CDP(Collateralized Debt Position)スマートコントラクトにETHがデポジットされており、そのデポジットを裏付けにDAI(ステーブルコイン/Stablecoin)を発行しています。このときCDPにはETHをデポジットしたらDAIを生成できることが制御されており、さらにそれを第三者が検証でき、そのコードの変更が不可能なことが特徴です。ですので、MakerDAOは公共財的に機能し、そのスマートコントラクトの裏付けがあるDAIは安心して二次流通が出来ています。
スマートコントラクトという言葉の本質的価値は、トランザクションをプログラムで制御できるという事実に加えて、検証性と不変性の2つの要素があることです。契約の自動執行という説明にはこの要素が含まれていなく、スマートコントラクトの価値をしばしば勘違いさせているという指摘は、日本語圏だけでなく英語圏でもよく問題にされます。
特に検証性という特徴は、ブロックチェーンのユースケースを考える上でとても重要な要素の一つであり、考える余地がある分野だと思います。
関連
・ステーブルコイン(Stablecoin)とは?その必要性と3つの分類を解説!
・ステーブルコイン(Stablecoin)が安定しない?トレーダー間で盛り上がる現在の状況とは
HashHubでは、ブロックチェーン業界の起業家・開発者・フリーランスのためのコワーキングスペースも運営をしています。日々の仕事やイベント開催、人との繋がりなど、ブロックチェーン領域で仕事をする人にとっての最適な環境が整っています。利用お問い合わせはHashHubへ。