如果创建了一个兑换脚本,对其hash运算并应用到P2SH输出中,点对点网络将只能看到hash值。所以无论兑换脚本的内容是什么,都会被验证未有效输出。从Bitcoin Core 0.11之后,允许支付到非标准脚本,几乎所有的兑换脚本都可以用来支付。唯一的例外是 使用未分配的NOP操作码的脚本,这些操作码保留用于将来的软分叉,所以只能被不遵守标准mempool 协议的节点广播和打包。
注意:标准交易类型旨在保护比特币网络,而不是防止用户犯错。事实上,创建 支付到无法花费地址的标准交易是十分容易的。
打包好的交易必须是完成状态的。它的锁定时间必须是过去的某个时间(或小于或等于当前块的高度),否则它的所有序列号都必须是0xffffffff。
交易的签名脚本只能将数据推送到脚本计算堆栈。除了仅将数据推送到堆栈的操作码,它不能推送新的操作码。