简析跨链划转的工作原理
vani2017
发表于 2022-12-2 14:52:32
83
0
0
因此,人们提出了侧链、Plasma、闪电网络等技术,试图绕过公链系统,在其外部建立细分领域的应用系统。
' X! S7 z, Q' @" M' z t
如果外部系统也是一个区块链系统(可称之为应用链),那就涉及到了跨链划转操作:将Bitcoin或Ethereum(可称之为主链或根链)上的资金划转到应用链,或将应用链上的资金划转回主链。
应用链的好处4 f) U2 P# b1 `/ p0 Z, s" u
01! Q. Q3 K$ o: _8 {: u2 \
i" K6 t4 S" X
应用链可针对细分领域进行设计,能够更好地适应千姿百态的应用需求,更容易与人工智能、大数据等技术相结合,为重量级应用提供基础支撑平台,加速推进区块链技术应用落地;
9 M! \8 @; k! n8 a; b
02
用户只需要采用同一个密钥帐户,在主链上执行划转操作,然后就可以在应用链上快速、高效、低成本地执行转账、运行智能合约;
( e. H3 Z7 V; m3 G6 W! A; d
03
能够更好地实现支付功能,解决了主链上的交易费用昂贵和网络拥堵的问题,提高了数字货币支付和现有的法币支付系统的竞争力。当用户选择了应用链进行操作的时候,可高效、方便地执行高频小额转账交易。
+ ?& S, K4 u7 a6 G, [: n/ Z
应用链的问题) o$ U" V& C* H) Z% u/ T3 [4 v
# _. G) i% L& \
应用链的安全性要比主链弱一些,主链上的资金划转到应用链后,若应用链出现安全事故,可能会给用户造成财产损失。因此在应用链的设计中,要考虑到资金如何能够安全流回主链。
主链资金划转到应用链" L6 m" ^' ^* z- N; C
+ F) m0 t2 E/ d8 Z% K0 |
011 t6 D5 L, t( n+ a
& \' T P3 U( J' _
Alice发起一笔交易,将8个Bitcoin存入一个多重签名地址,这个地址里的币被多个管理员所控制,是一个资金的冻结池。这笔交易被打包到主链的M3区块中。
02: Y0 I* C% x$ Q/ T3 m5 b/ w$ q! n/ R
! ]# ?2 ?- m! f; c/ ?& J
应用链需要感知、查询主链,但主链是一个封闭的系统,并不知道应用链的存在。当应用链获悉了Alice在主链M3区块中的冻结操作后,就会释放对应量的Secoin。" L) q) r7 |4 {7 O. w' Z
03* r) q+ w. c" |( w
Bitcoin和Secoin在划转过程中的兑换比例可以是1:1,也可以是1:N,甚至可以引入更复杂的机制,比如Bancor算法。在图1中,应用链的一个出块节点在S4区块中按照1:1的规则释放了8个Secoin到Alice的账户。
! |5 b, j" f0 B5 j
图1:跨链划转示意图,来自《Drivechains,SidechainsandHybrid2-waypegDesigns》
应用链资金划转到主链
' t: Y$ f' H1 P' J7 i4 _+ O+ R* Z
01: g' m8 S0 |4 ^' w) e! V
若Alice在应用链上给Bob转了3个Secoin,然后Bob在应用链上发起一笔交易将3个Secoin冻结,这笔交易被打包到应用链的S32区块中。8 b, Z0 B6 R" J% j# n% b
020 o( a/ c2 U" Z0 @3 F) r, t
应用链的管理组获悉S32区块中的冻结操作后,会通过多重签名机制,在主链的冻结池中取出3个Bitcoin转给Bob,这样就完成了从应用链到主链的划转操作。
4 J& k4 v8 W. t* q' f6 w0 I# x( g
多重签名管理冻结池的弊端
) C2 |% }' s; o- ~( }3 d
由于主链不能感知到应用链的存在,因此采用了多重签名管理冻结池的机制,M个管理员中有N个签名(N) l6 X: n4 A7 f# y& y
* u* v0 @5 Y! K
由于Etherum带有图灵完备的EVM,理论上可以实现任意复杂的程序逻辑,所以可在智能合约中实现跨链划转操作,比如在Plasma方案中,用户只需向合约提交证明数据,合约程序就会释放对应量的币并发送到该用户的账户地址下,完成从应用链到主链的划转操作。
对于Bitcoin这样的系统,由于不带有图灵完备的智能合约功能,若不采用多重签名机制,就得升级改造现有的系统架构,引入一定的跨链划转标准,让主链能够感知到应用链上的某些特殊动作。' ~9 b5 H$ B, z
对于全新设计的公链项目,设计者应提前考虑好如何支持跨链划转功能。
成为第一个吐槽的人