BTC Relay项目解决跨链问题的中继方案

2017/4/16 posted in  项目

BTC Relay是一种基于以太坊平台的跨链的支付解决方案。项目地址在:http://btcrelay.org

区块链技术革新了价值的流动方式。去中介的交换上百万美元的资产,只需要一点手续费在比特币出现之前不可想象。

虽然区块链的这个创意吸引了全球的目光,但却一直存在一个问题:在比特币和以太坊中进行互相交易,仍需要第三方的中介。

中继方案

BTC Relay的工作机制非常简单,一个外部的第三方,被称为Relayer,发送一个交易到BTC Relay的智能合约,内容是最新的比特币区的区块头(当然希望的情况下这个区块头尚未被提交过的)。BTC Relay基于现存的区块头信息校验发送的区块头的有效性。如果校验通过,则加入到BTC Relay维护的比特币区块头链。由此,在BTC Relay的智能合约里,实现了一个内置的SPV(简单支付校验)1节点。

译者注:这个Relayer的到底是什么呢,为什么需要Relayer,而不是BTC Relay直接内部抓取最新的去实现2

以太坊智能合约里的SPV:

pic-spv

为了验证交易7,8是存在于比特币区块中的,我们需要校验在橙色所标明的区块和元素。蓝绿色的节点4,6是在验证过程中计算出来的新结点。基于Merkle树的证明机制,BTC Relay内内置的区块头,可以用来校验比特币交易的有效性(译者注:一种提供的第三方的,智能合约级的,对比特币交易是否发起的证明服务)。在以太坊平台的任意用户或者是智能合约都能请求BTC Relay来验证,是否某个在比特币网络上存在某个交易。

应用场景

基于这样的基础服务,你可以创建任何面向用户的服务。比如一个自动售卖合约,通过这个服务验证了用户已经向某个指定地址支付了对应的费用,那么合约就可以将以太坊上内对应的代币转移给对应的发起方。这样的话,基于以太坊的众筹就可以使用比特币了。同样这样的工具,也可以支持使用以太坊网络以外的代币来支付合约执行的费用(译者注:是基于以太坊的,不是双向的,也就是其它的资源锚定到了以太坊上。换言之以太坊的代币,不能转换为比特币)。

另一种应用是基于在BTC链上通过多重签名帐户锁定的BTC代币的背书,在以太坊上发行比特币代币(ETHBTC)。一个在ETHBTC和BTC之间的双向桥梁关系。

前景

其它种类的区块头链也可使用类似的方式进行校验。货币联盟内可以使用这样的工具来做跨链的价值兑换。在这种情形下,以太坊公共网络,以一种中立的传输层的角色,将两个完全不互通的世界联系了起来。两个不同辖区的银行私链,发起一个交易(译者注:个人觉得这种情况,几乎不会出现,因为私链的数据不可被相信,为什么现在比特币是可以的,因为大家都知道比特币是公链,数据无法被篡改)。又或者基于物流供应链上的行为,执行商务流程链上流程。

BTC Relay就像一个积木,很期待它能帮助实现在以太坊区块链上,或链外的的基础设施,应用,创意。

项目的思考

BTC Relay基于以太坊,或者是需要用到以太坊技术或区块链网络,才能做到这种校验,这样以太坊变得不中立了,需要依赖以太坊相关技术栈。

不中立引出来的另一个问题是,以太坊内部要支持对其它链的共识证明。由此要内置很多其它链独有的东西,比如要支持对比特币的中继,首先要实现比特币的哈希算法。

关于作者

专注基于以太坊(Ethereum)的相关区块链(Blockchain)技术,了解以太坊,Solidity,Truffle,web3.js。

个人博客: http://me.tryblockchain.org
版权所有,转载注明出处

参考资料

处于某些特定的环境下,可以看到评论框,欢迎留言交流^_^。

友情链接: 区块链技术中文社区    深入浅出区块链