博客
关于我
比特币现金社区推出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/

你可能感兴趣的文章
NVIDIA GPU 的状态信息输出,由 `nvidia-smi` 命令生成
查看>>
NVIDIA-cuda-cudnn下载地址
查看>>
nvidia-htop 使用教程
查看>>
nvidia-smi 参数详解
查看>>
nvm安装以后,node -v npm 等命令提示不是内部或外部命令 node多版本控制管理 node多版本随意切换
查看>>
NYOJ 1066 CO-PRIME(数论)
查看>>
nyoj------203三国志
查看>>
nyoj58 最少步数
查看>>
OAuth2 + Gateway统一认证一步步实现(公司项目能直接使用),密码模式&授权码模式
查看>>
OAuth2 Provider 项目常见问题解决方案
查看>>
Vue.js 学习总结(14)—— Vue3 为什么推荐使用 ref 而不是 reactive
查看>>
oauth2-shiro 添加 redis 实现版本
查看>>
OAuth2.0_JWT令牌-生成令牌和校验令牌_Spring Security OAuth2.0认证授权---springcloud工作笔记148
查看>>
OAuth2.0_JWT令牌介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记147
查看>>
OAuth2.0_介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记137
查看>>
OAuth2.0_完善环境配置_把资源微服务客户端信息_授权码存入到数据库_Spring Security OAuth2.0认证授权---springcloud工作笔记149
查看>>
OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
查看>>
OAuth2.0_授权服务配置_令牌服务和令牌端点配置_Spring Security OAuth2.0认证授权---springcloud工作笔记143
查看>>
OAuth2.0_授权服务配置_客户端详情配置_Spring Security OAuth2.0认证授权---springcloud工作笔记142
查看>>
OAuth2.0_授权服务配置_密码模式及其他模式_Spring Security OAuth2.0认证授权---springcloud工作笔记145
查看>>