区块链跨链技术全面解析

区块链

580人已加入

描述

1. 引言

加密世界的终极愿景是去中心,下一代价值互联网是否可能取得成功?区块链本身是否存在泡沫?

区块链1.0首次提出了点对点的电子支付,只知道地址,越过中间机构,全球任意两个人之间快速支付成为可能。这是人类历史上第一次使用技术手段让私有化财产神圣不可侵犯。

pow的本质是时钟,pow的工作量证明锚定了交易顺序。非图灵完备的脚本语言初步奠定了智能合约的核心思想,满足什么条件进行支付。然而,比特币的脚本引擎是非图灵完备的。由此诞生了区跨链2.0,以太坊的愿景是做世界计算机,以太坊抽象了世界的状态,每一笔交易改变了当前世界的状态,通过建立图灵完备的编程语言,使得任何人都能够创建合约和去中心化应用,从而实现了图灵完备和价值知晓,属于智能合约的时代开始爆发。

而当前区块链实在太慢了,比特币十分钟左右挖出一个区块,一笔交易需要一个小时得到确认,远远不能满足b2b小额支付的要求。以太坊几乎每时每刻都在阻塞,加密猫等以太坊上的dapp一次次让整个以太坊网络瘫痪。加密世界存在不可能三角,加密货币无法扩展,在交易的吞吐量和验证者的去中心化上存在矛盾,因此出现了诸多解决方案。从链上扩容、链下扩容方案,以及eos等所代表的dpos共识通过减少验证节点提高tps牺牲一定程度的冗余,tps的提高不可避免的带来了中心化和贿选问题。

围绕着“中本聪愿景”,链上扩容诞生了以bchabc和bchsv大区块的解决方案,大区块增大了区块体积,从而提高了网络的吞吐量,然而大区块也造成了挖矿的中心化。十倍区块体积,增大近乎十倍区块传播时间,区块链网络更容易出现分叉和孤块,并且中心化问题更加严重。另外围绕着链上扩容产生的隔离见证及schnorr签名算法等通过减小签名体积较少区块大小,但不能解决扩展性的根本问题。绝对的小体积和绝对的大体积都会使网络崩溃掉。以比特币为首的加密货币通过支付通道技术技术及哈希时间锁建立了闪电网络,闪电网络通过链下交易链上结算的方式以及闪电网络之间的互联,使得通过闪电网络任意两个用户之间能够高速交易,使得tps值超越vsa,大规模小额支付成为可能。那么更近一步呢? 区块链大规模应用的限制在哪里?

TCP/IP等互联网协议诞生使得大规模信息交换成为可能,信息的自由流转带来了互联网网的蓬勃发展,从而带来了信息化的革命。

从互联网到区块链,作为web3.0的核心技术区块链技术将爆发巨大的生命力,从而引领从信息互联网到价值互联网的范式转化。而我们看到当下目前区块链间呈现出来的是孤岛效应,价值无法自由快速流通,生态无法对接,体系无法增长。这种孤岛的现状不利于区块链行业的整体发展。想要形成一个真正的价值互联网,就必须解决链与链之间价值流通的障碍,这就需要打破链间孤岛的跨链技术。

2. 从互联网到跨链的意义

为了理解区块链未来的发展以及跨链技术将会带来的巨大影响力,我们回顾下互联网的发展史。从1996年到如今,互联网经历了两个完整的阶段性变迁,分别是从Web1.0到Web.2.0,Web2.0至Web3.0。

2.1 从 web1.0 到 web2.0: 互联网演进史

互联网从诞生之初,就是为了连接你我,从而在交互中产生巨大的价值。

web 1.0 时代

社交网络和在线视频流出现之前,互联网就已经存在了。Web1.0甚至在20世纪90年代谷歌出现之前就已经存在了。当时的互联网是由AltaVista和网景公司主导的。网页是“只读的”,用户只能搜索信息,浏览信息。

Web 2.0 时代

在Web 1.0之后,互联网的第二次迭代被称作Web 2.0,也就是“可读写”网络。到了2.0时代,用户不仅仅局限于浏览,他们还可以自己创建内容并上传到网页上。

在这个时代,诞生了问答式的、交互式的门户,诸如博客,WIKI百科,最明显的变化是信息变得不再是从官方到个人了,而是拓展出来交互式的内容产生,信息从个人到平台再到个人,需求的满足也变得不再困难。

Web 2.0的主要目标是使互联网更加民主,并使其尽可能地方便用户访问。Web 2.0使得社交互动和在线经济大放异彩。当然,Web2.0也开始信息过载。根据联合国的数据,互联网用户的数量从最近的7.38亿增加到32亿,庞大的用户量和指数级增长的数据引发了挑战和危机。

2.2 为什么需要web3.0

传统的网络价值基于用户交互,比如电话、社交网络。这里引入一个衡量网络价值的公式,梅特卡夫定律(Metcalfe‘s Law):网络价值与网络节点(用户)的平方成正比。这种关系基于所谓的「网络效应」,即网络参与的用户越多,网络价值越大。

Chris Dixon说,依赖网络效应的技术平台其增长遵循“S型曲线”。在产品发布的最初几天,平台增长取决于用户的数量。随着公司的成长和越来越多的用户加入这个平台当中,增长曲线开始变的平缓。在公司发展的后期,它只专注于创造更多的利润,追求从网络用户那里获得最大的利益。

当公司达到S曲线顶端时,他们与网络参与者的关系从正和变成了零和。平台继续增长的最简单方法是从用户那里获得数据,并且还要与竞争对手竞争用户和利润。平台跟开发者、内容创造者和商户之间,也从合作逐步走向竞争。垄断带来了对用户的损害,以及中心化平台的作恶,比如百度获取用户的信息,百度广泛联系各家公司,让大家把信息提交给他,方便用户搜索。现在如果不交钱,公司的官网在百度上就搜不到。百度为了赚钱,把病患导流给莆田系医院,以及搜索引擎上排名靠前的数不胜数的诈骗,对用户的财产及生命安全构成了巨大的损害。

而去中心化区块链可以改变互联网平台垄断的局面。因为区块链是去中心化的,靠公开透明的共识维持的经济体。网络的参与者贡献越大,相应的权利也就越大,但是没有个体能控制全局。

关于这点,Gavin Wood曾经发表一篇著名演讲,对web3.0 做了以下展望。

Web 3.0将创造一个新的全球数字经济,创造新的商业模式和市场,与谷歌和Facebook一起破坏平台垄断,并产生大量自下而上的创新。廉价政府对我们的隐私和自由的攻击,如广泛的数据拖网,审查和宣传,将变得更加困难。

web3.0将从以下几个方面来重塑互联网。

web 3.0 将采用“蜂窝”结构,实现p2p经济

由以上分析我们看到,当前互联网是过度集中化的,因此导致出现了很多问题,比如寻租、权力烂用、舆论影响。亚马逊和微软控制着超过 60% 的网络存储容量,这两家公司还控制着大多数身份登陆信息。这些垄断寡头利用了互联网技术红利,并且不断为自己的企业积累财富。

web3.0 的P2P架构引领了第四次工业革命,因为生产资料得到了简化,人们自己通过自由职业(音乐、视频、新闻行业都能满足自由职业需求)来提供服务、或是通过 3D 打印自己生产商品。实际上,如今人们生产额外产品的边际成本正在变得越来越低、对于创意经济生产者来说,他们的大部分劳动也会得到相应的回报,艺术家和记者甚至可能成为改变游戏规则的关键要素。

比如在知乎,贴吧等内容平台上的写作,在当前互联网模式下,个人的劳动是没办法直接转化为经济激励,甚至诞生了内容的版权属于平台方等霸王条款。去中心化内容写作等web3技术应用的流行,将使得个人劳动成果直接转化为经济价值。

web3.0 带来更民主的互联网治理

web3 把治理权力交给了用户,而不是那些中心化的寡头。由于强大的加密功能,用户再也不需要“中介”了。而随着 Web3 有效防止数字资产双重花费风险之后,我们可以放心地与陌生人交换价值,签订合约、投票、交换价值等交易的信任程度也会得到大幅提升。当全世界都使用一个数字系统的时候,信任也会不断增加。

去中心化身份系统允许人们对身份信息进行自我管理

当前如谷歌、facebook等垄断寡头控制着互联网上的用户身份信息,互联网寡头可以在未经用户允许的情况下控制数据,关键是还经常出现数据泄露事件,而web3.0去中心化的身份系统允许人们对身份信息的自我管理,决定哪些可以授权,从而解决无处不在的隐私泄露等信息。

智能合约和加密货币带来了快速、无缝的交易体验

前互联网缺乏货币结构。在数字领域里,如今的互联网在处理传统“法定货币”资金方面仍然存在巨大的摩擦。把真实世界里的货币“搬到”数字领域里的成本依然非常高。比如,信用卡交易手续费比例高达 5%,而根据世界银行的数据显示,跨境交易成本也不低(平均费率为 7%),而国际汇款的时间成本和费用甚至更高。自从二十世纪七十年代以来,银行间转账就一直依赖环球同业银行金融电讯协会的电子结算系统SWIFT,而且至今都没有过变化。

Web3 基础设施上的支付代币可以帮助新用户摆脱当前的银行闭环束缚,并且鼓励开发创新的区块链服务,比如利用基于区块链和加密模式的信贷产品提供贷款。支付代币会大幅降低交易费用,甚至消除透支问题,因为区块链上不可能提供超额资金。

2.3 跨链技术未来的地位

web3.0就是跨链技术成熟之后的区块链世界,依托于跨链技术,多链之间无阻隔进行融合,打破信息孤岛,实现真正的价值交换与万物互联,重塑当前互联网的形态,解决互联网2.0时代的一系列问题。

3. 详解跨链

跨链最基本的意义就是要实现价值的流通,解决不同链之间的价值孤岛问题。跨链技术如能落地,不仅能实现不同链之间资产的自由流通,更重要的是能够释放不同链的潜力,让更多的用户参与,使更多的链可以连通,最终形成一个真正的大生态,一个真正的价值互联网。

在公链领域,不同的项目在安全、隐私性、高效性、灵活性、复杂度、易用性、甚至政治价值等方面做出了不同的折衷权衡。在私有链和联盟链领域,在不同的行业会有不同的链,甚至同一行业内也会有多条链。在这样的一个世界里,自然会出现一个问题:这些链相互之间如何互操作?

对于互联网的中心化应用,平台之间的连接本质是信息的流通,中心化应用通过彼此开放API,实现了互联网应用之间的“跨链” 。与互联网的信息流通不同,跨链不是简单的信息传递,它要把价值从一个链转移到另外一个链。跨链通过连接相对独立的区块链系统,实现资产、数据等的价值互操作。

3.1 跨链目前的研究

跨链当前的落地场景

跨链资产转移

以太坊诞生之前,区块链很少谈及“合约”,当时只谈币。

资产兑换:A想用X链的币(Token)兑换Y链的币(token),B想用Y链的币兑换X 链的币,经系统撮合,两者互相兑换成功。

资产转移:A想把X链的资产(币token)转移到其他区块链上,在x链上锁定,在新的链上重新铸造等量等值的币。

资产跨产交换是指将一条链上的资产兑换成等值的另一条链上的资产,每条链上的资产总量保持不变。跨链资产互。这就是币的跨链。本质上币的跨链并没有真实的币从一条链跑到另外一条链,只是币在各自链上相互纠缠一样锁定和解锁的状态。

基于资产的跨链做去中心化的交易所。依赖币可以跨链,支持用户挂单,通过跨链合约来提供撮合,撮合成交后使用币的跨链来完成币的转移,可以做到完成不依赖于特定的服务器的。

智能合约的跨链调用

智能合约本质上就是代码,这些代码可以依据区块链上的特定数据来触发执行。

智能合约我们可以简化理解成为一个函数,输入特定的参数,代码就会自动触发执行,就能得出特定的结果,并且给出稳定的输出结果。智能合约不能自己主动触发,需要外部源的触发。比如以太坊上的智能合约,代码是在以太坊区块链上,要激活合约也需要在以太坊区块链上发送交易。

假如在一条链上发布一个智能合约,然后依据另外一条链上的特定信息,来触发这个智能合约执行特定的操作,这就是智能合约(调用)的跨链。

跨链技术的未来展望

由于跨链技术的复杂度,当前链接资产转移,链的互联互通仍然存在诸多问题没有达到完全成熟,仍然处于探索阶段。目前的区块链世界就好比60年代的单机时代,链与链之间高度异构化,彼此难以互通,所有的数据和服务都局限于孤岛式的区块链中。若是未来,所有的区块链系统能通过某一标准化跨链协议链接起来,那众多的区块链系统就能协同工作,为更多的用户、更多的服务提供支撑。跨链技术的成熟与普及或将引爆区块链网络的繁荣。不同的是:互联网是信息自由流通的网络,而区块链跨链网络则是价值自由流通的网络。

独立的区块链网络终究要走向互联互通的未来,也就是web3.0时代,如何将已有的的和未来将要开发区块链网络都联系起来成为统一的整体,即万物互联是未来跨链网络最重要的问题。

3.2 跨链技术面临的难点

各个公链之间的底层技术实现差异给跨链技术带来了不小的障碍,跨链需要解决几个难点问题:

保证跨链信息真实可靠

原链上的交易信息对于另外一条链来说是一个外部信息,如何保证这个外部信息进入另一条链是正确的,是整个跨链机制的重要环节。例如,pow机制的区块链上没有最终性,因为pow机制整个网络始终存在分叉,只是随着确认快的增加,概率逐渐变小。

由于区块链可能分叉,交易的多个部分被打包进区块,链可以进行重组,块也可以变种孤块,这种情况下可能导致跨链交易的部分成功,部分失败,也就是说不真实的交易进入了链。

跨链交易的原子性

区块链的可以看做事分布式共识维护的状态机,状态机通过交易执行完成状态转移。跨链的互操作应该引发双发的状态转移,也就是两个互操作的链都执行了交易,而交易执行之后的状态具有一致性。一个跨链交易要引起两条链乃至更多链的状态改变,而这些改变要么成功要么不成功,这就是原子性。

比如跨链交易的双重支付问题,当交易处理的某个环节停止了,整个交易能够撤销,而不会存在某个部分失败,部分成功。部分失败的情况,就是无法保证原子性而造成了双重支付问题。

在跨链技术中如何保证原子性的难点在于跨链双方是两条独立的链,可能具有不同的共识机制、数据结构、交易处理等逻辑,造成了交易没有被最终执行。

3.3 跨链技术的发展

从技术的角度讲,链间互操作有三大类策略:

中心化或者多签的公证人机制:一方或者多方同意在链B上采取某行动,如果在链A上发生了某事件。

见证人机制是最简单的实现跨链操作的方法。在见证人机制中,一个可信的实体,或者多个实体所组成的团队,被用来向原链X声明链Y发生了某个事件,或者声明关于链Y上的某个断言为真。这些实体可以是活动的,不断监听链Y上的事件,当发生某事件之后,自动的做出相应;也可以是响应式的,只有收到请求的时候,才会对某些消息进行签名。

侧链/中继:一条链的内部系统可以验证和读取其它链上的事件或状态,也就是轻节点跨链方案。

中继是实现互操作性的更加直接的方法,它不再依赖可信的中间人来提供关于其他链的信息,而是让链本身接管了这一任务。大体的方法是这样:假定链B上的智能合约希望了解链A上是否发生了特定的事件,或者在链A的某个状态上,某个对象拥有某个特定的值;假定链A被设计得像Bitcoin或者以太坊那样有“区块”和“区块头”的概念,而且在区块头是一个区块(以及当前状态)的压缩的表示(此压缩的表示基于密码学的一些构造,例如Merkle树)。

这时,我们就能在链B上创建一个智能合约,它以链A的区块头为输入,使用链A上的共识算法所确定的标准验证流程来验证这个区块头。

这就是轻节点跨链方案,一个链B上的智能合约希望验证链A上的某个特定的交易、事件或状态,它会以一种非常类似请客户端验证的方式,通过Merkle Proof的方式来验证。由于区块链是自包合的环境,并没有自然的访问接口可以感知外部世界,链A上的数据实质上是被某个用户提交到链B上的,但是由于这些数据时密码学上可以验证的,因此无需相信这个提交数据的用户。

哈希锁:在链A和链B各自设置一个操作,这两个操作有相同的触发条件,通常这个条件是揭示某个哈希值的原像(即由怎样的原始数据可以哈希得到此哈希值)

在跨链原子交换的场景下,哈希锁的机制可以简单地描述如下:

1. A生成一个秘密的随机数s,然后计算其哈希值hash(s)=h,之后A把h送给B。

2. A和B都将自己的资产锁定在一个智能合约中,A先进行锁定,B看到A的锁定操作成功之后,再进行锁定。智能合约的逻辑是:在A一侧,如果在2X秒之内,秘密的随机数s被提供了出来,那么资产就转移给B,超时则资产传回给A;在B一侧,如果在X秒之内s被提供了出来,那么这笔资产就转移给A,超时则资产传回给B。

3. A为了获得B的合约中锁定的资产,会在X秒之内揭示s;同时,这也保证了B可以在链上观察到s,从而获得A的合约中锁定的资产。

3.4 ChainX 对跨链的实现

BTC 建立了最大范围共识,却交易效率低下;ZEC 建立了隐私功能,却没有智能合约能力;ETH建立了智能合约,却无法迁移至 PoS 系统;ChainX 通过去中心化的的方式将链间资产进行统一转化,任何链只要建立与 ChainX 的连接,就可以与所有链进行资产互通。

ChainX 采用轻节点的模式进行跨链,其中用户通过把资产在原链上锁定,之后在目标链上发行映射资产,同时可以在目标链上申请提现,最后在原链上解锁的过程。

比特币

资产在原链上并没有消失,而是转由轻节点协议去中心化托管,或由单独的个人或多人中心化托管。资产跨链映射一般分为见证人、哈希锁定和轻节点中继模式。见证人系统需半中心化信任这些担保机构;哈希锁定直接转移资产所有权,无法进行跨链映射,交易可能中断。而如果原链集成不了目标链的轻节点,那原链资产只能由个人或多签托管,如果可以,则由目标链在原链上的轻节点协议托管。对于拥有高效轻节点的链,ChainX 将采用轻节点协议完成往 ChainX 链的资产映射,但现有主流链一般无法集成 ChainX 链的轻节点,所以只能采用多签地址或多签合约联合托管用户的原链资产。每届信托节点的选举周期为 10 天,将从共识节点中根据总得票数选举产生前 15 人的信托节点,自动生成冷热两个多签地址或合约,每次换届后,老地址的资金会转入新地址用户可以实时查看系统的跨链资产发行和储备量,没有任何信托节点可以单方挪用。

依托于跨链技术的实现,ChainX将建立史上最大的BTC二层网络,从而实现真正的去中心化跨链资产枢纽。

4.预言机

跨链必然涉及链内和链外世界的数据交互,在这个交互过程中,如何验证链外数据至关重要。

4.1 预言机的基础原理

预言机(Oracle)的基础原理非常简单,Oracle的原理是这样,我们知道智能合约是跑在链上的,智能合约的本质是程序。举个简单例子,对于个竞猜的Dapp,我们赌明天的天气,假如明天12点天气晴, A方赢,假如明天12点下雨, B方赢。在这个场景下,合约怎么知道12点是否下雨。对于普通的程序而言,只需要调用外部数据,比如到12点的时候调用气象局的API.而对于智能合约而言,是没办法主动调用api,因此需要预言机去触发。

4.2 为何预言机是必要的

区块链是一个确定性的、封闭的系统环境,目前区块链只能获取到链内的数据,而不能获取到链外真实世界的数据,区块链与现实世界是割裂的。

当前智能合约走向真正的商业应用仍存在相当的距离。

1. 原有的智能合约主要依靠区块链的原生资产(如以太坊)作为一般等价物,数字资产波动巨大,缺乏稳定性,法律定位不清。

2. 公有链本身缺乏身份认证系统,区块链本身的设计有着“只认私钥不认人”的特性,而现实世界的主体需要明确的身份,区块链系统的使用者难以与现实世界直接勾连。从法律角度看,“私钥”与持有者的“弱关联”极大的限制了智能合约的商用。

3. 公有链智能合约离走向真正的商业生态存在一个难以跨越的逻辑难题即“预言机”问题。

从现实的数据上看,当前在以太坊上,绝大部分的智能合约都无法挂接现实世界,无法起到推进实际产业的“去信任化”,降低信用成本,智能合约在实际的产业生态中遭遇困境。

以上可得,所谓预言机,本质上与外界联通的通道,也就是链下数据的上链问题。预言机的功能是将外界信息写入到区块链内,完成区块链与现实世界的数据互通。当智能合约的触发条件是外部信息(链外),就必须需要预言机来将现实世界的数据输入到区块链上,因此预言机是必要的。

如果没有预言机,区块链的发展就局限在只能使用链上的那一点点资产数据的范围内,这显然不符合我们对它的期待。假如用互联网与区块链进行类比。互联网的数据来源也机会只有网外(对应链外),它同样有数据的“上网”,对应链内,为何互联网没有预言机问题?原因在于,互联网的运用可以从网外读取数据,而区块链的应用基于共识需求,必须通过预言机来读入一个一致的链外的数据。

4.3 预言机使用场景

预言机作为区块链与现实世界进行数据交互的桥梁,应用场景非常多,可以说一切需要与链下进行数据交互的 Dapp 都需要预言机。

由于智能合约及区块链“一经部署,难以更改”的特性,智能合约的调用条件在部署时配置,而后续触发智能合约执行则需要其他的条件,如果这些条件和信息是来自于区块链内部(如某人的转账交易、众筹的封顶额度)则不需要“预言机”参与,而如果智能合约的触发条件来自于外部世界,如某地的气温、商品货物的流转情况等等,则一定会涉及到外部信息上链。

预言机的应用场景比如金融衍生品交易平台、借贷平台、快递追踪/IoT、稳定币、博彩游戏、保险、预测市场等,目前最主要的场景就是 DeFi。

以下列举几个典型的预言机使用场景:

稳定币及加密货币衍生品

稳定币和加密衍生品需要频繁获取链外实时价格数据,类似 DAI 这样的稳定币系统,需要获取 ETH 的实时价格,来判断所抵押的加密货币是否达到了平仓价格进而触发平仓。假设有 1000 个节点,那就需要向交易所(比如币安)或 CoinMarketCap 的 ETH / USDT 交易对进行 1000 次的 API 数据请求,但是,由于 ETH 的价格是实时变动的,加上网络延迟、计算速度等原因,每个节点获取到的价格可能都不相同,这部分数据被输入到智能合约后,节点间无法达成共识,那么整个系统就会崩溃。

去中心化保险自动赔付

通过预言机进行及时可靠的被投保链外事件的获取,基于区块链的去中心化保险可以实现诸如航班延误险等险种的自动赔付。

去中心化Dapp

链上去中心化博彩等游戏等往往需要安全可靠的随机注入,预言机介意通过提供可靠,无法预测,可验证的随机数。

区块链计算市场

机器学习训练模型、3D渲染等商业计算需要完成多种复杂的计算任务,链下计算市场提供可验证的、无限的链外计算能力。

4.4 预言机的分类及是否有必要接入

预言机的核心在于解决信任问题,因此,预言机的分类而言,在于信任生产机制的不同。根据信任的不同来源,可以把如今的预言机分为以下三类:

1. 由可信的中心化机构提供数据,比如Oraclize, 它是中心化的。

2. 由分布式的节点提供数据,比如chainlink,它是去中心的。

3. 由可信的联盟链提供数据,比如Maker, 它是半去中心的。

假如跨链项目需要链外的数据,则需要预言机,比如预测,博彩,defi等应用,假如跨链项目是链间资产、消息的传递,比如去中心化交易所,数据来源由链本身提供,则不需要预言机。预言机本身是一个非常大且复杂的应用,并且要确保数据可信,跨链项目可以在可以选择自行开发或者接入已有的预言机系统,在满足需求的情况下。

从功能上看,预言机解决的是信任问题,但从本质上看,预言机解决的是信任问题。用预言机上链数据并不难,简单的读写操作把一个链下的数据喂给链上的合约;但生产信任却很难,如何使得自己提供的数据能够满足用户对信任的需求。

结语

从信息互联到价值互联,区块链技术将爆发出巨大的生命力,跨链技术使得链于链之间价值的自由流转,预言机使得现实世界于区块链世界的连接于统一,智能合约的自动执行于触发,将够带来商业模式的巨大变革,引领未来互联网网从2.0时代到3.0的变革。
来源: ChainX社区 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分