知识库详情
知识库

以“词条释义”的形式对比特币区块链技术中经常涉及的术语及基本概念进行专业化的阐释和解读。

OP_RETURN
返回上级
BSV区块链编辑 2022-04-14 18:19 310

OP_RETURN是一个脚本操作码,用来终止脚本并返回栈顶的值。这个操作码类似于编程语言中的返回函数。在比特币的历史上,OP_RETURN操作码的功能被多次修改,现在它主要被用作为在账本上存储数据的一种方法。

OP_RETURN的功能

OP_RETURN终止脚本,由堆栈顶部的结果来决定脚本的成功或失败。请注意,如果顶部堆栈的结果是非空且非零(零包括一串零、零字节),则认为脚本运行成功。否则视为失败。

False Return

OP_RETURN最常见的用途之一是创建False Return脚本,该脚本可用于生成可证明为不可花费的交易输出。这些脚本最常见的用途是保存任意格式的数据,这些数据被用于应用层协议。False Return输出可用于装载数据,例如所有权、软件代码、艺术等相关的信息。

在条件逻辑中使用OP_RETURN

OP_RETURN可以与流控制操作码结合使用,以在脚本中实现分支和其他条件逻辑。在IF循环中插入OP_RETURN操作码可以允许脚本终止,而不必退出IF循环,从而节省计算并降低处理交易的成本。

衍生讨论:人们是否可以接受将数据存储在区块链中?

简言之:可以接受!在用户付费自由的市场前提下,人们就可以将数据存在比特币账本(或者称为比特币区块链)上。如果用户希望使用比特币账本来存储任何类型的数据,那么对他们的唯一要求就是必须为存储数据所需的区块链空间付费。这种机制通过允许节点运营商设置手续费费率的下限,以防账本被滥用;同时还允许节点之间相互竞争,向用户提供更低成本的服务。每个节点运营商都可以自行决定他们想打包哪些交易进入自己生产的区块,因此任何试图使用比特币账本作为数据存储介质的人都必须支付合乎市场的价格。可以预计,随着时间的推移,数据上链的费率和成本都会下降,不仅是以比特币来衡量,用法币衡量也是。随着技术进步,新型存储媒介的涌现会让数据存储成本不断下降,这也将推动比特币账本的规模不断扩大,让用户可以用更少的费用享受数据上链服务。

一个应用例子

下面的脚本示范的是一个Metanet节点将Metanet数据附加到一个带有资金的UTXO,这样Metanet节点会保留在UTXO集中。

脚本
False Return
脚本
Pushdata操作码
比特币脚本操作码
R-Puzzle脚本
OP_CHECKSIG
流控制脚本(条件语句)
OP_CODESEPARATOR
OP_RETURN