スマートコントラクトとは
スマートコントラクトは、ブロックチェーンに保存されたプログラムです。条件が満たされるたびに、書かれたとおりに正確に実行されます。このレッスンでは、それによって何が可能になり、どこにリスクがあるのかを説明します。
弁護士ではなく自動販売機
この言葉は1994年にコンピューター科学者のニック・サボが作りました。彼がたとえに使ったのは自動販売機です。商品を選んでお金を払えば、機械が商品を出してくれます。店員が何かを判断する必要はありません。
スマートコントラクトも同じです。「これが起きたら、あれをする」という形のルールを持っています。正しい入力を送れば、プログラムされた結果が返ってきます。
名前とは違い、スマートコントラクトは法的な契約ではありません。コードです。作った人の意図と違っていても、コードに書かれたとおりに動きます。
何が便利なのか
- 自動。 条件が満たされればコードが実行されます。誰かが1つずつ承認する必要はありません。
- 予測できる。 同じ入力からは必ず同じ結果が出ます。
- 公開されている。 使う前に、誰でもコントラクトの動き、多くの場合はコードも確認できます。
- 変更しにくい。 一度公開(デプロイ)されたコントラクトのコードは書き換えられません。
あとから開発者がコードを差し替えられるアップグレード用のスイッチを付けるプロジェクトもあります。バグの修正には役立ちますが、そのスイッチを握る人を信頼することにもなります。
何に使われているか
スマートコントラクトはトークンを作り、取引所や貸し借りのサービスを動かし、ステーブルコインを発行します。どの会社も鍵を持たないまま、大金を預かることができます。それが強みであり、同時にミスが非常に高くつく理由でもあります。
コードが間違っていたら
2016年、何千人もの人がThe DAOというイーサリアム上の投資ファンドにイーサを出し合いました。攻撃者がコードの欠陥を見つけ、360万ETH以上を抜き取りました。
コントラクトは、コードが許すことをしただけです。お金を返すために、イーサリアムのコミュニティの大半は、2016年7月20日に台帳そのものを変更することに同意しました。一部の人は原則として拒否して古いチェーンを使い続け、それは今もイーサリアムクラシックとして存在しています。
このような救済が再び行われることは期待されていません。今では、コントラクトが悪用されると、たいていお金は戻ってきません。
あなたにとっての意味
スマートコントラクトを使うということは、ウォレットで取引に署名するということです。その署名によって、コントラクトにあなたのトークンを動かす許可を与えることがあります。
- 署名する前に、ウォレットの表示を読みましょう。理解していないものを承認することをブラインド署名と呼び、大きなリスクです。
- 長く稼働していて、独立した監査人のレビュー(監査)を受けたコントラクトを選びましょう。監査はリスクを下げますが、なくしはしません。
- 突然の報酬を「受け取る」ために署名してはいけません。悪意のある承認はレッスン37で扱います。
スマートコントラクトにバグがあったら、開発者はいつでもコードを修正できる?
スマートコントラクトは、自らを実行するコードです。仲介者をなくすと同時に、ミスを直してくれる人もいなくなります。
出典
- ethereum.org: Introduction to smart contracts
- ethereum.org: Timeline of all Ethereum forks
- ethereum.org: What is Ethereum?
- ethereum.org: Ethereum security and scam prevention
2026年10月8日にこれらの出典と事実を照合済み。
メールで学ぶコース
始めるための短いメールが5通、その後は月に1通、新しい内容をお知らせします。価格の予想も誇大な宣伝もありません。
無料。いつでも配信停止できます。プライバシー通知をご覧ください。
進捗も保存しますか?無料アカウントを作成。