Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

什么是 Plasma,Plasma Cash?

烟7火
117 0 0
Plasma的设计模型使得人们可以通过发送链下消息来转移链上资产。它通过将交易吞吐量转移到Plasma链上实现根链的扩容。你可以想象这样一个场景:一位教授需要在短时间内给许多试卷打分数。他可以将这个工作分配给助教,由后者评阅试卷上的作答,并合计每题小分,只将最终分数报告给教授。8 U! L+ W, z/ y  \/ ?6 W
- \4 p0 e! i  {: s7 h6 z
    每条Plasma链都会将有关交易顺序的消息换算成一个哈希值存储在根链上。比特币和以太坊都属于根链——这两条区块链具有很高的安全性,并且通过去中心化保证了(安全性和活性)。本文列举的所有例子均将以太坊作为根链。
" k" ~" S8 ~) q2 G$ R" k1 S& @/ F* W  e) p- v+ C9 ^. F
    “Plasma不是带有默克尔树的中心化服务器。”( j/ }. V  O7 D# s
$ F- s( y0 V2 }/ g3 w+ }
    ——Vitalik,2018年瑞士楚格TechCrunch。5 @& \/ z$ n6 l# h& z- c7 U9 O$ _6 ~

1 V+ @% @- q. h& y8 H3 X/ B8 t    Plasma设计模型有两个主要的分支:PlasmaMVP和PlasmaCash。如果你想了解更多关于Plasma的研究谱系,请点击文末链接。让我们先了解一些背景知识并简要介绍使用流程,再深入探究各个部分。/ L- x0 [- S. v
1 c/ }6 [6 E- O$ n$ @' Q  m
    稀疏的默克尔树:大小恒定的完美默克尔树,之所以称作’稀疏’是因为多数叶节点都是空的。
4 ^6 {- ?# t. ^; ~6 N7 @9 _* ]9 D' q1 I/ {) R
    经济确定性:确保操作的不可撤回性,除非某一方花掉一大笔钱来产生另一种结果。% N- k, _. w5 j" p

% L2 e% G, e; J" J* y& P    UTXO:unspenttransactionoutput(未花费的交易输出)的缩写。每个交易必须从有效的UTXO集合中得到输入值。每个交易的输出值组成新的UTXO集合。比特币使用的就是UTXO模型。
* U9 `5 G/ N; O; p
% j* B8 X/ X" B% l4 \+ D) d5 r    前方高能预警!
0 j3 p/ t$ c6 i6 e$ R6 s) h. l; X& `( D% }) [& N
    1:想要成为Plasma运营者的人(wannabePlasmaOperator)将Plasma合约布置到主网上  D; Z8 m, f% C/ F
$ \# T9 G1 K7 Y3 ~, m9 y
    如果交易所之类的实体想要实现高交易吞吐量和低延迟性(甚至是即时经济确定性),不妨运行一条Plasma链并成为Plasma运营者。合约初始化过程中就会将合约所有者包含在内。( M: |' A2 m" p1 j* n% u

4 M4 e. ]& S- c$ z" |- k7 N    2:Plasma运营者打包一个块% [7 c- V  S  N) M& p- W
3 y7 e3 o. ]1 l/ V2 e
    运营者具有多重身份,其中一种是将交易聚集起来并排序打包进区块,然后将这个Plasma区块的哈希值提交至根链。
  V; W5 K) |* X+ Y# V  }( r
8 U0 X  d2 l$ V8 ]  l  M    Plasma有多种运行方式。不同的Plasma链可以有不同的治理规则、不同的代币和状态存储方式等等,不过所有Plasma链会定期将哈希值提交至根链,以便确保与根链一样的安全性。% Q: `4 @8 H; a7 ^! O

" i  X' b. W, b3 l  S    3:新用户Kanye在Plasma合约中质押以太币换取PETH& x- X/ ?5 j6 o
6 y7 O$ T/ A7 l- K
    在主要的两个Plasma设计模型中,你可以质押任意类型的代币,该代币会被转化成符合ERC20标准的代币,并通过Plasma链返还给用户。如果Kanye质押了以太币,他将获得PETH!如果他质押了比特币,他将获得PBTC!(PlasmaCash技术规范更支持CryptoKitties之类的ERC721资产,不过并非所有Plasma技术规范都支持任意类型代币的质押。)
6 j  N( m+ Z4 D, V. f
! N# o* x2 N1 U& U8 P4 E    4:Kanye向非Plasma智能合约成员Donald汇款+ h/ O- |$ ^& v, ~5 }/ x" L
2 \# R! O, Z4 }& O' M* w" ^
    Kanye并不是只能向Plasma合约以内的成员汇款!他也可以向以太币大佬Donald汇款。# E. p/ L, F. B+ O

$ I  g3 E" t% {" |$ Y" @: w    在PlasmaCash实现中,你质押的每种代币都会被分配一个特殊的ID。这些特殊的ID都存储在稀疏的默克尔树上。代币交易只会改变代币所在叶节点的索引(index)。这就好比房屋买卖——在进行交易之时房屋是不会动的,然而房主会更换,房契会记录交易相关方以及换手率。这极大降低了检查代币历史记录的难度,因为你知道该看树上的哪个位置!
2 n5 m- c5 }2 p; l" m$ O: |+ p% d* T5 v; y" L
    让我们关注一下Kanye发送给Donald的代币的索引。Kanye在发送代币之时必须包括该代币的历史记录。如果代币经历过多次交易,就会生成庞大的历史记录!我们将来会设法改善这一点。对Donald来说已经很棒了,因为他只需下载自己关心的代币的历史记录。
/ f2 d) s5 k. o2 p6 y( w4 H& m2 _# k' W/ j& p& e
    5:Donald有两个选择:是继续花费PETH,还是创建一个“退出”交易在根链上换回以太币。% S3 s% b- p1 O* g) ]0 p6 G' z
, n0 _- D0 b* t  \7 C
    如果Donald要将PETH换回以太币,他无需像请求加入时那样向运营者提交信息。出于匿名之需,Donald想要立刻换回他的代币,因此不想继续交易PETH了。他取一段代币的历史记录来证明所有权,并将其放入退出Plasma合约的请求之中。他的“退出”交易还包括Gas费和作为质押的保证金。如果审核通过,且没人质疑Donald,Donald就可以在根链上将PETH换回以太币。% c: K4 e4 Q* v- Y! q; b* N
1 _6 }' n3 t8 Z6 o% O, R
    太棒了!我们已经充分解析了最佳案例的真实场景,下面让我们深入研究一下各个部分吧:交易、退出机制和Plasma运营者的作用。要注意的是不同的实施方案之间存在各种规则和差异,不过你可以从下文了解一些核心的Plasma概念和术语。1 t0 Q( R2 J5 i. K, o" d

5 z& g! c7 f+ C4 }* [    交易
4 O$ B/ P$ h0 ^$ o2 }! `' a6 u- H9 W! Y6 Q" k  G6 H
    Kanye在发送代币之时必须将代币的历史记录一起发送出去。PlasmaCash的用户只需下载并查看自己关心的代币的历史记录。分片客户端验证能够减少每位用户的数据加载量。
* B0 b2 x) ~3 q
8 _/ G- k; K" e. j    然而,如果一个代币经历的交易次数过多,会导致历史记录过大而无法交易。我们建议可以通过设置检查点来解决这一问题。检查点(Checkpoint)会将原先线性大小的证明缩减成一个常量,一旦检验点敲定后,客户端就可以提供上面的证明。PlasmaCash检查点建立在加密经济聚合签名之上,为代币在区块高度Y上由X所有这一纪录提供经济保证。
9 ^/ Y( [& G$ `" [
, _1 o' B1 T* |4 F( t3 l    遗憾的是,在PlasmaCash上发送任意小额的代币会困难得多(PlasmaDebit或状态通道可以解决这一问题,详情见延伸阅读)。用户通过调用押金函数来指定押金金额。虽然通过PlasmaCash发送ERC721代币比较好,但是PlasmaMVP的UTXO模型可以更好地处理任意金额的代币交易。
5 i% P4 p' g- V% Q/ j) G. u/ I2 I/ x: A1 _5 d, K+ E0 n/ G
    退出机制: {8 T4 O5 K; a, \$ I; a

% G/ M; F% C' \  v$ r+ u" S    可以针对满足以下情况的退款发起退出挑战:$ ?1 J  O. f- t% R; z

0 y, B, `2 {& F9 U0 H. }    要求退回已花费的代币  b; a# [2 Z3 @6 i# B; x- M
: m- p% Q7 \! h- w' h
    要求退回已退回的代币
. U" Y% v+ l( h6 ^8 }  B* Z+ e) @3 @: Z$ P2 l& f% ^
    要求退回有无效历史记录的代币
# k) y# K; J+ o6 d, G
8 n) Z6 t' ~/ R* b    任何人都可以提交欺诈证明来挑战退出者,一经证实会没收退出者的保证金。$ B6 J2 u. M6 C/ r
, K4 {: f6 o/ t" I
    如果遭遇攻击怎么办?
  z' c' a" ~9 [" ^7 v" j/ o2 ?  E  b$ f3 ?5 _" j/ `, i
    如果Plasma链遭受黑客攻击,黑客必须提交”退出“交易才能成功偷走所有资金!在PlasmaCash上,黑客必须在“退出”交易中包括一张(作为安全保证金的)债券,他不能直接偷走所有钱。: F' W3 }; H8 q

" a+ q! x( |' D/ n! t# G0 {. ^    Plasma运营者7 D, |7 f8 l( M6 }6 ^) f. J: x. R

7 ?) t; [+ Q3 z% Z& m    Plasma运营者的主要作用是将交易聚集起来加入区块,将每个Plasma区块的默克尔根发布到根链上。1 y' g5 W2 K7 d7 F& g  a# z

5 w2 x$ [4 r" d7 S  |5 U    在更复杂的设计模型中,可以由PoS验证者代替中心运营者,从而减轻关于交易审查的担忧。不过,中心运营者带来的好处多多,而且Plasma运营者的债权有很多有趣的用处:
8 ]" J5 [5 `$ m. U! L9 |/ C; e) H) C) {
    **即时经济确定性!**由于运营者是区块的创建者,他们可以提供交易打包和排序的相关保证。为防作弊,运营者要提供保证金;交易一经打包,用户便知交易已然敲定
( Y0 v5 M* b0 C+ h; e& P6 x" G" r4 B5 X- H: P
    **惩罚无效退出:**如果运营者许可了无效的“退出“交易,我们可以予以惩罚,并没收保证金。
, A; ^4 @- `- M: P! N
6 d+ {! }! ]& ]% x) L9 P    **Casper验证:**运营者可以是CasperPoS验证者!% K$ `6 N0 S; @9 o" m

/ \0 D, U; m9 H: u    你还能想到其它用处吗?9 a$ S0 [, |' Y' P3 r9 l& D9 }
, k3 L- Y, Q$ q# @1 z' B8 x* `
    Plasma的设计模型
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

烟7火 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1