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

你可能感兴趣的文章
nginx 常用配置记录
查看>>
nginx 开启ssl模块 [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx
查看>>
Nginx 我们必须知道的那些事
查看>>
Nginx 的 proxy_pass 使用简介
查看>>
Nginx 的配置文件中的 keepalive 介绍
查看>>
Nginx 结合 consul 实现动态负载均衡
查看>>
Nginx 负载均衡与权重配置解析
查看>>
Nginx 负载均衡详解
查看>>
nginx 配置 单页面应用的解决方案
查看>>
nginx 配置https(一)—— 自签名证书
查看>>
nginx 配置~~~本身就是一个静态资源的服务器
查看>>
Nginx 配置清单(一篇够用)
查看>>
Nginx 配置解析:从基础到高级应用指南
查看>>
nginx+php的搭建
查看>>
nginx+tomcat+memcached
查看>>
nginx+Tomcat性能监控
查看>>
nginx+uwsgi+django
查看>>
Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流
查看>>
Nginx下配置codeigniter框架方法
查看>>
Nginx之二:nginx.conf简单配置(参数详解)
查看>>