Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

WormholeContracts 一种新跨链方案

茹蕙zx
80 0 0
一、现有的方案
. {4 O" ]  |2 A0 m
! u( S  F8 z4 r' r: d; q  k    目前以太坊上最去中心化的比特币锚定币是tBTC。
- N7 x" A/ D" P" r1 |* m4 Y8 L4 r# ?' Y3 z* D: D/ [
    tBTC系统内的关键角色是验证人,每次铸币都有3个验证人被随机选中,验证人必须提供价值1.5个比特币的ETH作为质押品。通过门限签名方案保证没有人能单独控制抵押品,必须3个签署者一致行动才能控制比特币。
8 K  Q5 j" E3 C% q5 y
( @. r/ U0 H* u* B6 i7 E2 l6 d    我们可以看到,每个tBTC需要250%资产抵押才能发行。我们能否设计一个方案,拥有tBTC的去中心化程度和安全性,同时大大降低质押率呢?6 `; A5 Y0 Y4 g1 i" f, U" f. G

* v' \3 f0 ^7 K" u1 U4 K, @    二、虫洞合约
" k7 J: }5 d$ u! K0 i) R
& m6 t! z; z& a# ~( x/ |: r( \" l    设现有A链和B链,它们都支持智能合约。现要将A链上的A币跨链到B链上去。
' y4 M2 Z- S3 S3 V# j% x1 K8 Q+ t+ Z5 }& }! G5 |( i4 J
    在A链上部署一个智能合约A,在B链上部署一个智能合约B,A合约和B合约是成对的智能合约。跨链的基本过程就是:将A币发送到A合约,然后从B合约相应地铸造出锚定币tAtoken。反向跨链也是类似的,将tAtoken发送到B合约中销毁,然后从A合约中提取A币。
% q5 V+ s; l+ v, N( R) a8 {; V- u; Y( ]1 o! @
    这个设计的关键就是怎样在B链上证明有A币发送到了A合约,以及怎样在A链上证明有tAtoken发送到了B合约。
" A7 M% K; \/ a0 u& m- R$ \$ b9 {! Q- X# L% A4 i; F
    首先,规定基准罚金。A链上的基准罚金为a个A币,B链上的基准罚金为b个B币,a个A币与b个B币的价值应当大概相等。A链和B链上有相应的验证人。A链和B链的验证人相对独立,A链上的验证人不必是B链上的验证人,同样B链上的验证人不必是A链上的验证人。验证人可以自由加入和自由退出。( l9 k& D! D: r7 i" e3 W: o& Q* i
: [1 d0 [4 M0 j" P9 i7 ]; k
    验证人有三个级别:初级验证人、中级验证人和高级验证人。
: G5 y5 X; `( f8 l1 h3 G! [% Q  d$ i+ o* r$ {
    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币。2 @' @2 I7 Q+ @7 K. O; U
/ b6 V9 l" L: v7 A; u: N5 {
    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币。7 Z# p7 ~- }$ G* @1 n3 [

# S- ]) d  `- F3 n& g1 y5 t    一般而言,验证人质押的保证金越多、处理的事务量越少,可信度就越高。也就是说,我们可以通过牺牲效率来换取安全性。因此,我们需要设立这样三种级别的验证人,对应不同的效率和安全性。
# a/ T- ~* ?' X+ a5 u+ W4 Q% Z4 @9 q, w4 p& K# T/ q9 P
    A链上的(初级、中级、高级)验证人加入:' E2 ]2 u, p  C% `

# I3 O5 o7 l! p2 W1 {    1.交易者在A合约发送不少于(初级为2.1a、中级为21a、高级为210a)个A币作为保证金,同时交易包含交易者在B链的地址。. Y! E9 L% x: V8 m' Z: R
3 l+ H  H/ r  I# e6 l6 |& w  l
    2.交易者需要在B链上由前面交易中指定的地址向B合约发送若干B币作为保证金,使保证金不少于(初级为1.1b、中级为11b、高级为110b)个B币,其中(初级为0.1b、中级为b、高级为10b)个B币为备用的验证手续费,同时交易包含步骤1发送的交易的完整内容。
1 d, k! |! q6 d1 U2 Y6 J! _- Q  r& p! o' D) A8 I5 n
    3.如果当前没有不少于3名同级或至少1名更高一级的有效验证人(限中级、高级验证人加入流程),转到步骤4(如果该步骤没有被冻结)。如果当前有更高一级的有效验证人(限低级、中级验证人加入流程),转到步骤5。如果当前有不少于3名同级别的有效验证人,转到步骤6。如果以上三个步骤的条件都不满足,那么将等待直到满足其中一个条件。
* ]4 K: F( s/ }' D6 v1 u6 Z; K0 x
3 d3 `" G7 j/ X    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。
! K  F8 Q- R9 a: t( N
& t& x1 N1 X7 }$ S' Z* `" V$ M    5.B合约自动分配一个高一级的验证人来负责验证。验证人需要向B合约发送验证交易,交易包含步骤2发送的交易的哈希值、“Y”或“N”(Y表示支持,N表示反对)、验证人用私钥对步骤1发送的交易+“Y”或“N”作的消息签名。如果验证人表示支持,那么验证人将从保证金中获得(低级为0.1b、中级为b)个B币作为验证手续费;如果验证人表示反对,那么验证人将从保证金中获得(低级为1.1b、中级为11b)作为惩罚。如果验证人在被分配到任务后24小时内没有处理该业务,那么这个验证人将被罚没(低级为1b、中级为10b)个B币补偿给交易者作为怠惰的惩罚。转到步骤7。$ g  G8 O1 }4 X; U
  v  W  X3 l6 J/ D( q# Z
    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。
4 f2 u& h) J0 B1 _2 @) _4 d! K$ Y- ^  W* x. b5 I
    7.当验证人完成一笔交易的验证工作后,验证权力将被暂时冻结,中级验证人被冻结10天,高级验证人被冻结50天。& X6 }) X% @4 D% E5 I: |

$ `, F: G1 i' ]; 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币。( l, Z9 a1 S& x+ e5 d% y
: g& g& I6 X! Y$ w% S7 @, ^" n5 |
    9.如果交易被批准,那么交易者将在(初级为2天、中级为10天、高级为50天)后获得(初级、中级、高级)验证人资格。如果交易被否决,那么交易者仍然可以继续提交交易直到被批准。
' c. e; Y9 ^. E0 Z) d
# V8 p4 t, W7 x% l    A链上的(初级、中级、高级)验证人失去资格:
" Z( l6 g7 p! l. v' H6 z' v7 R/ g6 P1 h" V, U( P' \9 Z
    当验证人在A链上的保证金少于(初级为2.1a、中级为21a、高级为210a)个A币或者在B链上的保证金少于(初级为b、中级为10b、高级为100b)个B币时,验证人将失去资格。后一个条件能够通过B合约自动验证,但是前一个条件需要跨链验证。: ]' I+ t$ R) E& A( b) E+ x/ G* Y
4 F% a7 x0 K) V: u6 n& f9 v2 y/ D
    1.在A链的某一个区块上,验证人在A合约上的保证金少于(初级为2.1a、中级为21a、高级为210a)个A币。. H, Y  _1 P  K. l

. Y- H$ ~6 c' O- Q' I/ g7 r    2.交易者在B链上向B合约发送(初级为b、中级为10b、高级为100b)个B币作为保证金,同时交易包含验证人在A合约上的保证金少于(初级为2.1a、中级为21a、高级为210a)个A币时的区块的哈希值和时间戳、交易者在A链上的接收地址。当挑战交易在区块链上被确认时,验证人的权限将被暂时冻结。
( y" c! i, r  m
6 {# }9 y2 g/ \- @3 A" ]( ~    3.如果当前没有不少于3名同级或至少1名更高一级的有效验证人(限中级、高级验证人加入流程),转到步骤4(如果该步骤没有被冻结)。如果当前有更高一级的有效验证人(限低级、中级验证人加入流程),转到步骤5。如果当前有不少于3名同级别的有效验证人,转到步骤6。如果以上三个步骤的条件都不满足,那么将等待直到满足其中一个条件。. V5 S. c6 B0 l7 p# R0 ^' I
  D9 ~' D3 Y& S& z1 X+ y, f5 l! O
    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。
& V2 ~4 `1 J6 ^$ q  S$ A, c2 m6 j% w% P# g8 Q% r# u
    5.B合约自动分配一个高一级的验证人来负责验证。验证人需要向B合约发送验证交易,交易包含步骤2发送的交易的哈希值、“Y”或“N”(Y表示支持,N表示反对)、验证人用私钥对步骤2中的区块的哈希值和时间戳+交易者在A链上的接收地址+“Y”或“N”作的消息签名。如果验证人表示支持,那么验证人将从保证金中获得(低级为0.1b、中级为b)个B币作为验证手续费,剩余保证金被退回;如果验证人表示反对,那么验证人将从保证金中获得(低级为b、中级为10b)作为惩罚。如果验证人在被分配到任务后24小时内没有处理该业务,那么这个验证人将被罚没(低级为b、中级为10b)个B币补偿给交易者作为怠惰的惩罚。转到步骤7。2 s) B: |$ w# N" W
$ Y6 h1 E* S+ P3 n! ]% m
    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。* Z8 ?; `+ Z6 o6 w

; H7 I6 c, P, Q3 w/ t8 _    7.当验证人完成一笔交易的验证工作后,验证权力将被暂时冻结(初级为2天、中级为10天、高级为50天)。
; o; @; L; I: q3 T3 c: K3 {. v
7 m7 V3 U) Q# Y6 c+ i5 p6 z- c    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币。
* y+ G% m2 \; V$ s
6 G/ P/ H  Z. Q+ z9 V    9.如果交易被批准,那么验证人将立即失去验证人资格。如果交易被否决,那么验证人将在被冻结权力后不少于(初级为2天、中级为10天、高级为50天)后恢复被冻结的权力。
4 W6 B3 J6 G9 g+ Q) R  k. F3 B9 x2 P& |9 l4 {; G
    A链上的(初级、中级、高级)验证人退出:8 S/ U  J" a* O9 I2 \

7 m! L" V7 d/ }$ A( E    1.验证人在B链上向B合约发送退出交易,验证人的权力将被立即冻结(不是取消),验证人在B合约中的保证金将在(初级为2天、中级为10天、高级为50天)后退回(保证金被退回时被自动取消资格)。2 `2 _+ P0 m, X! o

# C# h  w8 }, R+ _0 ?    2.验证人在取回B合约中的保证金后,在A链上向A合约发送退出交易,验证人在A合约中的保证金将在(初级为2天、中级为10天、高级为50天)后退回。) e( G7 S3 u( c2 h
1 A/ f$ @4 t5 d& K' ^0 k
    A币跨链到B链:
2 k9 x( S3 G0 A. E$ x% `! n( O% A4 `  c$ L6 ^$ n
    1.交易者在A链上向A合约发送跨链交易,交易包含0.5a~a个A币、交易者在B链的接收地址。! x2 T4 ~6 {! j8 `

5 j. V) Z0 [' w! e: s5 K    2.交易者在B链上向B合约发送0.1b个B币作为保证金,同时交易包含作为验证手续费的B币数量、步骤1发送的交易的完整内容。3 t% f3 D% h9 X8 @9 Q, k/ Q' r1 y

2 ]" f* I3 o% m    3.步骤2发送的交易在区块链上确认后由经B合约验证通过的A链上的初级验证人负责验证。验证人需要向B合约发送验证交易,交易包含步骤2发送的交易的哈希值、“Y”或“N”(Y表示支持,N表示反对)、验证人用私钥对步骤1发送的交易+“Y”或“N”作的消息签名。当有多个验证人在24小时内对同一笔交易作验证时,如果多个验证人的验证结论相同,则以区块链上确认的第一条验证信息为准;如果多个验证人的验证结论不同,则交易被否决同时退回交易者的保证金。交易被验证后,如果验证人支持某笔交易,那么该验证人将收取一笔小额B币作为手续费同时批准该交易,剩余保证金将被退回;如果验证人反对某笔交易,那么交易者将被收取保证金同时否决该笔交易。0 i- I3 k7 p7 s5 G7 g& K
3 J0 U; N) I6 B( u4 J  O( T
    4.当验证人完成一笔交易的验证工作后,相应的验证一笔交易的权力将被暂时冻结48小时。+ z. ~1 R/ G- `/ e8 A

$ s5 y9 Z% a& n9 c    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币。
, u/ @  @  R. I+ v
/ ~3 s7 X+ X' z2 {/ j) f) K8 b    6.如果交易被被批准,那么交易者会收到B合约增发的相同数量的tAtoken。如果交易被否决,那么交易者仍然可以继续提交交易直到被批准。5 L! U% w9 o. c8 ^6 l- u
* K2 u2 x3 W' F& A
    跨链验证工作只能由初级验证人完成,中级、高级验证人只负责验证人的资格审核工作。由于中级、高级验证人的业务范围及处理业务的效率被严格限制,他们可能会面临收入不足的问题。因此,我们需要对下级验证人征税来供养上级验证人。初级验证人每天会从保证金中被征收0.00017b个B币作为中级验证人的基本收入,中级验证人每天会从保证金中被征收0.0017b个B币作为高级验证人的基本收入,被征收的税款将由各级验证人平均分配。2 O  G* v, w3 |; m

3 a' S2 c* q3 r7 i6 v! Z) J    为了节省矿工费,也可以将多个验证人的多笔验证信息放到同一笔验证交易中,也可以由多个验证人对同一个信息作联合签名。
" c, ]& x/ w# F) s& D
6 H: O( m6 A- J    由于虫洞合约方案只需要验证人作质押,所以该方案可以大大降低质押率。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

茹蕙zx 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    26