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

你可能感兴趣的文章
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No qualifying bean of type ‘com.netflix.discovery.AbstractDiscoveryClientOptionalArgs<?>‘ available
查看>>
No resource identifier found for attribute 'srcCompat' in package的解决办法
查看>>
no session found for current thread
查看>>
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
查看>>
NO.23 ZenTaoPHP目录结构
查看>>
no1
查看>>
NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
查看>>
NOAA(美国海洋和大气管理局)气象数据获取与POI点数据获取
查看>>
NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
查看>>
node exporter完整版
查看>>
Node JS: < 一> 初识Node JS
查看>>
Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime(72)
查看>>
Node 裁切图片的方法
查看>>