背景:四天前,区块链媒体Coindesk刊登了一篇文章,声称Plasma扩容解决方案的进展已经“停滞”。对此,plasma开发团队FourthState Labs特地撰写了这篇文章,从开发者的角度回怼Coindesk的说法。
一、什么是Plasma?
由于今天以太坊生态系统当中出现了众多版本的plasma,这使得我们会感到困惑,我们认为首先需要为不知情的读者重新定义一下Plasma,这会是重要的。
(图片来自:blockchainatberkeley)
根链(例如以太坊)→ 基础设施 → Plasma
Plasma是一种扩容解决方案,它允许去中心化的应用将交易从根链转移到其它的区块链,我们可以把这些链称为“侧链”或“plasma链”,它们是由个人或小型验证者集负责运营的,而不是整个网络底层。
Plasma结构,其独特之处在于它允许侧链的安全操作,即使是在恶意活动的情况下,也是如此。这是通过使用独特的退出机制和加密经济协议来完成的。即便在遭到运营商审查或篡改交易的情况,用户也可以安全地转移资金。
二、关于Plasma的错误观念
2-1:Plasma链是中心化的(易受监管)
多数人关于Plasma的第一个误解,就是将这些独立管理的侧链称为“中心化的实体”。
正如Gnosis首席技术官Stefan George在Coindesk的文章中所述:“你会拥有这样一个运营方,它是不可信任的,它不是去中心化的。它相当中心化,容易受到监管等等。”
确实,大多数Plasma方案只是提供了单个运营者,然而,我们已经证明了有多种方法可以将多个验证者引入单条Plasma链。
通过使用Cosmos SDK,我们能够在Plasma链上实现去中心化的验证过程,而不是创建由验证者网络运营的基于权益证明(PoS)的侧链。这些验证者可使用任何的权益共识机制,并根据预定义的标准奖励验证者。
2-2:没有人在建立这种方案的基础设施
在CoinDesk的文章当中,作者声称:“在多个版本的Plasma迭代当中,有证据表明研究工作并没有像最初开发者所希望的那样进行,自Plasma的概念被提出以来,很少有可操作的代码被提出。”
这种说法代表着一种观点:各版本的Plasma代码和进度,彼此之间是直接相关的。这种想法是很天真的,Plasma实施中任何被遗漏的攻击向量,都会导致灾难性的财务后果。正确的关注点,不应该是快速发布生产就绪的代码,或首先推向市场,而是要发布设计良好且安全的解决方案。
以下是一些有用的参考资料,它们可以表明,其实有很多人在继续研究和思考安全的Plasma实现方案。
1、女巫攻击(Sybil Attack)漏洞可通过不正确的plasma链构造,来耗尽一个plasma合约 : https://ethresear.ch/t/plasma-vulnerabiltity-sybil-txs-drained-contract/1654
2、通过“监视塔”服务和退出债券来协调经济激励,并防御DDoS攻击 : https://ethresear.ch/t/how-to-protect-plasma-against-dos-attacks/1967/13
3、安全存入plasma合约,避免与运营者发生竞争: https://github.com/FourthState/plasma-research/blob/master/PlasmaMVP/safeDeposit.md
4、使用plasma链上的旧utxo,防止提币延迟攻击 : https://github.com/FourthState/plasma-research/blob/master/PlasmaMVP/exitOrdering.md
5、使用去中心化的plasma链处理以太坊区块链的完结性问题: https://github.com/FourthState/plasma-research/blob/master/PlasmaAnchor/anchor.md 而FourthState Labs和 Kyokan(Plasma实施方)也在合作标准化Plasma智能合约接口,其可用于不同的Plasma侧链实现。据预计,该合约将于2019年1月实现审计,并投入生产。
三、Plasma当前存在的问题
3-1、大规模退出场景
在存在恶意活动的情况下,与Plasma链相关联的交易,我们需要关注,以防交易泛滥带来的风险。虽然迄今为止还没有提出万无一失的解决方案,但有几种方法可以降低这种风险:
1) 用于一个去中心化Plasma链的多验证者集,其可降低提交恶意区块的可能性。验证者集当中至少有2/3必须在一个恶意区块上签名,以便在主链上令提交被批准。
2) 通过正确的经济激励措施,用户可将代表他们退出的能力委托给验证者,以便在存在恶意活动时获得一些奖励。通过对智能合约规范稍作修改,验证者可以将这些退出交易批处理成1笔交易。
3) 不断合并相同地址的UTXO,这可以大大减少恶意验证时每个用户必须退出的UTXO数量。
4) 对layer 1基层区块链进行扩容。以太坊开发者们正在开发诸如分片和casper这些技术,而随着以太坊2.0的发布,layer 1基层区块链的容量增加,再结合上述扩容方案,应该足以对付成功的大规模退出场景。
3-2、“Plasma的术语是令人困惑的”
这是真实存在的问题,社区在这方面做得并不好。开发者们没有进行协调研究,而是在争论哪一种Plasma方案才是最好的。
话虽如此,目前仍没有一个Plasma方案能够从中脱颖而出。
Plasma MVP和Plasma Cash都有各自的用例。而这些Plasma方案,唯一的共同之处就是上述Plasma的核心定义。
dApp开发者们应该花时间了解这两种实现方案,以及这些解决方案如何能够解决他们正在尝试解决的问题。
四、关于SNARKs作为一种替代方案
实际上,Plasma不是(也不应是)区块链扩容问题的唯一解决方案。
正如CoinDesk在文章中所描述的那样,探索SNARKs和STARKs等工具的使用是有好处的,这些技术方案可以为可验证的链外计算提供可扩展优势。
在未来,SNARKs技术可以和Plasma MVP很好地进行结合,以最大限度地减少侧链的存储需求,并实现快速同步,此外其还可用于改善轻客户端的基础架构(为侧链用户提供安全优势)。
话虽如此,重要的是要注意,这两种技术目前仍处于试验阶段,我们也应该如此对待它们。
这意味着我们在提交任何解决方案之前,得看到相关的有效性证明。
此外,对于SNARK技术方案,目前尚不清楚其较高的生成和链上证明验证成本,是否会使该技术方案变得不可行。
自己做技术研究,然后大家协同工作,而不是dis他人的方案
结论
随着我们继续推进plasma侧链的发展,我们相信会有更多的应用将开始在去中心化网络上利用这种基础设施。
这次讨论可作为更深入plasma方案探讨的起点,而随着更好的定义和实施,plasma会进入主流并得到修正。我们在FourthState已深入思考了支持Plasma的商业模式,并为去中心化的应用提供了很多想法,以期创造新的机会。
如果你正在研究 plasma方案,你可以查看 Hamdi和Wesley的medium博文,以及FourthState的Twitter 页面。