スマートコントラクトとは、わかりやすく言うと何ですか?
スマートコントラクトとは、独自のデータを保持し、ブロックチェーン上の固定アドレスに置かれるコードです。誰が利用しても同じ動作をします。Ethereum.orgはこれを自動販売機に例えています。適切な入力に対しては常に同じ出力が返り、利用者が来る前からルールが組み込まれています。
架空の地域エネルギー協同組合、Brookfield Solarを想像してください。会計担当のアナは、スマートコントラクトを調べるよう依頼されています。会議のメモには、こうあります。'スマートコントラクト=法的拘束力がある??太陽光パネル収入の取り分を組合員に自動で支払えそう。電力価格は誰が更新する?バグがあったら変更できる?ブロックチェーンだからハッキングされないと誰かが言っていた'。この4つの考えのうち3つは修正が必要です。このレッスンで修正します。
スマートコントラクトはブロックチェーン上でどのように実行されますか?
スマートコントラクトは、トランザクションがその関数のいずれかを呼び出すと実行されます。そのトランザクションを検証するネットワーク内のすべてのコンピューターが同じコードを実行し、同じ結果に到達します。そのため、仲介者がいなくても結果を信頼できます。公開された記録で誰でも検証できるからです。
1. 作成済み
開発者はSolidityなどのスマートコントラクト言語で、例えば「メンバーへの分配金の支払期日が来たら、そのアドレスに送金する」といったルールを記述します。
2. デプロイ済み
コンパイルしたコードは、ブロックチェーン上のアドレスに公開されます。イーサリアムでは、ガスと呼ばれる手数料がかかります。また、ethereum.orgは、コントラクトは標準では削除できないと説明しています。
3. 呼び出し済み
人または別のコントラクトが、そのアドレスにトランザクションを送信します。Ethereum.orgでは、公開コントラクトを、他のコントラクトが利用できる公開APIとして説明しています。この性質をコンポーザビリティと呼びます。
4. 実行・記録済み
ネットワークは同じ入力から必ず同じ結果が出るようにコードを実行し、コントラクトの保存データを更新します。その結果は共有記録の一部になります。
スマートコントラクトは何に使われますか?
スマートコントラクトは、ルールを正確に記述でき、単一の組織に左右されない結果を当事者が求める場面で使われます。Ethereum.orgでは、ステーブルコイン、トークン、固有のデジタルアイテム(NFT)、自動通貨交換、ゲーム、定められた条件を満たすと保険金が支払われる保険などを用途として挙げています。いずれの場合も、価値を生むのは共有され、検証できるルールであり、「スマート」という言葉ではありません。
スマートコントラクトにはどのような限界がありますか?
スマートコントラクトの限界は、その有用性を生む性質と表裏一体です。知ることができるのはブロックチェーン上の情報だけで、変更が難しく、コードの記述どおりに動作するため、記述に誤りがあってもそのとおりに実行します。
コードは法律ではありません
スマートコントラクトはプログラムであり、それだけで法的な契約になるわけではありません。法的義務が生じるかどうかは、法律や関連する合意によって異なります。法的拘束力を伴う事柄については、法律の専門家に相談してください。
オラクル問題
スマートコントラクトは、電力価格などの現実世界のデータを自力で取得できません。オラクルがそのデータを取り込みます。ethereum.orgも、コントラクトの信頼性は受け取るデータの信頼性に左右されると説明しています。
不変性
デプロイしたコードは通常、編集できません。アップグレードの仕組みを設計に組み込んでいなければ、不具合は残り続けます。ただし、その仕組みを設けると、誰をどこまで信頼するかという別の問題が生じます。
規模と費用
Ethereum.orgでは、コントラクトのサイズには24KBの上限があり、すべての操作に手数料がかかるため、複雑なロジックは高コストになると説明しています。
説明には、不十分な例と改善した例でどのような違いがありますか?
アナの委員会向けの不十分な要約:「スマートコントラクトは、ブロックチェーン上の法的拘束力のある契約で、ハッキングされることがなく、メンバーに自動で支払いを行います。」どの主張も誤解を招きます。法的拘束力がない場合があり、コードに欠陥があればコントラクトはハッキングされます。また、パネルからの収入を原資に支払うには、チェーン外から収入額を取得する必要があります。
改善した要約:'スマートコントラクトは、ブロックチェーン上で公開されるプログラムで、資金を保有し、決まったルールに従って会員に支払うことができます。毎月の収入を報告するオラクルか信頼できる人が必要なので、そのデータへの依存は残ります。一度デプロイすると誤りの修正は難しいため、コードの慎重なレビューが必要です。会員規約の代わりにはならず、法律の専門家への相談も必要です。共有スプレッドシートと銀行振込のほうが、簡単に目的を果たせるかもしれません。' これで委員会は事実に基づいて判断できます。
スマートコントラクトについての主張は、どう検証しますか?
スマートコントラクトに関する主張は、4つの質問で確認します。チェーン外のどのようなデータが必要か、誰がコードを変更できるか、不具合があるとどうなるか、より単純なツールで同じ目的を果たせないか、という質問です。提案がこの4つすべてに答えられない場合は、慎重に扱ってください。
よくある誤解は何ですか?
最も多い誤解は、「ブロックチェーン上にある」ことを「問題が起きない」ことだと考えることです。実際には、コードの不具合によって資金を永久に失う場合があります。ほかにも、スマートコントラクトを法的な契約だと思い込む、オラクルの存在を忘れる、どの用途でもブロックチェーンの方が優れていると考える、技術の説明とトークンの推奨を混同するといった誤解があります。このレッスンの内容は、いずれも投資助言ではありません。
このレッスンはTosheo.aiの中でどのように位置づけられていますか?
このレッスンは、ブロックチェーンカテゴリーとブロックチェーン講座に属します。この講座では、働く人がブロックチェーンの提案を判断するための基礎を学びます。Tosheo.aiの演習課題では、アナのメモのような誤解を招く提案を修正し、採点基準に沿って評価を受けます。コントラクトを書きたい方は、スマートコントラクトのセキュリティと、任意のコード実習コースに進めます。実務上の基礎を学ぶものであり、開発者向けの集中講座ではありません。また、投資助言は一切行いません。
出典と対象範囲
ethereum.org、スマートコントラクト入門(確認日:19 October 2026) ↗