スマートコントラクトという言葉は、イーサリアムやNFT、DeFiの解説でよく見かけますが、そもそも何を示しているのか、どのような仕組みで動くのかは分かりにくいかもしれません。
この記事では、主にイーサリアムを例に、スマートコントラクトの意味と従来の契約との違い、動く仕組みと暗号資産での使われ方、そして限界とリスクを、公式ドキュメントなどをもとに解説します。
執筆:CoinTradeコラム編集部
※本記事は2026年10月18日時点の情報であり、今後の法整備や仕様変更、公式ドキュメントの更新等により相違が生じることがあります。
スマートコントラクトとは何か
ここでは、スマートコントラクトの定義と、従来の契約との違い、法律上の位置づけを解説します。
スマートコントラクトとはどんな仕組みか
スマートコントラクトとは、契約の条項を実行する、コンピューター化された取引の手順のことです。
この定義は、この言葉を作ったとされるニック・サボ氏が1994年に示したものです(※1)。
サボ氏は1996年にも、スマートコントラクトの原始的な祖先とみなせる実例として、自動販売機を挙げて説明しています(※2)。
そして現在、イーサリアムの公式サイトは、スマートコントラクトを、「もしこうなら、こうする」という条件で動き、コードに定められたとおりに実行されるプログラムだと説明しています(※3)。
同サイトによると、イーサリアム上のスマートコントラクトは、サボ氏の構想を実際に形にしたものです。
従来の契約とどこが違うのか
従来の契約との違いは、約束を守らせる役目を、人ではなくコードが担う点です。
従来の契約では、条件が満たされても、相手が約束を果たすのを信頼するほかなく、内容の解釈も人に委ねられます。
しかし、スマートコントラクトは条件が満たされるとコードが自動で実行されるので、人の解釈や交渉を待たずに済み、信頼できる仲介者も要りません(※3)。
また、同じ条件であれば、結果も必ず同じになります。
| 項目 | 従来の |
スマートコントラクト |
|---|---|---|
| 約束の |
人(相手が |
コード(条件が |
| 条件の |
人に |
人の |
| 同じ条件で |
解釈する人に |
同じ条件なら同じ結果に |
法律上の契約として扱われるのか
デジタル庁が開催したWeb3.0研究会は、2022年12月の報告書で、スマートコントラクトの法律上の位置づけについての考え方を示しました(※4)。
そこでは、スマートコントラクトを、通常は契約そのものではなく、事前に合意された契約内容を自動で執行する手順(プロトコル)と考えられるとしています。
DeFi(交換や貸し借りなどを行う分散型金融)でも同様で、スマートコントラクトの集まりが成す仕組み自体は契約を構成せず、契約で合意された内容を執行するという整理になるとしています。
ブロックチェーン上で動く仕組み
ここでは、スマートコントラクトがブロックチェーン上でどのように実行されるのかと、手数料が単純な送金より高くなりやすい理由を解説します。
スマートコントラクトはどう実行されるのか
イーサリアムのスマートコントラクトは、ブロックチェーン上のアドレスに置かれたプログラムであり、利用者が取引を送ると実行されるものです。
イーサリアムの公式ドキュメントでも、スマートコントラクトはコードとデータのまとまりで、ブロックチェーン上の特定のアドレスに置かれていると説明されています(※5)。
開発者がスマートコントラクトを公開してから実行されるまでの流れは、次のとおりです(※6)。
-
1
開発者がコードを公開する
開発者がスマートコントラクトのコードを公開すると、コードを持つ新しいアカウントが作られます。
-
2
利用者が取引を送る
利用者が、そのアカウントのアドレスへ取引を送って、コードに定められた処理を呼び出します。
-
3
ノードが処理を実行する
参加者のコンピューターのすべてが、同じように処理を実行します。
手数料が単純な送金より高くなる理由
イーサリアムでは、スマートコントラクトを使う複雑な取引は処理の計算量が多く、手数料が単純な送金より高くなりやすいです。
イーサリアムの公式ドキュメントによると、処理にかかる計算量を測る単位は「ガス」と呼ばれ、手数料(ガス代)は、使ったガスの量に1単位あたりの価格を掛けて決まります(※7)。
複雑なスマートコントラクトのアプリは、多くの処理を行ってガスを多く消費するため、単純な送金より多くのガスが必要になり、その分だけ手数料も高くなります。
イーサリアムのガス代の払い方や、手数料の一部が焼却される仕組み、混雑でガス代が上がる理由は、ETH(イーサリアム)とは?スマートコントラクトの仕組みをわかりやすく解説をご覧ください。
暗号資産での使われ方とビットコイン
ここでは、スマートコントラクトが暗号資産の分野でどのような場面に使われているかと、ビットコインでの扱いを解説します。
暗号資産では何に使われているのか
暗号資産の分野でスマートコントラクトが使われるのは、資産の発行ややり取りを自動で処理する場面です。
たとえば、価格が法定通貨などに連動するよう設計された暗号資産であるステーブルコインの発行が挙げられます。
また、DeFiの分散型取引所では、スマートコントラクトが暗号資産の交換を自動で処理しています。
DeFiの交換や貸し借りといった個別のサービスは、DeFiとは?暗号資産との関係と2026年の実態を解説をご覧ください。
イーサリアムの公式サイトも、実例として、ステーブルコインや自動で通貨を交換する取引所、NFTの作成と配布、分散型のゲーム、条件を満たすと自動で支払われる保険を挙げています(※3)。
ビットコインでも使えるのか
Bitcoin.orgの開発者ガイドによると、ビットコインにはイーサリアムのように自由なプログラムを動かす機能はありませんが、署名の条件を組むなど、限られた形の支払いの条件は設けることができます(※8)。
その背景として、支払いの条件を記すためのプログラムにはループ(処理の繰り返し)がなく、柔軟さが低い代わりに挙動を予測しやすいと説明されています(※9)。
この開発者ガイドがコントラクトの例に挙げるのは、買い手・売り手・仲裁役の3人のうち2人の署名がそろったときだけ支払える仕組みです。
この例では、仲裁役が署名した取引に、買い手か売り手が署名を足して完成させるので、条件を満たすと自動で実行されるとは言えないかもしれません。
スマートコントラクトの限界とリスク
ここでは、スマートコントラクトの限界とリスクとして、外部の情報の扱い、コードの欠陥、監査の限界を解説します。
現実世界の情報を取り込むのが難しい
スマートコントラクトは、ブロックチェーンの外にある現実の情報を、そのままでは取得できません。
これは、参加者全員が同じ結果になるように、ブロックチェーン上のデータだけで動く設計になっているためです(※10)。
外部の情報をブロックチェーンに書き込んで、スマートコントラクトが使えるようにするのが、「オラクル」と呼ばれる仕組みです。
ただし、オラクルが誤った情報を渡すと、スマートコントラクトも誤った結果を出します。
このように、オラクルの運営者を信頼する必要が生じる点は、「オラクル問題」と呼ばれています。
コードの欠陥が直接的な損失につながりやすい
イーサリアムでは、スマートコントラクトのコードに欠陥があっても公開後は修正できず、盗まれた資産も取り戻しにくいため、欠陥が損失につながりやすいです。
イーサリアムの公式ドキュメントによると、公開されたコードは一部の条件を満たすもの以外は通常修正できず、盗まれた資産はほとんど取り戻せません(※11)。
アプリケーションのセキュリティを扱う団体OWASPの集計では、2025年に発生したスマートコントラクトの欠陥をついた攻撃による損失は合計で約9億540万ドルに上ると報告されました(※12)。
コード監査を受けたとしても安全と断定できない
コード監査を受けていても、監査の対象外の部分に欠陥があれば見つからないため、安全は保証されません。
イーサリアムの公式ドキュメントによると、監査は、開発者が開発や試験で見逃した点を追加で確認するためのもので、すべてのバグを見つけきることはできません(※11)。
事例として、セキュリティ企業Dedaubの分析によると、2025年5月22日にSuiというブロックチェーン上の分散型取引所Cetusで、2億ドルを超える資産が流出しました(※13)。
原因は、計算結果が扱える範囲を超える「桁あふれ」を防ぐ確認処理の誤りだといわれています。
Cetusは、監査会社のZellicが作成した2025年4月11日付の監査報告書を公開していましたが、この確認処理を含むライブラリ integer-mate は、その監査の対象に挙がっていません(※14)。
このように、監査は対象に挙がった部分を確認するもので、挙がっていない部分の欠陥までは見つけられない場合があります。
よくある質問
Qブロックチェーンとスマートコントラクトは何が違いますか?
スマートコントラクトは、ブロックチェーンの上で動くプログラムで、ブロックチェーンはその実行の基盤にあたります。 ブロックチェーンそのものの仕組みは、ブロックチェーンの仕組みとは?特徴・種類・活用例を解説をご覧ください。
QスマートコントラクトとDappsは同じものですか?
同じものではなく、スマートコントラクトはDappsを構成する一部です。 イーサリアムの公式ドキュメントは、Dappsを、分散型のネットワーク上に作られ、スマートコントラクトとフロントエンド(利用者が操作する画面)を組み合わせたアプリだと定義しています(※15)。 スマートコントラクトは、Dappsのバックエンド(裏側で処理を担う部分)にあたります。
Qイーサリアム以外のブロックチェーンでもスマートコントラクトは使えますか?
はい、イーサリアム以外のブロックチェーンにも、スマートコントラクトを扱えるものがあり、一例がSuiです。 Suiの公式ドキュメントは、Moveというプログラミング言語で、資産やスマートコントラクトを表すオブジェクトを定義・作成・管理できると説明しています(※16)。
Qイーサリアムのスマートコントラクトの中身は誰でも確認できますか?
はい、誰でも確認できますが、そのままでは理解しにくいと言われています。 イーサリアムの公式ドキュメントによると、ブロックチェーン上のバイトコード(機械が実行する形式のコード)は誰でも見られますが、機械に近い低水準の言語で書かれているためです(※17)。 ただし、公開されたソースコードが、実際に動くバイトコードと一致するかを確かめる「検証」が済んでいれば、バイトコードを読まずに内容を調べられます。
Qイーサリアムで公開したスマートコントラクトは後から修正できますか?
イーサリアムの公式ドキュメントによると、スマートコントラクトは設計上変更できず、公開後は業務ロジックを更新できません(※18)。 ただし、処理の中身を別のスマートコントラクトに置く「アップグレードのパターン」を使うと、状態を保ったまま、実行されるコードを切り替えられます。 一方で、アップグレードのパターンを使う場合は、利用者は、開発者がスマートコントラクトを恣意的に変更しないと信頼する必要があります。
まとめ
- スマートコントラクトとは、契約の条項を実行する、コンピューター化された取引の手順であり、イーサリアムでは「もしこうなら、こうする」という条件で動くプログラムとして実現されている
- 従来の契約が約束を守らせる役目を人に頼るのに対し、スマートコントラクトではコードがその役目を担い、人の解釈や仲介者を挟まずに、同じ条件なら同じ結果になる
- スマートコントラクトは、通常は法律上の契約そのものではなく、合意した内容を自動で実行する手順だと、デジタル庁のWeb3.0研究会の報告書は考えている
- イーサリアムでは、スマートコントラクトはブロックチェーン上のアドレスに置かれ、取引を送ると各ノードで実行され、複雑な処理ほど手数料が高くなりやすい
- 暗号資産ではステーブルコインやNFT、分散型取引所などに使われ、ビットコインにあるのは、署名の条件を組むなど限られた形の支払いの条件にとどまる
- イーサリアムのスマートコントラクトは外部の情報をオラクルを通して受け取り、コードの欠陥は公開後に直しにくく損失につながりやすいうえ、監査を受けても安全は保証されない
※1 Nick Szabo「Smart Contracts」 ※2 Nick Szabo「Smart Contracts: Building Blocks for Digital Markets」 ※3 ethereum.org「Smart contracts: What are they and their benefits」 ※4 Web3.0研究会「Web3.0研究会報告書 ~Web3.0の健全な発展に向けて~」(59ページ) ※5 ethereum.org「Introduction to smart contracts」 ※6 ethereum.org「Ethereum Virtual Machine (EVM)」 ※7 ethereum.org「Ethereum gas and fees: technical overview」 ※8 Bitcoin.org「Developer Guide: Contracts」 ※9 Bitcoin.org「Developer Guide: Transactions」 ※10 ethereum.org「Oracles」 ※11 ethereum.org「Smart contract security」 ※12 OWASP Smart Contract Security「Data Sources」 ※13 Dedaub「$200M Cetus AMM Hack: Sui Overflow Vulnerability Explained」 ※14 Zellic「CetusProtocol Smart Contract Security Assessment」 ※15 ethereum.org「Technical introduction to dapps」 ※16 Sui Documentation「Move Concepts」 ※17 ethereum.org「Verifying smart contracts」 ※18 ethereum.org「Upgrading smart contracts」