Web3

Web3を支えるスマートコントラクトとは?メリット・デメリットとその活用事例

こんにちはIssaです。

今回は「スマートコントラクト」について解説します。

Web3の根幹である「スマートコントラクト」はどのようなどのような技術でその役割は何かを徹底解説していくよ!

こんな方におすすめ

  • スマートコントラクトとは何か知りたい
  • スマートコントラクトのメリット・デメリットを知りたい
  • スマートコントラクトの役割を知りたい

イーサリアムを買うなら、初心者でも使いやすい

Coincheck(コインチェック)

がおすすめです。

Coincheck(コインチェック)

  • アプリダウンロード数3年連続国内No. 1!
  • 画面の見やすさ・使いやすさが抜群で初心者にもおすすめ!
  • 国内最大級の取扱銘柄数!
  • 最短当日で取引可能!
コインチェック

\      3年連続ダウンロード数No.1!     /

コインチェックで口座開設

Web3の根幹「スマートコントラクト」とは

Web3、DAO、NFTに触れている方なら誰でも聞いたことある言葉「スマートコントラクト」ですが、これはどういう意味なのでしょうか。

結論から言うと、スマートコントラクトを直訳すると、

「賢い契約」

となり、それを具体的にすると

「人の手を介さず条件を満たせば自動的に契約が成立し契約を実行する技術」

と言う意味になります。

例えば、書店で本が1冊売れたとしましょう。

1冊の本の売上は「著者」「出版社」「取次業者」「書店」などに分配しなければなりません。

しかし、これらに分配するのは手間であり大変です。

さらに、契約違反をし売上を多く取る業者もいるかもしれません。

しかし、スマートコントラクトを使い

  • 売上は「著者:2」「出版社:6」「取次業者:1」「書店:1」に分配する

という契約さえすれば「自動的に」売上が分配され不正が起きなくなるのです。

つまり、

  • 1冊の本が売れた

と言う条件に対し実行される内容は

  • 売上を「著者:2」「出版社:6」「取次業者:1」「書店:1」へ分配する

と言うことになります。

スマートコントラクトはよく自動販売機のようなものと言われます。

「購入者がジュースを選択」「購入代金を投入」「ジュースが出てくる(契約成立)」

このようにジュースの売買(契約)にかぎってみれば仲介業者は存在せず、条件を満たせば勝手にジュースが出てくるという点でスマートコントラクトと似ているのです。

スマートコントラクトの歴史

スマートコントラクトはここ数年で出てきた言葉と思われがちですが、実は1990年にスマートコントラクトというのは考案されていたのです。

最初に考案したのはニック・サボという科学者であり「ブロックチェーン技術を使用して、契約を自動化するプログラム」を提唱していたのです。

しかし、その時の技術ではスマートコントラクトの実装は難しく、それが世に実現することはありませんでした。

しかし、このスマートコントラクトを最初に実現したのは2015年にリリースされた「イーサリアム・ブロックチェーン」なのです。

イーサリアムの登場により、これまでの「取引」「契約」が劇的に効率化されました。

さらにこのスマートコントラクトのおかげで、イーサリアムは

  • 個人を認証する(あなたが偽物ではないか)
  • 資産(仮想通貨)を安全かつ正確に送金する
  • 誰が何を保有しているか記録する

と言う仕組みができるようになったのです。

仮想通貨時価総額ランキング1位の「ビットコイン」もスマートコントラクトの仕組みはあったんだよ!けど、ビットコインはスマートコントラクトのアプリケーションを作ったりするのが苦手で非常に限定的なんだ!

スマートコントラクトを実行するプロミング言語「Solidity」

スマートコントラクトを実行させるためには、プログラムを書かなければいけません。

その際に使用するプログラミング言語がイーサリアムが開発した「Solidity」と言う言語です。

Solidityとはイーサリアム・ブロックチェーン上でスマートコントラクトを実行させるために使用させる言語で、JavaScriptに似た文法となります。

さらにコントラクト(契約)の実行に特化した言語であるため「コントラクト指向」と呼ばれる言語です。

Solidityは、Ethereum Virtual Machine (EVM)という仮想マシン上で動作し、トランザクションを処理する流れになります。

非エンジニアにとって「Solidity」を理解するのは大変なので「スマートコントラクトを実装するプログラミング言語はSolidity」とだけ覚えておけば問題ないよ!

スマートコントラクトのメリット

スマートコントラクトが与えるメリットは以下の通りです。

スマートコントラクトのメリット

  1. 不正・改ざんが不可能
  2. 透明性が確保される
  3. コストの削減

⒈不正・改ざんが不可能

まず第一にスマートコントラクトは「不正・改ざんが不可能」であるということです。

スマートコントラクトの内容はブロックチェーンに記録し分散されています。

もし不正や改ざんを行う場合は、1つ1つのブロックを辿って改ざんする必要があります。

これは理論上不可能です。

そのためスマートコントラクトで行う契約は「安全で確実な取引」といえます。

⒉透明性が確保される

1でも説明した通り、スマートコントラクトはブロックチェーンに記録されています。

そのため第三者でも閲覧可能となっており「透明性が確保」されています。

スマートコントラクトはプログラムのソースコードがオープンになっているため(オープンソース)例え不正や改ざんがあった場合でもそれが可視化されます。

従来の契約では誰がどのような契約をして実行したがが見えませんでしたが、スマートコントラクトを使用することにより「世界中の誰もがその契約(取引)を見れる」といったメリットがあるのです。

⒊コストの削減

スマートコントラクトは「コスト削減」のメリットもあります。

そもそもスマートコントラクトは「第三者が介入して取引を行う」といった概念が存在しないため、第三者に対して払うコストが無いのです。

例えば従来であれば何かの契約の際は「仲介業者」というものが存在しそれらに手数料を支払っていました。

しかし、スマートコントラクトは間にいる仲介業者が存在しないので支払う手数料も存在しません。

さらに、金銭的コストも以外にもスマートコントラクトは当事者間での契約(P2P)であるためスムーズに契約が実行され「時間的コスト」も削減できます。

スマートコントラクトのデメリット

スマートコントラクトはメリットのほかにデメリットも存在します。

デメリットは以下の通りです。

スマートコントラクトのデメリット

  1. 契約内容を後から変更できない
  2. スケーラビリティ問題
  3. ハッキングのリスク

⒈契約内容を後から変更できない

スマートコントラクトのメリットとして「改ざんが不可能」というものがありました。

しかし、この改ざんが不可能ということはデメリットでもあるのです。

改ざんが不可能ということは「契約内容を後から変更することも不可能」を意味します。

例えば契約内容に何らかの不備があった場合その内容を書き換えることができないのです。

そのためスマートコントラクトを使った契約の設計はとても重要になってきます。

⒉スケーラビリティ問題

先ほど説明した通り、スマートコントラクトのほとんどは「イーサリアム・ブロックチェーン上」で行われています。

ネットワークが1秒間に処理できる件数を「TPS」と言いますが、イーサリアムは15~25TPSしかありません。

それに対しクレジットカードのVisaは4000~6000TPSと言われています。

つまりイーサリアムの取引の処理速度は実用的ではということです。

さらに、イーサリアムの取引を行う際は「ガス代」という手数料が発生し、同じ時間帯に他で取引が多ければ多いほどそのガス代は増していきます。

これらの問題を「スケーラビリティ問題」といい、現在イーサリアムはこの問題に直面しているのです。

あわせて読みたい

補足:ではなぜイーサリアム以外のブロックチェーンにしないのか

このスケーラビリティ問題を解決する1つの案として「イーサリアム以外のブロックチェーンを使用する」というものがあります。

例えば、現在イーサリアムの課題を改善し「処理速度に優れる」「ガス代が安く抑えらる」といったブロックチェーンが次々と開発されています。

しかし、これら後発のブロックチェーンは「ハッキングのリスク」があるのです。

ブロックチェーンは「ノード」と呼ばれるブロックチェーンのデータを保存するコンピューターが存在しますが、これが多ければ多いほど「分散性に優れ安全」と言われています。

当然ながら後発のプロジェクトはノードが少ないため分散性に劣ります。

そのため現在はスケーラビリティ問題があっても安全性を取ったイーサリアムが採用されているという訳です。

⒊ハッキングのリスク

プログラムにバグがあった場合「ハッキングのリスク」があります。

そして、先ほど言った通りこのバグは後から修正できないので

バグがある=ハッキングされる

を意味するのです。

スマートコントラクトを使ってローンチしたばかりのプロジェクトはプログラムの脆弱性からハッキングが懸念されるため注意が必要です。

スマートコントラクトの活用事例

次にスマートコントラクトは実際にどのような場面で使われている見ていきましょう。

今回は一部の例にしかすぎませんが、Web3ならではの代表的なスマートコントラクトの活用事例をご紹介します。

スマートコントラクトの活用事例

  1. 【DeFi】分散型金融
  2. 【DAO】分散型自律組織
  3. 【NFT】非代替性トークン

⒈【DeFi】分散型金融

スマートコントラクトは、今までの金融業界の概念を覆します。

Web3の金融といえば「DeFi」です。

DeFi(Decentralized Finance)とは日本語で「分散型金融」を意味します。

スマートコントラクトを使うことで従来の銀行というものが必要なくなるのです。

上の図のように中央集権型の金融は銀行が存在し、銀行に預金した者は銀行が手数料を引いた額を上のせ(金利)し返しています。

反対に非中央集権の「DeFi」スマートコントラクトが銀行の役割を担います。

そのため中央(銀行)が存在せずP2P(当事者間)でお金のやり取りができるのです。

よって、銀行のように手数料は発生しませんし、無駄な経費を削減できるのです。

つまり、従来のように「個人→銀行→企業(個人)」とお金が動いていたものがスマートコントラクトを使うことにより「個人→企業(個人)」となるのです。

⒉【DAO】分散型自律組織

Web3の新しい組織形態である「DAO」もスマートコントラクトを活用します。

DAO(Decentralized Autonomous Organization)とは日本語で「分散型自立組織」を意味します。

「分散型」とは非中央集権、すなわちトップとなる管理者が存在しないということです。

従来の企業(株式会社など)は株主をトップとしたトップダウンの組織となっており、発言や決定の権限も株主(トップ、管理者)にありました。

しかし、DAOは発言や決定の権限を平等に分散させることで中央集権的な組織から脱却する組織となるのです。

次に「自立」ですがこれは「自主的に物事を行う」という意味ではなく「組織がブロックチェーン上のスマートコントラクトを活用し自動的に運営する」と言った意味になります。

つまり、DAOは「スマートコントラクトを活用した新しい組織」なのです。

現在は特定の企業に就職せずDAOで働く人も増えているよ!詳しいDAOの内容はこちらを見てね!

あわせて読みたい

もっともDAOらしいDAO「Nouns DAO」

ここでは「もっともDAOらしいDAO」である「Nouns DAO」を例にDAOのスマートコントラクトを見ていきましょう。

Nouns DAOとは?

  • Nounとは上記のピクセルアートのNFTのこと
  • Nounは1日1体自動生成され、オークションにかけられる
  • Nounのデータは全てブロックチェーン上で管理され(フルオンチェーン)誰でも見ることができる
  • Nounを保有するとNouns DAOのメンバーになることができる
  • メンバーになると今後のプロジェクトの提案や投票ができるようになる

基本的なNouns DAOのプロジェクトはこのような感じです。

では、このNouns DAOのスマートコントラクトはどのようなものでしょうか。

Nouns DAOのスマートコントラクト

  • Nouns NFTの売上の100%がNouns DAOの運営に入る
  • 1日1体自動的にNounが生成されオークションにかけられる
  • Nouns DAO創業メンバーは最初の5年間のみ10個に1つのNFT(Nouns)を報酬として受け取れる
  • 売上・資金の使い道はNouns DAOのメンバーが多数決によって決められる

これらがスマートコントラクトによって決まっているのです。

つまり、

  • 報酬(創業メンバーへの)
  • 売上の管理
  • 経営方針の決め方

スマートコントラクトによって管理されているのです。

これによりNouns DAOは一切の不正・改ざんがなく、分散的(トップがいない)かつ自立的(全ての事がスマートコントラクトで決まっている)に運営ができるのです。

⒊【NFT】非代替性トークン

スマートコントラクトなしでNFTは存在しません。

NFT(Non-Fungible Token)とは日本語で「非代替性トークン」を意味します。

これを一言で言うならば「替えの効かないデータ」のことです。

NFTのデータはブロックチェーン上に存在し発行者や所有者は誰でも見る事ができ改ざんができないようになっています。

NFTを詳しく知りたい方はこちらの記事を見てね!

あわせて読みたい

ではこのNFTとスマートコントラクトはどのような関係があるのでしょうか。

それは、

  • 発行(ミント)
  • 売買時における所有者の移転
  • 売買時における発行者へのロイヤリティ

です。

通常、NFTが発行(ミント)されるとその所有権は発行者となります。

この「発行者=所有者」と自動的になるのはスマートコントラクトによって行われているのです。

さらに、「売却者(発行者)が購入者の希望金額に応じた」場合は自動的にNFTが売却者(発行者)の手元から購入者の手元へと移転します。

そして肝心な点は、NFTというモノだけでなく所有権のデータも一緒に移転されるということです。

スマートコントラクトを活用するとこにより、仲介業者を通さずに自動的に所有権も移転されるのです。

さらに購入者がまた別の購入者に売却した際(2次流通)は、売却額の数%~数十%が発行者に入る仕組みがスマートコントラクトで行われているのです。

このようにスマートコントラクトを活用することにより今までの所有の概念やロイヤリティの概念が大きく変わっていることがわかります。

スマートコントラクトの将来性【今後はスマートコントラクトが中心】

今回は、スマートコントラクトに関する記事をご紹介しました。

スマートコントラクトの誕生によって

  • 金融
  • 不動産
  • 保険
  • 法律(権利)
  • 会社(組織)

が大きく変わっていきWeb3の成長を促進させていきます。

このようにWeb3の基盤にはこのスマートコントラクトが存在します。

その理由としてWeb3の概念として「脱中央集権」が根本にあるためです。

従来はスマートコントラクトが存在しなかったため、常に管理・運営・仲介する業者が存在しました。

しかし、スマートコントラクトが活用され始めてからは違います。

スマートコントラクトは中央で管理・運営・仲介するという概念を根本から変えました。

それら業者が必要ではなくなったのです。

今後は多くの企業や政府がスマートコントラクトを採用することでしょう。

そして、今後はスマートコントラクトなしでは生活できないほど当たり前な世の中になっていくことに違いありません。

コインチェック

\  3年連続ダウンロード数No.1!  /

コインチェックで口座開設

【急成長】NFTマーケットプレイス「Blur」の特徴と使い方▶︎▶︎

NFTのPFPとは?PFPの特徴とおすすめのPFP系NFT7選を紹介▶︎▶︎

バズワード『メタバース』とは【2種類のメタバース】▶︎▶︎

-Web3