区块链火币网官网上不去了学习笔记:跨链


1.什么是跨链

通常一条区块链就是一个独立的账本,两条不同的链,就是两个不同的独立的账本,两个账本没有关联,本质上信息和价值没有办法在账本间转移。而跨链技术可以理解为连接各个区块链的桥梁。正是由于区块链互不连通,制约整个区块链技术的应用和发展,导致链与链之间的互操作、需求增大,跨链的需求就由此而来。

跨链的基本作用是实现链间资产和信息交互,其中包括原子交易(Atomic Swap)、资产转换、区块链内部信息的沟通等,以及能解决Oracle(数据预言机:区块链能够去读取外部的数据的数据感知器)等问题。

早在2016年9月, Vitalik Buterin所著的《Chain Interoperability》就对跨链的技术方案和应用价值进行了详细阐述。其中提到,较为实用的三种跨链技术为「公证人机制」、「侧链/中继」、「哈希锁定」。

跨链可以分为同构跨链和异构跨链。同构跨链指安全机制,共识算法,结构都一致的链;跨链简单,比如Cosmos 中 Zone 之间的消息传递。异构跨链指安全机制,共识算法,结构都不一致的链;跨链复杂,比如EOS和ETH。通常我们讨论的跨链如没做特殊说明都是指异构跨链。

2.跨链有什么意义

现有的区块链从应用、智能合约、共同账本、共识网络绑死,每个链形成了独立的垂直的封闭体系,当一个应用绑死在一个链上的时候,难以采用新技术,难以带着原有数据和资产迁移到新的链上。

当区块链的协议越来越多、资产交互也越来越频繁时,人们迫切需要一类技术来让不同链之间能够产生交互,而这就是「跨链」技术慢慢产生和逐渐成熟的原因。

从计算机网络的发展历程,我们仿佛也看到了区块链跨链网络的未来。目前的区块链世界就好比60年代的单机时代,链与链之间高度异构化,彼此难以互通,所有的数据和服务都局限于孤岛式的区块链中。若是未来,所有的区块链系统能通过某一标准化跨链协议链接起来,那众多的区块链系统就能协同工作,为更多的用户、更多的服务提供支撑。跨链技术的成熟与普及或将引爆区块链网络的繁荣。不同的是:互联网是信息自由流通的网络,而区块链跨链网络则是价值自由流通的网络。

2.1.资产流动和金融化

跨链的资产转移。目前跨链的资产转移主要是通过中心化的交易所,在国内比如通过像火币和币安等等这样的一些交易所进行不同链上的资产进行交易,但是有了这个跨链的技术之后,我们未来做去中心化的交易所可以直接实现链上的资产的转移。

资产跨链以后,原先链上缺少的金融设施的资产,也能够通过新链提供的金融设施而完成进一步的金融化。

性能提升

目前,90 % 以上的 DeFi 项目都在以太坊上,带来结果之一就是以太坊和 ERC20 的 Token 转账速度变慢,转账费用飙升。以太坊的转账 Gas 费在很长一段时间平均在 500Gwei 以上,居高不下,最高还到过 1000Gwei,而这也严重影响了 DeFi 生态以外的项目和组织。

通过跨链可以把一些拥堵的链上的资产和智能协议转移到一些性能更高,交易成本更低的区块链上去,而实现链上交易的分流。

去中心化的交易所

去中心化交易所是指利用区块链技术直接构建买卖双方点对点的交易,使得交易者能够自主管理资金,交易撮合和支付清算都在区块链上自动完成,交易所仅负责提供流动性,交易双方的交易记录都可以在区块链上查询。

依赖币可以跨链,支持用户挂单,通过跨链合约来提供撮合,撮合成交后使用币的跨链来完成币的转移,形成跨链的去中心化交易所。

Web 3.0

基于同构链和异构跨链的万链互连是 Web 3.0 的基础。换个角度来说,Web 3.0就是跨链技术成熟之后的区块链世界,依托于跨链技术,多链之间无阻隔进行融合,打破信息孤岛,实现真正的价值交换与万物互联,重塑当前互联网的形态,解决互联网2.0时代的一系列问题。

如何将已有的的和未来将要开发区块链网络都联系起来成为统一的整体,即万物互联是未来跨链网络最重要的问题。

3.跨链方案

以太坊创始人Vitalik为银火币网卖出币行联盟链R3写了一份关于跨链互操作的报告,文中提到三种跨链方式:公证人机制(Notary schemes)、侧链/中继(Sidechains/relays) 、哈希锁定(Hash-locking)。

公证人

公证人模式是链与链之互相操作最简单的使用方法,由某个或某组受信任的团体来声明A链对B链上发生了某件事情。

找到一个或者一群“中间人”同时也是“公证人”,作为可信第三方。公证人不断地进行数据收集,还进行交易确认和验证。即假设 A 和 B 是不能进行互相信任的,那就引入 A 和 B 都能够共同信任的第三方充当公证人作为中介。这样的话,A 和 B 就间接可以互相信任。

公证人模式又分为中心化/单签名公证人机制,多重签名公证人机制,分布式签名公证人机制。

侧链/中继链

如果一个链B能拥有另外一个链A的所有功能,则称链B为链A的侧链,链A为链B的主链。其中主链A并不知道侧链B的存在,侧链B知道有主链A的存在。

如果在链 A 和链 B 之间存在第三方数据结构 C,C 是 A 和 B 的中继,如果 C 本身也是区块链结构,通常称为 Relay Chain。顺便提一下,Cosmos 和 Polkadot 都是运用中继技术。

中继(Relay)是更灵活、易于扩展的跨链技术,其不依赖可信第三方帮助其进行交易验证,而是在拿到发送链数据后由接收链自行验证,自行验证的方式依据系统结构不同而不同。中继通过链内的系统去读取其他链上的信息,它通过链内去读取其他链上的信息来验证这笔交易的可靠性。

例如BTC-Relay依赖于SPV证明,Cosmos依靠验证节点签名数量等。

通过中继,以太坊可以成为比特币的侧链,比特币作为以太坊的主链。但是主链不知道侧链的存在,侧链知道主链的存在,即侧链能读懂主链。BTCRelay 就是试图允许以太坊的智能合约安全地验证比特币的交易,而不需要任何中间机构。

哈希锁定

哈希锁定其实是一种依赖关系,最有名的是闪电网络,而且锁定模式还是在链A和B之间设定一个互相操作的触发器。通常是一个随机数的哈希值。即在A链中生成随机数S,并且,该数不会告诉B链,而是生成一个哈希值给B链,在B链设置一个锁定条件,只有满足该条件才能够随机数S,继而进行资产的转移。

哈希锁定模式的特性在于:我们知道一个哈希值但是不可能拆解出被哈希的随机数的多少。其主要依赖的是锁定时间的功能,比如比特币。所以,首先哈希锁定对于智能合约支持并不是特别好,对于跨链来说,并不支持一些资产的转移。

分布式私钥控制模式

基于密码学里面一个多方计算和门限密钥的一个共享技术。将私钥分为N份,同时分给N个参与者,只有收集了K个私钥的分配,才能够恢复出一个完整的私钥,才可对私钥中资产进行解锁。而私钥的生成和分片工作也是需要一个强信任的中心来完成。

4.跨链实例

闪电网络

闪电网络的目的是实现安全地进行链下交易,其本质上是使用了哈希时间锁定智能合约来安全地进行0确认交易的一种机制。

使用闪电网络第一步需要在用户A和用户B之间开启双向支付通道。这个通道是在主链之外。

交易双方在开启闪电交易功能之前,会首先将开启状态所需的数据写入主区块链中建立闪电交易合约,例如锁定期限,合约规则等数据。当闪电网络出现故障时,将按照合约规则和举证方的数据,在主区块链上进行处理。每一个状态通道建立,类似于一个多重签名系统构建,保证了交易双方守信原则,它比多重签名多了合约的处理。对不守信,将会在主网络受到处罚。处罚在期限内可以得到申诉,例如1000个区块期,而这种申诉是算法进行维护,不以人为因素为标准。

在通道内是双方私匙签名的区块链数据流,双方所有交易细节均在这个数据流得到体现,并以独立链的形式存储,它是证明一个通道是否合乎算法规则。当一个状态通道结束后,双方按照闪电网络输出的最终状态数据来兑现合约,这相当于是一个交易帐本,帐本记录了参与方交易结果,进而实现财产重新分配。

BTC-Relay

2016年Consensys团队推出的BTC-Relay是最经典的中继(Relay)跨链方案,实现了以太坊和比特币之间的跨链交易,使得以太坊的DApp应用可以支持BTC支付。由于比特币的脚本是非图灵完备的,难以支持复杂的应用,因此BTC-Relay只实现了从比特币到以太坊的单向跨链。比如以太坊中的某游戏应用需要支付ETH购买游戏道具,但用户只有BTC没有ETH,这时游戏就可以调用BTC-Relay智能合约,确认该用户确实在比特币网络进行了相应的转账支付交易,就可在以太坊的游戏中给该用户发放相应游戏道具。

BTC-Relay本身为以太坊的一个智能合约,该合约的功能就是对比特币上的某些交易进行验证,并且提供验证信息给以太坊上的其它DApp用户。Relayer是从比特币获取区块头数据的一群用户,并拥有以太坊网络的账户地址,最快向BTC-Relay合约提交区块头数据的Relayer可以得到以太坊的交易费奖励。BTC-Relay智能合约获得区块头数据以后就可以依据SPV证明的原理对某交易进行验证,当比特币网络中的某交易确实发生,则可触发以太坊网络的特定交易或者智能合约执行。

REN

REN(以前称为Republic Protocol)是旨在为所有去中心化应用程序提供不同区块链之间的流动性访问协议。简而言之,该项目试图将比特币(BTC),比特币现金(BCH)和其他加密资产(例如ZCash)引入以太坊dApp。

REN的核心是RenVM,这是一种无需信任的去中心化虚拟机。RenVM使用 “暗节点 “网络来实现这一目标,暗节点提供必要的计算能力来识别和处理跨链加密货币订单。这是用一种名为 “Shamir Secret Sharing Scheme”的复杂算法来完成的,它将订单碎片化,使暗节点不知道被交易的加密货币的金额或目的地。

RenVM充当为Ren提供动力的引擎。RenVM具有四个核心特征:

1、Shamir密钥共享算法:一种密钥共享的形式,其中将密钥分为多个部分,使每个参与者都有自己独特的部分。在Ren中,Shamir的Secret Sharing代表了协议的关键基础,该协议可将数据保密。

2、安全的多方计算(sMPC):这是一种允许“无需信任的Darknodes”运行脚本而不会向任何一方透露其输入或输出的机制。

3、拜占庭容错(BFT)算法:这是一组网络共识规则:即使某些节点进行恶意操作,这个规则也可使网络正常工作。

4、Hyperdrive:这是Tendermint共识算法的修改版本,专门用于分片和sMPC。

Polkadot

Polkadot是Web3基金会的跨链协议开源项目。由Parity团队的Gavin Wood主导开发。Polkadot宣称是未来Web3.0时代的基础设施之一,是一个未来“区块链互联网”的基础协议。Polkadot协议强调解决当前区块链技术的伸缩性和隔离性问题,以提供众多异构区块链系统之间去信任、去中心化的通用的互访问性、互操作性为目标。

Polkadot计划将私有链/联盟链融入到公有链的共识网络中去,同时又能保有私有链/联盟链的隐私和许可的防护措施。它给予了我们一个全新的交易层,并有机会将数百个区块链互相连接。

Polkadot的核心思想是区分交易方发起和执行交易的方式以及交易方统一记录的方式。Polkadot提供基础的中继链(relay-chain),很多可验证的、全球动态同步的数据架构都建立在这个基础上,这些数据架构为平行链或者侧链。

Cosmos

Cosmos是Interchain Foundation的跨链开源项目。

Cosmos是一个并行网络,各链由诸如Tendermint共识提供支持。在Cosmos生态系统中各空间可以相互通信、交易、互操作。Cosmos的愿景是打破区块链之间的障碍,创建一个区块链互联网,成为各种实际使用场景的优先选择平台。

Cosmos是专注于解决跨链资产转移的区块链网络。该网络主要由两部分组成:Cosmos Hub和若干个Zone。每个Zone可以看作是单独的区块链空间。每个Zone会和Hub保持状态同步。Hub通过去中心化的验证人组来保证安全性,验证人组有罚金托管机制,它是唯一的多资产中心账本,并负责保证各类资产在不同Zone转移的同时,资产总量不变。

Zones

相当于 Polkadot 中的平行链(类似于接入不同的区块链网络),而 Hubs 则对应了 Polkadot 中的中继链(负责监视其他链是否正常运行),总体来说,Hub 管理着被称为 「Zone」 的独立区块链,而由 Hub 来追踪记录各个 Zone 的状态。

Zone之间的跨链通信主要是通过与Hub之间的IBC协议来实现。可以理解为是 Cosmos 中特有的编码模式,只要通过该编码即可确认是 Cosmos 生态的一部分,也可进行安全的信息交互。

Hub既是中继链。Zone1向Zone2做跨链消息时,Zone1先生成消息包,并将其证明发布在Hub上,接下来Hub会生成Zone1的跨链消息包已在Hub上的存在证明的证明发布于Zone2,接下来Zone2收妥消息包,并给出证明发布于Hub上,最后,Hub再给出Zone2的收妥证明的证明发布于Zone2,完成整个跨链消息传递。

图片: https://uploader.shimo.im/f/ZAQOPrr7UDucLBnS.png

基于这些底层构成和通信协议,Cosmos 还开发了一个名为 Cosmos SDK 的一个通用框架,它的目标是创建一个模块生态系统,允许开发人员轻松地创建特定应用的区块链,而无需从头开始编写应用的每个功能,从而大大减少程序员在区块链底层开发上花费的时间。

5.跨链过程需要解决的问题

区块链的特点之一就是账本的不可篡改性,因此写入账本的信息需要是准确无误的,特别是资产信息,一定要精确无误。两个区块链系统进行资产信息互换,也需要保证在交换的过程中资产和信息数据要精确记录在彼此的账本上,要做到这一点是非常不容易的。要实现跨链,我们需要解决的问题很多,但是总结起来看,以下几个问题是最核心的:

如何保障跨链交易的原子性

即跨链交易要么发生,要么不发生,否则两条链的不一致和不同步状态将成为跨链交易最大的系统漏洞,两个系统的安全性都将受到威胁。这一点是实现跨链交易的基本要求,也是跨链交易必须要解决的难点。

如何完成对另一条链的交易确认

对交易的确认,包含了两个层次的问题,一是确认交易已经发生并且上链,写入了区块账本;二是该交易已经获得了系统足够多区块的确认,这样由于系统发生重构而导致交易无效的概率将非常低。区块链系统本身是较为封闭的系统,缺乏主动获取外部信息的机制,因此要确认另外一条链的交易状态并非一件容易的事,可以说是跨链交易的核心难点之一。

如何保障两条链的资产总量不变

在资产互换的场景下,两条链的资产并未发生实质性的交换,因此该类情况不会改变各链的资产总量。但是在资产转移的场景下,每条链的可用资产数量是变化的,只有保障跨链交易精确记账,且两条链的账本记账完全同步,才可实现,换种说法就是两条链的记账必须是原子性的,要么都同时记,要么都不记。除此之外,问题的关键是当某条链发生重构时,是否依然能保持两条链的资产总量不变。

如何保障两条链的独立安全性

当两个系统发生交互时,难免会对彼此系统产生影响,如何在跨链交易的过程中保障自己系统和对方系统的安全性是个值得考虑的问题。若是安全性问题无法隔离,那一条链受到攻击,将影响整个跨链网络。

如何实现多条链之间的跨链互联

参照计算机网络的发展历程,独立的区块链网络终究要走上互联互通的未来,那如何将这些已有的和未来将要开发的区块链网络都联系起来成为统一的整体将是未来跨链网络最重要的问题之一。

6.和跨链相关的技术

跨链和分片

分片是一种扩容技术。对于区块链来说,分片能够在保证去中心化原则的前提下提高网络的可拓展性。

可以将分片理解成一系列完全同构的的区块链,通过信标链为主链而完成相互之间的跨链。

分片的工作原理是:区块链被分为许多小片:每片都有自己的一组验证器和网络资源池;每片都会处理自己的交易,并在本地保留所有已验证交易的记录。分片技术更像是一个“分割手术”,将整个拥堵的马路分割成很多条赛道,然后将数据子集分散在不同的马路上。

分片技术让一笔交易不必发动全网去处理,只用其中一部分节点处理就好了,并且节点越多,得到的吞吐量就越大。区块链的“主链”并不存储各个分片上处理过的交易数据,而是通过持有每个分片上发生的所有交易的证据来充当“分类账”。

分片技术目前是运行最为艰难的,这也是为什么很少一部分项目会去使用它。当项目引入分片技术后,需要考虑的问题非常多,例如规定多少节点合适?每个节点分配多少任务合适?设计和部署的复杂性给分片式技术的具体应用带来的很多问题。

跨链和 Layer 2 扩容

Layer 2 扩容是一种“链下(offchain)”的扩容。“链下”指的是,Layer 2 的的部分执行是在区块链之外的,只是在有争议需要确定最终性的时候才会回到“链上(onchain)”。

Layer 2 扩容整体上来说,就是扩大以太坊单笔交易单容量。它通过把一笔交易的过程通过节点之间的协商进行,把协商和交易的过程不存储在在以太坊链上的交易内,而是存储在”状态通道“或”零知识证明的折叠“或者”抵押惩罚的折叠”或“侧链”内,而把一批量的交易的结果在达成共识后,再把结果存储在以太坊主链上,而带来了以太坊可容纳交易的数量和复杂度的扩展。

Layer 2 扩容的优势在于不用更改主链本身的底层技术构建,也不影响其安全性。它们是构建在太坊主链“之上”的。他们不需要更改底层协议,他们只是以基于以太坊的智能合约的形式存在。

7.内容整理来源:

本学习笔记内容整理自以下文章,感谢原作者:

https://www.chainnews.com/articles/494466454534.htm https://mp.weixin.qq.com/s/N9sr3hEufAM_3844OjtYsw https://mp.weixin.qq.com/s/I_GPBbz8UFbQUxxboHHEsA https://mp.weixin.qq.com/s/Axt4tons1sSaK_qtHljSKw https://mp.weixin.qq.com/s/URzx1oLswCWhMQ3KlFpY5w https://zhuanlan.zhihu.com/p/81602533 https://mp.weixin.qq.com/s/rcRnXDRpbgX12Sk_e0CSvQ https://zhuanlan.zhihu.com/p/159060381 https://www.lagou.com/lgeduarticle/8455.html https://www.jianshu.com/p/7fa8f3083388 https://www.jianshu.com/p/5904a6be11bf https://www.jianshu.com/p/f2d2e83473fc https://blog.csdn.net/newblockchain/article/details/106337808 http://www.elecfans.com/blockchain/1093676.html https://www.8btc.com/media/499338 http://www.360doc.com/content/18/0912/14/59306838_786061289.shtml https://www.jinse.com/news/blockchain/746880.html https://blog.51cto.com/13980151/2285425 https://www.mytokencap.com/news/156679.html

作者:新暴富志愿者小组,来源:DEFI新暴富



返回列表页>>> 比特币