各アウトプットには、そのロック用スクリプトという小さなプログラムが格納されています。それを使用するには、インプットがアンロック部分を提供します。ノードは両方を一緒に実行します。プログラムがtrueで終了すれば、その使用は有効です。
スタックマシン
スクリプトはスタック上で動作します。アイテムがプッシュされ、オペレーションはトップからアイテムを取り出して結果をプッシュします。従来のレガシー決済は次のように読み取られます: OP_DUP OP_HASH160 <公開鍵ハッシュ> OP_EQUALVERIFY OP_CHECKSIG。言葉で言うと、提供された公開鍵をコピーし、ハッシュ化し、アウトプット内のものと一致するか確認し、それに対して署名を確認します。
意図的に制限されている
スクリプトにはループや汎用メモリがありません。各プログラムはすぐに終了し、すべてのノードがそのチェックにかかるコストを予測できます。これにより、他のブロックチェーンの言語よりも表現力がはるかに低くなり、理解しやすくなります。
- マルチシグ: キーのセットから複数の署名を要求します。
- ハッシュロック: ライトニングが行うように、ハッシュが既知の秘密を明らかにする必要があります。
- タイムロック: 特定の日付またはブロック高より前に使用を禁止します。