简析跨链划转的工作原理
vani2017
发表于 2022-12-2 14:52:32
130
0
0
因此,人们提出了侧链、Plasma、闪电网络等技术,试图绕过公链系统,在其外部建立细分领域的应用系统。" e: E: l3 A/ S$ j
如果外部系统也是一个区块链系统(可称之为应用链),那就涉及到了跨链划转操作:将Bitcoin或Ethereum(可称之为主链或根链)上的资金划转到应用链,或将应用链上的资金划转回主链。( [) r( L" t, d3 h9 k
应用链的好处
3 D$ A" i3 v/ k j. |! e/ } R
016 h, M& h9 d+ P! J5 Y3 }1 |
2 u# ]8 e F/ t H5 e; ~4 n
应用链可针对细分领域进行设计,能够更好地适应千姿百态的应用需求,更容易与人工智能、大数据等技术相结合,为重量级应用提供基础支撑平台,加速推进区块链技术应用落地;
8 X+ Q$ Z, M. E4 a3 V& G" U3 h
025 A- S- ~2 y7 S/ U$ u1 p
8 J% Q6 V, z; l; J
用户只需要采用同一个密钥帐户,在主链上执行划转操作,然后就可以在应用链上快速、高效、低成本地执行转账、运行智能合约;
4 l6 H/ K% \1 N4 y* R R
03
能够更好地实现支付功能,解决了主链上的交易费用昂贵和网络拥堵的问题,提高了数字货币支付和现有的法币支付系统的竞争力。当用户选择了应用链进行操作的时候,可高效、方便地执行高频小额转账交易。4 F4 |! F. B+ O1 ^6 P
) P# |' M U1 G# i$ N) g
应用链的问题2 M# L( B! H% a
应用链的安全性要比主链弱一些,主链上的资金划转到应用链后,若应用链出现安全事故,可能会给用户造成财产损失。因此在应用链的设计中,要考虑到资金如何能够安全流回主链。
6 X1 `( G k: M- d% ~
主链资金划转到应用链- ?6 d* \3 f, ~, I
" F; b& Z0 v( Y) n
01
Alice发起一笔交易,将8个Bitcoin存入一个多重签名地址,这个地址里的币被多个管理员所控制,是一个资金的冻结池。这笔交易被打包到主链的M3区块中。/ I4 S/ [5 r1 p; @+ C
02+ ]; o }" g" y7 o% ~" {
+ W- F6 M4 Y7 R7 h4 I" _& Y7 v3 p
应用链需要感知、查询主链,但主链是一个封闭的系统,并不知道应用链的存在。当应用链获悉了Alice在主链M3区块中的冻结操作后,就会释放对应量的Secoin。
03) u+ Y: |& _( Z9 ?2 L
9 m! v# g9 f7 F* G5 y+ y) J
Bitcoin和Secoin在划转过程中的兑换比例可以是1:1,也可以是1:N,甚至可以引入更复杂的机制,比如Bancor算法。在图1中,应用链的一个出块节点在S4区块中按照1:1的规则释放了8个Secoin到Alice的账户。3 E" q0 F* D8 ?1 ]4 Z" D: ^3 g
图1:跨链划转示意图,来自《Drivechains,SidechainsandHybrid2-waypegDesigns》
9 \+ Y% a% _: g i% `+ _4 L* K0 {
应用链资金划转到主链
# `2 t9 _$ u# W; z; n
01
" e+ {$ ?1 O, m; O- I9 G, G
若Alice在应用链上给Bob转了3个Secoin,然后Bob在应用链上发起一笔交易将3个Secoin冻结,这笔交易被打包到应用链的S32区块中。
02
应用链的管理组获悉S32区块中的冻结操作后,会通过多重签名机制,在主链的冻结池中取出3个Bitcoin转给Bob,这样就完成了从应用链到主链的划转操作。6 L4 ^& j+ G5 |% X6 P) T* ~
0 a" ?9 H: B3 [7 y3 h* t
多重签名管理冻结池的弊端: |$ F: J$ V4 C+ t3 v
- I; i5 u% D' P& }' p$ o. A
由于主链不能感知到应用链的存在,因此采用了多重签名管理冻结池的机制,M个管理员中有N个签名(N
* G, g4 P* F1 Y7 C; E3 d
由于Etherum带有图灵完备的EVM,理论上可以实现任意复杂的程序逻辑,所以可在智能合约中实现跨链划转操作,比如在Plasma方案中,用户只需向合约提交证明数据,合约程序就会释放对应量的币并发送到该用户的账户地址下,完成从应用链到主链的划转操作。
; Z" z! y( A9 P7 Y+ V' s, A Y# P
对于Bitcoin这样的系统,由于不带有图灵完备的智能合约功能,若不采用多重签名机制,就得升级改造现有的系统架构,引入一定的跨链划转标准,让主链能够感知到应用链上的某些特殊动作。
: _9 R5 D1 e1 H% `" z! U4 j: N
对于全新设计的公链项目,设计者应提前考虑好如何支持跨链划转功能。
成为第一个吐槽的人