【区块链开发指南】区块链进阶

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012183589/article/details/78768484

存储额外数据

在区块链上存储额外数据是指那些存在区块链上但是对交易没有任何影响的数据,目前存储额外数据主要有两种方法:OP_RETURNMulti-Signatures

OP_RETURN

2013年,比特币协议中引进了一项新的功能,即:创建一种名为OP_RETURN的交易,可以嵌入40字节小段数据(目前已经是80字节)。最初这个功能旨在把情景信息(例如配送信息)加入比特币交易中,后来就发展出了今天的这种用法:创建最小量(0.000000001BTC+交易费)的交易,然后把信息嵌入进去。利用这个功能的一个有趣的应用就是存在性证明(Proof of Existence),它可以为任何文件创建一个hash,然后存放到区块链上,最终通过比较时间戳和hash就能证明该文件在某时刻确实是存在的。但是这种方法也有一个缺点就是通过该交易发送的比特币无法被再次使用,也就是永久消失了。

Multi-Signatures

多签名地址是另外一种存放数据的方法,对n-of-m型的多签名地址,因为只需要提供n个有效签名就可以花费该交易,但剩下的m-n个签名的内容还是分配了存储空间,如果没有填写的话那就回用0填充,我们就能将0换成我们想填充的数据,这种方法的好处是该交易依然可以继续被花费。

侧链(Sidechains)

侧链不是指特定的某个区块链,而是指那些遵守侧链协议的所有区块链,这个词是针对比特币主链来说的。侧链协议是指可以让比特币安全的从比特币主链转移到其他区块链,同时又可以让其他区块链上的货币安全返回到比特币主链的一种协议。

目前侧链主要是通过楔入式侧链技术(pegged sidechain)来实现的,主要由Blockstream公司负责开发,详细内容可以参考论文《Enabling Blockchain Innovations with Pegged Sidechains》,侧链一般具有如下属性:

  • 在侧链间移动的资产应该能够被当前所有者移回,但除此之外任何人都不行(包括之前持有者)。
  • 资产的移动应当是无交易对手风险的;也就是说,不诚实的一方无法阻止转移的发生。
  • 资产的转移应当是原子操作的,即要么全部完成,要么完全不发生。不存在会导致其他任何链出现资产的铸造或偷盗。
  • 侧链应当完全独立,其他链上所需要的数据应当完全由用户提供。侧链的验证者应当只有在侧链本身显式共识规则有要求时,才去跟踪其他链。
  • 不应要求用户去跟踪他们未主动使用的侧链。

侧链实现的过程中一般包括如下四个阶段:

  • 发送锁定交易,把比特币锁定在比特币主链上。
  • 等待确认期,确认期的作用是等待更多区块确认锁定交易,防止假冒锁定和拒绝服务攻击,锁定时间为1~2天。
  • 在侧链上赎回比特币。上述确认期结束以后用户在侧链上创建一个交易花掉锁定交易的输出,并且提供一个SPV工作量证明,输出到自己侧链上的地址,这个交易也称为赎回交易。
  • 等待一个竞争期,竞争期的作用是防止双重支付,在此期间新转移过来的币不能在侧链上花费。

竞争期结束之后,这个赎回交易被打包进区块中,用户就可以使用自己新币了。从侧链上转移比特币的过程也是如此。

合约币(Counterparty)

合约币从本质上来说是建立在比特币之上的传输层协议,把比特币区块链当成可信的时间戳服务和可信的消息发布证明,主要目的是用来建立和使用去中心化的财务工具协议。协议内部的货币是合约币XCP,合约币并不是通过挖矿产生的,而是通过燃烧证明Proof of Burning通过燃烧比特币来产生的,这个燃烧的过程是在2014年1月份已经完成的,总量燃烧了2130个比特币(https://blockchain.info/address/1CounterpartyXXXXXXXXXXXXXXXUWLpVr),产生了260万个XCP,每个XCP交易都包含如下信息:

  • 源地址
  • 目的地址
  • 一定数量的比特币+交易费
  • 最多40字节的外带数据,这些数据通过本章最开始的两种方法嵌入到比特币交易中。

为了方便区分,每个合约币交易的数据区域都以UTF-8格式的CNTRPRTY打头,用以区分合约币交易和比特币交易。合约币交易中的源地址和目的地址其实就是比特币地址,任何比特币地址都可以收到任何合约币资产。合约币目前已经实现了如下功能:

  • 发送资产:XCP或者自定义资产。
  • 自定义资产:发行用户自定义货币或者资产,用以支付股息等等。
  • 分布式交易:使用XCP,BTC或者其他资产之间彼此交易。
  • 赌博和金融衍生品:打赌或者构造智能合约。
  • 图灵完备的智能合约平台:具有以太坊的所有特性,并且彼此兼容。

合约币的所有交易类型和数据信息可以通过https://xchain.io/查看,官方文档参考:https://counterparty.io/docs/

猜你喜欢

转载自blog.csdn.net/u012183589/article/details/78768484
今日推荐