Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

什么是 Plasma,Plasma Cash?

烟7火
88 0 0
Plasma的设计模型使得人们可以通过发送链下消息来转移链上资产。它通过将交易吞吐量转移到Plasma链上实现根链的扩容。你可以想象这样一个场景:一位教授需要在短时间内给许多试卷打分数。他可以将这个工作分配给助教,由后者评阅试卷上的作答,并合计每题小分,只将最终分数报告给教授。8 u- \; L, j! H/ T

& q6 ^+ l) x/ `, Z* n! A    每条Plasma链都会将有关交易顺序的消息换算成一个哈希值存储在根链上。比特币和以太坊都属于根链——这两条区块链具有很高的安全性,并且通过去中心化保证了(安全性和活性)。本文列举的所有例子均将以太坊作为根链。
# z) u* ^* c# m
  o' B) E. w( {( Q' @    “Plasma不是带有默克尔树的中心化服务器。”
$ b/ _* u7 M7 P! J% d
- Y" J% m! N9 c. P, K    ——Vitalik,2018年瑞士楚格TechCrunch。$ p1 \4 }8 w8 z: x9 f

# u+ g2 j+ z% }2 T( _    Plasma设计模型有两个主要的分支:PlasmaMVP和PlasmaCash。如果你想了解更多关于Plasma的研究谱系,请点击文末链接。让我们先了解一些背景知识并简要介绍使用流程,再深入探究各个部分。
5 j7 E  _' z4 z, v) m
9 `( X+ l, b; ^    稀疏的默克尔树:大小恒定的完美默克尔树,之所以称作’稀疏’是因为多数叶节点都是空的。
; t8 F- p, j% m, K: Q" J4 p: o% x
8 c6 I6 v, O( L' l    经济确定性:确保操作的不可撤回性,除非某一方花掉一大笔钱来产生另一种结果。
: e3 T6 Z" Y; t8 q8 q/ p( N- T
3 T3 s  g9 O5 K- P    UTXO:unspenttransactionoutput(未花费的交易输出)的缩写。每个交易必须从有效的UTXO集合中得到输入值。每个交易的输出值组成新的UTXO集合。比特币使用的就是UTXO模型。3 t# c+ N* s, C7 k

5 C6 H/ ^# }5 o% R$ k    前方高能预警!& i4 M" u. B7 J$ a& i( d6 [* S
* I$ _5 n% p/ M4 [* D' U
    1:想要成为Plasma运营者的人(wannabePlasmaOperator)将Plasma合约布置到主网上7 i; Q$ J" T6 f& ]
0 Y& y3 P- C+ R. r+ r" S- j
    如果交易所之类的实体想要实现高交易吞吐量和低延迟性(甚至是即时经济确定性),不妨运行一条Plasma链并成为Plasma运营者。合约初始化过程中就会将合约所有者包含在内。/ \% m" Q$ P+ P/ i) J5 ]/ [

& N7 C1 G8 z, H2 J    2:Plasma运营者打包一个块1 k5 K; K0 M4 w' m3 j0 |/ s4 [

! s- h, |: ?; ]! q" a4 ]    运营者具有多重身份,其中一种是将交易聚集起来并排序打包进区块,然后将这个Plasma区块的哈希值提交至根链。$ O' X9 z* N) U0 @. f" Q
3 L3 [! W  @( N% S! T$ G& F; d+ ?
    Plasma有多种运行方式。不同的Plasma链可以有不同的治理规则、不同的代币和状态存储方式等等,不过所有Plasma链会定期将哈希值提交至根链,以便确保与根链一样的安全性。2 J" a, W1 l# m7 L8 M" i

  n6 z2 T7 k' o2 C3 c: b    3:新用户Kanye在Plasma合约中质押以太币换取PETH: `4 Y9 c/ N6 B. Q+ F& f
' j! i7 k) [4 p- R
    在主要的两个Plasma设计模型中,你可以质押任意类型的代币,该代币会被转化成符合ERC20标准的代币,并通过Plasma链返还给用户。如果Kanye质押了以太币,他将获得PETH!如果他质押了比特币,他将获得PBTC!(PlasmaCash技术规范更支持CryptoKitties之类的ERC721资产,不过并非所有Plasma技术规范都支持任意类型代币的质押。)9 k! x4 O+ E/ f* T+ h/ ?* E& X

$ L0 ]2 N% x5 b4 _8 s! g+ e! G    4:Kanye向非Plasma智能合约成员Donald汇款
% I6 N# j; y7 S- ~7 R' ^- Y
5 m, W- Q. c* v3 Z    Kanye并不是只能向Plasma合约以内的成员汇款!他也可以向以太币大佬Donald汇款。
" d" S5 S, w' b9 e5 T, u  H% }; R
( D4 o3 T. ^4 e( y    在PlasmaCash实现中,你质押的每种代币都会被分配一个特殊的ID。这些特殊的ID都存储在稀疏的默克尔树上。代币交易只会改变代币所在叶节点的索引(index)。这就好比房屋买卖——在进行交易之时房屋是不会动的,然而房主会更换,房契会记录交易相关方以及换手率。这极大降低了检查代币历史记录的难度,因为你知道该看树上的哪个位置!" c1 `# G! R" ^( _/ {4 M6 B6 p
( z. `1 d6 {7 C& w+ q+ s: d0 X
    让我们关注一下Kanye发送给Donald的代币的索引。Kanye在发送代币之时必须包括该代币的历史记录。如果代币经历过多次交易,就会生成庞大的历史记录!我们将来会设法改善这一点。对Donald来说已经很棒了,因为他只需下载自己关心的代币的历史记录。
8 K: c" f* Y2 [3 L; Y- R+ E8 s& v3 i
: z8 J; s9 v% j5 M    5:Donald有两个选择:是继续花费PETH,还是创建一个“退出”交易在根链上换回以太币。7 N! ?7 z) K  L; L, A
* t' b* n- P! G/ Z
    如果Donald要将PETH换回以太币,他无需像请求加入时那样向运营者提交信息。出于匿名之需,Donald想要立刻换回他的代币,因此不想继续交易PETH了。他取一段代币的历史记录来证明所有权,并将其放入退出Plasma合约的请求之中。他的“退出”交易还包括Gas费和作为质押的保证金。如果审核通过,且没人质疑Donald,Donald就可以在根链上将PETH换回以太币。
% ?1 z* q2 H* @
8 {; x- p; s7 W" i6 U    太棒了!我们已经充分解析了最佳案例的真实场景,下面让我们深入研究一下各个部分吧:交易、退出机制和Plasma运营者的作用。要注意的是不同的实施方案之间存在各种规则和差异,不过你可以从下文了解一些核心的Plasma概念和术语。3 n* N$ o5 N! b' O' l! N  B: y6 h

& w5 d# i* q7 A% b% p    交易. [: E# o0 k; [4 W1 f7 `6 ^/ E
4 U' y/ O7 w6 x5 m% _
    Kanye在发送代币之时必须将代币的历史记录一起发送出去。PlasmaCash的用户只需下载并查看自己关心的代币的历史记录。分片客户端验证能够减少每位用户的数据加载量。
( M+ w) |4 }& a* s: S' a: a
3 u8 G, O+ ]$ t7 J! b( D4 K    然而,如果一个代币经历的交易次数过多,会导致历史记录过大而无法交易。我们建议可以通过设置检查点来解决这一问题。检查点(Checkpoint)会将原先线性大小的证明缩减成一个常量,一旦检验点敲定后,客户端就可以提供上面的证明。PlasmaCash检查点建立在加密经济聚合签名之上,为代币在区块高度Y上由X所有这一纪录提供经济保证。
5 K+ H1 p. o& }  z) X! v. n; @* |+ I7 _7 }5 u$ p9 r( N
    遗憾的是,在PlasmaCash上发送任意小额的代币会困难得多(PlasmaDebit或状态通道可以解决这一问题,详情见延伸阅读)。用户通过调用押金函数来指定押金金额。虽然通过PlasmaCash发送ERC721代币比较好,但是PlasmaMVP的UTXO模型可以更好地处理任意金额的代币交易。
. a' K+ I0 `6 q1 L1 ~4 x2 I; Y# Z, V- l8 F
    退出机制0 W4 k6 E# v1 m) m: t/ N/ d

4 x; E' v7 l$ M2 O    可以针对满足以下情况的退款发起退出挑战:
0 E9 ~+ g$ D' M) r. Q+ [2 R& t$ I. Q2 c3 y% c
    要求退回已花费的代币
% }/ Y: t0 B1 M' n2 f* _$ w6 e
- _: s) V0 a% }. V: W2 K    要求退回已退回的代币
% ?! ^8 m$ g) Q0 ~2 k
5 V6 U- C9 j! M# B4 Y8 U    要求退回有无效历史记录的代币2 I- b) d$ H. X. T. f

4 Q- J5 R! G$ E3 p" q( L9 Z    任何人都可以提交欺诈证明来挑战退出者,一经证实会没收退出者的保证金。
7 w3 Q9 {1 h, n) @1 K( u) x4 L: K9 \  y6 q1 n0 L
    如果遭遇攻击怎么办?$ T, o/ W) v* r& K; c5 h

6 o5 l  }7 W4 V) }8 M8 U    如果Plasma链遭受黑客攻击,黑客必须提交”退出“交易才能成功偷走所有资金!在PlasmaCash上,黑客必须在“退出”交易中包括一张(作为安全保证金的)债券,他不能直接偷走所有钱。
3 R0 }3 Y( Z1 U7 ^+ A
! [/ ?$ j# t% |4 {- T    Plasma运营者9 `5 m% f, t( \; [: Z

2 E4 W( e  {. k) c0 r    Plasma运营者的主要作用是将交易聚集起来加入区块,将每个Plasma区块的默克尔根发布到根链上。
  a6 K- h, W& y6 K* t
! I( A, ?) x6 R# U- Y& D8 g4 @, S    在更复杂的设计模型中,可以由PoS验证者代替中心运营者,从而减轻关于交易审查的担忧。不过,中心运营者带来的好处多多,而且Plasma运营者的债权有很多有趣的用处:
. B( B7 Y. ~) s! s( j) [
4 J5 t7 Q" X6 @$ P7 v    **即时经济确定性!**由于运营者是区块的创建者,他们可以提供交易打包和排序的相关保证。为防作弊,运营者要提供保证金;交易一经打包,用户便知交易已然敲定% X5 u( `) i9 D9 u: B9 I
* G3 c: J- }( [0 ~: r
    **惩罚无效退出:**如果运营者许可了无效的“退出“交易,我们可以予以惩罚,并没收保证金。6 R2 \! h( l* p- s7 c4 Y( _

' X2 N2 V0 @3 R( w7 |- T' D    **Casper验证:**运营者可以是CasperPoS验证者!
7 G& S5 t5 i, Z+ ~
0 ?, o/ a1 w# D0 a3 G: Y    你还能想到其它用处吗?1 }) g) V3 r$ D3 V" T0 M9 |7 F% k$ H
, g' F0 h6 P; E+ p2 {
    Plasma的设计模型
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

烟7火 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1