Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

WormholeContracts 一种新跨链方案

茹蕙zx
84 0 0
一、现有的方案( f9 y0 i! U; `, W& p  i, Y4 ]
5 b, [( L- T* D! X, d" |+ C0 ~8 @
    目前以太坊上最去中心化的比特币锚定币是tBTC。; k( M/ x3 A5 `) b( c

' _" G+ U( m) p$ L6 ~    tBTC系统内的关键角色是验证人,每次铸币都有3个验证人被随机选中,验证人必须提供价值1.5个比特币的ETH作为质押品。通过门限签名方案保证没有人能单独控制抵押品,必须3个签署者一致行动才能控制比特币。6 p5 `/ m# E" l: `& c: p
4 k1 v4 n7 O) U5 A- W# L
    我们可以看到,每个tBTC需要250%资产抵押才能发行。我们能否设计一个方案,拥有tBTC的去中心化程度和安全性,同时大大降低质押率呢?
( u1 ]1 ~" u3 F0 B( o, t
' N" k2 a/ Q8 {    二、虫洞合约
3 Y) n/ [' S- E7 V$ s4 `
& \0 J( d3 \2 c( _# _8 J8 y) C" G( K    设现有A链和B链,它们都支持智能合约。现要将A链上的A币跨链到B链上去。
! j: C$ U; D) [% f) V* O4 j& H
, \" l6 J1 e5 m& L    在A链上部署一个智能合约A,在B链上部署一个智能合约B,A合约和B合约是成对的智能合约。跨链的基本过程就是:将A币发送到A合约,然后从B合约相应地铸造出锚定币tAtoken。反向跨链也是类似的,将tAtoken发送到B合约中销毁,然后从A合约中提取A币。
, y# H6 R! }6 B
/ \7 ^- W( N) f6 {5 L! x; e    这个设计的关键就是怎样在B链上证明有A币发送到了A合约,以及怎样在A链上证明有tAtoken发送到了B合约。
, B8 s. Y* e1 ?  ?7 S, Z' L, D, _* P5 \
    首先,规定基准罚金。A链上的基准罚金为a个A币,B链上的基准罚金为b个B币,a个A币与b个B币的价值应当大概相等。A链和B链上有相应的验证人。A链和B链的验证人相对独立,A链上的验证人不必是B链上的验证人,同样B链上的验证人不必是A链上的验证人。验证人可以自由加入和自由退出。6 s2 j& X9 w% q
' T. q: w8 t! ~9 O1 R# I+ i
    验证人有三个级别:初级验证人、中级验证人和高级验证人。% |1 `3 ?" H, @6 w/ o1 e5 H
& w- n" @$ c( J, ~
    A链上的初级验证人需要在A链上向A合约质押不少于2.1a个A币,在B链上向B合约质押不少于b个B币。A链上的中级验证人需要在A链上向A合约质押不少于21a个A币,在B链上向B合约质押不少于10b个B币。A链上的高级验证人需要在A链上向A合约质押不少于210a个A币,在B链上向B合约质押不少于100b个B币。
' x9 n3 o0 q6 k) I+ ?6 d
% B) S* W' d% S/ S5 l7 I3 a* x9 @& N    B链上的初级验证人需要在B链上向B合约质押不少于2.1b个B币,在A链上向A合约质押不少于a个A币。B链上的中级验证人需要在B链上向B合约质押不少于21b个B币,在A链上向A合约质押不少于10a个A币。B链上的高级验证人需要在B链上向B合约质押不少于210b个B币,在A链上向A合约质押不少于100a个A币。
- F* n* _$ N6 ?4 o% Z* x
" A; P2 w* o9 d" Q: z* C    一般而言,验证人质押的保证金越多、处理的事务量越少,可信度就越高。也就是说,我们可以通过牺牲效率来换取安全性。因此,我们需要设立这样三种级别的验证人,对应不同的效率和安全性。' X: @. s- r; ^8 A5 z8 n+ p

& E0 ?" o( z4 L5 s- G    A链上的(初级、中级、高级)验证人加入:
9 Z% ]  C! ?; W" Y: T% \7 M2 d) f3 u8 t+ M" I4 U' v* a+ j- M
    1.交易者在A合约发送不少于(初级为2.1a、中级为21a、高级为210a)个A币作为保证金,同时交易包含交易者在B链的地址。
( v) D( t2 Y/ Q5 r# o5 u
: R- b9 i& s7 ^, e$ C7 l    2.交易者需要在B链上由前面交易中指定的地址向B合约发送若干B币作为保证金,使保证金不少于(初级为1.1b、中级为11b、高级为110b)个B币,其中(初级为0.1b、中级为b、高级为10b)个B币为备用的验证手续费,同时交易包含步骤1发送的交易的完整内容。9 ^" D8 L8 b# p, t- u
7 I+ D7 k: U' m, N( ?# ]9 _) z
    3.如果当前没有不少于3名同级或至少1名更高一级的有效验证人(限中级、高级验证人加入流程),转到步骤4(如果该步骤没有被冻结)。如果当前有更高一级的有效验证人(限低级、中级验证人加入流程),转到步骤5。如果当前有不少于3名同级别的有效验证人,转到步骤6。如果以上三个步骤的条件都不满足,那么将等待直到满足其中一个条件。6 l; s! i# |$ B. Z, \1 H7 R
: x/ d/ |% R5 V9 M2 N. `
    4.步骤2发送的交易在区块链上确认后将强制由经B合约验证通过的A链上的所有下一级验证人(不受验证权力被冻结影响)负责验证。验证人需要向B合约发送验证交易,交易包含步骤2发送的交易的哈希值、“Y”或“N”(Y表示支持,N表示反对)、验证人用私钥对步骤1发送的交易+“Y”或“N”作的消息签名。当有2/3以上且不少于3名参与验证的验证人支持时交易将被批准,(中级为b、高级为10b)个B币将被平均分给所有选择支持的验证人。当有2/3以上且不少于3名的验证人反对时交易将被否决,(中级为11b、高级为110b)个B币将被平均分给所有选择反对的验证人。如果选择支持和选择反对的验证人都没有超过2/3或验证人总数少于3名,交易将被否决,(中级为b、高级为10b)个B币将被平均分给所有参与验证的验证人。如果有验证人在24小时内没有处理该业务,那么这个验证人将被罚没(中级为0.1b、高级为b)个B币补偿给交易者作为怠惰的惩罚。该步骤被实施后将有(中级为10天,高级为50天)的冻结期,冻结期内不能再次实施该步骤。转到步骤8。' S6 j, v+ M% ]

9 H- }0 s- q1 [# d% H    5.B合约自动分配一个高一级的验证人来负责验证。验证人需要向B合约发送验证交易,交易包含步骤2发送的交易的哈希值、“Y”或“N”(Y表示支持,N表示反对)、验证人用私钥对步骤1发送的交易+“Y”或“N”作的消息签名。如果验证人表示支持,那么验证人将从保证金中获得(低级为0.1b、中级为b)个B币作为验证手续费;如果验证人表示反对,那么验证人将从保证金中获得(低级为1.1b、中级为11b)作为惩罚。如果验证人在被分配到任务后24小时内没有处理该业务,那么这个验证人将被罚没(低级为1b、中级为10b)个B币补偿给交易者作为怠惰的惩罚。转到步骤7。
+ ?+ a3 c+ ^5 q. M. ~8 {/ `4 {/ e$ u. w7 X7 m
    6.B合约自动分配3~10名同级的验证人来负责验证。验证人需要向B合约发送验证交易,交易包含步骤2发送的交易的哈希值、“Y”或“N”(Y表示支持,N表示反对)、验证人用私钥对步骤1发送的交易+“Y”或“N”作的消息签名。当有2/3以上且不少于3名参与验证的验证人支持时交易将被批准,(初级为0.1b、中级为b、高级为10b)个B币将被平均分给所有选择支持的验证人。当有2/3以上且不少于3名的验证人反对时交易将被否决,(初级为1.1b、中级为11b、高级为110b)个B币将被平均分给所有选择反对的验证人。如果选择支持和选择反对的验证人都没有超过2/3或验证人总数少于3名,交易将被否决,(初级为0.1b、中级为b、高级为10b)个B币将被平均分给所有参与验证的验证人。如果验证人在被分配到任务后24小时内没有处理该业务,那么这个验证人将被罚没(初级为0.1b、中级为b、高级为10b)个B币补偿给交易者作为怠惰的惩罚。转到步骤7。. _0 |/ F. d: y, _
4 c7 c8 J3 V! o# E
    7.当验证人完成一笔交易的验证工作后,验证权力将被暂时冻结,中级验证人被冻结10天,高级验证人被冻结50天。- t, ]  m' V! Z( [9 X9 ?

8 n- A) `# j3 e2 G3 `$ c    8.如果交易被验证人支持或反对,那么任何人都有权在A链上对验证人发起挑战。挑战者可以向A合约发送举报交易,交易包含步骤1发送的交易的哈希值(如果交易在A链上不存在,则需要包含完整交易)、验证人的地址、“Y”或“N”(Y表示验证人选择支持,N表示验证人选择反对)、验证人用私钥对步骤1发送的交易+“Y”或“N”作的消息签名。举报交易将由A合约自动验证,验证通过后挑战者将从验证人的保证金中获得(初级为0.1a、中级为a、高级为10a)个A币作为奖励;如果举报交易中的验证人选择支持,那么验证人将被A合约罚没(初级为2a、中级为20a、高级为200a)个A币;如果举报交易中的验证人选择反对,交易者将从验证人的保证金中获得(初级为a、中级为10a、高级为100a)个A币作为补偿,验证人将被A合约罚没(初级为a、中级为10a、高级为100a)个A币。
3 h% E% N) f9 r% ~5 }" F. i
  I# O+ v+ y, W: w) `9 J    9.如果交易被批准,那么交易者将在(初级为2天、中级为10天、高级为50天)后获得(初级、中级、高级)验证人资格。如果交易被否决,那么交易者仍然可以继续提交交易直到被批准。
" |1 I7 s7 f- q4 c6 B- G
) l  }7 `* D4 \: N1 I' b( F) D    A链上的(初级、中级、高级)验证人失去资格:
. R. i2 D- e' A+ F+ i
2 ~. J/ k& L$ X5 u( v8 b" E: q    当验证人在A链上的保证金少于(初级为2.1a、中级为21a、高级为210a)个A币或者在B链上的保证金少于(初级为b、中级为10b、高级为100b)个B币时,验证人将失去资格。后一个条件能够通过B合约自动验证,但是前一个条件需要跨链验证。
1 r4 o: L6 Q4 H* ]1 ^' Y; B3 ?
" c# D& x8 C* ^" |- T/ L$ G    1.在A链的某一个区块上,验证人在A合约上的保证金少于(初级为2.1a、中级为21a、高级为210a)个A币。
# \6 m2 K1 X* \3 {- o6 O
& F% R8 o' P6 j# e6 N. F' O2 a    2.交易者在B链上向B合约发送(初级为b、中级为10b、高级为100b)个B币作为保证金,同时交易包含验证人在A合约上的保证金少于(初级为2.1a、中级为21a、高级为210a)个A币时的区块的哈希值和时间戳、交易者在A链上的接收地址。当挑战交易在区块链上被确认时,验证人的权限将被暂时冻结。
  I3 {6 P/ \+ S% B7 G1 l' ^5 t( S+ ~, `! M
    3.如果当前没有不少于3名同级或至少1名更高一级的有效验证人(限中级、高级验证人加入流程),转到步骤4(如果该步骤没有被冻结)。如果当前有更高一级的有效验证人(限低级、中级验证人加入流程),转到步骤5。如果当前有不少于3名同级别的有效验证人,转到步骤6。如果以上三个步骤的条件都不满足,那么将等待直到满足其中一个条件。
3 V) Z$ \) V  {, `0 S4 M
' ^' H/ T: u, L& u    4.步骤2发送的交易在区块链上确认后将强制由经B合约验证通过的A链上的所有下一级验证人(不受验证权力被冻结影响)负责验证。验证人需要向B合约发送验证交易,交易包含步骤2发送的交易的哈希值、“Y”或“N”(Y表示支持,N表示反对)、验证人用私钥对步骤2中的区块的哈希值和时间戳+交易者在A链上的接收地址+“Y”或“N”作的消息签名。当有2/3以上且不少于3名参与验证的验证人支持时交易将被批准,(中级为b、高级为10b)个B币将被平均分给所有选择支持的验证人,剩余保证金被退回。当有2/3以上且不少于3名的验证人反对时交易将被否决,(中级为10b、高级为100b)个B币将被平均分给所有选择反对的验证人。如果选择支持和选择反对的验证人都没有超过2/3或验证人总数少于3名,交易将被否决,(中级为b、高级为10b)个B币将被平均分给所有参与验证的验证人,剩余保证金被退回。如果有验证人在24小时内没有处理该业务,那么这个验证人将被罚没(中级为0.1b、高级为b)个B币补偿给交易者作为怠惰的惩罚。转到步骤8。
1 Q2 L* s. |9 q+ w) o  i* P0 O
  ^9 I# o& y* }! t8 \( |3 W& ~    5.B合约自动分配一个高一级的验证人来负责验证。验证人需要向B合约发送验证交易,交易包含步骤2发送的交易的哈希值、“Y”或“N”(Y表示支持,N表示反对)、验证人用私钥对步骤2中的区块的哈希值和时间戳+交易者在A链上的接收地址+“Y”或“N”作的消息签名。如果验证人表示支持,那么验证人将从保证金中获得(低级为0.1b、中级为b)个B币作为验证手续费,剩余保证金被退回;如果验证人表示反对,那么验证人将从保证金中获得(低级为b、中级为10b)作为惩罚。如果验证人在被分配到任务后24小时内没有处理该业务,那么这个验证人将被罚没(低级为b、中级为10b)个B币补偿给交易者作为怠惰的惩罚。转到步骤7。* Q% e$ H' j1 K4 P9 D. ?, b

7 Z2 {& i) G# R% D    6.B合约自动分配3~10名同级的验证人来负责验证。验证人需要向B合约发送验证交易,交易包含步骤2发送的交易的哈希值、“Y”或“N”(Y表示支持,N表示反对)、验证人用私钥对步骤2中的区块的哈希值和时间戳+交易者在A链上的接收地址+“Y”或“N”作的消息签名。当有2/3以上且不少于3名参与验证的验证人支持时交易将被批准,(初级为0.1b、中级为b、高级为10b)个B币将被平均分给所有选择支持的验证人,剩余保证金被退回。当有2/3以上且不少于3名的验证人反对时交易将被否决,(初级为b、中级为10b、高级为100b)个B币将被平均分给所有选择反对的验证人。如果选择支持和选择反对的验证人都没有超过2/3或验证人总数少于3名,交易将被否决,(初级为0.1b、中级为b、高级为10b)个B币将被平均分给所有参与验证的验证人,剩余保证金被退回。如果验证人在被分配到任务后24小时内没有处理该业务,那么这个验证人将被罚没(初级为0.1b、中级为b、高级为10b)个B币补偿给交易者作为怠惰的惩罚。转到步骤7。
& {1 G6 J, |8 l  X* w+ I: ]& r* J4 S; A( ?1 `. ?
    7.当验证人完成一笔交易的验证工作后,验证权力将被暂时冻结(初级为2天、中级为10天、高级为50天)。" A6 R. a; L3 W6 M

) y5 B7 Z6 N8 y+ S9 C, G7 k    8.如果交易被验证人支持或反对,那么任何人都有权在A链上对验证人发起挑战。挑战者可以向A合约发送举报交易,交易包含步骤2中的区块的哈希值和时间戳、交易者在A链上的接收地址、验证人的地址、“Y”或“N”(Y表示验证人选择支持,N表示验证人选择反对)、验证人用私钥对步骤2中的区块的哈希值和时间戳+交易者在A链上的接收地址+“Y”或“N”作的消息签名。举报交易将由A合约自动验证,验证通过后挑战者将从验证人的保证金中获得(初级为0.1a、中级为a、高级为10a)个A币作为奖励;如果举报交易中的验证人选择支持,那么验证人将被A合约罚没(初级为2a、中级为20a、高级为200a)个A币;如果举报交易中的验证人选择反对,交易者将从验证人的保证金中获得(初级为a、中级为10a、高级为100a)个A币作为补偿,验证人将被A合约罚没(初级为a、中级为10a、高级为100a)个A币。9 ^* q8 `% j- w; H7 o8 B2 B, P! f
3 e  p/ @5 b2 ]
    9.如果交易被批准,那么验证人将立即失去验证人资格。如果交易被否决,那么验证人将在被冻结权力后不少于(初级为2天、中级为10天、高级为50天)后恢复被冻结的权力。
% X( ^0 ~, }) @8 G* r, u# }) S2 y& E, Q0 ^; |7 }3 Q5 N  r2 L
    A链上的(初级、中级、高级)验证人退出:' W  s6 J8 l- {8 i1 s5 W' p# D

9 C6 ]7 J' g2 r, e% L2 r; A4 u/ `    1.验证人在B链上向B合约发送退出交易,验证人的权力将被立即冻结(不是取消),验证人在B合约中的保证金将在(初级为2天、中级为10天、高级为50天)后退回(保证金被退回时被自动取消资格)。
; H/ W3 v7 N3 N& T" W. l! U9 b$ g, `' o  u# A: r+ O
    2.验证人在取回B合约中的保证金后,在A链上向A合约发送退出交易,验证人在A合约中的保证金将在(初级为2天、中级为10天、高级为50天)后退回。5 Z: z; g5 q* Q8 |

- R6 b$ L3 @/ n( F2 D+ n    A币跨链到B链:8 P2 S& O. f% G

2 s: f; o: E% F    1.交易者在A链上向A合约发送跨链交易,交易包含0.5a~a个A币、交易者在B链的接收地址。& w+ s9 ^- W% o1 R% _
9 l  I0 W; p5 e: S5 T4 w: }
    2.交易者在B链上向B合约发送0.1b个B币作为保证金,同时交易包含作为验证手续费的B币数量、步骤1发送的交易的完整内容。1 @  ?/ C- s! ]5 F( x2 L$ e& Q* l

: L8 J# a' d. F  R    3.步骤2发送的交易在区块链上确认后由经B合约验证通过的A链上的初级验证人负责验证。验证人需要向B合约发送验证交易,交易包含步骤2发送的交易的哈希值、“Y”或“N”(Y表示支持,N表示反对)、验证人用私钥对步骤1发送的交易+“Y”或“N”作的消息签名。当有多个验证人在24小时内对同一笔交易作验证时,如果多个验证人的验证结论相同,则以区块链上确认的第一条验证信息为准;如果多个验证人的验证结论不同,则交易被否决同时退回交易者的保证金。交易被验证后,如果验证人支持某笔交易,那么该验证人将收取一笔小额B币作为手续费同时批准该交易,剩余保证金将被退回;如果验证人反对某笔交易,那么交易者将被收取保证金同时否决该笔交易。$ l* h8 o2 m& r$ H6 \
# t, h+ {5 K  l( F' c
    4.当验证人完成一笔交易的验证工作后,相应的验证一笔交易的权力将被暂时冻结48小时。
/ g& q! |5 H+ y6 w. Q& p( C
: z0 V& ^/ q/ G- b) I, p    5.如果交易被验证人支持或反对,那么任何人都有权在A链上对验证人发起挑战。挑战者可以向A合约发送举报交易,交易包含步骤1发送的交易的哈希值(如果交易在A链上不存在,则需要包含完整交易)、验证人的地址、“Y”或“N”(Y表示验证人选择支持,N表示验证人选择反对)、验证人用私钥对步骤1发送的交易+“Y”或“N”作的消息签名。举报交易将由A合约自动验证,验证通过后挑战者将从验证人的保证金中获得0.1a个A币作为奖励;如果举报交易中的验证人选择支持,那么验证人将被A合约罚没2a个A币;如果举报交易中的验证人选择反对,交易者将从验证人的保证金中获得0.1a个A币作为补偿,验证人将被A合约罚没a个A币。
& {: R+ n+ U9 r! \+ v1 ^
7 v2 A' s$ d- H0 }- ]$ h3 U    6.如果交易被被批准,那么交易者会收到B合约增发的相同数量的tAtoken。如果交易被否决,那么交易者仍然可以继续提交交易直到被批准。
! X+ E5 w5 a( `" W) }' ?- H4 O7 y1 A  ~9 \% K; \
    跨链验证工作只能由初级验证人完成,中级、高级验证人只负责验证人的资格审核工作。由于中级、高级验证人的业务范围及处理业务的效率被严格限制,他们可能会面临收入不足的问题。因此,我们需要对下级验证人征税来供养上级验证人。初级验证人每天会从保证金中被征收0.00017b个B币作为中级验证人的基本收入,中级验证人每天会从保证金中被征收0.0017b个B币作为高级验证人的基本收入,被征收的税款将由各级验证人平均分配。9 s* e, P0 n0 M
3 X; D- m1 I1 A5 B  x) A
    为了节省矿工费,也可以将多个验证人的多笔验证信息放到同一笔验证交易中,也可以由多个验证人对同一个信息作联合签名。" y( ~6 ?! _5 }" r3 i( u

( ]# n* U' U, s: l2 {6 W6 ^    由于虫洞合约方案只需要验证人作质押,所以该方案可以大大降低质押率。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

茹蕙zx 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    26