前言:
中本聪在比特币创世区块留下了一句广为流传的话:“TheTimes 03/Jan/2009 Chancellor on brink of secondbailout for banks”,(2009年1月3日,财政大臣正处于实施第二轮银行紧急援助的边缘)这句话是泰晤士报当天的头版文章标题。这句纳入区块链被永久保留了下来。
实际上有些微差别,泰晤士原版为“Chancellor Alistair Darling on brink of second bailout for banks”,详情链接:https://www.thetimes.co.uk/article/chancellor-alistair-darling-on-brink-of-second-bailout-for-banks-n9l382mn62h
背景知识:
币基交易是一种特殊的交易,同在Merkle Tree结构里比特币实质上是一个分布式的数据库系统,所以人们找到了一些方式保存除了交易以外的信息。在比特币的每一笔交易信息中,包含input和output两个部分。output里的脚本又称验证脚本,input里的脚本又称调用脚本。要想花掉交易A的ouput中的比特币,就需要构造一个交易B,能够使B的调用脚本满足A的验证脚本。下面来说一说永久留言的几种方式:
币基交易(Coinbase Transaction):
币基交易即比特币矿工打包时为了生成新的比特币的特殊交易,同其他普通交易一起组成Merkle Tree的数据结构。
其中input(可能不太严谨)中Coinbase字段的参数可由矿工任意写入,比特币上的第一句留言就是保存在此。
矿工大多数保存信息为网站地址,矿机信息等。
查看方法:查看区块中Transactions详情中coinbase部分,例如创世区块(链接:https://blockchain.info/tx/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b)
普通交易OP_RETURN留言:
将预定写入的内容替换交易output脚本中的验证内容。
比特币提供了这样的方式,使用OP_RETURN 操作码(opcode),作用标记一个交易无效,是一个标准的做法,在output中pushdata里加入预定的内容。
查看方式(使用OP_RETURN交易才有):查看区块中Transactions详情中output scripts部分,例如:https://blockchain.info/tx/8bae12b5f4c088d940733dcd1455efc6a3a69cf9340e17a981286d3778615684,写入内容为charley loves heidi。
OP_RETURN1060x6aNothingfailMarks transaction as invalid. A standard way of attaching extra data to transactions is to add a zero-value output with a scriptPubKey consisting of OP_RETURN followed by exactly one pushdata op. Such outputs are provably unspendable, reducing their cost to the network. Currently it is usually considered non-standard (though valid) for a transaction to have more than one OP_RETURN output or an OP_RETURN output with more than one pushdata op.
这是对比特币script手册中OP_RETURN的说明,好吧,我还没完全搞清楚具体怎么用
OP_RETURN在比特币上有很多应用,比如:存在性证明 proof of existence , 数字产权的验证 Monegraph, 智能资产协议Mastercoin,以及熟知的USDT等等。
比特现金BCH将在5月15日执行一次硬分叉升级,届时将字段OP_RETURN从40字节增加到220字节。
比特币地址转码:
方法:将预定内容转码成地址
这里比特币地址实际上是满足一定条件的一个字符串,如果不是通过私钥生成,而是通过用预定写入的内容转码后作为地址,然后向这个地址转入微量的比特币,等区块打包后,这个地址实际上就表示特定内容永久保存在比特币数据库里了。但要提醒的是由于这样的地址没有对应的私钥,所以这些比特币也将永远无法再被使用。
这里有人甚至把图片也转码通过一次交易转出多个特定地址保存到了区块链上。
例如有名的交易:8881a937a437ff6ce83be3a89d77ea88ee12315f37f7ef0dd3742c30eef92dba 用多个地址把曼德拉的照片和简介都保存到了区块上。
总结:
以上三种刻录方式:
1. 币基交易:需要矿工且打包成功,可以在大多数区块链浏览器直接查看;
2. 普通交易OP_RETURN留言:需要一定的比特币技术知识以及必要的转账手续费,可以在大多数区块链浏览器直接查看;
3. 转码比特币地址:需能生成特定地址以及必要的转账费用。
网友评论