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

你可能感兴趣的文章
PoE三种标准:标准 PoE、PoE+、PoE++,网络工程师必知!
查看>>
POI 的使用
查看>>
poi 读取单元格为null者空字符串
查看>>
poi-tl简介与文本/表格和图片渲染
查看>>
pointnet分割自己的点云数据_PointNet解析
查看>>
POI实现Excel导入Cannot get a text value from a numeric cell
查看>>
POI实现Excel导入时提示NoSuchMethodError: org.apache.poi.util.POILogger.log
查看>>
POI实现Excel导出时常用方法说明
查看>>
POI导出Excel2003
查看>>
POI数据获取及坐标纠偏
查看>>
Quartz入门看这一篇文章就够了
查看>>
POI解析Excel【poi的坑——空行处理】
查看>>
POI:POI+JXL实现xls文件添加水印
查看>>
POI:POI实现docx文件添加水印
查看>>
POJ 1006
查看>>
Quartz中时间表达式的设置-----corn表达式
查看>>
poj 1035
查看>>
POJ 1061 青蛙的约会 (扩展欧几里得)
查看>>
Quartz2.2.1简单使用
查看>>
POJ 1080 Human Gene Functions(DP:LCS)
查看>>