区块链侧链的几个项目介绍

上篇文章我们介绍了侧链的几种实现方式,下面来着重讲下BTC Relay和闪电网络这两个侧链项目,以及Polkadot和Cosmos这两个具有代表性的跨链项目。

闪电网络(Lighting Network )

“不是所有的交易都需要记录在区块链上”

  由于比特币网络可拓展性过低,交易速度慢,交易量又小,导致资源浪费严重。为了解决这一问题,比特币闪电网络在2015年被提出。这个项目最为巧妙之处就是它在比特币之上建立了一个结算层,也就是侧链。由此使得比特币主网压力减轻,资源浪费变少。

  闪电网络底层运用了HTLC技术和RSMC 技术,构建了一个个链下支付通道。这些通道合在一起成为一个网络。交易双方的数目比较小的微支付可以通过一系列的链下协议完成,从而拓展比特币的性能。

  什么是HTLC(哈希时间锁技术)?举个例子。A与B达成这样一个协议:协议将锁定A的1个比特币,在T时刻到来之前,如果B能够告诉A一个正确的“暗号”R, 使得R的哈希值等于约定的值(R),B就能获得者一个比特币。如果B在T时刻到来时不能提供正确的“暗号”R,那么这一个比特币自动解锁,回归A所有。

  闪电网络还应用了RSMC(可撤销的顺序成熟度协约)技术。具体来看,假设A与B之间有一个支付通道。二人共同存入一定资金。必须当二人都签名时才能动用这些资金。每次交易时,都要共同确认资金分配,并达成分配合约。当新的分配合约生效后,旧的分配合约失效。一旦有人,比如A仍然使用旧的合约来动用资金,作为惩罚这笔钱必须退还给B作为补偿。
  RSMC实现了双向支付通道。双方的支付协议通过可撤销的资产分配合约的形式表达出来。由于协议不需要上链,于是支付请求可以在链下处理,直到最终双方决定清算时才需要在链上执行。

  基于这两项技术协议的闪电网络比主链比特币网络具有速度更快, 可以达到百万级到十亿万级TPS。其不仅具有安全、匿名的优点,还做到了跨链原子交换,也就是允许加密货币在不同区块链上点对点的转移。

闪电网络的成长历程
 自从2017年12月闪电网络发布了1.0 RC版本,并成功在比特币主网进行了测试,闪电网络就一直不断发展。
 2018年5月,MIT实验室发现,智能合约与闪电网络的结合不仅能够实现数百万级的交易吞吐量,并且大幅提高整个系统的复杂性。难道传说中的“比特币智能合约” 就要来了?还有媒体报道称微软公司也开始考虑用比特币闪电网络来建立身份认证系统。
 2018年8月,首个基于闪电网络的加密货币交易所SparkSwap成立。用户可以在数秒内完成比特币与其他加密货币的交易,同时还不需要在第三方存入资产。
 2018年8月,闪电网络节点数量正式突破3000个,网络容量达到近100个比特币(约64万美金)。而在刚刚过去的7月,网络容量为97个比特币(约62.8万美金)。与六月的网络容量相比增长了38%。

  虽然,闪电网络看起来前途一片大好,但是世人对它的诟病一直没有停止。Bitcoin.com附属公司的负责人David Shares公开表示闪电网络中心化。还有人认为闪电网络作为一种通道网络,其支付路线过于复杂,交易时未知因素太大。并且,当前版本通道容量有上限,可能会导致一些用户不能进行稍微大额的交易等问题。

BTC Relay

“给比特币网路与以太坊搭座桥”

BTC Relay是在以太坊基金会支持之下,由ConsenSys团队推出并成长起来的项目。它被认为是区块链上的第一个侧链。其实质是以太坊的一个智能合约。
  BTC Relay把以太坊网络与比特币网络通过使用以太坊的智能合约连接起来,可以使用户在以太坊上验证比特币交易。侧链机制不仅允许用户将交易发送到其他的地址或账户,还可以发送到其他的区块链。简而言之,BTC-Relay的功能包括 验证比特币的交易,传递比特币交易到以太坊智能合约 ,存储比特币区块头部,检查智能合约内部最新的比特币信息。

那么在创新模式上BTC Relay与其他的侧链项目有什么不同呢?
  我们知道BTC-Relay是由带有比特币SPV钱包功能的以太坊智能合约, 以及Relayers(BTC Relay的社区成员)共同组成。Relayers为BTC Relay提供新的比特币区块头,当交易在区块链进行验证或者区块头被检索的时候,Relayer会获得一笔手续费作为奖励,Relayer提交区块头的这种循环——然后处理比特币支付和奖励Relayer手续费的应用程序——使系统能够自立和自治。而不同于其他利用类似双向锚定原理的侧链。

  那么BTC Relay有怎样的使用场景呢?举例来说。首先,A和B同意使用BTCSwap合约来进行交易。A要买B的以太币,B把他的以太币发送到BTCSwap合约上。 随后,A向B发送比特币,并希望BTCSwap这个合约能知道这件事以便BTCSwap合约可以释放B之前的以太币。 于是,A通过比特币的交易信息以及BTCSwap合约地址来调用btcrelay.relayTx (), BTC Relay 验证这笔交易通过后就触发BTCSwap合约里面的交易。 之后,BTCSwap合约在被触发后确认这个BTC Relay地址是一个合法地址,然后释放之前B的以太币。由此,交易完成。

  BTC Relay作为“第一个吃螃蟹的”进行了跨区块链通信的有意义的尝试,打开了不同区块链交流的通道。但是它仍然存在几个问题。比如智能合约需要获取比特币网络数据,这还比较难实现去中心化。同时,奖励Relayers的机制固然好,但是这样一来维护合约的成本会变得比较高,而Relayers活跃度却仍然比较低。路漫漫其修远兮,BTC Relay需要改进的地方还有不少。

Cosmos

“让你看到跨链的真正意义”

  Cosmos是Interchain Foundation的跨链开源项目。Cosmos是专注于解决跨链资产转移的区块链网络,其核心开发团队也是 Cosmos 所采用的Tendermint共识引擎发明者。Tendermint是一个类似实用拜占庭容错共识引擎,具有高性能、一致性等特点。

  作为最早研发,目前发展最成熟的跨链项目,Cosmos 的核心开发团队早在2014年就提出了“一区块最终确认”(One Block Finality)。前文中我们说到了最终确认性的问题,Cosmos的这一技术研发可谓对跨链的发展帮助极大。

  Cosmos网络主要由两部分组成: Hub (枢纽)和若干个Zone (分区)。每个Zone和Hub 都是独立的区块链。Zone 是解决特定应用需求的区块链,HUB专注于处理Zone间的跨链交易。Zone和Hub都有自己独立的状态共识。
  Hub通过去中心化的验证人组来保证安全性,验证人组有罚金托管机制,它是多资产的分布式账本,也就是一种多资产权益证明加密货币网络,并负责保证各类资产在不同Zone转移的同时,资产总量不变。

还记得我们在前面提到的多链如何管理中被称为中继链的“太阳”吗?Hub就是中继链。Zone之间的跨链通信主要是通过与Hub之间的IBC协议来实现。

  什么是IBC(区块链间通信)协议?该协议用于Cosmos 网络的枢纽及各个分区的沟通。 代币可以安全快速地从一个Zone传递到另一个Zone,两者之间无需体现汇兑流动性。枢纽会将每个Zone与其他故障Zone隔离开。当有新的分区产生时,在线治理社区的投票会决定新的分区是否可以连接到Cosmos枢纽。所以,Cosmos也可以支持未来新的安全高价值区块链接入。
  具体来看:当Zone1向Zone2发出跨链消息时,Zone1先生成消息包,并将其证明发布在Hub上,接下来Hub会生成Zone1的跨链消息包已在Hub上的存在证明的证明发布于Zone2,接下来Zone2收好消息包,并给出证明发布于Hub上,最后,Hub再给出Zone2的收妥证明的证明发布于Zone2,完成整个跨链消息传递。

  而Cosmos因为可扩展性的优越性与以太坊的关系可谓“情深意长”。目前Cosmos最经典的一个案例就是作为以太坊的二级扩容。我们知道,以太坊自己的团队用Casper做了一级扩容。而很多年前,Cosmos就为以太坊做了一个EVM 兼容但底层已经是用高效的POS 协议tendermint的区块链叫 ethermint。2017年,以太坊创始人Vitalik 代表太坊生态基金会ECF (Ethereum Community Foundation) 与Cosmos合作,Cosmos 将为以太坊的二级扩容开发而做贡献。

  可以想象,如果以太坊自身因为扩容不够而导致其上面的应用跑不动了。那么就可以通过Cosmos这样一个Hub,把以太币转到Cosmos的Ethermint Zone是上去,为以太坊开发出N多个它的Ethermint Zone。一个最简单的例子就是2017年时“加密猫”突然流行导致以太坊拥堵不堪。而如今就可以将这些猫们转到Cosmos的新的Zone里跑。如果跑完了想回到以太坊,还可以随时再回来。Cosmos的扩容的功能听起来更像侧链,但是却是比侧链更具有灵活性的跨链应用。

  如果从Cosmos反观跨链的意义,我们就可以真正看到跨链不仅仅可以扩容,更可以提高可操作性。有了Cosmos,我们如果想对比特币做一个智能合约的编程,我们就可以把比特币直接借助Cosmos的Hub转到以太坊进行编程。同时,如果我们想让我们的比特币私密性更强,我们就可以把比特币直接借助Cosmos的Hub转到门罗币的网络。

  同时,由于 Cosmos 的自身架构支持多Hub, 今年有许多区块链项目都选择用Cosmos作为跨链技术之一 来搭建自己的项目平台。(IRISnet 项目将为开发者提供一个更友好的应用开发接口,并同时提供面向服务的跨链基础设施)

  开发者可以在这上面使用已有的程序模块进行组合创造,开发自己的分布式应用链。IRISnet的创始人Harriet Cao 在采访中表示之所以选用Cosmos 体系,看中的原因就是Cosmos的清晰的分层架构,其高效的POS引擎和开放的去中心化结构。IRISnet的就是用Cosmos SDK 开发出来了更方面的面向服务的开发接口,并创新性地对IBC协议进行了扩展,这样不仅代币能跨链,数据服务和复杂计算也能跨链被调用并消费。

Polkadot

“期待中的跨链项目”

  Polkadot是由原以太坊主要核心开发者推出的跨链项目。旨在解决可拓展性以及隔离性的问题。那么,同样作为跨链项目的Polkadot与Cosmos相比有什么技术相通性和与众不同的特点呢?

  在介绍Cosmos时,我们再一次提到了中继链。而Polkadot也是通过中继链技术能够将原有链上的代币转入原链地址中,对其进行暂时锁定。还记得我们前文提到过的 RSMC(可撤销的顺序成熟度协约)技术吗?其中多重签名控制的机制在Polkadot 也有同样的应用。在中继链上的交易结果将由这些签名人投票决定其是否生效。通过Polkadot可以将比特币、以太币等都链接到Polkadot上,从而实现跨链通信。

与Cosmos相比,PolKadot 也有许多技术、模式的创新点。在Polkadot看来,其它区块链都是平行链。

  从激励和监督机制的角度看,Polkadot的网络中有四种基本角色:验证人、提名人、收集人和钓鱼人。其中,验证人是参与记账共识,并验证平行链上的数据。提名人:为验证人提供押金而背书。收集人:采集平行链上的数据并且提交给验证人。钓鱼人:作为赏金猎人,监督其它参与者的恶意企图。

Polkadot的原理如下图所示:

补充:Takeaway

  平行链:也叫可并化的链,是更加简单的区块链形式。其关键特征就是他们执行的计算本质上是异构独立的。对于一般的智能合约系统,它们无法确定哪些交易是互相冲突的,所以那些本可以并行化的交易通常也只能按顺序执行,浪给了大量计算时间。而在平行链间划分明确的分界线,就可以立即执行所有交易,而不用担心产生冲突。