メインコンテンツへスキップ

ページの最終更新日時: 2024年4月1日

スマートコントラクト入門

スマートコントラクトはイーサリアムのアプリケーション層における基本的な構成要素です。 これはブロックチェーン上に保存されたコンピュータプログラムであり、「もし条件がこのような場合、こうする」というロジックにより、一度作成されると変更できないコードによって定義されたルールに従い実行されることが保証されています。

Nick Szaboは「スマートコントラクト」という用語を作りました。 1994年、彼は概念について紹介(opens in a new tab)し、1996年にはスマートコントラクトの可能性について探求(opens in a new tab)しました。

Szaboは、自動化および暗号化されたプロセスによって、仲介者不要の信頼できる取引やビジネスを可能にするデジタルマーケットプレイスを構想しました。 イーサリアムのスマートコントラクトは、このビジョンを実現したものです。

従来の契約に対する信頼

従来の契約における最大の問題の1つは、信頼できる個人が契約事項に遂行する必要があることです。

次に例を示します。

アリスとボブは自転車レースをしていると仮定します。 アリスは自分がレースに勝つと、10ドル賭けるとします。 ボブは自分が勝者になると確信しており、賭けに同意します。 結果、アリスはボブよりも先にレースを終え、勝ちました。 しかし、ボブはアリスが不正をしたと主張して、賭けの支払いを拒否します。

この例は、スマートでない合意について問題を示しています。 たとえレースに勝って、契約の条件が満たされたとしても、他者が契約を履行すると(つまり、掛け金を支払う)信頼しなければなりません。

デジタル自動販売機

スマートコントラクトの単純なたとえとしては、特定の入力をすると所定の出力がされる自動販売機があり、これはスマートコントラクトと機能が多少似ています。

  • 製品を選択
  • 自動販売機に価格表示
  • 代金を支払う
  • 支払いの確認 (金額の正当性)
  • 自動販売機で商品を受け取る

自動販売機は、すべての要件が満たされた後にのみ、希望の製品を出します。 商品を選択しない、または十分なお金を挿入しない場合は、自動販売機は商品を出しません。

自動実行

スマートコントラクトの主なメリットは、特定の条件が満たされた場合に、事前に決められたコードが確実に実行されることにあります。 人間による結果の解釈や交渉 (やりとり) を待つ必要はありません。 これにより、仲介者を信頼する必要性がなくなります。

例えば、子どものためにエスクローで資金を管理し、所定の日付以降に子どもが資金を引き出すことができるスマートコントラクトを作成したと仮定します。 もし彼らがその日よりも前に資金を引き出そうとした場合、スマートコントラクトは実行されません。 あるいは、ディーラーに代金を支払うと、自動的にデジタル版の車検証が発行されるようなコントラクトを作成することもできます。

予測可能な結果

従来の契約は、解釈と履行を人間に依存しているため、曖昧なものとなっています。 例えば、2人の裁判官が契約に対して異なる解釈をし、一貫性のない決定や不平等な結果を招く可能性があります。 スマートコントラクトは、このような可能性をなくします。 スマートコントラクトは、コントラクトのコードに記載されている条件に基づいて正確に実行されるため、解釈の違いは生じません。 これは、同じ状況下ではスマートコントラクトは同じ結果を生み出すことを意味します。

パブリックレコード

スマートコントラクトは、監査や追跡に役立ちます。 イーサリアムのスマートコントラクトは、パブリックブロックチェーン上にあるため、誰でも即座に資産移管やその他の関連情報を追跡することができます。 例えば、誰かがあなたのアドレスに送金した場合、それを確認することができます。

プライバシーの保護

スマートコントラクトは、あなたのプライバシーも保護します。 イーサリアムは匿名のネットワークで、トランザクションは身元ではなく、一意の暗号アドレスが公開して紐づけられ、第三者からプライバシーを守ることができます。

契約条件の可視性

最後に、従来の契約と同様にスマートコントラクトに署名する (あるいは他の方法で操作する) 前に、スマートコントラクトの中身を確認することができます。 スマートコントラクトの透明性により、誰もがその安全性を精査できるようになっています。

スマートコントラクトのユースケース

スマートコントラクトは、基本的にコンピューター・プログラムができることであれば、何でもできます。

計算を実行し、通貨を作成し、データを保存し、NFTをミントし、通信を送信し、画像を生成することさえできます。 以下に、よく使われているスマートコントラクトの実例を示します。

映像で学びたい場合

Finematicsによるスマートコントラクトの説明:

参考文献

この記事は役に立ちましたか?