【すまーとこんとらくと】
スマートコントラクト とは?
最終更新:
💡 「もし〇〇なら△△する」をコードで実行するデジタルな仕組み
ブロックチェーン上などで、定めたルールをプログラムとして実行する仕組み。Ethereumでは、トランザクションによる呼び出しを受けて、コードに従って状態や資産を操作する。
📌 このページのポイント
スマートコントラクトって、紙の契約の代わりなの?
自動販売機みたいなもの?
現実の商品の到着も分かる?
コントラクトだけでは、ブロックチェーンの外の出来事を直接知ることはできないよ。外部データを取り込むオラクルなどが必要になる。入力された情報が間違っていれば、その情報に沿った処理をしてしまうので、情報源も大切なんだ。
バグがあっても絶対に直せないの?
配置したコードをその場で自由に書き換えることはできないけれど、別のコントラクトへ処理を委ねるプロキシなど、更新を可能にする設計はあるよ。その場合は、誰が変更できるかという権限にも注意が必要になる。更新できることと、安全であることは別なんだ。
仲介者が不要になれば、安く安全に使える?
一部の処理を自動化できても、実行手数料や外部データへの依存は残るよ。バグや管理権限が資産に影響するから、コードだけでなく更新方法や入力情報も確認しよう。自動実行という性質だけで、低コストや安全性が保証されるわけではないんだ。
まとめ:ざっくりこれだけ覚えればOK!
「スマートコントラクト」って出てきたら「定めたルールをコードで実行する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Smart Contract」 = 賢い契約
💬 Nick Szaboの1994年の文章では、契約条件を実行するコンピューター化された取引プロトコルとして説明されているよ。現在のEthereumではブロックチェーン上のプログラムとして使われるんだ。