Plasma MVP(& MoreVP)
构成
1. 区块数据结构
-
二叉默克尔树
-
区块提议者(proposer)创建区块(例如,在 PoA 共识下运行)
2. 共识算法
- 任意共识算法(例如,PoW、PoA、PoS)
特点
1. 存款(质押)
-
价值表示:UTXO(译者注:UTXO 是指 Unspent Transaction Outputs,即未花费交易输出)
-
MVP:可能支持 ETH、ERC20
-
MoreVP:可能支持ETH、ERC20
2. 交易
-
用户通过花费 UTXO 来创建新的输出
-
可以转移任意面值的 UTXO
3. 交易费
- 转账需要向验证者支付交易手续费;当用户退出或提款到根链(rootchain)或者其他链时,需要支付 gas 费用
4. 签名
-
MVP:交易打包进区块前需要对交易签名,在打包进区块后需要有确认签名;签名必须发给运营商(即在 PoA 共识中能够打包区块的矿工)
-
MoreVP:只需要交易签名,无需确认签名
5. 退出/提款
-
退出时需要证明相关 UTXO 未被花费,并且 MVP 还需要确认签名
-
MVP:退出优先级基于 Plasma 的优先级,时间越久的 UTXO 优先级越高
-
MoreVP:退出优先级基于退出交易(exit txn)中最新的输入,只要输入来自有效的交易(txn)
6. 保证金
-
MVP:退出保证金
-
MoreVP:退出保证金和附带退出保证金(piggyback bond)(针对没有被打包的交易;如果链的共识是拜占庭式的,待确认的交易不需要确认签名)
7. 挑战期
-
通过提交相关 UTXO 已被花过的证明来质疑
-
质疑者要押上自己的保证金,以待他人的质疑
-
质疑期持续约 7-14 天(如果大量退出中的每一个退出都受到质疑,那么质疑期长短则受限于系统的处理能力)
8. 所需证明
-
状态更新:证明 UTXO 的所有权、状态转变和区块打包
-
质疑:证明相关 UTXO 已被花过、签名缺失或没有被区块打包
9. 其他特点
- MoreVP:如果链是拜占庭式的,省略确认签名会增加用户体验的复杂性(例如,扣块攻击),将待确认交易至于风险中,只能通过请求退出保证金的方式解决。
效果
1. 优点
-
MVP:可扩展,PoA 共识下将所有签名发给运营商(即在 PoA 共识中能够打包区块的矿工)
-
MoreVP:可扩展,比 MVP 所需信任更小
-
高可替代性
2. 缺点
-
监管人或用户需要自己观察和质疑非法退出
-
由于存在交易保证金,使得用户体验较差
-
如果运营商扣下某些区块,并且用户尝试再次提交交易(一旦运营商再次开始打包区块,用户发出的第二笔交易就是无效的),那么诚实的用户就有可能遭到保证金处罚
3. 用例
-
非同质代币 或 同质代币 的交易
-
低信任的情况(PoA 共识)
-
交易所、资本市场交易、证券
-
P2P 支付、汇款、定期/账单支付
-
会员卡/奖励、赌博
Plasma Cash(& XT)
构成
1. 区块数据结构
-
带有“槽”的稀疏默克尔树(“槽”代表一种币或着说某用户存进去的一项资产)
-
所有币在每个区块中都有一个“槽”(唯一存款)
-
当花费某一种币时,交易证明被存储在区块里代表该币的“槽”中
2. 共识算法
- 任意共识算法(例如,PoW、PoA、PoS)
特点
1. 存款(质押)
-
价值表示:每笔存款有唯一代币 ID(例如,1 ETH 存款 = (1 ETH) NFT 币)
-
只能使用 NFT (在同质代币的条件下是无法扩展的,因为熔铸/分割小额代币会产生很大的默克尔根)
-
正在进行的代币重组研究将支持 FTs
2. 交易
-
用户使用代币 ID 去创建新的输出
-
代币是不可分的,合并/分割很难实现
3. 交易费
- 转账需要向验证者支付交易手续费;当用户退出或提款到根链(rootchain)或者其他链时,需要支付 gas 费用
4. 签名
- 使用确认签名而避免恶意行为
5. 退出/提款
-
代币最近两笔交易的证明、区块打包的证明
-
没有退出优先级
6. 保证金
- 退出保证金
7. 挑战期
-
通过提交已花费代币的证明、代币最近两笔交易无效的证明或代币某些历史交易无效的证明来提出质疑
-
质疑者要押上自己的保证金,以待他人的质疑
-
挑战期持续约 7-14 天(如果大量退出中的每一个退出都被质疑,那么质疑期长短则受限于容量)
8. 证明需求
-
状态更新:代币所有权证明、过去的转账和区块打包
-
每个用户检查更少的数据,(他们)只需要追踪他们自己的代币
-
证据也会发送给其他用户,并且只有已花费代币的证明被包含在区块中
-
质疑:证明相关代币已被花过、签名缺失或没有被区块打包
9. 其他特点
-
Cash:如果代币没有包含在区块中,可以自动生成代币没有被包含的证明
-
XT:在根链上添加检查点,以减少每种代币的默克尔树根大小、降低每条链的存储/计算需求
效果
1. 优点
- 非常好的可扩展性,监管人或用户只需追踪 他们自己的 代币,而不是链上所有的代币
2. 缺点
-
监管人或用户需要使用他们自己的代币监管和挑战无效交易(警惕是非常必要的,但会降低用户体验)
-
代币面额是固定的(不可分割/合并)
-
代币证明量巨大(必须证明代币从创建至今都是合法的)
-
交易保证金使得用户体验较差
3. 用例
-
仅限 NFT 交易(数字收藏品、数据代币等);正在进行的代币重组研究将支持 FTs
-
赌博
-
资产管理(不动产、艺术品、证券)
Plasma Debit
构成
1. 区块数据结构
-
带有“槽”的稀疏默克尔树(“槽”代表一种币或着说某用户存进去的一项资产)
-
每个区块为每一种币都有一个“槽”(唯一存储)
-
当花费某一种币时,交易证明被存储在区块里代表该币的“槽”中
-
与 Plasma Cash 不同的是,Plasma Debit 中的代币也可以是支付通道,运营商充当通道枢纽
2. 共识算法
- 由于支付通道结构限制,单一或几个运营商优于许多个运营商进行共识
特点
1. 存款(质押)
-
价值表示:账户对于每笔存款拥有唯一代币 ID
-
支持 NFT 和 FT (Debit 与 Cash 类似,但是允许部分代币代表支付通道,而不是代币本身)
2. 交易
-
交易发生在账户/代币持有者与链运营商之间
-
代币不可分,不允许合并和拆分
-
用户和运营商间以代币为基础形成支付通道
-
运营商为了便于用户进行交易,会为没有支付通道的用户提供一个通道
3. 交易费
- 用户通过运营商主导的支付通道支付,而不直接向其他用户支付。运营商在价值转移中扣除交易费
4. 签名
- 没有确认签名
5. 退出/提款
-
代币最近两笔交易证明、部分代币之前没有花过的证明、区块打包证明
-
没有退出优先级
6. 保证金
- 退出保证金
7. 挑战期
-
通过提交已花费代币的证明、代币最近两笔交易无效的证明或代币某些历史交易无效的证明来提出挑战
-
质疑者要押上自己的保证金,以待他人的质疑
-
挑战期持续 7-14 天(如果大量退出中的每一个退出都会被挑战,那么挑战期长短则受限于容量)
8. 所需证明
-
状态更新:代币所有权证明、过去的转账和区块打包
-
每个用户检查更少的数据,(他们)只需要追踪他们自己的代币
-
证据也会发送给其他用户,并且只有已花费代币的证明被包含在区块中
-
挑战:证明相关代币已被花过、签名缺失或没有被区块打包
9. 其他特点
-
类似于 Plasma 链上的大型 “闪电枢纽”
-
用户单独与运营商维护状态通道(而不是其他用户)
-
运营商提前创建许多状态通道,以确保新用户能够与已经存在的用户进行交易
效果
1. 优点
-
非常好的可扩展性,监管人或用户只需追踪他们自己的代币
-
能够执行 NFTs 和 FTs 的交易
-
高效;运营商和代币持有者可以达成共识,从而使得余额更新不需要包含在区块中(类似于通道)
2. 缺点
-
严重依赖运营商,可以通过创建一个运营商轮换集合减少依赖
-
代币证明量巨大(必须证明代币从创建至今都是合法的)
-
需要运营商事前锁定大量的资金用于创建支付通道
-
交易规模受初始代币存款规模约束(类似于闪电/支付通道)
-
Debit 上建立去中心化交易所并不容易
-
支付通道会对用户体验造成不良影响
3. 用例
-
NFTs 或 FTs 交易
-
高度信任运营商、电子钱包或服务提供商的情况
-
P2P 支付、汇款、定期/账单支付
-
预付款或钱包充值付款
-
会员卡/奖励、赌博
-
资产管理(不动产、艺术品、证券)
相关资料
Github 样例