---
title: スマート・コントラクトの紹介
metaTitle: "スマート・コントラクト: 概要とメリット"
description: スマート・コントラクトの非技術的な紹介
lang: ja
---

スマート・コントラクトは、[イーサリアムの](/)アプリケーション層の基本的な構成要素です。これらは[ブロックチェーン](/glossary/#blockchain)上に保存されたコンピュータプログラムであり、「もしこうなったら、こうする (if this then that)」というロジックに従います。一度作成されると変更できないコードによって定義されたルールに従って実行されることが保証されています。

ニック・サボ (Nick Szabo) が「スマート・コントラクト」という用語を作りました。1994年に彼は[この概念の紹介](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html)を書き、1996年には[スマート・コントラクトで何ができるかの探求](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html)を執筆しました。

サボは、自動化された[暗号学的に安全な](/glossary/#cryptography)プロセスにより、信頼できる仲介者なしでトランザクションやビジネス機能が実行できるデジタル市場を構想しました。イーサリアム上のスマート・コントラクトは、このビジョンを実践しています。

Finematicsによるスマート・コントラクトの解説をご覧ください:

<VideoWatch slug="smart-contracts-code-is-law" />

## 従来の契約における信頼 {#trust-and-contracts}

従来の契約における最大の問題の1つは、契約の結果を最後まで実行するために信頼できる個人が必要になることです。

例を挙げましょう:

アリスとボブが自転車レースをしています。アリスがレースに勝つ方に10ドル賭けたとしましょう。ボブは自分が勝つと確信しており、その賭けに同意します。結果として、アリスはボブを大きく引き離してゴールし、明らかな勝者となりました。しかし、ボブはアリスが不正をしたに違いないと主張し、賭け金の支払いを拒否します。

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

## デジタル自動販売機 {#vending-machine}

スマート・コントラクトのシンプルな比喩は自動販売機です。自動販売機はスマート・コントラクトといくらか似た働きをします。つまり、特定の入力が事前に決定された出力を保証するのです。

- 商品を選択する
- 自動販売機が価格を表示する
- 価格を支払う
- 自動販売機が正しい金額が支払われたか検証する
- 自動販売機が商品を提供する

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

## 自動実行 {#automation}

スマート・コントラクトの主なメリットは、特定の条件が満たされたときに、曖昧さのないコードを決定論的に実行することです。人間が結果を解釈したり交渉したりするのを待つ必要はありません。これにより、信頼できる仲介者が不要になります。

例えば、子供のために資金をエスクローに保管し、特定の日付以降に資金を引き出せるようにするスマート・コントラクトを書くことができます。その日付より前に引き出そうとしても、スマート・コントラクトは実行されません。あるいは、ディーラーに支払いをしたときに、車の所有権のデジタル版を自動的に付与するコントラクトを書くこともできます。

## 予測可能な結果 {#predictability}

従来の契約は、人間が解釈して実行することに依存しているため、曖昧です。例えば、2人の裁判官が契約を異なるように解釈する可能性があり、それが一貫性のない決定や不平等な結果につながる可能性があります。スマート・コントラクトはこの可能性を排除します。代わりに、スマート・コントラクトはコントラクトのコード内に書かれた条件に基づいて正確に実行されます。この正確性により、同じ状況が与えられれば、スマート・コントラクトは同じ結果を生み出します。

## 公開記録 {#public-record}

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

## プライバシー保護 {#privacy-protection}

スマート・コントラクトはプライバシーも保護します。イーサリアムは仮名性のネットワークであるため (トランザクションは身元ではなく、一意の暗号化されたアドレスに公開で結び付けられます)、監視者からプライバシーを保護することができます。

## 可視化された条件 {#visible-terms}

最後に、従来の契約と同様に、署名する前にスマート・コントラクトの内容を確認できます。従来の契約とは異なり、スマート・コントラクトのオンチェーンの透明性により、誰でも対話する前にそれを精査してレビューすることができます。 

しかし、誰でもスマート・コントラクトの条件を見ることができますが、生のトランザクションデータは人間ではなく、アプリケーションやウォレットによって解釈されるように設計されています。このデータは非常に読みにくいため、ユーザーはしばしば「ブラインド署名 (blind signing)」と呼ばれる重大なセキュリティリスクに直面します。これは、スマート・コントラクトと対話するトランザクションを、それが何をするのかを実際に理解せずに承認してしまうことです。 

イーサリアムのエコシステムは、**[クリア署名 (Clear Signing)](https://clearsigning.org/)** の標準 (具体的には [ERC-7730](https://eips.ethereum.org/EIPS/eip-7730)) へと移行しつつあります。クリア署名は、不透明なスマート・コントラクトのデータを、人間が読める平易なトランザクションの説明に変換し、署名する前に誰でもコントラクトの真のインテントを理解できるようにします。

## スマート・コントラクトのユースケース {#use-cases}

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

計算の実行、通貨の作成、データの保存、[NFT](/glossary/#nft)のミント、通信の送信、さらにはグラフィックの生成まで可能です。以下は、現実世界での人気のある例です:

- [ステーブルコイン](/stablecoins/)
- [ユニークなデジタル資産の作成と配布](/nft/)
- [自動化されたオープンな通貨取引所](/defi/#swaps)
- [分散型ゲーム](/apps/categories/gaming)
- [自動的に支払いが行われる保険契約](https://etherisc.com/)
- [カスタマイズされた相互運用可能な通貨を作成できる標準](/developers/docs/standards/tokens/)

## 参考文献 {#further-reading}

- [スマート・コントラクトは世界をどう変えるか (How Smart Contracts Will Change the World)](https://www.youtube.com/watch?v=pA6CGuXEKtQ)
- [開発者向けスマート・コントラクト](/developers/docs/smart-contracts/)
- [スマート・コントラクトの書き方を学ぶ](/developers/learning-tools/)
- [マスタリング・イーサリアム - スマート・コントラクトとは何か？](https://github.com/ethereumbook/ethereumbook/blob/openedition/07smart-contracts-solidity.asciidoc#what-is-a-smart-contract)

<Divider />

<QuizWidget quizKey="smart-contracts" />
