Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

什么是 Plasma,Plasma Cash?

烟7火
105 0 0
Plasma的设计模型使得人们可以通过发送链下消息来转移链上资产。它通过将交易吞吐量转移到Plasma链上实现根链的扩容。你可以想象这样一个场景:一位教授需要在短时间内给许多试卷打分数。他可以将这个工作分配给助教,由后者评阅试卷上的作答,并合计每题小分,只将最终分数报告给教授。& U, g- I% l+ X) ~, r: e9 q& V: p
5 c" |) u0 z9 {- T# b, B
    每条Plasma链都会将有关交易顺序的消息换算成一个哈希值存储在根链上。比特币和以太坊都属于根链——这两条区块链具有很高的安全性,并且通过去中心化保证了(安全性和活性)。本文列举的所有例子均将以太坊作为根链。* L, w' M6 d& u3 x  x' C4 ]
4 _& i2 H$ r$ F# f
    “Plasma不是带有默克尔树的中心化服务器。”
* j1 E/ u; ~/ W7 L1 j
4 |# Q% s2 r- e5 Z1 f& T    ——Vitalik,2018年瑞士楚格TechCrunch。
  l7 _4 C$ d/ |5 Y
3 C+ _7 m$ Y( E0 U1 B+ |) c    Plasma设计模型有两个主要的分支:PlasmaMVP和PlasmaCash。如果你想了解更多关于Plasma的研究谱系,请点击文末链接。让我们先了解一些背景知识并简要介绍使用流程,再深入探究各个部分。$ N( P( i+ r- v* r9 t

) V4 K8 k7 W2 x! ^3 \+ G    稀疏的默克尔树:大小恒定的完美默克尔树,之所以称作’稀疏’是因为多数叶节点都是空的。
1 r7 D: z+ j3 l1 `4 N2 f/ y) }- U7 O7 v- j3 ^2 v
    经济确定性:确保操作的不可撤回性,除非某一方花掉一大笔钱来产生另一种结果。
% U! O1 j) V. q1 o
8 `) P  d) k0 v    UTXO:unspenttransactionoutput(未花费的交易输出)的缩写。每个交易必须从有效的UTXO集合中得到输入值。每个交易的输出值组成新的UTXO集合。比特币使用的就是UTXO模型。6 `9 i' C& s; n% e3 g1 I, y5 _
9 P; U- t# f3 q% d
    前方高能预警!
& @; ?/ {! P; \2 d4 W7 o3 [$ l) `1 a
    1:想要成为Plasma运营者的人(wannabePlasmaOperator)将Plasma合约布置到主网上4 X7 s9 O% Q% o: {- ~& C$ {

( L  z5 \  v1 @( P2 f3 [3 Q. w1 Q    如果交易所之类的实体想要实现高交易吞吐量和低延迟性(甚至是即时经济确定性),不妨运行一条Plasma链并成为Plasma运营者。合约初始化过程中就会将合约所有者包含在内。% V: }& q- ]4 T0 h# }
- G' N$ c  S5 K9 Q; A8 h
    2:Plasma运营者打包一个块
" J, @' g$ ^# o+ M' k, x  ^) X) X4 I6 l$ z7 S5 |8 H
    运营者具有多重身份,其中一种是将交易聚集起来并排序打包进区块,然后将这个Plasma区块的哈希值提交至根链。
: b7 D* ^0 o+ U+ j% J6 B
! ]3 U4 y4 \4 K# x    Plasma有多种运行方式。不同的Plasma链可以有不同的治理规则、不同的代币和状态存储方式等等,不过所有Plasma链会定期将哈希值提交至根链,以便确保与根链一样的安全性。# ?5 y+ T; {5 U3 R- k

3 O! ?$ U$ ]- }% t! g5 M9 J$ m    3:新用户Kanye在Plasma合约中质押以太币换取PETH
3 r$ ^  q1 A1 D- z& l) b  M
/ l$ B# G- L% e    在主要的两个Plasma设计模型中,你可以质押任意类型的代币,该代币会被转化成符合ERC20标准的代币,并通过Plasma链返还给用户。如果Kanye质押了以太币,他将获得PETH!如果他质押了比特币,他将获得PBTC!(PlasmaCash技术规范更支持CryptoKitties之类的ERC721资产,不过并非所有Plasma技术规范都支持任意类型代币的质押。)
: J" U1 f) d5 `+ [; E5 p2 k. R/ E+ A9 E+ c5 R% s$ P' K
    4:Kanye向非Plasma智能合约成员Donald汇款
! [6 A6 `3 t. A: u- I, h
% S  B2 a7 c( j% q3 L. `8 T    Kanye并不是只能向Plasma合约以内的成员汇款!他也可以向以太币大佬Donald汇款。( V3 g/ A( I, C" J& L

# g4 z+ e. o1 i' ]    在PlasmaCash实现中,你质押的每种代币都会被分配一个特殊的ID。这些特殊的ID都存储在稀疏的默克尔树上。代币交易只会改变代币所在叶节点的索引(index)。这就好比房屋买卖——在进行交易之时房屋是不会动的,然而房主会更换,房契会记录交易相关方以及换手率。这极大降低了检查代币历史记录的难度,因为你知道该看树上的哪个位置!4 W3 h! [0 s; J. m

8 m" `$ O" @& N8 B8 `. R# \    让我们关注一下Kanye发送给Donald的代币的索引。Kanye在发送代币之时必须包括该代币的历史记录。如果代币经历过多次交易,就会生成庞大的历史记录!我们将来会设法改善这一点。对Donald来说已经很棒了,因为他只需下载自己关心的代币的历史记录。5 O% f+ |) g) g& P4 |* y% e1 K

3 T4 e% t! F* I& s: ]1 F6 Q    5:Donald有两个选择:是继续花费PETH,还是创建一个“退出”交易在根链上换回以太币。+ B' E$ D3 p) ?
/ [2 U+ e9 b6 u
    如果Donald要将PETH换回以太币,他无需像请求加入时那样向运营者提交信息。出于匿名之需,Donald想要立刻换回他的代币,因此不想继续交易PETH了。他取一段代币的历史记录来证明所有权,并将其放入退出Plasma合约的请求之中。他的“退出”交易还包括Gas费和作为质押的保证金。如果审核通过,且没人质疑Donald,Donald就可以在根链上将PETH换回以太币。# q9 @3 ~# t4 S
9 F/ ]( K7 ~* t3 I, [
    太棒了!我们已经充分解析了最佳案例的真实场景,下面让我们深入研究一下各个部分吧:交易、退出机制和Plasma运营者的作用。要注意的是不同的实施方案之间存在各种规则和差异,不过你可以从下文了解一些核心的Plasma概念和术语。
! I, P' s! ~6 D) R
: ]4 ]- v/ S* v: Z5 G  H3 d    交易
! B7 I! t. L- d4 b3 ^
0 m) T+ ^* E# t; [: m; x6 s    Kanye在发送代币之时必须将代币的历史记录一起发送出去。PlasmaCash的用户只需下载并查看自己关心的代币的历史记录。分片客户端验证能够减少每位用户的数据加载量。5 f- Q; D& S( R3 L6 H& {- @& A

4 t% x+ b" \8 u9 N/ D5 L- X    然而,如果一个代币经历的交易次数过多,会导致历史记录过大而无法交易。我们建议可以通过设置检查点来解决这一问题。检查点(Checkpoint)会将原先线性大小的证明缩减成一个常量,一旦检验点敲定后,客户端就可以提供上面的证明。PlasmaCash检查点建立在加密经济聚合签名之上,为代币在区块高度Y上由X所有这一纪录提供经济保证。
6 J+ c3 |; f  f( e$ c, M9 l/ F/ K- b7 |, E
    遗憾的是,在PlasmaCash上发送任意小额的代币会困难得多(PlasmaDebit或状态通道可以解决这一问题,详情见延伸阅读)。用户通过调用押金函数来指定押金金额。虽然通过PlasmaCash发送ERC721代币比较好,但是PlasmaMVP的UTXO模型可以更好地处理任意金额的代币交易。
2 K: Z# p( O/ c- e
, i, W8 |. J) ?5 K- r/ h4 ~0 @    退出机制
  e4 U% S0 e4 k2 m5 l2 A3 H
$ y5 l$ C* @* ^6 s2 b8 C" ?    可以针对满足以下情况的退款发起退出挑战:
9 S6 I; `# l; s8 [% s9 ^+ \: z) z9 A
( q7 D% k1 o7 `4 z  l    要求退回已花费的代币9 Z' ?9 M0 k0 s  N+ B

( t2 M+ W# W5 K0 a3 W1 o/ ]6 k) x$ _& q    要求退回已退回的代币' K0 l9 Q# F. h) b0 n8 x0 O% m0 J

% q6 a) Q- y$ P9 q! l# `    要求退回有无效历史记录的代币6 I$ q0 [7 d' P3 O3 e* Q* h' t
3 |6 f1 N  @( v; o  R
    任何人都可以提交欺诈证明来挑战退出者,一经证实会没收退出者的保证金。
( }2 |3 m5 b3 }( w) q  S! H9 O% s7 p
& ^" J, K5 h2 g1 T" n    如果遭遇攻击怎么办?! \" ^" L6 d, \/ b8 R. e

* @! {, g, |2 L2 {8 m5 L    如果Plasma链遭受黑客攻击,黑客必须提交”退出“交易才能成功偷走所有资金!在PlasmaCash上,黑客必须在“退出”交易中包括一张(作为安全保证金的)债券,他不能直接偷走所有钱。. V/ S. f( T' n) S0 N- L/ S

* e2 e) P- r1 \9 v" _- ~    Plasma运营者9 @- K/ c& h; z, T* m
) z2 F! P7 E( U; q( y6 o* M2 }
    Plasma运营者的主要作用是将交易聚集起来加入区块,将每个Plasma区块的默克尔根发布到根链上。" q4 V; w2 V' i+ g" {/ i$ d( k

- q- V; M: p1 ]: A    在更复杂的设计模型中,可以由PoS验证者代替中心运营者,从而减轻关于交易审查的担忧。不过,中心运营者带来的好处多多,而且Plasma运营者的债权有很多有趣的用处:0 c# ^6 D" h' c9 z- B

4 l5 m; \; O% j/ V    **即时经济确定性!**由于运营者是区块的创建者,他们可以提供交易打包和排序的相关保证。为防作弊,运营者要提供保证金;交易一经打包,用户便知交易已然敲定
1 f! @. }& d+ q' \- p
. \  z3 v$ g0 Y6 H6 j$ `) P$ @( G    **惩罚无效退出:**如果运营者许可了无效的“退出“交易,我们可以予以惩罚,并没收保证金。
( t! J, Y1 L  g
9 e: ?8 L9 \1 a' C  R" e    **Casper验证:**运营者可以是CasperPoS验证者!
& c& {9 f! o! T- S9 {6 H" K5 P
& G- U; ]$ A- x0 {. }- Q    你还能想到其它用处吗?
, [5 @$ Z( w; ^  q. V- a$ X
+ Q4 }1 i& R9 Y; w: w    Plasma的设计模型
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

烟7火 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1