作者:Dilanka @ LOOM / 来源:Loom Network
在2019年3月31日 — — PlasmaChain验证者们投票支持了其首个去中心化硬分叉。
此次硬分叉添加了一组功能,让以太坊用户能像使用以太坊DApp一样无缝地使用PlasmaChain DApp。 用户可以直接使用他们的MetaMask帐户或任何其他原生以太坊钱包 — — 进一步拉近了第1层和第2层间的距离。
如果你是新来的,你可能会问……
什么是PlasmaChain? 🤔
PlasmaChain是一个第2层枢纽,可以将多个侧链桥接到以太坊主网 — — 这样可以实现更快、更低廉的事务,还可以大大改善需要快速确认时间的DApp用户体验。
这可不是YY哦 — — 2018年下半年,它就已经正式上线了!
PlasmaChain 使用委托股权证明(DPoS)作为共识 — — 这意味着它非常适合需要快速确认、同时还要保持一定程度去中心化的DApp。
因为Token可以在第1层和第2层之间来回转移 — — 这使得它成为以太坊的完美补充。
加上…
DApp可以在以太坊上发行他们的Token — — 而更复杂的面向用户的组件,则挪到第2层。
但区块链中的一个主要组成部分是 — — 每笔事务都需要你签署以证明你的身份。
如果每个用户在该区块链上需要一个单独的帐户才能使用它,那么第2层的用处就会受限。
如果你想了解的话,下面是一些背景知识……
事务签署如何操作?🤔
想象一下:小普想要把100美元发给小川。
小普告诉区块链向小川发送100美元,这将同时从他的钱包中扣除相同的金额。
区块链可以很容易地读懂小普的指示 — — 但首先它需要验证小普是小普,而不是个冒牌货。
因此,小普使用他的私钥(受到只有小普本人知道的密码保护)对他的指令进行编码 — — 这样任何人都可以加密验证这些指令真的是来自小普。
在区块链自动(并加密)验证这些指令后,100美元就会从小普那里扣除,并发送到小川那里。
接着小川就成立了一家空壳公司,并且……(手动删除此行😏)
就这样😉
你可能已经知道 — — 现代网络上的多数安全性都受到公钥加密¹ 的保护 — — 区块链上的事务签署原理相似,但也存在一些重要的差异。
我来说给你听吧…
PlasmaChain如何成为“多语言”以及其重大意义
因此,不同区块链如何签署事务的技术差异非常大。
例如…
以太坊和比特币使用椭圆曲线 secp256k1 ²,有利于向后兼容。
而…
Tendermint和PlasmaChain使用Ed25519 ³,让执行验证的速度提高了10倍以上。
虽然分叉后的链在技术上具有与它所分叉的链相同的源(如同 Ethereum 从 Ethereum Classic 分叉而来,Bitcoin Cash 从 Bitcoin 分叉而来),但它们仍然不兼容,因为如果兼容的话 — — 冒名顶替者便可以通过向两个链提交相同的事务来窃取资金了。
祝贺你 — — 对于为什么第1层链的签署和验证事务方法不尽相同,你已经把技术方面(和安全方面)的原因都了解得差不多了。
那么重点来了……
如果我们的目标是让开发人员能只写一次代码、并能访问多个区块链的用户 — — 那么我们就需要通用事务签署。
来看看我们是怎么做的……
通用事务签名分3步:
-
PlasmaChain已升级为“多语言” — — 意思是:它现在能够检测出消息是如何签署的,并使用适当的椭圆曲线(和我们的算法)来获取正确的身份。此外,验证者还可以投票以信任附加的第1层。
-
PlasmaChain包含属于同一用户的、去中心化的钱包地址注册表。因此,如果用户可以用第1层钱包证明自己的身份 — — 那也足以在第2层上证明身份。
-
最后, PlasmaChain和loom-js ⁴具有特殊的兼容性功能,让开发人员无需更改DApp中的任何代码,就可以签署通用事务。
这可能看起来很复杂。但简单地说:
当把以上所有特性合并后 — — PlasmaChain将允许用户使用与我们连接的任何第1层兼容的任何现有钱包,而无需执行任何额外操作。
使用PlasmaChain感觉就是这么爽
这还不是全部。
这些用户无需离开或切换钱包、也无需下载新软件,就能与第2层上的DApp进行交互,不消耗gas,速度还超快。
结束后, 只需在方便时取回到第1层即可。
最棒的是?
-
在PlasmaChain上验证是去中心化的✓
-
没有任何中心化的服务存储你的密钥✓
-
无需其他的Token或安装任何插件✓
-
对用户没有额外的要求✓
只需访问PlasmaChain上任何支持UTS(通用事务签署)的DApp,就可以马上开始了。
请记住:你可以使用现有的以太坊钱包,如MetaMask或任何其他手机钱包😉
当我们集成Cosmos、EOS和Tron后,这个功能的波及范围会更广 — — 那么这些链上的用户也可以使用他们的原生钱包了。
问你个问题……
你是开发人员吗? — — 来看看如何立即开始🏁
如果你是开发人员,最简单的入门方法就是使用 web3。
如果你已经是PlasmaChain开发人员 — — 只需在你的Loom Provider上更改一行即可。
也就是说…
只需把这个:
改成这样:
默认情况下 — — 接受任何 ethers-js 签署者。
如何为MetaMask获取一个签署者:
如果你是PlasmaChain新手开发人员 — — 请确保先将最新的loom-js导入你的项目😉
此外,如果你想与Loom老手开发人员(实时)聊天 — — 请加入我们的Telegram聊天室。