ブロックチェーン上のスマートコントラクト:その仕組みと、なぜ仲介業者に取って代わったのか
2016年、あるグループが「The DAO」と呼ばれるスマートコントラクトに1億5000万ドルを拠出した。これは分散型ベンチャーファンドとなるはずだった。マネージャーも取締役会もなく、資金の行き先はコードによって決定される仕組みだった。ところが6週間後、ハッカーがそのコードの欠陥を発見し、6000万ドルを盗み出した。コントラクトは記述通りに実行された。問題は、記述された内容が作成者の意図とは異なっていたことだった。
その話は、スマートコントラクトのすべてを一度に捉えている。その力、リスク、そして「コードは法律」という概念が、コードにバグが生じるまでは素晴らしいものに聞こえるという現実。初期の失敗にもかかわらず、スマートコントラクトは1000億ドルを超える産業へと成長した。DeFi、NFT、DAO、ステーブルコイン、トークンローンチなど、すべてはニック・サボが1994年に紙にスケッチしたのと同じアイデアに基づいている。
この記事では、スマートコントラクトとは実際には何なのか、その内部構造、現在どのような用途で使われているのか、そしてどのような問題が発生する可能性があるのかを解説します。
スマートコントラクトとは何ですか?
スマートコントラクトとは、ブロックチェーン上に保存されたプログラムであり、あらかじめ設定された条件が満たされると自動的に実行されます。人間がボタンを押す必要も、弁護士が内容を確認する必要も、銀行が承認する必要もありません。コントラクトは条件が満たされているかどうかをチェックし、満たされていれば実行されます。
最も分かりやすい例えは、自動販売機です。2ドルを入れてボタンを押すと、機械からソーダが出てきます。取引は自動で行われ、信頼を必要とせず、最終的なものです。コカ・コーラの社員が直接缶を手渡すわけではありません。スマートコントラクトも同様の仕組みですが、金融取引、所有権移転、投票、保険金の支払い、その他数千もの用途に利用できます。
コンピューター科学者であり法学者でもあるニック・サボは、1994年にこの概念を考案した。しかし、それを実現する技術は、2015年にイーサリアムがローンチされるまで存在しなかった。ビットコインには単純な条件を処理できる基本的なスクリプト言語があるが、イーサリアムはチューリング完全なプログラミング言語(Solidity)を導入し、開発者がブロックチェーン上に複雑なロジックを直接記述できるようにした。
スマートコントラクトが「イーサリアムにデプロイされた」と言う場合、それはコードがイーサリアムのブロックチェーンに永続的に書き込まれたことを意味します。イーサリアムネットワーク上のすべてのノードがそのコピーを保存し、実行できます。コードは誰でも閲覧可能です。そして、一度デプロイされると、コードは変更できません(ただし、独自の信頼性に関する前提条件を追加するアップグレード可能なコントラクトパターンには例外があります)。
具体的な例を挙げましょう。あなたと私が、2026年12月31日にビットコインが8万ドルを超えるかどうかに賭けるとします。私たちはそれぞれ1ETHをスマートコントラクトに送金します。コントラクトは、その日のBTC価格を(Chainlinkのようなオラクルを使って)チェックし、勝者に自動的に2ETHを送金するようにプログラムされています。ブックメーカーは不要です。私たち間の信頼関係も必要ありません。コントラクトが資金を保管し、人間の介入なしに支払いを実行します。
ブロックチェーン上でスマートコントラクトがどのように機能するか
スマートコントラクトは、ウォレットのように、ブロックチェーンネットワーク上の特定のアドレスに存在します。ただし、ウォレットが個人の資金を保持するのに対し、スマートコントラクトはコードと状態(データ)を保持します。
スマートコントラクトとやり取りする際は、「1 ETHをUSDCに交換したい」または「担保を預けてそれを担保に借り入れたい」といった指示を添えたトランザクションをスマートコントラクトのアドレスに送信します。コントラクトはトランザクションを受け取り、内部ロジックを実行して、同じブロック内で出力を生成します。
処理の実行にはガス料金(イーサリアムの場合)がかかります。より複雑な処理ほど多くのガスを消費します。単純なトークン送金では21,000ガス単位、複数ステップのDeFi操作では300,000ガス単位以上かかる場合があります。計算を実行するバリデーターへの報酬として、ネットワークのネイティブ通貨(例えばイーサリアムではETH)でガス料金を支払います。
イーサリアム仮想マシンの役割
イーサリアム仮想マシン(EVM)は、スマートコントラクトが実行されるランタイム環境です。グローバルなコンピュータのようなものと考えてください。すべてのイーサリアムノードはEVMを実行し、各ノードは独立して同じスマートコントラクトコードを実行して同じ結果を得ます。この冗長性こそがスマートコントラクトの信頼性を支えています。つまり、どのノードも出力を偽造することはできず、他のすべてのノードがその不一致を検知します。
スマートコントラクトは、Solidity(最も普及している言語)やVyperなどの高水準言語で記述され、EVMが理解できるバイトコードにコンパイルされます。他のブロックチェーンはそれぞれ独自の仮想マシンを使用しています。TRONはTVM(EVMと互換性あり)、Solanaは独自のランタイム、CardanoはPlutusを使用しています。

オラクル問題
スマートコントラクトは、ブロックチェーン上に存在するデータしか閲覧できません。インターネットを閲覧したり、株価を確認したり、天気予報を読んだりすることはできません。コントラクトが外部データ(例えば、賭けの例におけるBTC価格など)を必要とする場合、オラクルと呼ばれる、現実世界のデータをブロックチェーンに供給するサービスを利用します。
Chainlinkは、数十ものブロックチェーンにわたるスマートコントラクトに価格フィード、乱数、外部APIデータを提供する、支配的なオラクルネットワークです。オラクルの正確性と信頼性は極めて重要です。価格フィードが不正に操作されると、数百万ドル規模の誤った清算や支払いが発生する可能性があります。オラクルの操作は、これまで数々の大規模なDeFi攻撃の攻撃経路となってきました。
2026年におけるスマートコントラクトの活用事例
スマートコントラクトの初期構想では、不動産から保険まであらゆる分野で弁護士、銀行、公証人を置き換えるというものだった。2026年の現実は、より焦点を絞ったものになっているが、それでもなお巨大な規模を誇っている。
分散型金融(DeFi)
DeFiは、スマートコントラクトのユースケースの中で群を抜いて最大規模です。総資産額(TVL)が1,000億ドルを超えるこの分野全体が、スマートコントラクト上で稼働しています。
| DeFiカテゴリ | スマートコントラクトの機能 | プロトコルの例 |
|---|---|---|
| 貸し借り | 担保を保有し、利息を計算し、清算手続きを開始する。 | Aave、Compound、MakerDAO |
| 分散型取引所 | 流動性プールを管理し、トークン交換を実行し、手数料を分配する。 | Uniswap、Curve、SushiSwap |
| ステーブルコイン | 担保管理とアルゴリズムルールを通じてペッグを維持する | DAI、FRAX、LUSD |
| デリバティブ | 証拠金の管理、先物契約の決済、支払いの処理を行う。 | dYdX、GMX、Synthetix |
| 利回り集計ツール | 収益を最大化するために、プロトコル間で資金を自動的に移動します。 | ヤーン・ファイナンス、ビーフィー |
Uniswapでトークンを交換するたびに、スマートコントラクトが流動性プール比率から価格を計算し、0.3%の手数料を差し引いて、トークンをウォレットに送金します。オーダーブックも、マッチングエンジンも、取引所の従業員も必要ありません。数千台のコンピューターで同時に実行されるコードだけです。
DeFiスマートコントラクトの特に興味深い点は、構成可能性です。コントラクトは他のコントラクトを呼び出すことができます。単一のトランザクションで、Aaveから借り入れ、Uniswapでスワップし、イールドファームに預け入れるといった一連の操作を、すべてアトミックに実行できます。いずれかのステップで失敗した場合、トランザクション全体がロールバックされます。このレゴのような構築アプローチこそが、「マネーレゴ」と呼ばれる所以です。これは強力な機能ですが、広く利用されているコントラクトのバグがエコシステム全体に波及する可能性があるというリスクも伴います。
NFTとデジタル所有権
すべてのNFTはスマートコントラクトです。ERC-721規格は、イーサリアム上で固有のトークンがどのように作成、転送、検証されるかを定義しています。OpenSeaでNFTを購入すると、スマートコントラクトが所有権の移転と支払いを単一のアトミックトランザクションで処理します。つまり、両方が実行されるか、どちらも実行されないかのどちらかです。エスクローは不要です。
DAOとガバナンス
分散型自律組織(DAO)は、スマートコントラクトを使用して投票、資金管理、提案の実行を行います。DAOが開発助成金として500ETHを割り当てることを投票で決定した場合、投票が規定のしきい値を超えると、スマートコントラクトが自動的に資金を放出します。理事会メンバーが小切手を切ることはありません。
サプライチェーンと検証
ブランド各社はスマートコントラクトを利用して、工場から消費者まで製品の流通経路を追跡しています。サプライチェーンの各段階はブロックチェーンに記録され、改ざん不可能な記録が作成されます。これはパブリックな暗号通貨よりも企業向けブロックチェーンの導入においてより一般的ですが、ウォルマートやマースクといった企業はブロックチェーンネットワーク上でサプライチェーンの実証実験を実施しています。
保険
パラメトリック保険契約は、測定可能な事象に基づいて自動的に保険金支払いをトリガーします。例えば、作物保険のスマートコントラクトは、オラクルから提供される降雨量データが閾値を下回った場合に、農家に自動的に保険金を支払うことができます。請求手続きは不要。査定担当者も不要。承認を何週間も待つ必要もありません。
スマートコントラクトのリスクと限界
バグとエクスプロイト
スマートコントラクトのコードは一度デプロイされると変更できません。バグが発生した場合、通常のアプリのようにパッチを適用することはできません。ハッカーはコーディングエラーを悪用して数十億ドルを盗み出してきました。DAOハッキング(2016年、6,000万ドル)、ワームホールブリッジの脆弱性攻撃(2022年、3億2,000万ドル)、オイラーファイナンスハッキング(2023年、1億9,700万ドル)はいずれもスマートコントラクトの脆弱性が原因でした。コード監査は役立ちますが、安全性を保証するものではありません。監査済みのコントラクトでさえ悪用された事例があります。
ガス料金とネットワークの混雑
イーサリアムのメインネット上で複雑なスマートコントラクトのやり取りを行う場合、混雑時にはガス代として5ドルから50ドルかかることがあります。レイヤー2ネットワークではこれを数セントに抑えることができますが、レイヤー1ネットワークでは依然としてコストの壁が存在します。新しいコントラクトのデプロイや複数ステップのDeFi戦略との連携など、一部の操作では数十万ガス単位を消費する可能性があります。
不変性は両刃の剣である
スマートコントラクトは変更できないという事実は、利点(誰もルールを改ざんできない)であると同時に欠点(誰も間違いを修正できない)でもあります。一部のコントラクトはアップグレードを可能にする「プロキシパターン」を使用していますが、これには信頼の問題が生じます。アップグレードを誰が制御するのか?チームがコントラクトを変更できる場合、理論的には自分たちに有利なように変更できてしまう可能性があります。真の不変性とは、バグも含めてコードを現状のまま受け入れることを意味します。
法的グレーゾーン
スマートコントラクトは、ほとんどの国において法的な意味での「契約」とはみなされません。従来の契約には、申込み、承諾、約因、そして相互の合意が必要です。スマートコントラクトは、トリガーされると実行される単なるコードです。もしスマートコントラクトが誤作動を起こして損失が出た場合、誰が責任を負うのでしょうか?開発者でしょうか?プロトコルのDAOでしょうか?バグを見落とした監査人でしょうか?裁判所は、これらの問題について現在も検討を続けています。
法域によって進展状況は異なる。米国のテネシー州は2018年にスマートコントラクトを法的拘束力のある契約として認める法律を可決した。ワイオミング州にも同様の法律がある。英国法務委員会は2021年に報告書を発表し、既存の英国契約法はスマートコントラクトに対応できると結論付けた。しかし、世界的な合意はまだ得られておらず、スマートコントラクトをめぐる国境を越えた紛争は法的な悪夢となっている。
実務上の注意点として、重大な利害関係が絡む場合は、スマートコントラクトを法的合意の代替手段として扱わないでください。スマートコントラクトは実行レイヤーとして利用し、裁判での法的強制力が必要な場合は、従来の法的枠組みと組み合わせて使用してください。
彼らの能力は、投入した情報の質によって決まる。
完璧に記述されたスマートコントラクトでも、オラクルが不適切であれば、結果は悪くなります。入力が不適切であれば、出力も不適切になります。Chainlinkの価格フィードがたった1ブロックでもETH価格を誤って送信した場合、レンディングプロトコルは数百万ドル相当のユーザーポジションを誤って清算してしまう可能性があります。スマートコントラクトの「スマート」とは、自己実行性を指し、知能を指すものではありません。
どのブロックチェーンがスマートコントラクトをサポートしているか
すべてのブロックチェーンがスマートコントラクトを実行できるわけではありません。ビットコインのスクリプト言語は意図的に制限されています。スマートコントラクトは以下のような場所で動作します。
| ブロックチェーン | スマートコントラクト言語 | 注目すべき特徴 |
|---|---|---|
| イーサリアム | ソリディティ、バイパー | 最大のエコシステム、最も多くのDeFi |
| ソラナ | さび | 高スループット、低料金 |
| アバランチ | Solidity(EVM互換) | サブネットアーキテクチャ |
| カルダノ | プルートス、マーロウ | 形式検証に焦点を当てる |
| トロン | Solidity(EVM互換) | ステーブルコイン送金 |
| 水玉模様 | インク!(Rustベース) | クロスチェーン相互運用性 |
| 仲裁人、ベース、楽観主義 | Solidity (EVM L2s) | 安価なイーサリアムスマートコントラクト |
イーサリアムは依然として業界の中心的存在です。Electric Capitalの開発者レポートによると、イーサリアムには他のすべてのブロックチェーンを合わせたよりも多くのアクティブなスマートコントラクト開発者が存在します。EVM互換性は業界の標準規格となっています。新しいブロックチェーンが開発者を募集する場合、ほぼ必ずSolidityをサポートします。そのため、Avalanche、Polygon、Arbitrum、TRONといったチェーンはすべてEVM互換の仮想マシン上で動作しています。
例外はSolanaで、Solidityの代わりにRustを使用しています。これによりパフォーマンス上の利点が得られます(Solanaプログラムはハードウェアに近いレベルで実行されます)が、開発者は異なるスタックを習得する必要があります。Cardanoは、形式検証に重点を置いたHaskellベースのスマートコントラクトという、また別のアプローチを採用しました。これは、数学的に証明されたコードにはバグが少ないという考えに基づいています。実際には、CardanoのDeFiエコシステムは、開発者の学習曲線が急峻なこともあり、Ethereumよりも成長が遅れています。