Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

什么是 Plasma,Plasma Cash?

烟7火
118 0 0
Plasma的设计模型使得人们可以通过发送链下消息来转移链上资产。它通过将交易吞吐量转移到Plasma链上实现根链的扩容。你可以想象这样一个场景:一位教授需要在短时间内给许多试卷打分数。他可以将这个工作分配给助教,由后者评阅试卷上的作答,并合计每题小分,只将最终分数报告给教授。
9 ?; B3 e. z# L  j5 A
$ c' {8 q$ ~7 ]3 r; G! D# \" R" g) G: Y    每条Plasma链都会将有关交易顺序的消息换算成一个哈希值存储在根链上。比特币和以太坊都属于根链——这两条区块链具有很高的安全性,并且通过去中心化保证了(安全性和活性)。本文列举的所有例子均将以太坊作为根链。5 F, r2 A$ N6 B' v8 A" i; t

+ `! C! X( t1 J    “Plasma不是带有默克尔树的中心化服务器。”
" m! i* y7 ?: f, D& ~4 G. i/ \; `8 C/ D0 w$ K* i
    ——Vitalik,2018年瑞士楚格TechCrunch。
! t( c3 |9 H  C' Q
5 C4 n: D+ S$ B! A8 _3 l; a4 X8 l6 x    Plasma设计模型有两个主要的分支:PlasmaMVP和PlasmaCash。如果你想了解更多关于Plasma的研究谱系,请点击文末链接。让我们先了解一些背景知识并简要介绍使用流程,再深入探究各个部分。: _3 Q" y0 J) {

$ ?* Q1 w4 ?* w  Q8 g    稀疏的默克尔树:大小恒定的完美默克尔树,之所以称作’稀疏’是因为多数叶节点都是空的。( ~$ r8 W& X1 I- @3 i8 K1 A
  h+ x5 T% y3 V9 U4 Z4 Y. J& j
    经济确定性:确保操作的不可撤回性,除非某一方花掉一大笔钱来产生另一种结果。) a+ |$ m$ K, r" Q2 n% n
) V3 G4 ]! n( d9 r
    UTXO:unspenttransactionoutput(未花费的交易输出)的缩写。每个交易必须从有效的UTXO集合中得到输入值。每个交易的输出值组成新的UTXO集合。比特币使用的就是UTXO模型。9 F' E, s( X! W$ k, L' w

+ r4 S7 T$ ?1 A- Q( Q$ V- Z7 N    前方高能预警!
  [/ _8 i: V7 i# V$ h( ^7 U  s  D6 m2 j0 B/ e* d0 t
    1:想要成为Plasma运营者的人(wannabePlasmaOperator)将Plasma合约布置到主网上  D' @7 H9 K& j3 h# \
6 y  T" h# C$ `, a
    如果交易所之类的实体想要实现高交易吞吐量和低延迟性(甚至是即时经济确定性),不妨运行一条Plasma链并成为Plasma运营者。合约初始化过程中就会将合约所有者包含在内。
" _: u5 G/ M: b: G* b4 |3 k5 C
8 ~' |! j+ w9 D$ }$ B, e( A    2:Plasma运营者打包一个块: S0 a1 f3 Z4 P4 i

% k, T! h& l2 w6 A$ H: r+ H3 N    运营者具有多重身份,其中一种是将交易聚集起来并排序打包进区块,然后将这个Plasma区块的哈希值提交至根链。7 A) w' X6 \, v% a
1 j2 I4 F) q" I' B8 D# K
    Plasma有多种运行方式。不同的Plasma链可以有不同的治理规则、不同的代币和状态存储方式等等,不过所有Plasma链会定期将哈希值提交至根链,以便确保与根链一样的安全性。
2 v( `5 l% Q: a6 U7 M0 k
4 ^2 F. Y7 F( L( {4 l    3:新用户Kanye在Plasma合约中质押以太币换取PETH; ~, @5 s5 l; X4 L
) t0 @) ?& |2 ^
    在主要的两个Plasma设计模型中,你可以质押任意类型的代币,该代币会被转化成符合ERC20标准的代币,并通过Plasma链返还给用户。如果Kanye质押了以太币,他将获得PETH!如果他质押了比特币,他将获得PBTC!(PlasmaCash技术规范更支持CryptoKitties之类的ERC721资产,不过并非所有Plasma技术规范都支持任意类型代币的质押。)
# |/ p  j# Y  p
0 i# d! s+ M: i8 ]: L    4:Kanye向非Plasma智能合约成员Donald汇款5 d: Y' ?" B! b9 N, @3 V) q

/ w% U6 X0 }7 {$ I    Kanye并不是只能向Plasma合约以内的成员汇款!他也可以向以太币大佬Donald汇款。
+ m) z8 C( ~& z9 \* `3 e9 v: d. x6 j1 `; c1 T2 \) |, \
    在PlasmaCash实现中,你质押的每种代币都会被分配一个特殊的ID。这些特殊的ID都存储在稀疏的默克尔树上。代币交易只会改变代币所在叶节点的索引(index)。这就好比房屋买卖——在进行交易之时房屋是不会动的,然而房主会更换,房契会记录交易相关方以及换手率。这极大降低了检查代币历史记录的难度,因为你知道该看树上的哪个位置!
" F# c' h' h8 w& O& j
& \. c& E4 W/ ?. @/ [    让我们关注一下Kanye发送给Donald的代币的索引。Kanye在发送代币之时必须包括该代币的历史记录。如果代币经历过多次交易,就会生成庞大的历史记录!我们将来会设法改善这一点。对Donald来说已经很棒了,因为他只需下载自己关心的代币的历史记录。
+ [+ E: _7 X  k: m: {
/ q5 H8 B" m5 H1 u2 k& i    5:Donald有两个选择:是继续花费PETH,还是创建一个“退出”交易在根链上换回以太币。
# N9 y) ]+ o6 u* H! t4 a$ P, s. `
    如果Donald要将PETH换回以太币,他无需像请求加入时那样向运营者提交信息。出于匿名之需,Donald想要立刻换回他的代币,因此不想继续交易PETH了。他取一段代币的历史记录来证明所有权,并将其放入退出Plasma合约的请求之中。他的“退出”交易还包括Gas费和作为质押的保证金。如果审核通过,且没人质疑Donald,Donald就可以在根链上将PETH换回以太币。# ~/ j- |/ Z) T0 R! |- U
7 G4 f+ _/ S+ b
    太棒了!我们已经充分解析了最佳案例的真实场景,下面让我们深入研究一下各个部分吧:交易、退出机制和Plasma运营者的作用。要注意的是不同的实施方案之间存在各种规则和差异,不过你可以从下文了解一些核心的Plasma概念和术语。' f- o7 n: x( w9 |

9 L& f! ^8 P8 [    交易9 v; n" o8 F7 O2 }0 Z& T

2 k" D7 g+ g( |% B4 \5 S    Kanye在发送代币之时必须将代币的历史记录一起发送出去。PlasmaCash的用户只需下载并查看自己关心的代币的历史记录。分片客户端验证能够减少每位用户的数据加载量。
6 y: T  z( g8 h2 j( U5 R! z& F- ~7 E3 M
    然而,如果一个代币经历的交易次数过多,会导致历史记录过大而无法交易。我们建议可以通过设置检查点来解决这一问题。检查点(Checkpoint)会将原先线性大小的证明缩减成一个常量,一旦检验点敲定后,客户端就可以提供上面的证明。PlasmaCash检查点建立在加密经济聚合签名之上,为代币在区块高度Y上由X所有这一纪录提供经济保证。) P. A1 c/ u3 f  g

9 _. w# d9 ~' j* x; @, k% Q9 _6 |    遗憾的是,在PlasmaCash上发送任意小额的代币会困难得多(PlasmaDebit或状态通道可以解决这一问题,详情见延伸阅读)。用户通过调用押金函数来指定押金金额。虽然通过PlasmaCash发送ERC721代币比较好,但是PlasmaMVP的UTXO模型可以更好地处理任意金额的代币交易。  g# H2 i- w' e: c/ G% R3 Y0 l
& ]; U8 j7 n8 K! u# `. [
    退出机制  D  I* R' f) C' I. c2 W$ K* Q

; H" r' c0 R6 ]! G8 l# l$ I0 o    可以针对满足以下情况的退款发起退出挑战:
9 n7 g7 f1 q5 `! T! H7 v+ g/ k+ K! [6 _7 c( a; P# `. z
    要求退回已花费的代币. P. ~! A' N$ [, H0 c: N) A9 G
6 v* }0 y' `, N) I
    要求退回已退回的代币+ \7 o$ ]3 N4 b, Q3 L4 Q
9 g4 B- o4 V5 E, n7 y7 F, m' u) v( O
    要求退回有无效历史记录的代币
/ l; k5 ~3 {& q7 ^" A- e* r) C1 i) r; W  B9 g# _4 {) g; u$ ?/ k3 B
    任何人都可以提交欺诈证明来挑战退出者,一经证实会没收退出者的保证金。4 V; o* n2 F" }# i6 K/ g

0 e, n- p  q9 ~8 {( P    如果遭遇攻击怎么办?7 I: J7 F' y8 w) C+ O& _) |0 s; {( W
+ b8 E9 N% _% I
    如果Plasma链遭受黑客攻击,黑客必须提交”退出“交易才能成功偷走所有资金!在PlasmaCash上,黑客必须在“退出”交易中包括一张(作为安全保证金的)债券,他不能直接偷走所有钱。( B7 u2 Z% Y* r3 ]  v9 E+ h0 v& C( _8 R

. Q' w1 S3 j" f1 n2 _9 i    Plasma运营者
, T; l* V1 b  ^4 Z
; R4 {0 v5 S5 O& }% c2 G    Plasma运营者的主要作用是将交易聚集起来加入区块,将每个Plasma区块的默克尔根发布到根链上。
3 O3 \: D1 C: y# a. [% H* u4 n+ U# w6 h
    在更复杂的设计模型中,可以由PoS验证者代替中心运营者,从而减轻关于交易审查的担忧。不过,中心运营者带来的好处多多,而且Plasma运营者的债权有很多有趣的用处:
1 O. ^; K6 K2 g0 Z0 k
3 R& ?" o6 P5 j5 E& E5 l" r    **即时经济确定性!**由于运营者是区块的创建者,他们可以提供交易打包和排序的相关保证。为防作弊,运营者要提供保证金;交易一经打包,用户便知交易已然敲定
8 W+ z. P2 P' ^& {9 f- c- P/ {
# p- N4 O6 V* c' `    **惩罚无效退出:**如果运营者许可了无效的“退出“交易,我们可以予以惩罚,并没收保证金。
7 d! X  A5 M6 }7 o
  x* P. D# E4 r% L8 e7 n$ D    **Casper验证:**运营者可以是CasperPoS验证者!; I0 c' ^& J3 h, ?! g$ a

* |9 a0 j% t5 y( L) u    你还能想到其它用处吗?
6 E2 C2 u/ Q5 b
8 b- R' b. a9 S! h3 `2 @5 M) \    Plasma的设计模型
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

烟7火 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1