【寄稿記事】約束破りとの千年戦争、そして救世主スマートコントラクトの凱旋

※当記事はぼんさいじ氏の寄稿記事です。


今回の前半戦では、契約を破る者に対して人類はどう対応してきたのかを紹介していきます。そして、後半戦では、スマートコントラクトを手に入れた人類はどうなったのかを解説していきます。最終戦では、Decredに使われているスマートコントラクトについてみていきます。

In the beginning was the Word, and the Word was with God, and the Word was God. John 1:1

始めに言(ことば)があった。言は神と共にあった。言は神であった。ヨハネによる福音書第1章第1節

「言葉」から始まった人類の物語

人類は、「言葉」を手に入れたことによって、他の人と意思疎通ができるようになりました。そして、人は他の人と交流し、社会や文明を形成していく過程で、言葉による「契約」を交わすようになりました。

私たちは、日頃から意識せずに「契約」を締結しています。

例えば、コンビニでおにぎりを買うのは「売買契約」です。飲食店でステーキを注文して食べるのは、「ステーキ調理という仕事の完成依頼」+「その完成品の買い取り」であるため、「請負契約と売買契約の混合契約」と解されます。隣の人に消しゴムを貸してもらうのは「使用貸借契約」ですし、お金の貸し借りは「金銭消費貸借契約」です。

つまり、他の人と関わりながら生きていく以上、我々人類は「契約」とは切っても切り離せない関係にあるのです。

また、「契約」とは、当事者間での意思の合致です。

例えば、売り手から買い手へ「物を引き渡した」という事実は、「売買契約」の法律上の成立要件ではありません。「買うよ」「売るよ」という口約束だけで成立するのです。

民法第555条 売買は、当事者の一方がある財産権を相手方に移転することを約し、相手方がこれに対してその代金を支払うことを約することによって、その効力を生ずる。

契約において一番大切なこと——「約束を果たすこと」

ところで、契約において一番大切なことは何でしょうか?

それは、「成立した契約が、契約した内容どおりに、実際に実行されること」、つまり「契約を果たすこと」です。契約が実行されなければ、欲しいものは手に入らず、予定していた入金もなく、貸したお金は返ってこなくて、途方に暮れるだけです。

なお、実際に契約が実行されることを「履行」といいます(以下、履行とする。)。

そして、実際に契約が履行されるかどうかは、相手次第です。世の中には、契約に対して誠実に履行する者の他に、詐欺師や泥棒など様々な人がいます。初対面でこの人が信頼できる人物か否かを見極めるのは至難の業です。

では、契約の相手方に「確実に」契約を履行してもらうにはどうしたらよいでしょうか?

スマートコントラクト以前の世界

ここでは、契約の相手方に「確実に」契約を履行してもらう方法として、「担保を使う方法」と「第三者を使う方法」の2つに焦点を当ててみます。

担保を使う方法

いにしえの時代から存在するのは、「担保」という方法です。

歴史的には、初期のころの担保は「人」そのものでした。例えば、借金が返せなかったら自分自身が奴隷になる、返済するまで子どもを「質(しち)」として預かる、といった形です。人を質として預かることを「人質」といいます。

例えば、古代ギリシアのアテナイでは、改革者ソロンが紀元前594年に禁止するまで、借金のカタに自分自身を担保にする「債務奴隷」の制度が使われていました。また、徳川家康は、自分の家を守るために、幼少期に織田家や今川家に「人質」として預けられていました。

しかし、人道上の見地から、時代の流れとともに、担保の主体は「人」から「物」へと移り変わります。

「物」の担保の典型例としては、住宅ローンが挙げられます。銀行に住宅建設資金を肩代わりしてもらい、その代わりに完済するまで住んでいる土地と家に「抵当権」を設定するのです。住宅ローンが返済されなかった場合、銀行は土地と家に設定された「抵当権」を実行し、処分することができます。このような物が対象の担保を「物的担保」といいます。

また、「保証人」という制度もあります。保証人は、その人そのものではなく、「その人の信用力や資力」に着目した「人的担保」の一つです。債務者が返済できない場合には、債権者は保証人に返済するよう請求できます。

しかし、「物的担保」の場合には、担保物件を焼いたり、担保の預金口座のお金を隠されたりしたら、債権者は困ります。また、「人的担保」の場合には、保証人が逃亡したり死亡してしまったりすれば、やはり債権者は困ります。

このように人や物といった「実際のもの」を担保にしても、「確実」とはいえません。

第三者を使う方法

契約を円滑に履行させるために、「第三者」を仲介人にするという方法もあります。

例えば、古代の神殿は、単に神に祈りを捧げる場だけでなく、「神から見られている」という意識のもとで、見知らぬ人との信頼のおける取引場所としても機能していました。

また、契約不履行となった場合に、「裁判所」を活用するという方法も、昔から使われてきました。

現在では、目的の物を引き渡さない契約不履行者に対して、裁判所に申し立てて認められれば、執行官が相手方の家に乗り込んで目的の物を確保し、債権者の元に引き渡す「強制執行」という強力な手段を使うことができます。

しかし、「第三者」を仲介人にする場合には、その第三者が相手方と結託していないかを見極める必要があります。また、執行官や裁判所も「人」や「人の集まり」です。腐敗していた場合には、目的のものを手に入れることが難しくなります。

このように人や機関を使うという方法もまた、「確実」とはいえません。

スマートコントラクト以後の世界

「実際のもの」や「第三者」に頼らず、「仕組み」によって契約の履行を実現したのが「スマートコントラクト」です。一言でいえば、「スマートコントラクト」とは、プログラムによる契約の自動化のことです。

「スマート」とは、情報化されたシステムやものなどがインターネットやネットワークに接続されている状態のことで、「コントラクト」とは、法的な拘束力を持つ当事者間の合意である「契約」を意味する言葉です。

スマートコントラクトの誕生

プログラムできる契約としてのスマートコントラクトは、1994年にニック・スザボが発表した論文「スマートコントラクト(Smart Contracts)」の中に初めて登場し、その後広まっていった概念です。

スザボは、スマートコントラクトの一例として「自動販売機」を取り上げ、特定の条件に合致すると契約が締結され、自動的に実行される契約として説明しました。

現代のスマートコントラクトは、この考え方をブロックチェーン上で実装したものです。人工知能などの知的エージェントに契約の締結を委ね、当事者間の交渉・意思疎通・契約締結をも自動化できる点でさらに発展しています。

スマートコントラクトを使った融資取引

スマートコントラクトを使った融資取引について見ていきましょう。

例えば、借り主は、100万円分のBitcoin(BTC)を担保に、70万円分のUSDCを借りたいとします。

まず、借り主は100万円分のBTCをスマートコントラクトに送ります。そして、BTCがロックされたことを確認すると、貸し主側から70万円分のUSDCが送金されます。

返済時には、借り主が元本70万円と利息分をスマートコントラクトに送れば、プログラムが自動でBTCのロックを解除し、担保が100%戻ります。そして、貸し主の元には元本+利息分が送金されます。

もし、借り主が返済を踏み倒したり、BTCの価格が暴落して担保価値が一定金額を下回った場合には、プログラムが自動で担保を清算・没収し、貸し主の元へと送金します。

このような仕組みは実際に運用されており、スマートコントラクトが活用されています。ビットコインを売却しなくても現金を手に入れられるため、一定の需要があるのです。

このように「スマートコントラクト」では、条件が揃えば、価値の移転や支払いなどが自動で実行されるだけでなく、契約が守られなかったときも、あらかじめ決められた内容が自動で実行されます。また、「デジタルの世界」で完結するため、担保処分もリアルタイムで行うことができ、資金調達にかかる時間も大幅に短縮されます。

現実世界の融資取引はどうなっているのか?

融資取引を現実世界で行おうとすると、どうなるでしょうか?

まず、銀行でお金を融資してもらうのに、申請書類の記載や銀行側の審査に手間と時間がかかります。また、担保として提供する家と土地に抵当権を設定する際には、印紙税や登録免許税を納付する必要がありますし、抵当権設定登記の完了までに1週間〜2週間程度かかります。賄賂が横行している国では、さらに追加でお金を支払わなければならなかったり、法制度が未整備の国では手続き完了までの目処が立たない場合もあります。

そして、返済されなかった場合には、担保物件の処分のために裁判所へ競売の申し立てをしたり、印紙を納めたりするなど時間的・金銭的コストがかかります。また、腐敗している国の裁判所では、手続きが正常に実行されるかどうかも不透明です。

なお、日本での裁判所による競売の場合、通常の市場価格の5割〜7割程度まで評価額が下がるというデメリットもあります。

このように現実世界での融資取引には、余分な時間とお金がかかるという難点があります。

スマートコントラクトの利点と欠点

スマートコントラクトの利点と欠点を整理しておきましょう。

利点——「アルゴリズムが決める」

スマートコントラクトの利点は、主に以下のとおりです。

  • 契約内容はコードやブロックチェーンに記載され、誰でも確認・検証できる。
  • 第三者を仲介させる必要がないため、コストを削減できる。
  • 契約の自動化によって、即時決済ができる。
  • 契約内容を後から勝手に変更したり、不正受給したりすることができない。

なお、スマートコントラクトが具体的に使われている分野としては、①暗号資産同士の交換、②暗号資産とデジタル作品の売買契約、③暗号資産のオプション取引、④暗号資産の貸し借りと担保、⑤暗号資産のスマートコントラクトハックの保険商品などがあります。

欠点——「オラクル問題」

スマートコントラクトの最大の欠点は、「オラクル問題」が発生するということです。「オラクル問題」とは、「スマートコントラクトは賢いが、外の世界が見えない」という問題のことです。

「オラクル(Oracle)」とは、元々「信託・預言者」という意味です。ブロックチェーンの世界では「外の世界の情報をスマートコントラクトに伝える仲介者(機能)」のことを指します。

例えば、花子と太郎が、サッカーの試合結果に賭けるスマートコントラクトを作ったとします。試合が終わったとき、スマートコントラクトは、どうやって花子か太郎に資金を渡すべきか判断するのでしょうか?ブロックチェーンは外部データに直接アクセスできないため、スマートコントラクトはオラクルに頼って試合結果を取得し、ブロックチェーン上に届けてもらう必要があります。

仮に、悪意ある、またはハッキングされたオラクルが、偽のデータを提供すれば、スマートコントラクトは誤って実行され、ユーザーの資金が永久に失われる可能性があります。

このようにスマートコントラクトでは、契約内容に「外の世界の情報」という条件が加わると、「オラクル問題」のような不確実性が生じます。

逆に言えば、「外の世界の情報を操作されることなく正確に取り込む方法」が確立されれば、スマートコントラクトの可能性は飛躍的に広がります。

Decredに使われているスマートコントラクトとは?

画期的な暗号資産である「Decred」にどのようにスマートコントラクトが使われているのか、代表例を2つ確認していきましょう。

アトミックスワップ——「詐欺ができない両替機」

「アトミックスワップ」は、Decredで最も代表的なスマートコントラクトの活用例です。

「アトミックスワップ」とは、中央集権取引所などの第三者を介さずに、異なるブロックチェーン間で暗号資産を交換できるスマートコントラクト技術です。

例えば、DecredをBitcoinに交換したいとします。取引所で交換する場合には、Decredを取引所に送ると、Bitcoinを送ってくれます。しかし、その取引所が悪意のある会社だった場合、Bitcoinを送らずに逃げられてしまいます。

この問題を「アトミックスワップ」は、防ぐことができます。

「アトミックスワップ」とは、簡単に言うと、「秘密の合言葉」を使って、どちらかが逃げようとすると自動で取引が中止になる仕組みです。

<アトミックスワップの仕組み>

花子が持っているDecred(DCR)と、太郎が持っているBitcoin(BTC)をそれぞれ交換するとします。

①花子は、秘密の合言葉である「りんご」を考えます。

②花子は、「りんご」を暗号化して「錠前」を作ります。このとき、太郎には合言葉を教えません。

③花子は「太郎だけが開けられる」錠前付き金庫の中にDCRを入れます。太郎はそれを確認してから、「花子だけが開けられる」金庫の中にBTCを入れ、花子と同じ錠前を取り付けます。

④花子が合言葉「りんご」を使って太郎のBTC金庫を開けます。この瞬間「りんご」がブロックチェーン上に公開されるので、太郎もそれを使って花子のDCR金庫を開けられます。

もし、花子か太郎、どちらかが逃げた場合、一定時間後に金庫は自動的に持ち主に返還されます。

ここでのポイントは、秘密の合言葉「りんご」が公開された瞬間、両方の取引が同時に成立する状態になるということです。このような仕組みによって、詐欺を防いでいるのです。

なお、「アトミックスワップ」では、「全部成功するか」または「全部失敗するか」の二択しかなく、中途半端な状態が、原理的(原子的)に存在しないよう設計されています。これが「アトミック(原子的)」という名前の由来です。

チケットシステム——「自動集計される株主総会」

Decredは、ハイブリッドのコンセンサスメカニズム(PoW+PoS)を採用しており、マイナーとステークホルダーの両方がネットワークの意思決定に参加できます。

そして、ステーキングして報酬を得るまでの手順は以下のとおりです。

  1. Decredを使ってステーキングチケットを購入すると、Decredがロックされます。
  2. ブロックが生成されるたびにランダムでチケットが選ばれます。
  3. 選ばれたチケットは自動で提案に対して投票されます。
  4. その後、ロックされたDecredが返還され、ステーキング報酬も受け取れます。

このチケットの発行・ロック・投票の仕組み自体、スマートコントラクトで実装されています。

まとめ

身近なところだと自動販売機にその原型が見られる「スマートコントラクト」は、ブロックチェーン上では「契約の履行」だけでなく「契約の締結」をも自動化します。

それによって、資金調達や暗号資産同士の交換などを「人間の仲介者」なしに行える世の中になりました。

今後は、現実世界においてどのような形で「スマートコントラクト」が活用できるのか、考えてみるのも良いかもしれません。

参考文献


ぼんさいじ

一介の民間人です。専門は比較文化論で、主に大学で歴史学・哲学・経済学・言語学・文化人類学などを研究しました。

Decredについて知ったのは、飯塚友裕さんとひろまれさんのXでのポストがきっかけでした。
それから、自分で調べた結果、①非中央集権であり、②10年以上開発を継続しているプロジェクトであり、③サイファーパンクの思想を受け継ぐ直系の子孫であることに魅力を感じ、今ではDecredを強く応援しています。

現在は、ひろまれさんやBTYさんなどのメンバーの方と交流しながら、Decredについて知識を深めたり、Decred日本語情報サイトに記事を寄稿したりしています。

ぼんさいじをフォローする