Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

什么是 Plasma,Plasma Cash?

烟7火
124 0 0
Plasma的设计模型使得人们可以通过发送链下消息来转移链上资产。它通过将交易吞吐量转移到Plasma链上实现根链的扩容。你可以想象这样一个场景:一位教授需要在短时间内给许多试卷打分数。他可以将这个工作分配给助教,由后者评阅试卷上的作答,并合计每题小分,只将最终分数报告给教授。
: @9 ]7 Q0 s4 P& Y9 l  s" t6 F* ?1 u8 g. n# v6 N& ]5 e# L; R% ~0 ]+ y
    每条Plasma链都会将有关交易顺序的消息换算成一个哈希值存储在根链上。比特币和以太坊都属于根链——这两条区块链具有很高的安全性,并且通过去中心化保证了(安全性和活性)。本文列举的所有例子均将以太坊作为根链。5 R' O5 ]# c* h0 s5 E
' p) y, D' E3 \+ d
    “Plasma不是带有默克尔树的中心化服务器。”2 U. j; S" B% b5 @( @0 |
$ w: d2 O* \0 J; A/ p# S( Y
    ——Vitalik,2018年瑞士楚格TechCrunch。" W- [" A% i* V# `, U$ \. _2 D& M: v
' N! @; u& y3 c2 w  I1 ]8 o8 ^
    Plasma设计模型有两个主要的分支:PlasmaMVP和PlasmaCash。如果你想了解更多关于Plasma的研究谱系,请点击文末链接。让我们先了解一些背景知识并简要介绍使用流程,再深入探究各个部分。6 A+ M9 M2 {* Y9 T: g, B
. U0 Q0 ~& g! E  Q$ P  x6 }
    稀疏的默克尔树:大小恒定的完美默克尔树,之所以称作’稀疏’是因为多数叶节点都是空的。
$ M/ ~6 `! G! [3 y+ W' B  N$ O- U, l# y. }" I. Z- N  }
    经济确定性:确保操作的不可撤回性,除非某一方花掉一大笔钱来产生另一种结果。& k' K; o8 v) x3 h! N& o7 T

, U9 u: S0 B8 K: I+ c7 e    UTXO:unspenttransactionoutput(未花费的交易输出)的缩写。每个交易必须从有效的UTXO集合中得到输入值。每个交易的输出值组成新的UTXO集合。比特币使用的就是UTXO模型。6 j; j/ J  z2 J: o& r5 c* s1 T' q

9 g: q0 _' S" }) N- S    前方高能预警!* J% e- n( w' f/ n" S

. z6 D* X: Z5 J    1:想要成为Plasma运营者的人(wannabePlasmaOperator)将Plasma合约布置到主网上% _, w/ \* {7 f

  k* S& D- m, E1 q# z    如果交易所之类的实体想要实现高交易吞吐量和低延迟性(甚至是即时经济确定性),不妨运行一条Plasma链并成为Plasma运营者。合约初始化过程中就会将合约所有者包含在内。
9 [; w# x4 ^9 }: A! {- g% Q
1 [& o3 o/ B/ S: x0 n( H* o    2:Plasma运营者打包一个块6 r! s- b" D- T3 ^
5 O# U6 N/ u* F5 g# V% ~- r% Q9 a1 r
    运营者具有多重身份,其中一种是将交易聚集起来并排序打包进区块,然后将这个Plasma区块的哈希值提交至根链。& u/ r- c( m; Y8 y
# f3 m& f# o$ O: y7 A$ b
    Plasma有多种运行方式。不同的Plasma链可以有不同的治理规则、不同的代币和状态存储方式等等,不过所有Plasma链会定期将哈希值提交至根链,以便确保与根链一样的安全性。
; ~- e& {6 v2 @1 I: D* I( L
6 Q5 i  _( i) x+ u( h* e* o8 Z    3:新用户Kanye在Plasma合约中质押以太币换取PETH
  p. ?) y. @  @* B1 Z
5 v; ?# O6 q  F7 F$ E3 r( z* W    在主要的两个Plasma设计模型中,你可以质押任意类型的代币,该代币会被转化成符合ERC20标准的代币,并通过Plasma链返还给用户。如果Kanye质押了以太币,他将获得PETH!如果他质押了比特币,他将获得PBTC!(PlasmaCash技术规范更支持CryptoKitties之类的ERC721资产,不过并非所有Plasma技术规范都支持任意类型代币的质押。)
3 r6 J9 L# e7 i7 M& W. o/ K2 I2 U8 k5 `+ j; x/ l3 A
    4:Kanye向非Plasma智能合约成员Donald汇款# A; B7 w3 {& Q# D1 t

- ~+ m8 a4 L5 ~" i. J    Kanye并不是只能向Plasma合约以内的成员汇款!他也可以向以太币大佬Donald汇款。
/ I7 K: b1 S9 `0 G* k8 _
, [3 `9 q6 B$ q6 [/ N    在PlasmaCash实现中,你质押的每种代币都会被分配一个特殊的ID。这些特殊的ID都存储在稀疏的默克尔树上。代币交易只会改变代币所在叶节点的索引(index)。这就好比房屋买卖——在进行交易之时房屋是不会动的,然而房主会更换,房契会记录交易相关方以及换手率。这极大降低了检查代币历史记录的难度,因为你知道该看树上的哪个位置!
8 V, Z+ `! O$ y( z7 o+ U7 u0 F* i2 \/ I2 W- Y
    让我们关注一下Kanye发送给Donald的代币的索引。Kanye在发送代币之时必须包括该代币的历史记录。如果代币经历过多次交易,就会生成庞大的历史记录!我们将来会设法改善这一点。对Donald来说已经很棒了,因为他只需下载自己关心的代币的历史记录。
  W& ]9 y, H0 ?: n: D: N6 k/ I3 v/ N# u$ b$ u5 L: R, k
    5:Donald有两个选择:是继续花费PETH,还是创建一个“退出”交易在根链上换回以太币。- }" C5 v* u& C# o7 {
4 u( S2 p! V4 f* ~1 \5 l
    如果Donald要将PETH换回以太币,他无需像请求加入时那样向运营者提交信息。出于匿名之需,Donald想要立刻换回他的代币,因此不想继续交易PETH了。他取一段代币的历史记录来证明所有权,并将其放入退出Plasma合约的请求之中。他的“退出”交易还包括Gas费和作为质押的保证金。如果审核通过,且没人质疑Donald,Donald就可以在根链上将PETH换回以太币。; H* `- a! E( l: V+ D- x+ w

) s  o, Q9 D8 D$ F5 ?( Q- [    太棒了!我们已经充分解析了最佳案例的真实场景,下面让我们深入研究一下各个部分吧:交易、退出机制和Plasma运营者的作用。要注意的是不同的实施方案之间存在各种规则和差异,不过你可以从下文了解一些核心的Plasma概念和术语。5 v# H; P0 m6 h! c) D3 c4 m
3 ?# p( J- m6 l& t  _# H7 H% \, @+ G
    交易3 L. w) {& W. ?+ j

) c  F! {$ }9 Q, O. c    Kanye在发送代币之时必须将代币的历史记录一起发送出去。PlasmaCash的用户只需下载并查看自己关心的代币的历史记录。分片客户端验证能够减少每位用户的数据加载量。: W4 W6 L' Y9 \: H, y

+ |% Y9 h3 o+ g) x$ w# |    然而,如果一个代币经历的交易次数过多,会导致历史记录过大而无法交易。我们建议可以通过设置检查点来解决这一问题。检查点(Checkpoint)会将原先线性大小的证明缩减成一个常量,一旦检验点敲定后,客户端就可以提供上面的证明。PlasmaCash检查点建立在加密经济聚合签名之上,为代币在区块高度Y上由X所有这一纪录提供经济保证。
: V9 c/ S8 Q) w; L% R6 M7 j/ t
    遗憾的是,在PlasmaCash上发送任意小额的代币会困难得多(PlasmaDebit或状态通道可以解决这一问题,详情见延伸阅读)。用户通过调用押金函数来指定押金金额。虽然通过PlasmaCash发送ERC721代币比较好,但是PlasmaMVP的UTXO模型可以更好地处理任意金额的代币交易。! |; D+ W. b4 @) ]

! d& G- L& H* `9 G* s    退出机制: _8 y& v* I1 p) W; R) D

/ F3 B3 E0 X2 e( ?    可以针对满足以下情况的退款发起退出挑战:' R) S( S7 I& l: I4 N: t' b1 r0 z0 N
  S" X/ b: r. ~, @0 z5 d
    要求退回已花费的代币: M; u! {/ ]$ d* v" Z4 Q
0 U% y4 E: [) j# Q6 Z$ r
    要求退回已退回的代币
2 ]( m3 Q9 V3 y& d/ k; e3 f
; v3 }3 Z- k& k3 a1 i# s    要求退回有无效历史记录的代币
. K) L8 C2 S/ g* j! ^) V/ W, i; n: l4 {9 |  x" @1 U7 z  Q8 Q
    任何人都可以提交欺诈证明来挑战退出者,一经证实会没收退出者的保证金。5 F# P$ S% A, P# }2 x

: l9 A2 e, S+ m    如果遭遇攻击怎么办?
- Q9 Q. N) S' {9 v2 w
/ ]0 p( E) l4 `8 V+ T    如果Plasma链遭受黑客攻击,黑客必须提交”退出“交易才能成功偷走所有资金!在PlasmaCash上,黑客必须在“退出”交易中包括一张(作为安全保证金的)债券,他不能直接偷走所有钱。
) @. c6 r+ d' m( ]" C5 v1 C' I3 m: F
    Plasma运营者
2 |* d$ P& \/ U; k/ G2 l$ N. x- J  @
/ U) |/ U8 `0 C! V/ p; N    Plasma运营者的主要作用是将交易聚集起来加入区块,将每个Plasma区块的默克尔根发布到根链上。9 R( {1 ]( [# h! w5 m- o2 E

* T& P$ H5 ]) F1 f/ ~. j    在更复杂的设计模型中,可以由PoS验证者代替中心运营者,从而减轻关于交易审查的担忧。不过,中心运营者带来的好处多多,而且Plasma运营者的债权有很多有趣的用处:
0 ]8 y/ v+ `: i1 h# B; @. M: G; P* o
    **即时经济确定性!**由于运营者是区块的创建者,他们可以提供交易打包和排序的相关保证。为防作弊,运营者要提供保证金;交易一经打包,用户便知交易已然敲定1 D1 x4 ]0 J3 d; y8 y- H

# D" B3 t0 C' Q% m% u+ E    **惩罚无效退出:**如果运营者许可了无效的“退出“交易,我们可以予以惩罚,并没收保证金。/ D2 g# k9 D& E* F! g, h1 S" g
6 Q+ G; q# V) F/ s6 m
    **Casper验证:**运营者可以是CasperPoS验证者!
  p+ ?8 A# o5 a/ m6 y* C
% R1 V) }+ j, X# V  e    你还能想到其它用处吗?
: T. G- e7 A4 }) {" n% x9 @
  B1 O& l- t7 U6 P    Plasma的设计模型
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

烟7火 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1