コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

スマート・コントラクト

出典: フリー百科事典『ウィキペディア(Wikipedia)』

スマート・コントラクトsmart contract)とは、契約のスムーズな検証、執行、実行、交渉を意図したコンピュータプロトコルである。スマートコントラクトには第三者を介さずに信用が担保されたトランザクションを処理できるという特徴がある。スマートコントラクトは、契約条件が満たされたときに自動的に実行するコンピュータコードに契約をデジタル化します。1994年にニック・スザボ英語版により提唱された。

ブロックチェーンおよび暗号通貨の主要な用途の一つでもある。

スマート・コントラクトの種類

[編集]

スマート・コントラクトの基盤により、スマート・コントラクト自体に種類が存在する。

非チューリング完全型

[編集]

ループ処理ができないなどの、非チューリング完全な特徴を持つスマート・コントラクト。 BitcoinScriptなどがあげられる。 契約の執行に対して、繰り返し処理を含む複雑な処理が行えないが、演算に必要なリソースを、演算前に予想することができる。

擬チューリング完全型

[編集]

擬チューリング完全であるもの。 EthereumEVMがあげられる。EVM は、JUMP コードを持ち、ループプログラムを書く事ができるものの、一般的にスマートコントラクトにおいて、ガスが尽きれば実行が停止する為、一般のコンピュータプログラムとは異なり、チューリング完全とはならない。[1]そのため、EVM は擬チューリング完全であるとされる。

その他にも、プログラミングパラダイムによる分類ではデータフロー型の言語であるZilliqaのScillaなど、いくつかの例外も存在する。

脚注

[編集]
  1. ^ Ethereum yellowpaper”. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。