原文地址: https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki 摘要 本BIP定义了一个名为“witness”的新结构,该结构独立于事务merkle树提交给块。此结构包含检查事务有效性所需的数据,但不需要确定事务效果。特别是,脚本和签名被移动到这个新结构中。 在一个树中提交见证,该树通过coinbase事务嵌套到块的现有merkle根中,以便使BIP软分叉兼容。未来的硬分叉可以把这棵树放在它自己的分支上。 1.动机 交易的整体效果由产出消耗(支出)和新产出创造决定。其他交易数据,特别是签名,只需要验证区块链状态,而不是决定它。 通过从提交给事务merkle树的事务结构中删除此类数据,可以解决以下几个问题: 1.非意向延展性变得不可能。由于签名数据不再是事务哈希的一部分,因此对事务签名方式的更改不再与事务标识相关。作为事务扩展性的解决方案,这优于经典签名方法(BIP62): l 只要所有输入都被签名(至少有一个CHECKSIG(检查签名)或CHECKMULTISIG(检查多签名)操作),它就可以防止任何类型脚本的非自愿事务延展性 l 在m-of-n CHECKMULTISIG脚本的情况下,只有在m个私钥持有者同意的情况下,交易才是可延展的(而BIP62只有1个私钥持有者) l 它防止了由于未知的ECDSA特征延展性而导致的非自愿交易延展性 l 它允许在没有交易对手风险的情况下创建未经确认的交易依赖链,这是闪电网络等非链协议的一个重要特性 2.签名数据的传输成为可选的。只有当对等体试图验证事务而不是检查其存在时才需要。这减少了SPV证明的大小,并可能提高SPV客户端的隐私,因为它们可以使用相同的带宽下载更多的事务。 3.通过将部分事务数据移动到当前协议未知的结构,可以使用软分叉绕过某些约束,例如: l 在计算块大小时,可以忽略/折算见证的大小,从而在一定程度上有效地增加块的大小 l 重编码常数,如最大数据推送大小(520字节)或sigops限制可被重新评估或移除。 l 新的脚本系统可以在不受现有脚本语义限制的情况下引入。例如,BIP143中描述了一种用于事务签名验证的新事务摘要算法 2.规范 2.1Transaction ID 定义了新的数据结构witness。每个事务都有两个id。 txid的定义保持不变:传统双SHA256序列化格式:、 [nVersion][txins][txouts][nLockTime] 一个新的wtxid被定义:具有见证数据的新序列化的双SHA256: [nVersion][marker][flag][txins][txouts][witness][nLockTime] nVersion, txins, txouts, 以及nLockTime的格式与传统的序列化相同。 标记必须是1字节的零值:0x00。 标志必须是1字节的非零值。目前,必须使用0x01。 witness是事务的所有见证数据的序列化。每个txin与见证字段关联。见证字段从变量_int开始,表征txin的堆栈项的数量。后面是堆栈项,每个项以var_int开头以指示长度。见证数据不是脚本。 非见证程序(以下定义)txin必须与空见证字段关联,由0x00表示。如果所有txin不是见证程序,则事务的wtxid等于其txid。 2.2提交结构 添加了一个新的块规则,它需要对wtxid的提交。coinbase事务的wtxid被假定为0x0000…0000。 一个见证根哈希是用所有这些wtxid作为叶子来计算的,类似于块头中的hashMerkleRoot。 提交记录在coinbase事务的scriptPubKey中。它必须至少为38字节,第一个6字节为0x6a24aa21a9ed,即: 1字节-计算返回(0x6a) 1字节-推后面的36字节(0x24) 4字节-提交头(0xaa21a9ed) 32字节-提交哈希:双-SHA256(见证根哈希|见证保留值) 第39字节以后:没有共识含义的可选数据 coinbase的输入的见证必须由一个32字节的数组组成,用于见证保留值。 如果有多个scriptPubKey与模式匹配,则假定输出索引最高的一个是提交。 如果块中的所有事务都没有见证数据,则提交是可选的。 —- 编译者/作者:灰狼 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
【译文】闪电网络(一)
2020-01-20 灰狼 来源:区块链网络
- 上一篇:叶沐欣:BTC回调整理,操作建议已给出!
- 下一篇:ChainX 一周社区动态
LOADING...
相关阅读:
- OKEx不确定性使比特币折价交易2020-10-31
- 交易所靠不住,钱包也不一定靠谱,只能自己动手做一个冷钱包,试了2020-10-30
- OKEx否认有关钱包控制的说法迅速蔓延2020-10-29
- OKEx拒绝使用单一签名BTC冷钱包2020-10-29
- EOS未来的两大竞争对手:孙老师与以太坊2020-10-29