ブロックチェーンにおけるスマートコントラクトの本質的価値について
近年、「スマートコントラクト」というワードが注目を集めています。しかし、世の中では多くのスマートコントラクトの定義が存在し、多くの人は “契約の自動執行システム” と認識しているのではないでしょうか?
実際のスマートコントラクトは、スマート(賢い)でも、コントラクト(契約)専用のシステムでもありません。
本記事では、スマートコントラクトの概念や本質的価値について解説します。
スマートコントラクトとは
ブロックチェーン上のスマートコントラクトとは、「ルールに従って自動執行されるプログラム」のこと。「●●(条件)をすると▲▲(出来事)を自動的に行う」というプログラムをブロックチェーン上に記録することができます。
「▲▲(出来事)」の部分を「契約」と考える人が多いですが、取引行動全般が対象となります。
スマートコントラクトの概念
スマートコントラクトの概念がはじめて登場したのは、ブロックチェーン誕生以前、1997年に暗号学者のNick Szabo氏によって発表された論文『The Idea of Smart Contracts』です。
Nick Szabo氏は論文の中で、スマートコントラクトを説明するために自動販売機を例として挙げました。自動販売機は、「お金を投入する」「ボタンを押す」という2つの条件を満たすと、「商品が出てくる」システムで、この商取引には契約書は不要で、自動販売機(プログラム)がお金を受け取ると、商取引が成立します。
つまり、Nick Szabo氏は、法の民営化を目的として、特定の行動をするだけで契約が成立することをスマートコントラクトの概念としています。
そして、2013年に暗号資産イーサリアム(Ethereum)の考案者として知られるVitalik Buterin氏が発表したホワイトペーパーによって、パブリックブロックチェーン上であらかじめ設定した条件をプログラミングすることでトランザクションを制御できる実装を「スマートコントラクト」と呼称し、世に広まりました。
しかし、Vitalik Buterin氏はTwitterで以下の通り、「スマートコントラクト」という呼称ではなく “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".”
(引用: https://twitter.com/vitalikbuterin/status/1051160932699770882 )
なぜなら、Nick Szabo氏が言及するスマートコントラクトが「契約の自動執行」という意味であれば、それは自動販売機のように既に実現している概念であるため、Vitalik Buterin氏がいうスマートコントラクトを法の民営化という表現で同一視することは間違っているからです。
“I do think that persistent scripts controlling assets compete with the legal system on some margins, but so do locks on doors. So IMO it's wrong to equate them with a specific philosophy of law privatization.”
(引用: https://twitter.com/VitalikButerin/status/1051161357104635906 )
スマートコントラクトの本質的価値
スマートコントラクトの価値として、取引仲介者の不在による「コスト・時間・手間の削減」が挙げられます。しかし、これは現在のスマートコントラクトの本質的価値ではありません。
たしかに、スマートコントラクトで契約を取り交わす場合、従来は当事者同士が対面し会議した上で、契約内容の確認、契約書の作成/修正、送付等の多くのフローを経て締結していたものが、あらかじめ設定された条件を満たしさえすれば契約完了となります。仲介手数料といったコストや時間、手間は大幅に短縮でき、大きな利点となります。
しかし、スマートコントラクトの本質的価値は、ブロックチェーンによるトランザクション制御の検証性と不変性にあります。
そもそもブロックチェーンネットワークは P2P ネットワークであり、分散型タイムスタンプサーバー*²と連携しています。ブロックチェーンを構成する各ブロックには各自前のブロックのハッシュ値、タイムスタンプとトランザクションデータが記録されており、結果として、ブロックチェーンに記録した内容を改ざんすることは非常に難しくなっています。
つまり、ブロックチェーンによるトランザクション制御の優れている点は、スマートコントラクトによる取引の内容や履歴は、ブロックチェーン上で公開されるため透明性が高く、第三者が検証でき、そのコードの変更が不可能なことが特徴です。
スマートコントラクトの活用事例
DEX(分散型取引所/Decentralized Exchange)
DEXは、ブロックチェーンネットワーク上で展開される暗号資産(仮想通貨)取引所で、ユーザー自身で資産管理を行う点に特徴があります。
企業が運営するCEX(集中型取引所/Centralized Exchange)では、秘密鍵の管理を第三者へ委託するのに対して、DEXでは、自動化されたシステムを通じて自身で秘密鍵の管理を行うため、第三者による秘密鍵の流出やその他のリスクの心配はありません。
この自動化されたシステムの一つがスマートコントラクトです。
取引間の当事者が自身が管理している秘密鍵とコントラクトアドレスを用いて直接取引を行うことができるため、高度なセキュリティやコスト削減を実現しました。
さらに、スマートコントラクトのコードは開かれていて透明性があるので、支払い能力に関して中央集権型企業を信頼していなくても、ユーザーは自分でコードを検証することができます。
DAO(自律分散型組織/Decentralized Autonomous Organization)
DAOとは、同じ目的を持つ人々が地理的に分散しつつ、各々が自律的に振る舞うことにより、特定の所有者・管理者が存在せずとも、事業を推進できる組織を指します。
DAOでは、参加者による具体的な作業がコントリビューション(貢献)として評価されて、トークンによるリワードを受け取ることができます。(引用記事: DAOは何を民主化するのか。 )
簡単に言えば、DAO は暗号資産投資家たちの集まりのようなものです。
DAOの運営は、ルールや条件が全てスマートコントラクトに書き込まれており、所有者・管理者が存在しないので突然の運営方針の変更は発生しません。組織の意思決定は、ブロックチェーン上のスマートコントラクトにより自動的に実行されます。
上記、DEXもDAOも、Web3.0思想の「分散性」をスマートコントラクトによってうまく実装した事例であり、新しいビジネスの在り方を示しています。
スマートコントラクトのユースケース
スマートコントラクトは決定論的なプログラムであり、「if…then…」ステートメントに従う、ブロックチェーン上で稼働するコードにすぎません。
プログラミングできるコードとして、スマートコントラクトは自由に設計することができ、多種多様なサービスやソリューションを提供します。つまり、スマートコントラクトは、さまざまなユースケースを想定して設計することができるのです。
クリプト業界だけではなく、保険業界、金融業界、不動産業界、エンターテイメント業界・・・既に多くの業界が、スマートコントラクトの導入によりビジネスへ変革をもたらしつつあります。
スケーラビリティ問題や法の整備等まだスマートコントラクトには課題が多く、実社会に適合しきれていませんが、スマートコントラクトの機能がさらに進歩し、普及すればより快適なビジネス・社会を築くことができるでしょう。
*¹ スクリプト言語とは、プログラミング言語の一種で、オペレーティングシステム(OS)やアプリケーションソフトの動作や機能などをプログラムの形で記述できるもの。
*² ある時刻にその電子データが存在していたことと、それ以降改ざんされていないことを証明する技術。タイムスタンプに記載されている情報とオリジナルの電子データから得られる情報を比較することで、タイムスタンプに付された時刻から改ざんされていないことを確実かつ簡単に確認することができます。(引用: 総務省HP )