比特币SV创世纪硬分叉技术规范

论坛 期权论坛 期权     
BSVOfficial   2019-12-22 09:24   2645   0
比特币SV节点团队已发布创世纪硬分叉升级(计划于2020年2月4日实施)的完整技术规范:
https://github.com/bitcoin-sv-specs/protocol/blob/master/updates/genesis-spec.md

我们此前已经公布了创世纪硬分叉实施计划,并且告诉比特币SV节点软件的运行方应该如何准备每个步骤。我们鼓励比特币 SV用户使用测试版节点软件对自己的应用程序进行测试,进而参与对比特币 SV节点的测试。该测试不仅仅适用于挖矿节点,还适用于钱包、交易所、应用程序 等不向区块链写入交易的节点软件运行方——即“区块链监听者”。请阅读我们此前的公告,了解更多信息以及截止到2020年2月4日的实施计划表。
重点变更
共识的变更
将区块大小的默认硬顶变更为无限大
矿工仍将能够在配置选项中对区块大小的硬顶进行设置,但默认值为无限大。在创世纪升级之后,如果矿工主动强加对硬顶的限制,则矿工也有责任对硬顶设置进行管理。
恢复 OP_RETURN 的功能
将OP_RETURN的功能恢复到其最初的设计,从而使开发人员能够轻松地提前中止脚本运行,同时还可得到有效的返回值。
用 BigNumber 替代 32 位操作码
将大大提高比特币脚本语言的数学能力。32位的容量十分有限,在执行复杂的数学运算(例如签名验证)时,会很棘手且效率不高。此项更改将恢复最初的设计,提升复杂运算的效率,并启用提供各种高级功能的复杂脚本。
在新交易中废止使用P2SH
Pay-to-script-hash(或P2SH)是比特币引入的一种新机制,用于在创建输出脚本时隐藏行踪。这与比特币诚实记录的哲学背道而驰。此外,P2SH鼓励了不良的隐秘活动在其上大肆交易,并且与比特币至关重要的点对点主张相背离。现有P2SH地址上的比特币将不受影响,因此不需要整理旧钱包。这项变更是为了阻止进行新的P2SH输出。
恢复nLockTime 和 nSequence 的最初用法
这两个字段是支付通道机制中不可或缺的一部分,中本聪将它们设计为用于进行高速微支付的基本机制。但是后来BTC Core开发人员将它们重新定义为两个新的操作码。除了要删除这些操作码,还要恢复nLockTime和nSequence的最初用法。
其他需要的变更
点对点传播非标交易将允许任何人都可以使用复杂交易。在创世纪升级之前,只有标准交易(如支付交易或普通数据交易)才会被点对点传播,并传至矿工。这意味着,如果你想使用复杂的交易,你必须先与一个矿工达成协议,要求矿工进行确认并打包。在创世纪升级之后,所有交易类型都可进行点对点传播,这样任何人都可以使用复杂交易。
其他公示变更
创世纪升级的区块高度激活机制
UTXO 存续依赖规则
正式脚本语法
scriptSig中只能包含OP_PUSHDATA操作
在新交易中废止使用OP_CHECKLOCKTIMEVERIFY和OP_CHECKSEQUENCEVERIFY
添加max_script_memory_usage的策略限制,默认值为100MB
添加max_script_memory_usage的共识限制,默认值为无限大
取消对每MB区块空间的签名数的共识上限
取消对每笔交易的签名数的共识上限
取消对每个脚本的操作码数量的共识上限
取消对每个脚本对象体积的共识上限
取消对脚本中对象数量的共识上限
取消对每个multisig公钥数量的共识上限
将交易体积的共识上限提高到1 GB
支持使用原始sighash算法,花费创世纪升级之前的UTXO
其他需要的变更
并行区块验证
单独处理低优先级队列中的非标交易
为标准交易和非标交易设定评估超时策略的脚本
Inv信息中包含按验证次序排序的tx
对于包含P2SH输出脚本的交易,即不传播也不打包,以此防止意外使用P2SH
翻译:Ryan
点击“阅读全文”,查看详情
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:93
帖子:4
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP