Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

什么是 Plasma,Plasma Cash?

烟7火
73 0 0
Plasma的设计模型使得人们可以通过发送链下消息来转移链上资产。它通过将交易吞吐量转移到Plasma链上实现根链的扩容。你可以想象这样一个场景:一位教授需要在短时间内给许多试卷打分数。他可以将这个工作分配给助教,由后者评阅试卷上的作答,并合计每题小分,只将最终分数报告给教授。
- B( J3 @% ^. v& I: e/ \. t8 W1 U+ i' Z% b* O6 |
    每条Plasma链都会将有关交易顺序的消息换算成一个哈希值存储在根链上。比特币和以太坊都属于根链——这两条区块链具有很高的安全性,并且通过去中心化保证了(安全性和活性)。本文列举的所有例子均将以太坊作为根链。( P9 ]1 G# v+ P" m3 ~

6 q! W& N  d7 m) E. C1 U    “Plasma不是带有默克尔树的中心化服务器。”
: j3 u  j& r( g) n3 p
( h1 w! V% @4 u. l3 O% G. ~2 U    ——Vitalik,2018年瑞士楚格TechCrunch。' s" v( D: Z0 x

" N- I' b/ O7 r' _: B    Plasma设计模型有两个主要的分支:PlasmaMVP和PlasmaCash。如果你想了解更多关于Plasma的研究谱系,请点击文末链接。让我们先了解一些背景知识并简要介绍使用流程,再深入探究各个部分。
/ J5 p2 u  o7 D& p: N
- i. c! H- h$ y7 H+ }$ [    稀疏的默克尔树:大小恒定的完美默克尔树,之所以称作’稀疏’是因为多数叶节点都是空的。$ J5 Z; }* w( N1 T. P6 h# I/ ^( c

% C. m1 R+ T# u    经济确定性:确保操作的不可撤回性,除非某一方花掉一大笔钱来产生另一种结果。
' U( h% H+ K, G4 E2 T( _. G! s+ l: @' T/ [# c2 w% S7 H
    UTXO:unspenttransactionoutput(未花费的交易输出)的缩写。每个交易必须从有效的UTXO集合中得到输入值。每个交易的输出值组成新的UTXO集合。比特币使用的就是UTXO模型。3 E' A  V9 Q3 p) I& M

* x7 r$ D  a2 i  y" ~7 \    前方高能预警!
6 q, D/ Y- l+ E  Q+ ~6 ^8 z1 p' H% \2 J
    1:想要成为Plasma运营者的人(wannabePlasmaOperator)将Plasma合约布置到主网上
  G( u  V. |% @: y- R4 C! `" \; }6 c, f4 y  b; \$ _2 E( m
    如果交易所之类的实体想要实现高交易吞吐量和低延迟性(甚至是即时经济确定性),不妨运行一条Plasma链并成为Plasma运营者。合约初始化过程中就会将合约所有者包含在内。
2 P4 ~* I+ w' \; F6 U3 D5 W6 m
    2:Plasma运营者打包一个块
0 v! i9 Z2 n+ i; z  q
$ Z& g; g, k; A1 F2 X- R3 h1 y    运营者具有多重身份,其中一种是将交易聚集起来并排序打包进区块,然后将这个Plasma区块的哈希值提交至根链。
. q3 e& C: ~) }0 b6 J
& h" D! L" }  o$ k* T7 L) d% ]    Plasma有多种运行方式。不同的Plasma链可以有不同的治理规则、不同的代币和状态存储方式等等,不过所有Plasma链会定期将哈希值提交至根链,以便确保与根链一样的安全性。
- B% b5 n, j  x
! k, x2 P2 m5 F$ Y    3:新用户Kanye在Plasma合约中质押以太币换取PETH( u9 {, ?2 h& [7 b# k9 m
! r0 L. O( r5 Y% u
    在主要的两个Plasma设计模型中,你可以质押任意类型的代币,该代币会被转化成符合ERC20标准的代币,并通过Plasma链返还给用户。如果Kanye质押了以太币,他将获得PETH!如果他质押了比特币,他将获得PBTC!(PlasmaCash技术规范更支持CryptoKitties之类的ERC721资产,不过并非所有Plasma技术规范都支持任意类型代币的质押。); _! N' U  U! `; c* T: Z7 F

: {1 w1 q3 ?5 h$ W: e# e& H1 [' O    4:Kanye向非Plasma智能合约成员Donald汇款4 O9 B$ m' h% ^# x0 g
! Z6 F; H) p6 B& Z5 `7 t$ k5 n
    Kanye并不是只能向Plasma合约以内的成员汇款!他也可以向以太币大佬Donald汇款。
6 x- }+ I  C+ N, v4 l% m; }# i( v9 `$ K0 a- X- F
    在PlasmaCash实现中,你质押的每种代币都会被分配一个特殊的ID。这些特殊的ID都存储在稀疏的默克尔树上。代币交易只会改变代币所在叶节点的索引(index)。这就好比房屋买卖——在进行交易之时房屋是不会动的,然而房主会更换,房契会记录交易相关方以及换手率。这极大降低了检查代币历史记录的难度,因为你知道该看树上的哪个位置!, e8 N' X- O, ]; }

0 Q2 k2 b8 d' M, q8 H9 X! ]    让我们关注一下Kanye发送给Donald的代币的索引。Kanye在发送代币之时必须包括该代币的历史记录。如果代币经历过多次交易,就会生成庞大的历史记录!我们将来会设法改善这一点。对Donald来说已经很棒了,因为他只需下载自己关心的代币的历史记录。7 b; p+ g. y5 F* N( C! |

- G8 K4 V2 ^& F$ D3 t, r6 _    5:Donald有两个选择:是继续花费PETH,还是创建一个“退出”交易在根链上换回以太币。
5 j7 L2 e  m% v- l% g* E# r1 l1 S# V; u, S9 Y
    如果Donald要将PETH换回以太币,他无需像请求加入时那样向运营者提交信息。出于匿名之需,Donald想要立刻换回他的代币,因此不想继续交易PETH了。他取一段代币的历史记录来证明所有权,并将其放入退出Plasma合约的请求之中。他的“退出”交易还包括Gas费和作为质押的保证金。如果审核通过,且没人质疑Donald,Donald就可以在根链上将PETH换回以太币。
9 A0 j8 N6 N  b/ |
4 e4 d: E& x- a( }    太棒了!我们已经充分解析了最佳案例的真实场景,下面让我们深入研究一下各个部分吧:交易、退出机制和Plasma运营者的作用。要注意的是不同的实施方案之间存在各种规则和差异,不过你可以从下文了解一些核心的Plasma概念和术语。
. Z0 S6 E2 S+ L! C! ~7 g* u6 V# x: u( \* e2 q3 K$ J, J
    交易, K0 X, p  B2 u& ~- Z$ Y
* M( g; P. S) p
    Kanye在发送代币之时必须将代币的历史记录一起发送出去。PlasmaCash的用户只需下载并查看自己关心的代币的历史记录。分片客户端验证能够减少每位用户的数据加载量。: X! }3 a+ Q  b( t
6 _( R# G" e+ y
    然而,如果一个代币经历的交易次数过多,会导致历史记录过大而无法交易。我们建议可以通过设置检查点来解决这一问题。检查点(Checkpoint)会将原先线性大小的证明缩减成一个常量,一旦检验点敲定后,客户端就可以提供上面的证明。PlasmaCash检查点建立在加密经济聚合签名之上,为代币在区块高度Y上由X所有这一纪录提供经济保证。
$ }2 i/ A( J% W: A1 s
$ {0 m' o+ z* ~    遗憾的是,在PlasmaCash上发送任意小额的代币会困难得多(PlasmaDebit或状态通道可以解决这一问题,详情见延伸阅读)。用户通过调用押金函数来指定押金金额。虽然通过PlasmaCash发送ERC721代币比较好,但是PlasmaMVP的UTXO模型可以更好地处理任意金额的代币交易。! |3 m' w4 k6 n/ j- Z/ ^

( R' i; D* d8 v* s* N    退出机制
5 ?% J/ N. q0 U0 C7 j( `9 }) n0 R% Z6 i  i$ R* W$ l3 L
    可以针对满足以下情况的退款发起退出挑战:& }# I/ ]6 M9 X
8 u: a* J% I* j8 ^- _
    要求退回已花费的代币  _8 Q5 W3 y0 v! u. [/ k
, E9 C3 W9 l# A( C
    要求退回已退回的代币
' L1 h; r* j$ D' b- A3 a: m5 @
- E" j. C* n: T# ], F; f; p# u    要求退回有无效历史记录的代币
! V" ]1 A: C9 w2 Z4 h- H! n6 N9 `, }/ X
* m& o  t; l2 `1 l; G( _1 q    任何人都可以提交欺诈证明来挑战退出者,一经证实会没收退出者的保证金。: l6 v& [! Q5 r! W
. f$ @5 a' U. A; ]" s
    如果遭遇攻击怎么办?
$ O7 [6 ~/ G% v' W, E/ F' r) ]4 O9 t$ ^1 a
    如果Plasma链遭受黑客攻击,黑客必须提交”退出“交易才能成功偷走所有资金!在PlasmaCash上,黑客必须在“退出”交易中包括一张(作为安全保证金的)债券,他不能直接偷走所有钱。, o8 R" f2 m2 \! a/ _0 [
6 p8 H& }; k. L$ x% m" c
    Plasma运营者) C  m% m) T4 H' T5 Q0 u- f- n

2 Z+ h9 Z  k# l6 C! R' _- B    Plasma运营者的主要作用是将交易聚集起来加入区块,将每个Plasma区块的默克尔根发布到根链上。
7 ^5 `2 _$ G% A; e; M
) y( p! u$ J* m/ s. l) O4 V    在更复杂的设计模型中,可以由PoS验证者代替中心运营者,从而减轻关于交易审查的担忧。不过,中心运营者带来的好处多多,而且Plasma运营者的债权有很多有趣的用处:2 U+ I" s/ z2 ?6 ~$ y& \% u
$ w) o* j) d* W8 k
    **即时经济确定性!**由于运营者是区块的创建者,他们可以提供交易打包和排序的相关保证。为防作弊,运营者要提供保证金;交易一经打包,用户便知交易已然敲定
  w7 `, j( c3 M+ V0 V3 c+ z: v" L2 `+ q( ~. f& [& J
    **惩罚无效退出:**如果运营者许可了无效的“退出“交易,我们可以予以惩罚,并没收保证金。
  Q) S: c( i: z
. ~( V6 s' ~) q. h1 n/ V' G8 i    **Casper验证:**运营者可以是CasperPoS验证者!
3 A4 {, G" M( o/ D7 h/ y; [8 V7 j/ o. J% w3 R
    你还能想到其它用处吗?
! a- K# Q, Z5 l$ s; [) R
+ q( B( \) [, e, e9 l, ^$ [    Plasma的设计模型
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

烟7火 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1