该技术功能强大:可以对其进行调整,以进行双向支付、处理智能合约关系 (如,Alice 和 Bob 在通道中签订金融合约)、以及对通道进行组合 (比如,当 Alice 和 Bob、Bob 和 Charlie 之间有一条开放通道时,Alice 和 Charlie 也可以进行去信任交易)。 但状态通道的作用是有限的:无法将资金在链外发送给没有参与进来的用户;通道不能代表那些逻辑上没有明确所有者的对象 (如 Uniswap);并且如果要进行更为复杂的交易,需要在通道内锁定大量资金。 Plasma 的原理更多资料请参考最早的 Plasma 论文 和 Plasma Cash 用户向某个 Plasma 链的智能合约中发送一笔资产以完成存款。Plasma 链给该资产分配一个唯一的 ID (如 537)。每条 Plasma 链都有一名运营者 「operator」 (他可以是一个中心化的角色、一个多签名者、或诸如 PoS/DPoS 此类更为复杂的东西)。每隔一段时间 (可以是 15 秒至 1 小时),运营者便会生成一个等待批量处理的汇总交易 (由他们在链下收集到的所有 Plasma 交易组成)。 这些运营者会生成一个默克尔树,树中每个索引 X 处,如有存在交易的话,会显示某笔转移交易资产 ID X,如果没有交易,叶子值为零。随后他们将该默克尔树的默克尔根发送到链上,同时还会将每个索引 X 的默克尔分支发送给其资产的当前所有者。 如果用户想要进行提款,那么就要公布其最近向其发送资产的交易的默克尔分支。然后智能合约就将启动挑战期,在此期间,任何人都可以尝试使用其他默克尔分支来证明该提款无效。需要至少证明其中一项:(i) 发送方在发送资产时并不是该资产的所有者;(ii) 发送方在后来将资产发给了其他人。如果在某个时间段内 (如七天) 没有人证明该提款是欺诈性的,用户便可以取出他的资产。 Plasma 比状态通道拥有更加强大的性能:使用 Plasma,用户可以将资产发送给从未加入其系统的参与者;对资本的要求也低许多。但 Plasma 也是有缺点的:在「正常操作」期间,通道不需要任何数据就可以在链上进行传输,而 Plasma 要求每条链定期发布一个哈希。此外,在 Plasma 上转账不是即时的:用户需要等一段时间并且等到区块被发布之后。 再者,Plasma 和通道都有一个关键弱点:确保这两种方案安全的前提是,这两种系统所控制的对象都有逻辑上的「所有者」。如果该资产的所有者不关心其资产,那么可能会导致证明其资产无效的结果。这对许多应用程序来说是可以接受的,但是对于许多其他应用来说 (如 Uniswap) 来说是破坏交易原则的。甚至在一些系统中如果对象的状态不经其所有者的同意就可以被改变 (如基于账户的系统,你可以不经某人的同意就可以提升其余额),这些系统也不适用 Plasma。 (责任编辑:admin) |