Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

WormholeContracts 一种新跨链方案

茹蕙zx
113 0 0
一、现有的方案
+ D: [5 x, ?3 k  q2 v# O9 A2 i9 P4 d# i, W- X3 o# @
    目前以太坊上最去中心化的比特币锚定币是tBTC。( |# C% N% g+ k6 l2 e( m

2 |( n9 }- t0 q1 J    tBTC系统内的关键角色是验证人,每次铸币都有3个验证人被随机选中,验证人必须提供价值1.5个比特币的ETH作为质押品。通过门限签名方案保证没有人能单独控制抵押品,必须3个签署者一致行动才能控制比特币。
3 U' |* k6 }3 _# A/ w% @
2 c% P/ v0 ]' p7 ^4 ~' y+ g! X    我们可以看到,每个tBTC需要250%资产抵押才能发行。我们能否设计一个方案,拥有tBTC的去中心化程度和安全性,同时大大降低质押率呢?2 e( B3 m2 {" @! e. }
) o# Z1 M0 y3 S) u- a* ?
    二、虫洞合约
% Q2 B/ N2 s2 N
/ s! h& h( P) U, p    设现有A链和B链,它们都支持智能合约。现要将A链上的A币跨链到B链上去。
$ {- _# v) y* {9 j8 G0 [  N) D% a. C0 O2 p4 x
    在A链上部署一个智能合约A,在B链上部署一个智能合约B,A合约和B合约是成对的智能合约。跨链的基本过程就是:将A币发送到A合约,然后从B合约相应地铸造出锚定币tAtoken。反向跨链也是类似的,将tAtoken发送到B合约中销毁,然后从A合约中提取A币。
! ~( C6 G( i8 v: |  V
( \1 L6 n. I4 |# `7 |+ B0 h    这个设计的关键就是怎样在B链上证明有A币发送到了A合约,以及怎样在A链上证明有tAtoken发送到了B合约。
8 @4 p9 [1 B6 N( `8 q4 k! }/ r* Y: Q( n: x( K& ]
    首先,规定基准罚金。A链上的基准罚金为a个A币,B链上的基准罚金为b个B币,a个A币与b个B币的价值应当大概相等。A链和B链上有相应的验证人。A链和B链的验证人相对独立,A链上的验证人不必是B链上的验证人,同样B链上的验证人不必是A链上的验证人。验证人可以自由加入和自由退出。! s) |5 j5 s* w# a8 \, G+ h( t  w, U

- S7 w' h/ N! S% C# n* @    验证人有三个级别:初级验证人、中级验证人和高级验证人。
( h- [/ o$ }- r9 n9 ~1 N0 ]# v7 f$ u9 p9 w5 \  q3 _1 t0 x( q7 E
    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币。
# V2 ?" D: G5 d" G. q$ R
' }* |' f4 n6 C" q: J    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币。
* W2 t5 u/ e8 Q5 Y# Z3 b% T% O2 z  s5 f0 a
    一般而言,验证人质押的保证金越多、处理的事务量越少,可信度就越高。也就是说,我们可以通过牺牲效率来换取安全性。因此,我们需要设立这样三种级别的验证人,对应不同的效率和安全性。8 N$ o" ^" E$ Q  m' R2 x7 W

! e' g4 B4 j. F  |    A链上的(初级、中级、高级)验证人加入:; r/ Q) y9 B' x( m: s
( s& c. D- z( _6 i
    1.交易者在A合约发送不少于(初级为2.1a、中级为21a、高级为210a)个A币作为保证金,同时交易包含交易者在B链的地址。2 r/ b: ~9 c$ S( m
+ @* }! |% z3 s1 W1 o& l9 l
    2.交易者需要在B链上由前面交易中指定的地址向B合约发送若干B币作为保证金,使保证金不少于(初级为1.1b、中级为11b、高级为110b)个B币,其中(初级为0.1b、中级为b、高级为10b)个B币为备用的验证手续费,同时交易包含步骤1发送的交易的完整内容。" R  M- E/ W3 h# D
+ F+ S0 l( f* }) Y8 W4 _( o2 p- ^
    3.如果当前没有不少于3名同级或至少1名更高一级的有效验证人(限中级、高级验证人加入流程),转到步骤4(如果该步骤没有被冻结)。如果当前有更高一级的有效验证人(限低级、中级验证人加入流程),转到步骤5。如果当前有不少于3名同级别的有效验证人,转到步骤6。如果以上三个步骤的条件都不满足,那么将等待直到满足其中一个条件。) Q% u: o; R2 x0 j5 b6 X3 ?* @

4 N6 s: F3 g0 ?: K7 Z8 N+ Z    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。
4 o7 u: e+ w% `* a: z% w3 M
( s/ q( K+ T6 `# o$ o$ W+ h1 X) l    5.B合约自动分配一个高一级的验证人来负责验证。验证人需要向B合约发送验证交易,交易包含步骤2发送的交易的哈希值、“Y”或“N”(Y表示支持,N表示反对)、验证人用私钥对步骤1发送的交易+“Y”或“N”作的消息签名。如果验证人表示支持,那么验证人将从保证金中获得(低级为0.1b、中级为b)个B币作为验证手续费;如果验证人表示反对,那么验证人将从保证金中获得(低级为1.1b、中级为11b)作为惩罚。如果验证人在被分配到任务后24小时内没有处理该业务,那么这个验证人将被罚没(低级为1b、中级为10b)个B币补偿给交易者作为怠惰的惩罚。转到步骤7。7 _; M# ^2 _  m1 ^
, }7 r# H; a3 c0 {# m2 M0 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。
# S* s2 `9 T, g; ~
& o* h$ l7 ]& N( ~2 z6 p1 m    7.当验证人完成一笔交易的验证工作后,验证权力将被暂时冻结,中级验证人被冻结10天,高级验证人被冻结50天。# D4 W8 F( i3 o4 W% l9 a' }: F

! [0 N! W% f; g; i0 D+ U# H; _4 B    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币。4 T5 o2 E; O; Q& k3 p
# n, W: G' C- o8 u. [* W& b
    9.如果交易被批准,那么交易者将在(初级为2天、中级为10天、高级为50天)后获得(初级、中级、高级)验证人资格。如果交易被否决,那么交易者仍然可以继续提交交易直到被批准。
8 d- Y# O) u* z& {7 H; M
9 ], E+ |8 ~- X+ f$ y    A链上的(初级、中级、高级)验证人失去资格:
0 d' z% b2 a: w# o7 a6 a7 ~/ D0 P+ [9 ^/ E, Z- J+ I; ]# E
    当验证人在A链上的保证金少于(初级为2.1a、中级为21a、高级为210a)个A币或者在B链上的保证金少于(初级为b、中级为10b、高级为100b)个B币时,验证人将失去资格。后一个条件能够通过B合约自动验证,但是前一个条件需要跨链验证。% S& R: Y& D; T

$ K  T( D# h9 q* O: q1 z    1.在A链的某一个区块上,验证人在A合约上的保证金少于(初级为2.1a、中级为21a、高级为210a)个A币。
' h+ Z# @1 _8 ^% ]
1 _7 U, q- N0 R: q4 V# m    2.交易者在B链上向B合约发送(初级为b、中级为10b、高级为100b)个B币作为保证金,同时交易包含验证人在A合约上的保证金少于(初级为2.1a、中级为21a、高级为210a)个A币时的区块的哈希值和时间戳、交易者在A链上的接收地址。当挑战交易在区块链上被确认时,验证人的权限将被暂时冻结。0 L& D; Y) S- J6 Q! V0 a3 ]7 X8 o+ D$ D. D

: X" P0 w% f( ~3 x) s9 K) J    3.如果当前没有不少于3名同级或至少1名更高一级的有效验证人(限中级、高级验证人加入流程),转到步骤4(如果该步骤没有被冻结)。如果当前有更高一级的有效验证人(限低级、中级验证人加入流程),转到步骤5。如果当前有不少于3名同级别的有效验证人,转到步骤6。如果以上三个步骤的条件都不满足,那么将等待直到满足其中一个条件。1 k7 A# I) C- o- p& M3 ]4 O

) ?+ k% n* r' d# K- G' [+ S    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。
; ~6 O( m% a* M/ Z: ~, G2 X3 s6 I0 j9 R7 x5 P$ s1 v: i' S  X, J# u
    5.B合约自动分配一个高一级的验证人来负责验证。验证人需要向B合约发送验证交易,交易包含步骤2发送的交易的哈希值、“Y”或“N”(Y表示支持,N表示反对)、验证人用私钥对步骤2中的区块的哈希值和时间戳+交易者在A链上的接收地址+“Y”或“N”作的消息签名。如果验证人表示支持,那么验证人将从保证金中获得(低级为0.1b、中级为b)个B币作为验证手续费,剩余保证金被退回;如果验证人表示反对,那么验证人将从保证金中获得(低级为b、中级为10b)作为惩罚。如果验证人在被分配到任务后24小时内没有处理该业务,那么这个验证人将被罚没(低级为b、中级为10b)个B币补偿给交易者作为怠惰的惩罚。转到步骤7。1 f2 p) K3 J  r6 v4 D) B- W$ S) W

, v  e; N6 V# O9 e    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。; d# ]4 m8 V6 Y. o) E
: l1 X' [2 J* r' a' Z  V- `
    7.当验证人完成一笔交易的验证工作后,验证权力将被暂时冻结(初级为2天、中级为10天、高级为50天)。/ Q3 T$ e" \# U
' s& S- k1 X! G' T9 V1 B. N) F4 K2 H
    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币。' W, D( F+ |% |1 Z7 @) @1 h
: G2 i6 @1 O2 k+ O: V. X" J, P; y% \4 F
    9.如果交易被批准,那么验证人将立即失去验证人资格。如果交易被否决,那么验证人将在被冻结权力后不少于(初级为2天、中级为10天、高级为50天)后恢复被冻结的权力。
  O* r% F$ u( V* m7 B3 L1 |- u0 {7 |% a6 m1 g- D& [, V" l3 {1 B
    A链上的(初级、中级、高级)验证人退出:3 x; m0 w" |; q; f! b; D, b; X

- G- l5 h8 P+ K$ v% B    1.验证人在B链上向B合约发送退出交易,验证人的权力将被立即冻结(不是取消),验证人在B合约中的保证金将在(初级为2天、中级为10天、高级为50天)后退回(保证金被退回时被自动取消资格)。2 S2 R' K% I2 X, V2 }4 |+ {

! }6 ]8 E3 T) m1 j# @0 C    2.验证人在取回B合约中的保证金后,在A链上向A合约发送退出交易,验证人在A合约中的保证金将在(初级为2天、中级为10天、高级为50天)后退回。
* I* U. M8 U8 u' ^4 w/ g- c0 s4 S7 d& g
    A币跨链到B链:, q) t' A5 @! e

$ w; f) a1 _5 v! y1 ]    1.交易者在A链上向A合约发送跨链交易,交易包含0.5a~a个A币、交易者在B链的接收地址。
7 Z  Y, N, V$ ^$ ~& }' |2 |
+ @% s8 V/ o% ]/ m6 V    2.交易者在B链上向B合约发送0.1b个B币作为保证金,同时交易包含作为验证手续费的B币数量、步骤1发送的交易的完整内容。) b6 i/ D1 `2 V9 G
! i4 R; Y2 v% e6 U& j: O
    3.步骤2发送的交易在区块链上确认后由经B合约验证通过的A链上的初级验证人负责验证。验证人需要向B合约发送验证交易,交易包含步骤2发送的交易的哈希值、“Y”或“N”(Y表示支持,N表示反对)、验证人用私钥对步骤1发送的交易+“Y”或“N”作的消息签名。当有多个验证人在24小时内对同一笔交易作验证时,如果多个验证人的验证结论相同,则以区块链上确认的第一条验证信息为准;如果多个验证人的验证结论不同,则交易被否决同时退回交易者的保证金。交易被验证后,如果验证人支持某笔交易,那么该验证人将收取一笔小额B币作为手续费同时批准该交易,剩余保证金将被退回;如果验证人反对某笔交易,那么交易者将被收取保证金同时否决该笔交易。* E6 @) S8 i5 h5 v. d7 M2 Z) y8 L

  Q0 G! S6 H6 a+ X1 R* Z, e    4.当验证人完成一笔交易的验证工作后,相应的验证一笔交易的权力将被暂时冻结48小时。0 `3 o/ S4 t5 R5 t' F
3 p9 h- ?6 I" I! v
    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币。& B* W" K% Y0 q' ^8 {
  f- z9 z  L4 a2 c4 i" M
    6.如果交易被被批准,那么交易者会收到B合约增发的相同数量的tAtoken。如果交易被否决,那么交易者仍然可以继续提交交易直到被批准。/ ~- g5 e, Q1 d/ _
" N, ~( E: ]& Q! W4 ?3 K
    跨链验证工作只能由初级验证人完成,中级、高级验证人只负责验证人的资格审核工作。由于中级、高级验证人的业务范围及处理业务的效率被严格限制,他们可能会面临收入不足的问题。因此,我们需要对下级验证人征税来供养上级验证人。初级验证人每天会从保证金中被征收0.00017b个B币作为中级验证人的基本收入,中级验证人每天会从保证金中被征收0.0017b个B币作为高级验证人的基本收入,被征收的税款将由各级验证人平均分配。1 R/ A' \2 `) A6 b( ~
3 c  u. B% x7 h+ [7 M" R: _
    为了节省矿工费,也可以将多个验证人的多笔验证信息放到同一笔验证交易中,也可以由多个验证人对同一个信息作联合签名。7 b9 v/ L* C, x) U# y3 [
) Y9 d( r7 t2 A0 t' c# I" g
    由于虫洞合约方案只需要验证人作质押,所以该方案可以大大降低质押率。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

茹蕙zx 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    26