快捷搜索:

您的位置:金莎娱乐 > 互联网 > 区块链跨链技术大规模应用将在一到两年内爆发

区块链跨链技术大规模应用将在一到两年内爆发

发布时间:2019-11-09 04:38编辑:互联网浏览(188)

    原标题:浅谈永旗链跨链构架

    图片 1

    近日,以太坊创始人Vitalik Buterin在接受Fintech媒体采访时表示:

    随着区块链技术加速应用于金融、医疗、能源、产权和物联网等众多领域,越来越多的科技企业投身于区块链技术的研发与产业化浪潮中。如今,打着各种名义开发出来的区块链也是数不胜数。

    侧链,是对于某个主链的一个相对概念。英文为sidechains。侧链协议是一种实现双向锚定(Two-way Peg)的协议,通过侧链协议实现资产在主链 和其它链之间互相转换,或是以独立的、隔离系统的形式,降低核心区块链上发生交易 的次数。侧链是以融合的方式实现加密货币金融生态的目标,而不是像其它加密货币一样排斥现有的系统。利用侧链,我们可以轻松的建立各种智能化的金融合约,股票、期货、衍生品等等。

    不同区块链之间共通的应用一定会出现。因为区块链是一个开放的系统,其中的一切都是加密认证的,开发出使一个区块链上发生的事件联动另一个区块链发生变化的应用其实是很容易的。很多方法可以实现这样的效果,比如哈希锁定和中继。过去的几年已经有很多尝试跨链加密货币交易的实验了。我觉得这一技术也能应用到其他领域。目前最大的挑战仍然是寥寥无几的区块链实际应用和使用人群,现在除了个别领域外,还没到开始实施跨链应用的时机。但我觉得在一两年内,肯定可以看到这方面应用的大规模增长。

    图片 2

    图片 3

    今天我们就来深扒一下跨链技术

    由于目前区块链本身技术门槛较高,性能受限,以及链与链之间无法交叉,数据信息不能做到互通互联,存在信息孤岛的问题。不同的区块链网络之间协作的难度大,这极大地限制了区块链应用的发展。于是,关于如何实现跨链技术和多链融合,成为了当前区块链领域研究的热点之一,超级账本项目也就被提了出来。据行业权威机构表示,比特币开启了区块链技术1.0时代,以太坊智能合约技术引导了区块链技术2.0时代,而超级账本技术,将会引领区块链真正走向辉煌。

    跨链技术是实现区块链之间互联互通的技术,若对标互联网则可理解为“去中心化网络 的结合”,区块链技术的特性使得跨链技术的落地,以及对于链外信息的获取都非常困 难,早期跨链技术包括以 Interledger Protocal 和 BTC Relay 为代表,更多是关注资产 的转移;现有跨链技术以 Aion、Kyber Network、Bletchley、Polkadot、Cosmos 主要 着重的是跨链基础设施。“如果说共识机制是区块链的灵魂核心,那么对于区块链特别是联盟链及私链来看,跨链技术就是实现价值网络的关键,它是把联盟链从分散单独的 孤岛中拯救出来的良药。

    一、什么是跨链技术

    永旗链是2017年由郑国雄主持搭建的一条生态链,涵盖登记确权,资产管理跟交易,去中心化支付等多用途,致力于实现更为丰富的区块链应用,将来预计会为不同的行业开发超过300个区块链,而超级账本项目正是搭建永旗链生态的核心。

    图片 4

    跨链技术可以理解为连接各区块链的桥梁,其主要应用是实现各区块链之间的原子交易、资产转换、区块链内部信息互通,或解决Oracle的问题等。

    图片 5

    我们用换汇来理解就方便了。人民币是一个独立的货币,美元是另一个独立的货币。人民币无法直接变成美元,美元也无法直接变成人民币。因此,美元无法直接进入人民币账本,人民币也无法直接进入美元账本。需要有人愿意买入人民币/美元,卖出美元/人民币,才能完成货币的兑换,实现价值的跨账本流动。

    当今的区块链技术纷繁芜杂,各成一派,彼此之间无法进行价值和数据的交换。虽然很多区块链拥护者声称区块链是下一代互联网,但是由于每个链都是独立的、垂直的封闭体系,当前的“互联网”只是由许多彼此割裂开来的区块链“孤岛”构成,或者说,当前的区块链看起来更像是内联网。比如,比特币和以太坊是基于全网共识的、蛮力解法的信任机制。这种验证通过同步全网区块,由每个节点来做验证。但是,那些采用了去中心化账本技术的区块链(DLT,Distributed Ledger Technology),如瑞波币和IOTA,则同样处于互相隔离的状态。更令人难以接受的是,声称去中心化的区块链之间的价值互换却主要依靠中心化的交易所来完成,链上的资产价值不能得到合理的评估。

    永旗链生态以超级账本为基础,预计开发超过300条区块链。在没有超级账本技术前提下,这些链将形如比特币,以太坊,eos等,它们每条都是独立、垂直、封闭的体系,相互间无法进行价值和数据的交换,无法进行信息交换。导致了彼此间割裂,形成了一个个“孤岛”,独存独亡。

    Alice有100美元,她来到了中国,需要使用人民币进行交易。于是她必须找到愿意和她兑换外币的人,例如Bob,Alice将100美元卖给Bob,Bob收到了Alice给他的100美元,按照当时的汇率,给了Alice 657人民币。

    由于区块链之间互不连通、资产价值的大幅波动大大制约了区块链技术的应用和发展。所以链与链之间的互联操作越来越被重视,跨链的需求就由此而来。但是,跨链是一个复杂的过程,既需要对链中节点要有单独的验证能力,也需要去中心化的输入,更需要对链外世界的信息进行获取和验证。目前,跨链技术主要有三种实现模式:

    跨链技术。

    从账本上看,整个外币兑换的过程是这样子的。

    公证人模式(Notary Schemes);

    图片 6

    • 首先Alice在美元的账本上有100美元,Bob在美元的账本上有0美元;Alice在人民币账本上有0元,Bob在人民币账本上有657元。

    • 然后Alice在美元的账本上转账给Bob 100美元,Bob在人民币的账本上转账给Alice 657元人民币。

    • 于是,Alice原本在美元账本上的账户中的100美元的价值就转移到了Alice在人民币账本上的账户中,体现为657元人民币。

    侧链(Sidechains)/中继;

    目前主流的跨链技术包括:

    在这个过程中,Bob在人民币账本上的的657元人民币的价值就转移到了Bob在美元账本上的账户中,体现为了100美元。

    哈希锁定(Hash-locking)。

    1、公证人机制(Notary schemes)

    整个兑换过程中,在两个账本上同时发生了转账交易。

    二、跨链技术的应用

    2、侧链/中继(Sidechains/relays)

    在整个兑换的过程中,人民币账本上的人民币总数没有变化,仍是657元;美元账本上的美元总数也没有变化,仍是100美元。变化的是两个账本上货币的持有人。

    2.1 公证人模式

    3、哈希锁定(Hash-locking)

    转账前:

    链与链之间互操作最简单的方法是使用公证人模式。在公证人模式中,使用受信任的一个或者一组团体向链X声明链Y上发生了某事件,或者确定该声明是正确的。这些团体既可以自动地监听和响应事件,也可以在被请求的时候进行监听和响应事件。

    4、分布式私钥控制(Distributed private key control)

    图片 7

    公证人模式在许可分账领域受到很多关注,因为其既可以提供灵活共识的主要竞争者,也无需进行昂贵的工作证明或关于利益机制的复杂证明。

    永旗链超级账本使用的正是基于Polkadot的中继链技术。

    转账后:

    公证人模式的代表项目有Corda。

    图片 8

    图片 9

    2.1.1 Corda

    Polkadot是由原以太坊主要核心开发者推出的公有链。之所以称之为中继链,是因为它不仅可以为平行链提供安全性,而且可以保证它们之间可以安全地传递消息。

    跨链本质上和货币兑换是一样的。跨链并没有改变每个区块链上的价值总额,只是不同的持有人之间进行了一个兑换而已。

    Corda是R3联盟推出的金融联盟“类区块链”技术架构。Corda中同样是用交易组成账本,但并没有区块,这个和传统区块链结构相比有很大不同。交易仅在参与方和公证人间传播。公证人是交易双方共同选择出来的,具有高度可信的特征。公证人负责验证数据的有效性和数据的唯一性。

    Polkadot的核心思想是区分交易方发起和执行交易的方式以及交易方统一记录的方式。中继链解决了当今两大阻止区块链技术传播和接受的难题:即时拓展性和延伸性。

    综上,跨链技术的核心要素之一是:帮助一条链上的用户Alice找到另一条链上的愿意进行兑换的用户Bob。从业务角度看,跨链技术就是一个交易所,让用户能够到交易所里进行跨链交易。

    由于Corda选择了最高安全性的公证人模式,因此在跨账本消息处理上,变得较为简单:仅需选取不同账本的交叉公证人或者强行指向同一个公证人且让其对账本进行同步即可安全的验证跨账本消息。

    很多可验证的、全球动态同步的数据架构都建立在这个基础上,这些数据架构为平行链或者侧链。Polkadot由许多具有潜在不同特征的平行链组成,这使得其更容易实现匿名或者正式的验证。永旗链超级账本将开发的所有链融入共识网络中,通过中继链技术可以将多个区块链互相连接。链上的所有交易,通过Polkado进行暂时锁定,交易结果将由签名人投票决定其是否生效。并引入了钓鱼人角色对交易进行举报监督。通过Polkadot可以将比特币、以太币等都链接到Polkadot上,从而实现跨链通信。

    交易所开展的不同类型数字货币之间的兑换,就是一种跨链价值转移的实现。严格来说,币币交易所就是一个跨链技术的实现。

    2.2中继/侧链模式

    永旗链超级账本在中继链中,引入了四个角色概念。分别为:验证人,提名人,收集人,钓鱼人。

    跨链和侧链到底有什么区别?跨链除了增强了可拓展性,还提高了可操作性。比如,我们把比特币从比特币公链利用跨链协议转移到以太坊上后,便可以用以太坊的智能合约来编程了。

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

    验证人:通过将点固定在中继链上来保证安全,验证从收集人出获取的证明,并与其他验证人一起参与共识。

    侧链背后的技术

    假设区块链拥有区块Header和Body,Header中拥有Merkle等证明信息,可以将链A的区块链头,写入链B的块中,链B使用和链A一样的共识验证方法,比如PoW验证难度和长度,PBFT验证投票等。等待链A的区块头序列之后,链B就可以通过Merkle分支的证明信息来证明链A的数据和操作。链A、B不能直接验证对方块的状态,因为这样会形成循环,但相互只包含轻节点是可行的,这个区块链验证的逻辑可以由链协议本身或应用合约实现。上述该过程如下图1所示。

    提名人:通过选择好的验证人及固定点来保护中继链。

    侧链的诞生,源于应对比特币的低TPS挑战。当年,每秒只能处理7笔交易的比特币可拓展性太差,导致许多高级应用无发建立。于是,大家通过增加侧链,来辅助比特币主链,从而让比特币可以自由、安全、更快地“跑”起来。

    图片 10

    收集人:通过从用户处手机交易以及为验证人生成状态转换证明来维护平行链。

    图片 11

    图1 中继/侧链模式资产转移流程

    钓鱼人:最后一道安全防线,他们负责监视网络并证明对验证人的不良行为。

    那么,侧链与主链如何“沟通”呢?

    图片 12

    Polkadot的设计中通过建立明确的角色,完成不同的职能分工,再结合一套巧妙的奖惩机制,协同完成跨链通信。实现了其在保证信任、安全的前提下做到系统的水平扩展。

    侧链与主链沟通的过程被称为成为“双向锚定”(也称“双向挂钩”,2WP)。“锚定”一词在经济学中较为常见,指双方交易中一方要以另一方的行动为基准。

    图2 中继/侧链模式下事件的发送和接收接口

    如果说共识机制是区块链的灵魂核心,那么对于区块链特别是联盟链及私链来说,跨链就是实现各区块链价值的关键。永旗链超级账本项目立项至今,以其强大的技术优势,不断的革新沉淀,相信在不久的将来,超级账本必将在区块链领域换发出耀眼的光芒。返回搜狐,查看更多

    在区块链中,由于比特币实际上不是简单的“转移”,而是暂时将其在比特币区块链上锁定,之后将等量等值的代币在侧链上释放。当等量等值的代币在侧链上被锁定时,比特币区块链上的原始比特币就可以被释放了。因此,“双向锚定”实际上就是一方是否解锁,要以另一方是否已经有投币行为为基准。

    图2中代码需要在使用中继/侧链模式的两条链上同时存在,但同时需要两条链上的币或物是可以无限量发行的,这样才可以保证验证过程没有错误,从而来达到资产转移操作。

    责任编辑:

    这个主意听起来不错,但是却有不少挑战。比如,谁应该来管理锁定的账户?谁来解锁?锁定的资产如何被安全释放?可以说,侧链的管理和监督一直以来都是难点。

    中继/侧链模式的代表项目有BTC-Relay、RootStock、Polkadot、Cosmos等。下面将依次对各项目进行介绍。

    针对双向锚定中的资产管理问题,对于以比特币为主链的侧链,目前有两种管理模式。单一托管人模式与联盟托管模式

    2.2.1 BTC-Relay

    单一托管人模式:顾名思义,是一个由可信任的第三方机构来锁定、监管双方资产的模式。托管人可以手动操作,也可以使用软件。最常见的单一托管人就是交易所了。举个例子,小张想把主链上的比特币放到侧链上。那么,只需要把小张的钱包,和侧链拥有代币的钱包共同交给交易所管理就可以了。到时候,交易所可以来验证、监督两条链是否投在钱包里投入的等值的币,锁定币,继续验证,然后再释放。

    BTC-Relay是一种基于以太坊区块链的智能合约,把以太坊网络与比特币网络以一种安全去中心化的方式连接起来。BTC-Relay通过使用以太坊的智能合约功能可以允许用户在以太坊区块链上验证比特币交易。BTC-Relay使用区块Header创建一种小型版本的比特币区块链,以太坊DApp开发者可以从智能合约向BTC-Relay进行API调用来验证比特币网络活动。BTC-Relay进行了跨区块链通信的有意义的尝试,打开了不同区块链交流的通道。BTCRelay的认证过程如下图3所示。

    图片 13

    图片 14

    联盟托管模式:相对于单一托管人模式的过度中心化问题,联盟托管模式则显得更加公平、公正。这种模式很像“人民代表大会”。每位人大代表都有一次投票权,当代表们接受到解锁请求时,每位代表要独自验证交易并投票。只有当投票数大于一定的数值时,才能将资产解锁。

    图3 BTC Relay交易认证过程

    但是,假如多个代表串通一气怎么办呢?目前来看,还没有好的解决方法。唯一能做的就是尽量在一开始就严格筛查出声誉好的代表。

    其中,BTC Relay社区成员,被称为Relayers。所有人都可以加入以太坊网络并成为一名Relayer,并且无需花费硬件或者电力

    不同于侧链,跨链中,链与链的关系是对等的。用户可以通过“双向锚定” 来“转移”比特币。同时,跨链还可以实现汇率兑换、智能合约交互等功能状态的转移、交换。

    2.2.2 RootStock

    和侧链技术一样,跨链技术也需要解决资产的锁定与管理问题。

    RootStock 是一个建立在比特币区块链上的智能合约分布式平台。RootStock采用了“混合”安全模式,同时包含了PoW机制和私人网络模式,基于联合的门限签名方案实现的安全联合工作量证明挖矿机制。它的目标是将复杂的智能合约实施为一个侧链,为核心比特币网络增加价值和功能。RootStock实现了根链虚拟机,是以太坊虚拟机的一个改进版本,它将作为比特币的一个侧链,使用了一种可转换为比特币的代币作为智能合约的“燃料”。RootStock与比特币之间采用的是双向锚定机制。RootStock的交易认证过程如下图4所示。

    除了我们在侧链部分已经提到的的单一托管人模式和联盟托管模式,对于被跨的链中包含以太坊的情况来说,智能合约管理模式可以派得上用场。这个管理模式的关键就在于这个智能合约中需要包含双方区块链的区块头,从而验证双方的线上交易。

    图片 15

    举个例子来看。假如我想把我的比特币转到以太坊上,我首先要把比特币在比特币区块链上转移到特定的锁定地址中。并把我在以太坊的地址附加在交易中。在此交易被矿工确定后,他们向以太坊的锚定智能合约(Peg Contract )发送 SPV 验证。验证时,我在以太坊的地址就会被提取出来。最后,交易验证成功且满足最终确定性要求时,锚定智能合约就会自动从锁定地址中转账对等的资产到我的以太坊地址。

    图4 RootSock交易认证过程

    图片 16

    2.2.3 Polkadot

    在这里,我们要解释两个名词:**SPV 和“最终确定性” **。

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

    侧链协议中,用SPV (“简单支付验证”,Simplified Payment Verification ),来证明一个交易确实已经在区块链中发生过,称为 SPV 证明(SPV Proof)。一个 SPV 证明包括两部分内容:一组区块头的列表,表示工作量证明;一个特定输出确实存在于某个区块中的密码学证明。

    Polkadot的核心思想是区分交易方发起和执行交易的方式以及交易方统一记录的方式。Polkadot提供基础的中继链(relay-chain),很多可验证的、全球动态同步的数据架构都建立在这个基础上,这些数据架构为平行链或者侧链。区块链应用可以将以太坊分叉,按照各自需求调整,通过Polkadot与以太坊公有链连接,或者给不同的链设置不同的功能,实现更好的扩展性和效率。Polkadot的原理图如下图所示。

    中本聪设计的SPV 能够让用户以较小的代价判断某个支付交易是否已经被验证过,以及得到了多少算力保护。SPV 客户端只需要下载所有区块的区块头,并进行简单的定位和计算工作就可以作出判断。

    图片 17

    在交易的最后一步中,“最终确定性” ( Finality )非常关键。原来,当区块链使用POW 的共识算法时,在足够大的算力下交易是可以被撤销的。在跨链交易中,从我们刚刚举的例子来看,每一步,每一个环节,如果不能被确认,那么交易就会停止。因此,我们需要一些方法去确定上一步的交易已经成功或被撤销。

    图5 Polkadot的原理图

    目前,有两种常见方法来解决跨链交易的最终确定性问题。

    图5所示流程大致如下:收集人收集并且广播用户的交易,也广播候选区块给钓鱼人和验证人。用户提交一个交易,先转移到平行链外部,然后通过中继链再转移到另一条平行链,成为一个可以被平行链上账户执行的交易。

    最简单也最常见的方法就是等待足够多的确认区块数。因为POW共识算法中,当确认的区块足够多时,撤销的可能性就会变得很低。然而很多人并不想将时间白白浪费在等待上。于是,也就有了第二种方法:利用区块纠缠。这首先需要将两个链之间的区块建立一种依赖关系。假如其中一笔交易被撤销,那么交易所在的区块回滚,同时依赖于这一区块的另一条链上的区块也会回滚,其交易也会被撤销。因此,我们只需要看一个区块有没有回滚,就可以知道交易确定了与否。

    2.2.4 Cosmos

    在以上的部分中,我们介绍了如何通过侧链、跨链技术管理两条链上的资产。

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

    在跨链中,可能会出现多条链共同交易的情况。比如下面这张繁乱如麻的图:

    Hub既是中继链。Zone之间的跨链通信主要是通过与Hub之间的IBC协议来实现。Zone1向Zone2做跨链消息时,Zone1先生成消息包,并将其证明发布在Hub上,接下来Hub会生成Zone1的跨链消息包已在Hub上的存在证明的证明发布于Zone2,接下来Zone2收妥消息包,并给出证明发布于Hub上,最后,Hub再给出Zone2的收妥证明的证明发布于Zone2,完成整个跨链消息传递。

    图片 18

    上述Cosmos的区块链间通信如下图6所示。

    每2个区块链之间都需要1个跨链协议。那么,如何将这么多的区块链管理得井井有条呢?

    图片 19

    解决这个问题的关键是添加一个特殊区块链作为“中枢”。我们可以把这个特殊区块链作为“太阳”,让其居中,联结其他区块链间的交易,其他所有的区块链都要围绕着它“转”。这个“太阳”就被称为中继链。中继是链与链之间的通道,如果通道本身是区块链,那就是中继链。 它具体的应用我们会在下面的项目解析中进一步提到。中继链的引入让跨链网络的复杂性大大降低。

    图6 Cosmos的区块链间通信

    侧链、跨链的管理模式总结起来一共有四种:

    2.3哈希锁定模式

    1. 单一托管人模式
    2. 联盟托管模式
    3. 智能合约管理模式
    4. 加入中继链

    哈希锁定模式的设计是希望链A与链B之间尽可能少的了解彼此,并作为消除公证人信任的手段,该模式的基本流程如下图7所示。

    目前主流的跨链技术包括公证人机制,中继,哈希锁定,和分布式私钥控制四种技术。这四种技术的各自特点与代表项目见下图。我们会在项目介绍中,具体来看其中有代表性的技术。

    图片 20

    图片 21本图来源自:吴聊区块链 《深度解析:区块链跨链技术》,版权属于作者下面,我们就着重讲一下BTC Relay和闪电网络这两个侧链项目,以及Polkadot和Cosmos这两个具有代表性的跨链项目。

    图7 哈希锁定模式流程图

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

    图7所示基本流程如下:

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

    A生成随机数S,并发送hash给B。

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

    A在链LA上锁定币,并设定条件:如果在(当前时间 2X=TA)时间内链LA收到S,则转账给B,否则退回给A。

    “不需要记录在区块链上”的闪电网络还应用了RSMC(可撤销的顺序成熟度协约)技术。具体来看,假设A与B之间有一个支付通道。二人共同存入一定资金。必须当二人都签名时才能动用这些资金。每次交易时,都要共同确认资金分配,并达成分配合约。当新的分配合约生效后,旧的分配合约失效。一旦有人,比如A仍然使用旧的合约来动用资金,作为惩罚这笔钱必须退还给B作为补偿。

    B收到hash,并看见A的锁定和时间设定后,在链LB上锁定币,并设定条件:如果在TA-X时间内链LB收到S,则转账给A,否则退回给B。

    RSMC实现了双向支付通道。双方的支付协议通过可撤销的资产分配合约的形式表达出来。由于协议不需要上链,于是支付请求可以在链下处理,直到最终双方决定清算时才需要在链上执行。

    A看见B的锁定后,在TA-X时间内发送S给链LB,得到链LB的币。

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

    B收到S后,在TA时间内发送S到链LA,得到链LA的币

    闪电网络的成长历程

    哈希锁定模式的代表项目有Interledger、闪电网络等。

    自从2017年12月闪电网络发布了1.0 RC版本,并成功在比特币主网进行了测试,闪电网络就一直不断发展。

    2.3.1 Interledger

    今年5月,MIT实验室发现,智能合约与闪电网络的结合不仅能够实现数百万级的交易吞吐量,并且大幅提高整个系统的复杂性。难道传说中的“比特币智能合约” 就要来了?还有媒体报道称微软公司也开始考虑用比特币闪电网络来建立身份认证系统。

    Interledger是由Ripple公司主导发起的跨账本价值传输开放协议。Interledger不是区块链,它是连接各类账本的支付标准、统一协议。Interledger专注于跨账本间资金流动领域。

    今年8月,首个基于闪电网络的加密货币交易所SparkSwap成立。用户可以在数秒内完成比特币与其他加密货币的交易,同时还不需要在第三方存入资产。

    Interledger本身并不是一个账本,它并不寻求任何的共识。相反,它提供了一个顶层加密托管系统,在称之为“连接者”的中介机构的帮助下,可以让资金在各账本之间进行流动。此外,Interledger也没有原生代币,因此,操作该协议的个体账本,仍然可以使用它们自己的原生代币,这种互操作性解决了特定支付网络的问题。Interledger的加密第三方与交易发送者和接收者的关系如下图8所示。

    同时,今年8月,闪电网络节点数量正式突破3000个,网络容量达到近100个比特币。而在刚刚过去的7月,网络容量为97个比特币。与六月的网络容量相比增长了38%。

    图片 23

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

    图8 Interledger的加密第三方与交易发送者和接收者的关系

    BTC Relay是在以太坊基金会支持之下,由ConsenSys团队推出并成长起来的项目。它被认为是区块链上的第一个侧链。其实质是以太坊的一个智能合约。

    2.3.2 闪电网络

    图片 24

    闪电网络的目的是实现安全地进行链下交易,其本质上是使用了哈希时间锁定智能合约来安全地进行0确认交易的一种机制,通过设置巧妙的‘智能合约’,使得用户在闪电网络上进行未确认的交易和黄金一样安全(或者和比特币一样安全)。

    BTC Relay把以太坊网络与比特币网络通过使用以太坊的智能合约连接起来,可以使用户在以太坊上验证比特币交易。侧链机制不仅允许用户将交易发送到其他的地址或账户,还可以发送到其他的区块链。

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

    简而言之,BTC-Relay的功能包括 验证比特币的交易,传递比特币交易到以太坊智能合约 ,存储比特币区块头部,检查智能合约内部最新的比特币信息。

    图片 25

    那么在创新模式上BTC Relay与其他的侧链项目有什么不同呢?

    图9 闪电网络结构图

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

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

    那么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需要改进的地方还有不少。

    三、Pallet的诞生

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

    上文中提到的各个跨链项目,他们本质上还是一条链,其本身很难再扩展,不太具备通用性。他们都是用一个新链做跨链的工作,需要链与链之间进行锚定。例如,Polkadot借鉴了很多其它项目的架构,所以他的设计和其他项目是很不一样。但是,Polkadot是个异构的多链框架,一条中继链连接多条平行链的系统。虽然可以挂接多个链,但是Polkadot本身还是一个链。

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

    而Pallet是在做协议——多利益关联方的共识协议,所有的链都可以是参与方,不需要“链与链”之间的锚定。Pallet协议和体系不产生独立的链,而是采用陪审团制度随机选取陪审员,所有的陪审员节点再去对接各底层链实现存证,最大化利用现有的链和资源。

    Cosmos网络主要由两部分组成: Hub 和若干个Zone 。每个Zone和Hub 都是独立的区块链。Zone 是解决特定应用需求的区块链,HUB专注于处理Zone间的跨链交易。Zone和Hub都有自己独立的状态共识。

    Pallet可以将应用挂在多个链上,避免网络拥塞,用户选择性大,使得各种DApp应用可以部署在不同的链上,可以形成良性竞争,更多用户可以参与,开发者在开发应用时可以根据业务需求更灵活的选择已有的链,或者方便的从已有经部署的链上迁移到更好、更新的链上,从而使已有的应用生态突破原来部署区块链的自身架构局限、性能局限或者功能局限。

    Hub通过去中心化的验证人组来保证安全性,验证人组有罚金托管机制,它是多资产的分布式账本,也就是一种多资产权益证明加密货币网络,并负责保证各类资产在不同Zone转移的同时,资产总量不变。

    四、Pallet跨链体系

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

    Pallet可以水平地与不同底层区块链进行对接,如下图10所示。Pallet不对底层链进行完全复制,而是使用参与者机制,是一种轻量级协议。

    什么是IBC协议?该协议用于Cosmos 网络的枢纽及各个分区的沟通。 代币可以安全快速地从一个Zone传递到另一个Zone,两者之间无需体现汇兑流动性。枢纽会将每个Zone与其他故障Zone隔离开。当有新的分区产生时,在线治理社区的投票会决定新的分区是否可以连接到Cosmos枢纽。所以,Cosmos也可以支持未来新的安全高价值区块链接入。

    图片 27

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

    图10 Pallet跨链体系

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

    Pallet在区块链或DLT(Distributed Ledger Technology,分布式账本技术)之上构建了可扩展的“元层”,并在元层中实现“互操作”。元层就是Pallet努力实现的、互链层的IP协议。

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

    Pallet根据不同应用的智能合约选出一个陪审团,由该陪审团来验证智能合约的执行。Pallet将Pallet通证作为支付给陪审团的激励。陪审团在Pallet中的角色相当于其他链上的矿工。Pallet还增加了惩罚机制,普通节点想成为注册的陪审员,需要自己的一部分资金进行抵押,如果一旦发现陪审员作恶,则Pallet将会没收其抵押资金。

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

    五、Pallet与跨链技术应用场景比较

    目前Cosmos发展到什么阶段了呢?2017年项目提出了为以太坊做二级扩容的技术方案,今年一直在开发中的Cosmos, 估计今年年底有望完成。

    Pallet作为跨链协议起到了将链与链连通的效果。Pallet与其他跨链技术在应用场景方面的是有一定的区别,具体区别如下表所示。

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

    图片 28

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

    由于Pallet不是链,是通过特定的函数和库与底层链沟通,所以Pallet的应用场景相对较广,并且实现难度上也处于中等难度。

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

    六、Pallet与其他跨链项目性能比较

    图片 29

    由于Pallet不是一条链,所以其智能合约执行机制、挖矿机制、奖励机制和应用领域等与第二章中跨链项目有很大的区别,具体区别如下表所示。

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

    图片 30

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

    第二章中的各个跨链项目的目标是解决特定区块链之间的信息交换,或者针对不同应用领域而设计,所以这些跨链项目的通用性不是很高。但是Pallet由于是协议,所以他能做到万链互联,多利益关联方互利共赢,从而助推“价值互链网”的实现。

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

    七、小结

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

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

    Polkadot的原理如下图所示:

    Pallet是一个分布式的、包容的交易执行环境,而不是另一种加密货币。Pallet和底层区块链、合约编写语言和执行平台都是解耦的,允许用户同时进行链上和链下的资产交易。因此,它可以在不同平台的不同区块链上执行不同语言编写的智能合约。通过利用现有的LLVM和WASM工具,可以方便地使Pallet提供安全的智能合约执行,同时,Pallet的高性能也使合约隐私性加密成为可能。

    图片 31

    参考文献

    Polkadot已经发展到什么阶段呢?

    [1] 《Chain Interoperability》

    目前,Polkadot还是以以太坊为主,主要实现以太坊与私链的互连。Polkadot的目标是, 升级到让以太坊可以与其它公链也进行通讯,并最终让以太坊能够直接与任何链进行通讯。

    [2] 《联盟链的多链与跨链的思考与实现》

    在Polkadot的Poc-1版本上线两个月后的2018年7月,又推出了PoC-2版本。 Polkadot团队在这一重要里程碑里为最终版本提供了许多新功能,包括平行链,权益分红和惩罚,Libp2p实现等等。PoC-2是对2019年第三季度发布Polkadot来说重要一步。

    [3] 《 区块链解读22-跨链技术》

    随着PoC-2的发布,第一个平行链现在可以连接到中继链。 它们具有基本的平行链状态转换和校验函数,以及基本的平行链共识机制。Polkadot团队将在PoC-2阶段部署第一个平行链。Polkadot 1.0 有望在2019年第三季度发布。

    [4] 《连接不同区块链的跨链技术介绍》

    讲了这么多关于侧链、跨链的技术知识和项目介绍,不知道大家理解了多少?有什么问题欢迎留言讨论!

    [5] 《 **区块链的跨链技术》

    区块链圈里第一个有影响力的分叉应该是以太坊的分叉事件。以太坊上一个著名的项目The DAO由于其自身漏洞,导致黑客窃取了当时价值约6000万美元的以太币。2016年7月,以太坊开发团队通过修改以太坊软件的代码,在第1920000个区块强行把The DAO及其子DAO的所有资金全部转到一个特定的退款合约地址,从而“夺回”黑客所控制的DAO合约币。由于一部分矿工并不认同这个修改,于是形成两条链,一条为以太坊,一条为以太坊经典,各自代表不同的社区共识以及价值观。当以太坊发生了这次硬分叉后,产生了两条区块链。由于这两条链在发生分叉之前的数据都是一样的,一个非常有意思的现象出现了:原本持有以太币的人,发现自己除了持有原有的ETH外,又有了相同数量的ETC。

    [6] 《重磅项目波卡链来袭,深度解析Polkadot跨链技术》

    2017年8月1日,由ViaBTC领导的矿工团体创建一个比特币分叉——Bitcoin Cash(简称BCC或BCH)。这次分叉,让大量的比特币持有者凭空的增加了一种新的数字货币。硬分叉这种创造货币的方式和ICO非常类似,于是一个新的名词诞生了——IFO(Initial Fork Offerings)。矿工团队在创造分叉的同时,可以在分叉发生的区块中,利用自己的特权,分配一些货币给自己或其他人(直接写成CoinBase交易即可),然后再开放让所有人都可以参与挖矿。

    [7] 《Ripple发布Interledger,欲将银行账本和区块链连接到一起》

    分叉链简单理解就是软件升级导致产生双链现象,又分为硬分叉和软分叉。

    [8] 上述各项目的白皮书

    硬分叉:当系统中出现了新版本的软件,并且和前版本软件不能兼容,老节点无法接受新节点挖出的全部或部分区块,导致同时出现两条链。尽管新节点算力较大,比如99%的算力为新节点,1%的老节点依然会维护着不同的一条链,因为新节点产生的区块老节点实在是无法接受(尽管它知道网络上99%的节点都接受了),这称为硬分叉。注意:以上情况基于新节点算力>50%。

    图片 32

    当必须硬分叉时,我们需要要求所有节点同时升级软件,未升级的节点将不能正常工作。如果有较多老节点不愿意升级,他们将工作在另外一条完全不一样的链上(这就是我们的ETC)。软分叉:当系统中出现了新版本的软件,并且和前版本软件不能兼容,新节点无法接受老节点挖出的全部或部分区块。因为新节点算力较大,老节点挖出的区块将没有机会得到认可,新老双方从始至终都工作在同一条链上,这称为软分叉。注意:以上情况基于新节点算力>50%。

    图片 33

    从上面的定义可以看出软硬分叉有各自的优缺点,首先软分叉和硬分叉相比拥有下面的优点:

    • 软分叉总是只有一条链,没有分成两条链的风险;
    • 软分叉不要求所有节点同一时间升级,允许逐步升级,且并不影响软分叉过程中的系统稳定性和有效性;

    但软分叉也有缺点:

    • 软分叉的前提是老的节点总是能够接受新节点的区块,这就要求把系统设计成向前兼容(forward compatible);
    • 软分叉总是建立在对老节点进行欺骗的基础上,它让老节点没有察觉实际上已经发生的变化,某种程度上违背了单点完整验证的原则;

    子链指的是在主链的平台来派生出来的具有其他功能的区块链。这些子链不能单独存在,必须通过主链提供的基础设施才能运行,并且免费获得主链的全部用户。子链是基于用户需求不同,而派发出来的区块链,但是它又不能独立存在于主链之外,必须基于主链才能运行,同时也可以获得主链的全部用户,以降低其宣传难度,提高用户量。下面以墨客链子链为例,说明子链技术具有哪些独特的技术与优势。第一,子链可以定义自己的共识方式和执行模块。由于墨客链研发的时间比以太坊晚,所以其扩充了子链的概念。墨客的子链一个显著的不同点是子链可以定义自己的共识方式和执行模块。子链的共识方式与主链POW共识方式又不同,其可以是PBFT、POS,甚至还可以根据自己的喜爱与功能的不同,自定义共识方式,完全的坚持以人为本的思想。自定义子链的运行是怎么样的呢?这个时候要引入一个SCS(Smart Contract Server)节点的概念。SCS节点通过提供运算能力来维持自定义的运行,同时还可以获得收入。既保障了子链的正常工作,还可以收获“红包”。“红包”收入主要是通过安装一些插件参与用户自定义的共识过程,以达到自定义挖矿来获得。实际上最终结果还是子链可以自定义挖矿。第二,各个子链之间拥有灵活的交互功能。一个子链可以使用另外一个子链提供的资源(比如分布式文件系统),也就是说我要实现某一个功能,我自己设计的子链不具备这个功能,但是通过子链的交互,我最终还是能够实现这个功能。

    1)搞不懂区块链中侧链、跨链是什么?读这一篇就够了!2) 区块链之分叉是什么鬼?3) MOAC墨客-主链与子链

    本文由金莎娱乐发布于互联网,转载请注明出处:区块链跨链技术大规模应用将在一到两年内爆发

    关键词: