スマート・コントラクト
表示
スマート・コントラクト(smart contract)とは、契約のスムーズな検証、執行、実行、交渉を意図したコンピュータプロトコルである。スマートコントラクトには第三者を介さずに信用が担保されたトランザクションを処理できるという特徴がある。スマートコントラクトは、契約条件が満たされたときに自動的に実行するコンピュータコードに契約をデジタル化します。1994年にニック・スザボにより提唱された。
スマート・コントラクトの種類
[編集]スマート・コントラクトの基盤により、スマート・コントラクト自体に種類が存在する。
非チューリング完全型
[編集]ループ処理ができないなどの、非チューリング完全な特徴を持つスマート・コントラクト。 BitcoinのScriptなどがあげられる。 契約の執行に対して、繰り返し処理を含む複雑な処理が行えないが、演算に必要なリソースを、演算前に予想することができる。
擬チューリング完全型
[編集]擬チューリング完全であるもの。 EthereumのEVMがあげられる。EVM は、JUMP コードを持ち、ループプログラムを書く事ができるものの、一般的にスマートコントラクトにおいて、ガスが尽きれば実行が停止する為、一般のコンピュータプログラムとは異なり、チューリング完全とはならない。[1]そのため、EVM は擬チューリング完全であるとされる。
その他にも、プログラミングパラダイムによる分類ではデータフロー型の言語であるZilliqaのScillaなど、いくつかの例外も存在する。
脚注
[編集]- ^ “Ethereum yellowpaper”. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。