ALabsAchain平台今天:跨链技术概述
Sophie20172017
发表于 2022-11-28 19:53:41
61
0
0
一.跨链概念1 r1 t- a H' a& [( h
(一)背景$ j A: ?: Z* K2 C# \
7 V- o: l# p$ _5 f
当今的区块链技术纷繁芜杂,各成一派,彼此之间无法进行价值和数据的交换。声称去中心化的区块链之间的价值互换却主要依靠中心化的交易所来完成,链上的资产价值不能得到合理的评估。由于区块链之间互不连通、资产价值的大幅波动大大制约了区块链技术的应用和发展。所以链与链之间的互联操作越来越被重视,跨链的需求就由此而来。
(二)概念! @7 G' T4 j+ y
跨链技术可以理解为连接各区块链的桥梁,其主要应用是实现各区块链之间的原子交易、资产转换、区块链内部信息互通等。
5 I/ D5 Q: Y. m# j! N) s
(三)难点
6 s2 G: j4 H; h) v1 @5 O' ~
跨链是一个复杂的过程,既需要对链中节点要有单独的验证能力,也需要去中心化的输入,更需要对链外世界的信息进行获取和验证。
0 J! K* G6 C" y
二.跨链在Web3技术栈中的位置/ m z4 t6 I; ]% g* Q- ]
在讲解跨链之前,先来看下人们对未来基于去中心化服务的Web3技术栈示意图,以便于理解跨链技术在整个技术栈中的位置。目前还没有关于Web3的详细分析,这里先做简单介绍。
/ n% m# p! P, }/ d% p5 a! j
Layer0层为基础协议层:
包括P2P,UTXO账本结构,执行模型EVM,WASM等。+ Y. d& D U# x& m1 y
Layer1层为区块链链上层:& l! u$ g0 c1 ^) G
' N% d4 x( N/ X7 l4 H" @
包括数据存储相关,如IPFS;去信任交互平台,如Polkadot;去信任协议,如比特币,以太坊,匿名交易的Zcash等。
- g0 D% }. M: h6 k! p4 E6 ?' \/ F
Layer2层包含众多链下协议,目的为扩展现有区块链。
Layer3层包括开发API和语言,如Web3.js,Solidity等 R" y% D# n+ e) x) F
Layer4层包括协议可扩展的用户接口,如Metamask,Parity等。
通过以上分析可以看到,跨链技术位于Layer1层,是重要的基础设施,是独立的区块链之间交流的桥梁。 `# r A# _4 }9 x
三.常见跨链技术
(一)公证人机制(Notaryschemes)
& n9 X4 \7 ^3 w) {5 A
概念:链与链之间互操作最简单的方法是使用公证人模式。中心化或多重签名的见证人模式,见证人是链A的合法用户,负责监听链B的事件和状态,进而操作链A。本质特点是完全不用关注所跨链的结构和共识特性等。假设A和B是不能进行互相信任的,那就引入A和B都能够共同信任的第三方充当公证人作为中介。这样的话,A和B就间接可以互相信任。
代表项目:Ripple;BTS
1.Ripple的InterledgerProtocol(ILP)" Z/ |0 j o% u- T7 |" I
$ w* G, [. x. @& l. f2 a6 ?# ?3 Z/ n
是最典型的代表,它本身不是一个账本,不寻求任何的共识,但它提供了一个第三方顶层加密托管系统称之为“连接器”,能使不同的记账系统通过“连接器”互相自由地传输货币。该协议采用密码算法用连接器为这两个记账系统创建资金托管,当所有参与方对交易达成共识时,便可相互交易。该协议移除了交易参与者所需的信任,连接器不会丢失或窃取资金,这意味着,这种交易无需得到法律合同的保护和过多的审核,大大降低了门槛。同时,只有参与其中的记账系统才可以跟踪交易,交易的详情可隐藏起来,“验证器”是通过加密算法来运行,因此不会直接看到交易的详情。
+ b2 ]6 F0 C. u( w. J
2.相对Ripple来说,BTS的分布式程度会更高
: ^: X, V$ Y! @5 W- w# ]8 v$ ^; g
采用的是多重签名的验证方式,这种方式相对简单,容易搭建跨链的分布式交易所。) P2 G: x* t: j) H5 W4 e
U% G8 P( ^1 w& I n, A# S
(二)侧链(Sidechains)9 a+ p0 p& G& I7 R% z- n1 H* U
$ F: ~. X$ A2 I+ a/ z2 [0 N
侧链是以锚定某种原链上的代币为基础的新型区块链,如法币对黄金的锚定一样。4 E& g z" Z" Y" i9 @% w5 g" {
如果一个链B能拥有另外一个链A的所有功能,关注所跨链的结构和共识特性等,则称链B为链A的侧链,链A为链B的主链。其中主链A并不知道侧链B的存在,侧链B知道有主链A的存在。
F( R6 v/ E9 K# U* o: V
典型项目:RSK,Bytom,Lisk,元素链,RDN
! R& l2 |9 g. S$ J* j. c& _) e
侧链技术原理图
侧链系统可以读取主链的事件和状态,即支持SPV(SimplePaymentVerificaiton),能够验证块上Header、merkletree的信息。. b& U" Q6 P5 d0 r) x1 B5 a* \
$ _+ ^$ G3 o- a& ^
(三)中继(Relays)
* e; E2 A! X, @/ L8 }# e4 O, m
在跨链中,可能会出现多条链共同交易的情况,解决这个问题的关键是添加一个特殊区块链作为中枢,这个中枢就是中继链。双链不知道中继的存在,而中继必须要知道两条链。0 l6 o* y3 d2 s* @$ t
( C5 a* M J5 N2 F1 |, F; H
典型项目:BTCRelay,Polkadot,Cosmos5 @" b1 l2 W( Q6 N7 ]7 P
: r0 C. s' W' u' h$ A
1.BTCRelay' Z5 V% @" @$ y! j: v
BTCRelay其主要原理是BTCRelay把以太坊网络与比特币网络以一种安全去中心化的方式连接起来。BTCRelay通过使用以太坊的智能合约功能可以允许用户在以太坊区块链上验证比特币交易。0 ]! }3 h# u/ D6 ?7 O
2 s: Y/ O4 x4 F: d4 h3 J' L: A
BTCRelay的功能包括验证比特币的交易,传递比特币交易到以太坊智能合约,存储比特币区块头部,检查智能合约内部最新的比特币信息。BTCRelay使用区块头创建一种小型版本的比特币区块链,以太坊DApp开发者可以从智能合约向BTCRelay进行API调用来验证比特币网络活动。
2.Polkadot
Polkadot的设计核心理念为即时拓展性和延伸性,解决了当今两大阻止区块链技术传播和接受的难题。Polkadot计划将私有链/联盟链融入到公有链的共识网络中去,同时又能保有私有链/联盟链的隐私和许可的保护措施。+ f3 a5 K: ]1 g/ _$ G/ }" R# U
Polkadot的核心思想是区分交易方发起和执行交易的方式以及交易方统一记录的方式。Polkadot提供基础的中继链,很多可验证的、全球动态同步的数据架构都建立在这个基础上,这些数据架构为平行链或侧链。区块链应用可以将以太坊分叉,按照各自需求调整,通过Polkadot与以太坊公有链连接,或者给不同的链设置不同功能,实现更好的扩展性和效率。) ?8 u0 n+ l. y* V6 W, @2 U3 ^
(四)哈希锁定(Hash-locking)
哈希锁定起源于闪电网络的HTLC(HashedTimeLockContract),如今也使用较为广泛,但应该不会成为主流。
HTLC(HashedTimeLockContract)含义,A与B达成这样一个协议:协议将锁定A的1个比特币,在T时刻到来之前,如果B能够告诉A一个正确的“暗号”R,使得R的哈希值等于约定的值(R),B就能获得者一个比特币。如果B在T时刻到来时不能提供正确的“暗号”R,那么这一个比特币自动解锁,回归A所有。1 n/ U, N3 n2 f) V% k4 \: C' G
哈希锁定使用场景:
" x! R; U t3 Q, X; F
例如使用Hash-locking来实现20ETH和1BTC的原子交换过程:
9 I% B# ?0 n4 [* U% H
1.A生成随机数s,并计算h=hash(s),将h发送给B;. A* ?" Q; d: ^- G/ g
' E5 t! I* n( i" N" w |# B$ S
2.A生成HTLC,超过时间设置为:2小时,如果2小时内B猜出随机数s,则取走1BTC,否则A取回1BTC;
3.B在以太坊里部署智能合约,如果有谁能在1小时内提供一个随机数s,让其hash值等于h则可以取走智能合约中20ETH;) p4 `7 o7 U7 J) I/ V; A! {
4.A调用B部署的智能合约提供正确的s,取走20ETH;7 W4 E* Q+ F4 G4 @$ t6 s% C: p
5.B得知s,还有1小时时间,B可以从容兑现A的HTLC的1BTC。, Z, `' L6 Z+ c1 H' g
一旦超时,交易失败,符合原子性。3 p& i5 a3 x [7 u6 A
9 M$ b7 G4 D6 p" t, ?3 q# g
四.总结
早期跨链技术包括以瑞波和BTCRelay为代表,它们更多关注的是资产转移;现有跨链技术以Polkadot和Cosmos为代表更多关注的是跨链基础设施。跨链项目目前尚未有很好的落地案例,尚在摸索中。
成为第一个吐槽的人