スマートコントラクトとは|企業担当者向けに「止められない・直せない」前提を整理
エグゼクティブサマリー
- スマートコントラクトは「契約書」ではなく、ブロックチェーン上に置かれ、条件がそろうと決められた処理を自動で実行するプログラムです
- ERC-20などの規格で作られたトークンでは、残高の記録も送付の処理もコントラクトの中で動いています。ステーブルコインを受け取る企業は、その時点で他社が書いたプログラムを使っていることになります
- ethereum.orgは、スマートコントラクトは原則として削除できず、対話は不可逆的だと説明しています。一方で、アップグレードや一時停止ができる設計も存在します
- 「誰が止められるか・誰が直せるか」は、技術ではなくコントラクトの設計と運営者で決まります。止める主体がいることは、安心材料であると同時に、その主体を信頼する前提でもあります
- 確認の観点は、書いた主体・監査・管理者権限・停止や凍結の可否・障害時の連絡先の5つです。社内は情報システム・法務・経理、社外は登録業者・開発パートナー・監査会社に割り振ります
この記事の目次
ステーブルコインの検討資料には「スマートコントラクト」という言葉がよく出てきますが、稟議の場で「それは何か」と聞かれて一言で答えられる担当者は多くありません。結論から言うと、スマートコントラクトはブロックチェーン上で動くプログラムです。そして、ステーブルコインを受け取る企業は、自社で一行もコードを書かなくても、その時点で他社が書いたスマートコントラクトを使っています。本記事は、企業の担当者がこの言葉を正しく扱い、「止められない・直せない」という前提を社内でどう確認するかを整理します。
なお、本記事で引用するethereum.org(イーサリアムの開発者向け公式ドキュメント)の記述は、日本語版で2026年9月25日に確認したものです。
スマートコントラクトとは——「契約書」ではなく「プログラム」です
ethereum.orgの開発者向けドキュメントは、スマートコントラクトを「単にイーサリアム・ブロックチェーン上で実行されるプログラム」と説明しています。ブロックチェーン上の特定のアドレス(台帳上の宛先を表す文字列)に置かれた、処理の手順とデータのまとまりだというのが同ドキュメントの整理です。
同ドキュメントは、たとえとして自動販売機を挙げています。お金を入れて商品を選べば、決められた商品が出てくる。人が間に入らず、決められた条件がそろえば決められた処理が実行される、という点が共通しています。
ここで押さえておきたいのは、名前に「契約」と付いていても、法的な契約書ではないという点です。取引先との権利義務は、これまでどおり契約書や注文書で決まります。プログラムは書かれたとおりに動くだけなので、止まったときや想定外の動きをしたときの扱いは、契約書の側で決めておく必要があります。
プログラムをブロックチェーン上に配置することを「デプロイ」と呼びます。デプロイされたプログラムは、ブロックチェーンに参加する多数のコンピュータで同じように実行されます。どこか一社のサーバーで動いているわけではない、というのが通常の業務システムとの大きな違いです。
図: ステーブルコインを受け取る企業と、その裏で動くスマートコントラクトの関係(当サイト作成)
ステーブルコインを受け取った時点で、他社のコントラクトを使っています
日本では、ステーブルコインは資金決済法上の「電子決済手段」として整理されています。制度上の位置づけとは別に、技術の側から見ると、多くのステーブルコインは「トークン」(ブロックチェーン上で発行される価値の単位)として、スマートコントラクトで作られています。
その代表的な規格がERC-20です。ethereum.orgによれば、ERC-20は2015年11月に提案されたトークンの標準規格で、あるアカウントから別のアカウントへの送金、残高の取得、総供給量の取得といった機能を、スマートコントラクトの中に実装するためのものです。つまり、「A社のアドレスに1万単位ある」という残高は、トークンのコントラクトの中の記録であり、送付はそのコントラクトの処理として実行されます。
💡 ポイント
ステーブルコインを受け取る企業は、発行体など他社が書いたプログラムのルールの上で残高を持つことになります。自社のシステムが正常でも、そのプログラムの設計や運営者の判断によって、送付できない状態が起こりえます。
同じ規格でも、送り先を誤ると取り返せない場面があります。ERC-20のページは既知の問題として、ERC-20トークンを扱うように作られていないコントラクトに送ると、トークンが「永久に失われる可能性があります」と注意を促しています。取引先から指定された受取先がどのような種類のアドレスなのかを確認する理由の一つです。オンチェーンの送付が取り消せない点はオンチェーンの送付に「組戻し」はないで扱っています。
さらに、同じ名前のトークンが別のブロックチェーンや別のアドレスに存在することもあります。銘柄は名前ではなく、どのチェーンのどのコントラクトアドレスかで特定します。この点は同じ銘柄でもチェーンが違えば届かないで詳しく整理しています。
「止められない・直せない」が原則、ただし例外は設計で決まります
ethereum.orgは、スマートコントラクトは「デフォルトでは削除できず、それらとの対話は不可逆的です」と説明しています。アップグレードに関するページでも、コントラクトは設計上イミュータブル(変更できない)であり、デプロイ後は処理の中身を更新できないと整理されています。改ざんされにくいという長所は、裏を返せば、不具合が見つかっても通常のシステムのようにすぐには直せないということです。
一方で、同じページは、処理の中身を別のコントラクトに置いて差し替える「アップグレードパターン」が考案されてきたことも紹介しています。代表例は、入口のコントラクトはそのままに、実際の処理を担うコントラクトを切り替える「プロキシ」という方式です。セキュリティのページでは、特定のアカウントにアップグレードやコントラクトの一時停止の権限を持たせる設計や、複数人の署名がそろわないと管理操作ができない「マルチシグ」の活用も説明されています。
🔒 変更できない設計
- デプロイ後は誰も処理を書き換えられない
- 運営者の恣意的な変更を心配しなくてよい
- 不具合が見つかっても修正できない
- 問題が起きたら新しいコントラクトへの移行が必要
🛠 更新・停止できる設計
- 管理者が処理の差し替えや一時停止を行える
- 不具合への対応を早められる
- 管理者を信頼することが前提になる
- 管理者権限の保護が新たな論点になる
どちらが優れているという話ではありません。ethereum.orgのアップグレードのページも、アップグレードできる設計ではユーザーが「恣意的に変更しないことを信頼する必要があります」と、その裏面を指摘しています。企業にとっての要点は、「誰が止められるか・誰が直せるか」はコントラクトの設計と運営者で決まるということです。ステーブルコインの中には、発行体が特定のアドレスの送付を停止・凍結できる機能を持つ設計のものもありますが、機能の有無や発動の条件は銘柄ごとに異なるため、必ず発行体の公式ドキュメントで確認します。凍結機能の仕組みと受け取る企業側の確認点は、ステーブルコインの凍結機能とはで整理しています。
また、「止める」はコントラクトの中だけで起きるわけではありません。金融庁の事務ガイドライン(17 電子決済手段等取引業者関係)Ⅱ-2-1-2-2⑹は、登録業者に対し、犯罪行為に利用された疑いのある取引を速やかに停止するための態勢の整備を求めています。企業から見ると、止まりうる層は少なくとも二つあり、それぞれ確認先が違います。
| 止まりうる層 | 止める主体の例 | 企業が確認する相手 |
|---|---|---|
| 口座(登録業者のサービス) | 口座を提供する登録業者 | 登録業者の約款・問い合わせ窓口 |
| トークンのコントラクト | 設計上の管理者権限を持つ発行体など | 発行体の公式ドキュメント・監査報告 |
| ブロックチェーンそのもの | 特定の主体はいない(障害や混雑の影響を受ける) | 登録業者・開発パートナーを通じた障害情報 |
⚠️ 「監査済み」だけで安全と結論づけないでください
ethereum.orgのセキュリティのページは、監査はすべてのバグを捕捉するわけではなく、特効薬として扱うことは避けるべきだと説明しています。監査の有無に加えて、対象範囲・実施時期・その後のコード変更の有無を確認します。また、停止・凍結の機能がどの場面で使われうるかは、社内の推測で結論づけず、発行体と登録業者の公表資料で確認してください。
事案:海外の出版社から翻訳料を受け取る翻訳会社
以下は公表資料をもとに構成した想定事案です。実在の企業・案件ではありません。
①既存事業と既存ユーザー——産業技術文書と書籍の翻訳を手がける、従業員40人規模の翻訳会社です。取引先は国内の製造業と出版社が中心で、売上の2割ほどを海外の出版社数社が占めています。海外分は銀行送金で受け取っており、着金までの日数と受取手数料が経理の悩みになっています。
②やろうとしていること——海外の出版社1社から、次回の翻訳料について「このコントラクトアドレスのトークンで払いたい」とメールでアドレスが届きました。営業担当は前向きですが、社内にはブロックチェーンに詳しい人がいません。会社として決めたのは、受け取る前に「何を確認すれば受け取ってよいと言えるか」を整理することです。
③登録業者との役割分担——受け取りは、登録を受けた事業者の法人口座を通じて行う前提にします。口座の開設、本人確認、取り扱うトークンの選定、利用者からの問い合わせ対応は登録業者が担います。自社が担うのは、取引先から指定されたトークンが口座を持つ登録業者で取り扱われているかを確認すること、そして自社の受取アドレスを取引先に正しく伝えることです。取り扱われていないトークンであれば、その時点で受け取りは見送り、銀行送金に戻します。
④社内外への説明の具体像——取引先には、「当社は登録業者が取り扱う銘柄に限って受け取る」「コントラクトアドレスは発行体の公式サイトで照合する」「受け取りが確認できるまでは請求を消し込まない」の3点を回答文書で伝えます。社内では、営業には取引先に即答しないこと、経理には受け取ったトークンが停止・凍結された場合の記帳の扱いを事前に決めておくことを、1枚の社内連絡で周知します。請求書には、従来の銀行口座と並べて受取方法の選択肢を記載し、どちらで受け取ったかを経理が月次で照合できる形にします。
確認の観点を、社内と社外に割り振る
事案の翻訳会社が受け取りの可否を判断するために確認するのは、次の5つです。自社でコードを書かない企業にとっては、確認の多くが「外部の資料を読むこと」と「外部に書面で聞くこと」になります。
| 観点 | 何を確認するか | 社内の担当 | 社外の確認先 |
|---|---|---|---|
| 誰が書いたか | 発行体・開発者が公表されているか、アドレスが公式記載と一致するか | 情報システム | 発行体の公式サイト・開発パートナー |
| 監査の有無 | 監査報告の有無・対象範囲・実施時期 | 情報システム | 監査会社・技術顧問 |
| 管理者権限 | 処理の差し替え(アップグレード)の権限を誰が持つか | 情報システム・法務 | 発行体のドキュメント・開発パートナー |
| 停止・凍結の可否 | 停止・凍結の機能の有無と発動条件、止まった場合の支払の扱い | 法務・経理 | 発行体の公表資料・登録業者 |
| 障害時の連絡先 | 送付が止まったときに誰に連絡し、誰が状況を説明するか | 経理・情報システム | 登録業者の窓口 |
✅ 受け取りを了承する前の確認事項
- 取引先が指定したコントラクトアドレスと、発行体の公式サイトに記載されたアドレスが一致している
- そのトークンが、自社が口座を持つ登録業者で取り扱われている
- 発行体のドキュメントで、アップグレードや停止・凍結の機能の有無を確認した
- 停止・凍結が起きた場合に、支払の完了をどう扱うかを取引先との文書で決めた
- 送付が止まったときの連絡先(登録業者の窓口)と社内の一次対応者を決めた
この表の「法務」の行が見落とされやすい部分です。スマートコントラクトの停止や凍結は技術の話に見えますが、実務上は「取引先が送付した時点で支払が済んだのか」「受け取ったトークンが凍結されたら売掛金はどうなるのか」という契約と会計の問題になります。自社の受取アドレスの管理を誰がどう担うかは法人のウォレットとカストディの基礎で整理しています。用語に迷ったら用語集もあわせてご覧ください。
スマートコントラクトを理解する目的は、コードを読めるようになることではありません。自社が使っているプログラムを誰が書き、誰が止められ、止まったら誰に連絡するのかを、稟議書に一行ずつ書けるようにすることです。そこまで書ければ、取引先から届いた一本のアドレスは、判断できる材料に変わります。
よくある質問
スマートコントラクトは法的な契約書の代わりになるのですか?
名前に契約とありますが、実体はブロックチェーン上で動くプログラムです。取引先との権利義務は、これまでどおり契約書や注文書で定めるのが前提になります。プログラムは決められた処理を実行するだけなので、処理が止まった場合や想定外の動きをした場合の扱いは、契約書の側に書いておく必要があります。
自社で開発しなくても、スマートコントラクトの確認は必要ですか?
必要です。ステーブルコインのようなトークンは、残高の記録も送付の処理もコントラクトの中で動いているため、受け取るだけでも他社が書いたプログラムを使うことになります。自社で書かない分、誰が書き、誰が管理し、止まったときに誰へ連絡するかを外部の資料で確認することが実務の中心になります。
デプロイされたスマートコントラクトは絶対に変更できないのですか?
原則として、デプロイされたコードそのものは書き換えられないと説明されています。ただし、処理の中身を別のコントラクトに切り替えられるアップグレード可能な設計や、管理者が送付を一時停止できる設計もあります。どちらの設計かは銘柄ごとに異なるため、発行体の公式ドキュメントで確認します。
監査を受けたコントラクトなら安全だと考えてよいですか?
監査は重要な確認材料ですが、それだけで安全と結論づけることはできません。ethereum.orgも、監査はすべてのバグを捕捉するわけではなく、特効薬として扱うことは避けるべきだと説明しています。監査の有無に加えて、監査の対象範囲と時期、その後にコードが変更されていないかを確認します。
参照法令・公表資料
- e-Gov法令検索一次資料
社内資料に引用する際は、リンク先の原文と公表日をあわせてご確認ください。法令・ガイドラインは改正されます。