博客
关于我
比特币现金社区推出OP_RETURN的4字节前缀指南
阅读量:141 次
发布时间:2019-02-28

本文共 1200 字,大约阅读时间需要 4 分钟。

从5月15日比特币现金顺利完成硬分叉升级到现在,已经过去了一个多星期。大家都知道,在这次升级中比特币现金引入了一个重要改动,即将OP_RETURN的大小从原来的1字节扩充到220字节。这种改动对某些应用如Memo、Blockpress等产生了积极影响,使得用户能够在这些平台发布更长的内容。此外,现在Memo和Blockpress发布的内容也可以在blockchair.com区块浏览器中通过文本搜索找到。

尽管OP_RETURN容量的扩大为比特币现金带来了活力,但Lokad的创始人、Terab项目的主要负责人Joannes Vermorel提出了"OP_RETURN的4字节前缀指南"。他认为,区块链作为共享资源,BCH的可扩展性是一个可以解决的问题,但社区需要一些原则来避免不必要的复杂情况。OP_RETURN数据在所有参与者之间都是共享的,但这并不意味着每个参与者都会默认保留这些数据。因此,4字节前缀指南的存在能够帮助用户根据指定的4字节前缀选择性地保留消息。

OP_RETURN的4字节前缀指南,又被称为协议标识符(或协议ID)。该指南的主要内容是:所有使用Bitcoin Cash实现的协议在使用OP_RETURN时,应首先指定一个唯一的4字节前缀,将其作为自己协议的标识符。所有与该协议相关的消息中都将预先添加这4字节的前缀。通过这种方式,OP_RETURN上的信息可以根据协议进行分类,同时也简化了协议之间的互操作性。随着OP_RETURN的使用越来越广泛,协议之间的冲突问题也会逐渐增加。虽然这些冲突不会对BCH本身造成直接影响,但可以避免因协议覆盖而产生的一些不必要操作。

具体来说,OP_RETURN操作码配合OP_PUSHDATA序列使用。在BCH中,多个OP_PUSHDATA被视为标准交易。该指南建议在OP_RETURN操作码之前插入0x04[protocol ID]作为指定协议标识符的第一个元素。即:OP_RETURN + 0x04[protocol ID] + OP_PUSHDATA[data] + ... + OP_PUSHDATA[data]。通过这种方式,协议ID会被优先处理,从而提高区块链上的过滤性能。

关于协议ID的选择范围,指南明确指出:协议ID必须大于0x00 00 00 0F且小于0x10 00 00 00。这是因为较低范围的标识符可能与特殊的推送代码发生冲突,而较高范围则为未来可能的调整提供了兼容性。选择4字节作为前缀的原因之一是,4字节的空间足够支持超过2.6亿种不同的协议,这已经是充足的空间。同时,4字节的占用空间较小,对OP_RETURN的整体可用性影响较小。

最后需要强调的是,OP_RETURN的4字节前缀指南并不是强制性的,而是一个可选方案。开发者可以选择遵循也可以不遵循。如果使用该方案,还将获得来自Terab项目的支持。

转载地址:http://rkvc.baihongyu.com/

你可能感兴趣的文章
PHP代码格式化工具phpcf常见问题解决方案
查看>>
PHP使用3DES算法加密解密字符串
查看>>
PHP使用curl multi要注意的问题:每次使用curl multi同时并发多少请求合适
查看>>
php使用memcached扩展的一个BUG
查看>>
PHP内核介绍及扩展开发指南—基础知识
查看>>
PHP写日志fwrite和file_put_contents的区别与性能
查看>>
PHP函数
查看>>
PHP函数__autoload失效原因(与smarty有关)
查看>>
PHP函数操作数字和汉字互转(100以内)
查看>>
PHP函数方法
查看>>
PHP删除指定目录下的所有文件和文件夹 | 删除指定文件
查看>>
php判断ip黑名单程序代码
查看>>
php判断复选框是否被选中的方法
查看>>
PHP判断指定目录下是否存在文件
查看>>
php判断数组是否为空
查看>>
PHP判断数组是否有重复值、获取重复值
查看>>
PHP利用正则表达式实现手机号码中间4位用星号(*)替换显示
查看>>
PHP加密与安全的最佳实践
查看>>
PHP区分 企业微信浏览器 | 普通微信浏览器 | 其他浏览器
查看>>
php原生代码怎么连表查询,PHP tp5中使用原生sql查询代码实例
查看>>