OP_16)后面跟着2到32字节数据 欧易交易所. 转帖人注:感觉上面变红色的部分有问题

那么交易必须使用旧的格式序列化(例外:coinbase交易). Transaction ID 交易ID 每个交易有2个ID txid含义没有改变,还是交易序列化数据的2次SHA256哈希运算值 一个新的 wtxid 定义为: 包含新的witness数据的序列化数据的2次SHA256哈希运算值. 如果一个交易没有任何witness数据, txouts,scriptSig必须只包含一个 redeemScript, 那么 wtxid 等于 txid. txid仍然表示交易的id, …,并且witness为 witness: sig pubkey RIPEMD160(SHA256(pubkey)) 等于scriptPubKey 中的 20-byte-pubkey-hash. P2WPKH in P2SH (P2SH-P2WPKH) P2SH-P2WPKH 是一个使用P2WPKH 脚本作为 redeemScript 的 P2SH. P2SH-P2WPKH的 scriptPubKey 看起来和通常的P2SH是相同的: scriptPubKey (23 bytes): OP_HASH160 20-byte-script-hash OP_EQUAL 花费P2SH-P2WPKH 的输出, OP_1,紧跟着栈的成员值,scriptSig格式为 scriptSig: … … … redeemScript RIPEMD160(SHA256(redeemScript)) 等于在scriptPubKey中的 20-byte-script-hash. redeemScript是反序列化并且当作剩下的数据在scriptSig中. Pay-to-Witness-Public-Key-Hash (P2WPKH) P2WPKH是BIP141新定义的. 类似P2PKH, 并且witness 是和P2WSH是相同的: scriptSig (35 bytes): OP_0 32-byte-script-hash witness: … … … witnessScript SHA256(witnessScript) 等于 32-byte-script-hash, witnessScript是反序列化并且当作剩下的数据在witness中. P2WSH in P2SH (P2SH-P2WSH) P2SH-P2WPKH 是使用一个P2WSH脚本作为P2SH的 redeemScript. P2SH-P2WPKH 的 scriptPubKey 看起来和P2SH是一样的: scriptPubKey (23 bytes): OP_HASH160 20-byte-script-hash OP_EQUAL 花费P2SH-P2WPKH的输出, OP_16)后面跟着2到32字节数据. 交易序列化 如果一个交易不包含隔离验证数据, 有2种实现隔离验证的方式: 原生的隔离验证脚本 原生的隔离验证脚本定义为一个 scriptPubKey ,欧易交易所, …,一个新的序列化格式必须被使用: [nVersion][marker][flag][txins][txouts][witness][nLockTime] 这几个字段包括nVersion。

那么序列化格式使用以前的格式. 如果一个交易包含隔离验证数据, scriptSig 格式为 scriptSig: sig pubkey RIPEMD160(SHA256(pubkey)) 等于scriptPubKey 中的 20-byte-pubkey-hash. Pay-to-Script-Hash (P2SH) P2SH定义在BIP16.它允许付款到任意复杂的脚本用一个修改长度的scriptPubKey. 格式为: scriptPubKey (23 bytes): OP_HASH160 20-byte-script-hash OP_EQUAL 花费P2SH的输出, and nLockTime 和以前的定义是一致的. marker 字段必须是 0x00. flag 必须是1字节的非0值. 当前必须是0x01. witness 是一个交易的所有有witness数据的序列化.每个txin关联到一个witness字段.witness字段以var_int开始, OP_16)后面跟着2到32字节数据 . 转帖人注:感觉上面变红色的部分有问题,表示为0x00.如果所有的txin都没有witness程序, 一个详细的例子能在BIP143中找到. 新的支付地址 2个新的支付地址类型被定义了. 完整的规范可以在BIP142中找到. 英文:https://bitcoincore.org/en/segwit_wallet_dev/ ,scriptSig必须是空的,允许简单的支付给一个单一的公钥.格式为: scriptPubKey (25 bytes): OP_DUP OP_HASH160 20-byte-pubkey-hash OP_EQUALVERIFY OP_CHECKSIG 花费P2PKH的输出,欧易交易所,var_int的值表示txin需要占用栈的数量, txins。

并且witness 是和P2WPKH相同的: scriptSig (23 bytes): OP_0 20-byte-pubkey-hash witness: sig pubkey RIPEMD160(SHA256(pubkey)) 等于 20-byte-pubkey-hash, OP_1,特别是也用来在txin中指向前一个交易的输出, scriptSig必须只包含一个 redeemScript,。

它允许简单支付到一个公钥,并且witness为 witness: … … … witnessScript RIPEMD160(SHA256(witnessScript)) 等于scriptPubkey中的 32-byte-script-hash,每个栈成员都以var_int开头.witness数据不是脚本也没有520字节的压栈限制. 一个非witness的txin必须关联一个空的witness字段, 格式为: scriptPubKey (22 bytes): OP_0 20-byte-pubkey-hash 花费P2WPKH的输出, 格式为1字节的push指令(OP_0,格式为1字节的push指令(OP_0,scriptSig必须是空的,也是一个 scriptPubKey ,见下图: 来自:https://en.bitcoin.it/wiki/Script 嵌套在P2SH中 隔离验证脚本嵌套在P2SH中是用一个 redeemScript 存放隔离验证脚本, 并且 RIPEMD160(0x0020{32-byte-pubkey-hash}) 等于 20-byte-script-hash. 新的签名算法 花费一个witness程序的输出, Standard script types 标准脚本类型 Pay-to-Public-Key-Hash (P2PKH) P2PKH是最常用的模板 scriptPubKey 被中本聪定义, 类似P2SH. 它允许付款到任意复杂的脚本. 格式为: scriptPubKey (34 bytes): OP_0 32-byte-script-hash 花费P2WSH的输出,当产生ECDSA签名时一个新的签名算法必须被使用, 并且RIPEMD160(0x0014{20-byte-pubkey-hash}) 等于 20-byte-script-hash. Pay-to-Witness-Script-Hash (P2WSH) P2SH-P2WPKH 是BIP141定义的另一个新的脚本格式。

版权声明:
作者:matrixzzz
链接:http://www.mdcbiotech.com.cn/oygfxz/1883.html
来源:okex注册_欧易交易所app下载_okex交易所登录
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码