Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

什么是 Plasma,Plasma Cash?

烟7火
76 0 0
Plasma的设计模型使得人们可以通过发送链下消息来转移链上资产。它通过将交易吞吐量转移到Plasma链上实现根链的扩容。你可以想象这样一个场景:一位教授需要在短时间内给许多试卷打分数。他可以将这个工作分配给助教,由后者评阅试卷上的作答,并合计每题小分,只将最终分数报告给教授。
: s% n5 E1 R4 n0 E7 C7 a8 F: u. ~2 R
& l  z  M6 E# F2 b( n    每条Plasma链都会将有关交易顺序的消息换算成一个哈希值存储在根链上。比特币和以太坊都属于根链——这两条区块链具有很高的安全性,并且通过去中心化保证了(安全性和活性)。本文列举的所有例子均将以太坊作为根链。6 P. O& B& `8 X

6 {( {9 E2 E2 B7 {    “Plasma不是带有默克尔树的中心化服务器。”1 p' q0 n1 p- W$ A
* N1 r, N9 L7 U' x7 X
    ——Vitalik,2018年瑞士楚格TechCrunch。
$ w6 B/ G& d: u9 L- y" S  t" i% e
5 n7 k3 {' I9 `% D    Plasma设计模型有两个主要的分支:PlasmaMVP和PlasmaCash。如果你想了解更多关于Plasma的研究谱系,请点击文末链接。让我们先了解一些背景知识并简要介绍使用流程,再深入探究各个部分。
* ^1 Q3 d$ I: [
+ \4 K4 f* I7 l* a    稀疏的默克尔树:大小恒定的完美默克尔树,之所以称作’稀疏’是因为多数叶节点都是空的。
% A& }9 ?* k3 q# E, m" y1 v' E, u+ M& P5 Z8 F9 G6 V6 d) H: c
    经济确定性:确保操作的不可撤回性,除非某一方花掉一大笔钱来产生另一种结果。
6 J, v$ @2 B' ^
( T' g$ I9 T" J+ X' s    UTXO:unspenttransactionoutput(未花费的交易输出)的缩写。每个交易必须从有效的UTXO集合中得到输入值。每个交易的输出值组成新的UTXO集合。比特币使用的就是UTXO模型。
( a% e! n7 G2 q2 X7 z! i* \0 B( y9 U7 g) h0 i3 @! Q
    前方高能预警!
& J! u+ j6 C- R# y: L' b3 f( n; j/ f: Q
    1:想要成为Plasma运营者的人(wannabePlasmaOperator)将Plasma合约布置到主网上6 l2 r& K, H$ y, d) Q
& @7 e/ T8 F, U- @
    如果交易所之类的实体想要实现高交易吞吐量和低延迟性(甚至是即时经济确定性),不妨运行一条Plasma链并成为Plasma运营者。合约初始化过程中就会将合约所有者包含在内。$ X( `6 N* K" y& K% m2 V

9 S( I4 H# V# }6 u7 B    2:Plasma运营者打包一个块3 ^* v/ U2 W+ D5 M( D$ g$ n. {

. [/ X* W4 |+ F# U( a! g    运营者具有多重身份,其中一种是将交易聚集起来并排序打包进区块,然后将这个Plasma区块的哈希值提交至根链。2 z, X: G  c0 O) V+ {$ H

; r6 i7 J5 z1 M( u2 ?; X    Plasma有多种运行方式。不同的Plasma链可以有不同的治理规则、不同的代币和状态存储方式等等,不过所有Plasma链会定期将哈希值提交至根链,以便确保与根链一样的安全性。' m1 x1 ~7 R+ e/ B" m

4 z8 ]' u" S* L4 |7 y* z    3:新用户Kanye在Plasma合约中质押以太币换取PETH
4 m) N$ D& m4 C$ ^4 a
/ l) K, I& l4 l% E: @. H    在主要的两个Plasma设计模型中,你可以质押任意类型的代币,该代币会被转化成符合ERC20标准的代币,并通过Plasma链返还给用户。如果Kanye质押了以太币,他将获得PETH!如果他质押了比特币,他将获得PBTC!(PlasmaCash技术规范更支持CryptoKitties之类的ERC721资产,不过并非所有Plasma技术规范都支持任意类型代币的质押。)7 t* ?. m) v' t  j6 B8 V
6 a3 I& m" o4 f; O+ q
    4:Kanye向非Plasma智能合约成员Donald汇款  y7 }; F- ?" c+ p! Y

. G- }1 q0 |* x    Kanye并不是只能向Plasma合约以内的成员汇款!他也可以向以太币大佬Donald汇款。6 m0 i8 O4 I, r6 Q
1 z6 X  d; U" v/ u- B  A. i
    在PlasmaCash实现中,你质押的每种代币都会被分配一个特殊的ID。这些特殊的ID都存储在稀疏的默克尔树上。代币交易只会改变代币所在叶节点的索引(index)。这就好比房屋买卖——在进行交易之时房屋是不会动的,然而房主会更换,房契会记录交易相关方以及换手率。这极大降低了检查代币历史记录的难度,因为你知道该看树上的哪个位置!
2 V: V4 J9 }( R9 _7 M
7 w/ _7 L8 ~% I' S+ \    让我们关注一下Kanye发送给Donald的代币的索引。Kanye在发送代币之时必须包括该代币的历史记录。如果代币经历过多次交易,就会生成庞大的历史记录!我们将来会设法改善这一点。对Donald来说已经很棒了,因为他只需下载自己关心的代币的历史记录。
6 ]& b" L  C6 i4 ]( l
3 K7 c+ |" V9 a% L7 _" ~& c    5:Donald有两个选择:是继续花费PETH,还是创建一个“退出”交易在根链上换回以太币。9 H- m+ [8 x% O; t8 E+ g

! X0 o- ?7 Q' L+ j" s7 O    如果Donald要将PETH换回以太币,他无需像请求加入时那样向运营者提交信息。出于匿名之需,Donald想要立刻换回他的代币,因此不想继续交易PETH了。他取一段代币的历史记录来证明所有权,并将其放入退出Plasma合约的请求之中。他的“退出”交易还包括Gas费和作为质押的保证金。如果审核通过,且没人质疑Donald,Donald就可以在根链上将PETH换回以太币。
& L! C+ J' F. i/ L6 S3 d5 M1 m9 g/ z% t
    太棒了!我们已经充分解析了最佳案例的真实场景,下面让我们深入研究一下各个部分吧:交易、退出机制和Plasma运营者的作用。要注意的是不同的实施方案之间存在各种规则和差异,不过你可以从下文了解一些核心的Plasma概念和术语。+ Z' c, X% i4 s( R

# ], o  S9 v# s% w" I$ ~    交易
6 J8 P7 Q0 N9 L# |9 P0 j: f" R4 \0 p, |5 F
    Kanye在发送代币之时必须将代币的历史记录一起发送出去。PlasmaCash的用户只需下载并查看自己关心的代币的历史记录。分片客户端验证能够减少每位用户的数据加载量。
$ H+ d1 o7 \3 p( o2 M
5 ]+ M1 e0 l/ @# g3 I    然而,如果一个代币经历的交易次数过多,会导致历史记录过大而无法交易。我们建议可以通过设置检查点来解决这一问题。检查点(Checkpoint)会将原先线性大小的证明缩减成一个常量,一旦检验点敲定后,客户端就可以提供上面的证明。PlasmaCash检查点建立在加密经济聚合签名之上,为代币在区块高度Y上由X所有这一纪录提供经济保证。
$ t" T3 n1 K: v, W  D7 `2 `0 y2 G' t/ n% L! o' [
    遗憾的是,在PlasmaCash上发送任意小额的代币会困难得多(PlasmaDebit或状态通道可以解决这一问题,详情见延伸阅读)。用户通过调用押金函数来指定押金金额。虽然通过PlasmaCash发送ERC721代币比较好,但是PlasmaMVP的UTXO模型可以更好地处理任意金额的代币交易。
0 }/ V0 [& U; k; I3 @
: S' d6 I- i) S( m5 r4 N3 n- _    退出机制& a! w+ v/ F1 j. q. j$ W3 i  M
) B( c: G! R; D
    可以针对满足以下情况的退款发起退出挑战:
; v. z8 o0 b$ t2 c% I. q2 o
9 F4 e% v  _, s! q6 e- `3 S" ~    要求退回已花费的代币. `* W, Z: P, o. }$ w; O

9 M1 @* Z0 r' w" Y+ h; H3 p- O' ^3 k# R" g    要求退回已退回的代币
, M( j! U: x# o$ y' G/ e2 R
7 N7 P6 d% ?0 B! j( ?8 r* v% J0 W    要求退回有无效历史记录的代币- E$ ?7 M) `2 E/ G- p
+ {" t3 h; Q* s& M
    任何人都可以提交欺诈证明来挑战退出者,一经证实会没收退出者的保证金。
! D9 B& L2 n4 w4 g( i. y  h+ m6 ]. ?+ [5 H; v7 A% v6 R
    如果遭遇攻击怎么办?
5 f7 M3 g, p9 z, p& \  n- n- `
8 F% f1 `% x* ~" N6 j    如果Plasma链遭受黑客攻击,黑客必须提交”退出“交易才能成功偷走所有资金!在PlasmaCash上,黑客必须在“退出”交易中包括一张(作为安全保证金的)债券,他不能直接偷走所有钱。. W5 p1 M4 z9 I: E2 p
2 p2 X$ N$ S9 B7 O
    Plasma运营者
5 `2 X# a/ U6 V/ S+ L. j/ b( P( U; u6 |# g/ J7 k
    Plasma运营者的主要作用是将交易聚集起来加入区块,将每个Plasma区块的默克尔根发布到根链上。% K& Z  T$ j: I! t

& I" b& V& q3 z7 S: @$ b    在更复杂的设计模型中,可以由PoS验证者代替中心运营者,从而减轻关于交易审查的担忧。不过,中心运营者带来的好处多多,而且Plasma运营者的债权有很多有趣的用处:
0 ~: e$ O4 L& }' X
4 T- k, ]( L$ ]9 r4 f    **即时经济确定性!**由于运营者是区块的创建者,他们可以提供交易打包和排序的相关保证。为防作弊,运营者要提供保证金;交易一经打包,用户便知交易已然敲定( F4 A. v/ v7 o! G

1 D# `( K9 V. z  _9 [    **惩罚无效退出:**如果运营者许可了无效的“退出“交易,我们可以予以惩罚,并没收保证金。6 b( S  O& S2 E3 E" h

; J8 ?2 i: W9 e  r) G    **Casper验证:**运营者可以是CasperPoS验证者!3 I1 g7 j5 f7 @1 \5 f
( N2 i0 u$ C5 w0 ?
    你还能想到其它用处吗?8 l3 Z# K, l! m$ b
3 Y: ^' I  |7 k' i' ^
    Plasma的设计模型
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

烟7火 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1