
(文:Maki@仮想通貨ママコイナー)
もっとも知名度の高い仮想通貨といえばビットコイン(BTC)ですよね。ですが、忘れてはいけないのがアルトコインたちの存在です。
今回は、主要アルトコインのひとつであるイーサリアム(ETH)をはじめ、ネオ(NEO)などで利用できる「スマートコントラクト」について見ていきましょう。
スマートコントラクトとはいったい何なのか、どういったときに利用されるのか、その仕組みについてわかりやすく解説していきます!
スマートコントラクト=ブロックチェーン上の契約機能
スマートコントラクトとは、直訳すると「Smart Contract=賢い契約」となります。ビットコインはネットワーク上の通貨としての役割を担っていますが、イーサリアムはそれだけでなく「契約」機能をプラスしたアルトコインとなっています。
私たちは通常、印鑑や書類を使って物理的な契約を交わしています。ですが、スマートコントラクトは決められた条件を満たすことで契約が発動し、検証し、実行、処理されるよう作られた仕組みです。
これをブロックチェーン上で行うことで、誰かに改ざんされるのを防いだり、第三者を挟まなくても契約が安全に実行されるという特徴があります。では、もう少し詳しくその仕組みを見てみましょう。
「契約」の難点を解決するスマートコントラクト
スマートコントラクトは、1994年にニック・スザボ(Nick Szabo)という情報工学者によって生み出されたものです。ここ最近のものではなく、意外にも古くに誕生していたんですね。
通常の「契約」と言えば、誰かがその契約の実証を行うために仲介役として介入することが多く、書面を交わしたり証拠となる印鑑を用意したりと、面倒なイメージがあります。
どうして仲介役が必要なのかと言えば、たとえば支払いが滞ってしまったときに間に入っている保険会社が肩代わり(補償)をすることがあったり、実際に不正なく取引が進むように監視するという意味で参加しますよね。
しかし、これだと当然コストもかかりますし、時間もかかる。かと言って、取引をする当事者のみでは、本当にお互いが信頼できる取引を行うことは難しいもの。一方がきちんと商品の代金を送金したとしても、もう一方はそのまま商品を郵送せずお金だけ持って消えてしまう……なんて可能性がなきにしもあらず。
このままでは、最後まで安心して契約を結ぶことができなくなってしまいます。そこで、こういった問題を解決してくれるスマートコントラクトの出番です。
スマートコントラクトが発動する流れ
たとえば、「20xx年1月1日になったら、AさんがBさんへ0.01BTCを送る」という契約を結んだとします。決められた日付になったときに契約の条件が満たされるため、契約が発動することになります。
そのタイミングが本当に約束した日なのか?という検証を自動的に行ったのち、実際にAさんのウォレットからBさんの持つウォレットに0.01BTCが送られることに。
これを、当事者であるAさんとBさんの二人のみで正確に、不正なく契約を行うことができるのが、スマートコントラクトです。
この情報はすべてブロックチェーン上で行われるため、いったん契約が発動するとそこからの取引がすべて記録されるため、改ざんすることは不可能になります。
契約がどうして発動し、検証されるのかという疑問が浮かびますが、そもそもこれは契約をスムーズに行えるよう考えられた方法であり、その仕組みはプログラミング言語で構築されています。
ネットワークの世界において、仲介人となる第三者をはじめ、紙も印鑑も不要な契約を行うことができるのが、スマートコントラクトです。
これにより、契約にかかっていたコストをぐんと下げることができるようになりました。しかも、ブロックチェーン上で行われる契約ということもあって、確実なデータ(契約)の記録ができ、さらに閲覧することも可能です。
スマートコントラクトのメリット
先ほども触れましたが、スマートコントラクトを利用するメリットとして、
- 契約にかかるコストを削減
- 安全に内容を記録できる
- 目には見えなかった所有権を明らかにできる
といったことが挙げられます。
契約にかかるコスト削減
先ほどもお話ししましたが、通常の「契約」は印鑑や各書類が必要になります。
いちいち用意するのは面倒ですし、契約者本人の控え・店舗や企業の控えを取っておく必要があるなど、ごちゃごちゃしていますよね。こういった煩わしさを取っ払い、紙や印鑑を必要とせず、さらに契約にかかる物理的なコストだけでなく時間をも削減できるのがスマートコントラクトの大きなメリットです。
また、大きな金額や複雑な契約の場合、契約に関わる人が多くなり、さらにたくさんの印鑑・工程が必要になることも。
契約に関わる仲介料を支払っていたものも、スマートコントラクトなら人もコストも削減可能になります。
安全に内容を記録できる
ブロックチェーンは、取引を安全に記録できることが知られています。だからこそ、特定の管理者がいない状態でもビットコインやイーサリアムといった仮想通貨が世界中の人に利用されてきたんですね。
ブロックチェーンには取引の履歴が次々に記録されていきます。記録される前後の取引データには、前後につながることで整合性を保つ数値が含まれているため、もし●●のブロック内容をこっそり変えてしまおうと思っても、その前後のブロックに含まれるデータがおかしくなってしまいます。
なので、もし取引を改ざんしようとしてもすぐにばれてしまいますし、実質的に不可能となります。
目には見えなかった所有権を明らかに
これまで目には見えなかった所有権といえば、ダウンロードした音楽ファイルやマンガなどです。通常はCDショップや本屋でお金を支払い、これは自分のものだ!と物理的に所有権を主張することができますが、ネットワーク上ではそうはいかず、電子的なものの所有権を主張するのは難しいことでした。
しかし、ブロックチェーンを利用したスマートコントラクトであれば、それが叶います。
そもそもビットコインをはじめとする仮想通貨は、手に持って使う10円玉などの法定通貨とは違い、ネットワーク上にある電子的な通貨として知られていますよね。
仮想通貨は、誰がそのトークンを持っているかを証明する秘密鍵の存在があること、そして第三者を介入させず契約を行い、所有権を証明できるスマートコントラクトのおかげで、これまで難しかった「ネットワーク上の所有権」を明らかにすることが可能です。
スマートコントラクトの活用事例
スマートコントラクトでさまざまなことができることが分かりましたが、実際すでにゲームや音楽をはじめさまざまな分野でこの仕組みが活かされています。
代表的なものが、DAppsです。DAppsとは、分散型アプリケーション(Decentralized Applications)のことで、特定の管理者がいなくてもブロックチェーン上で動作するアプリケーションのことを指します。
さまざまなジャンルのアプリがありますが特にゲームが豊富で、自分でいろんな猫のキャラクターを育成して売買できる「クリプトキティーズ(Crypto Kitties)」がよく知られています。
例として、この猫の所有権を売買できる機能がスマートコントラクトです。目に見えない所有権を主張し、ブロックチェーン上でやり取りを行って記録する、まさにスマートコントラクトを利用した次なる世代のゲームですね。
スマートコントラクトを利用できる仮想通貨
イーサリアムは分散型アプリケーションを作り、展開できるプラットフォームとして知られており、ここを土台にして新たな仮想通貨を生み出すことができます。
イーサリアムをベースにして生み出されている仮想通貨は多く、特に多いのが「ERC20」という規格です。ひとつひとつ好き放題にコインを発行していては、対応するウォレットがバラバラだったり、取引所に上場するときに対応しづらくなってしまうため、ある程度の仕様を統一するという方法をとっています。
その規格のひとつとして代表的なものが、ERC20という仮想通貨。ERC20トークンの仲間は、こんなものがあります。
- Augur(オーガー・REP)
- OmiseGo(オミセゴー・OMG)
- Zilliqa(ジリカ・ZIL)
- Kyber Network(カイバーネットワーク・KNC)
これらのトークンの特徴としては、スマートコントラクトが利用できるということです。イーサリアムをベースとして作られたこれらのプロジェクトは、それぞれスマートコントラクトが実装されていますよ。
スマートコントラクト、今後の課題は?
とても便利!と思うスマートコントラクトですが、まだまだ課題はたくさん。たとえば、多くの方が契約を行えば行うほど、そしてその契約が複雑であればあるほど、契約を実行するために性能の高いコンピューターを利用する必要があります。
複雑な契約を処理するのが難しい低スペックコンピューターの場合、契約を実行したりブロックチェーンに記録するまで時間がかかり、それがネットワーク上での遅延を引き起こすことになります。これが増えれば、当然取引をうまくさばけない「送金詰まり」が起こってしまいます。
遅延を防ぐために、より効率良く取引を処理できるようにイーサリアムでは手分けをして取引の処理ができる「Sharding(シャーディング)」という機能を実装させる計画や、本線のブロックチェーンとは別のチェーンを複数作って取引の処理を行う「Plasma(プラズマ)」という技術を利用する話があがっています。
また、スマートコントラクトではいったん発動した契約がそのまま強行的に実行されるため、万が一「ストップさせたい」と思っても、止められません。契約に関する事情が変わったとしても、それに対応させることが難しいのです。
このように、まだまだ改良の余地があるスマートコントラクトですが、実際にDAppsをはじめさまざまなところで利用されていることからも、今後さらに多くの分野で活用されることが期待されています。
仮想通貨の始め方コラムまとめ
- ブロックチェーンとは?分散型台帳との違いなども解説
- ハードフォークとは?
- PoWとPoSとは?
- STO(セキュリティ・トークン・オファリング)とは?
- 証券トークン(セキュリティトークン)とは?
- セグウィット(Segwit)とは?
- ライトニングネットワークとは?
- PoI(プルーフ・オブ・インポータンス)とは?
- PoC(プルーフ・オブ・コンセンサス)とは?
- 仮想通貨で海外送金するメリットとは?
- ビットコインの使い道は?
- マイニングとは?
- ICO(イニシャル・コイン・オファリング)とは?
- スマートコントラクトとは?
筆者も講師陣として活動をしている有料プライベートグループ「Cryptolabo(クリプトラボ)」では、初心者・中級者~ともに仮想通貨トレーダーとして幅広く知見を広げられるよう随時ボイスチャット・情報配信等を行っています。ぜひご活用ください。
▼Cryptolabo
https://www.izizlabo.net/