查看原文
其他

Polkadot 系列谈之二十一丨波卡对以太坊带来的挑战

加密谷Live 2021-04-10

The following article is from 链学园 Author 区块链Robin


作者 | 区块链Robin

来源 |  链学园



Polkadot 是被誉为“以太坊隐形大脑”的 Gavin Wood 领军的项目,是 Web3.0 版图上不可或缺的板块。

 

Polkadaot 独特的跨链机制旨在将当下各自独立的区块链网络串联起来,让不同链间可以进行通信和数据传递,或将成为下一代价值互联网的基石。

 

除了更为宏大的区块链技术框架,在实现更公平的点对点数字交易等方面,Polkadot 都意义非凡。

 

加密谷长期关注 Polkadot 项目,此前曾从不同维度对其进行过深度介绍。我们将持续关注项目发展进程,陆续刊载系列文章,敬请期待。

 


本文将从波卡的技术发展脉络入手,通过梳理智能合约生态系统的演变,着重分析它对主流区块链平台——以太坊带来的挑战。

 

Polkadot本身并不是一个智能合约平台,而是一个连接异构区块链的网络。然而,其灵活、自适应的架构有助于各类技术建构,从而对当前以太坊的主导地位构成巨大威胁。

 

对于许多项目来说,启动自定义区块链曾经非常昂贵,但底层架构使其成为一个可行的选择,这将允许dApp开发者更多地聚焦于技术创新,而不是构建和运营区块链。

 

Polkadot功能强大的开源底层架构大大简化了创建、部署、升级和试验特定应用程序的过程。

 

作为一个能够承载和连接各种智能合约的可扩展规模化平台,Polkadot 可以显著加快去中心化网络的创新步伐。


历史

  


Polkadot是加文·伍德的创意,他是以太坊早期历史上的一个开创性人物。伍德是以太坊的创始人之一、最初的CTO和核心开发者。他编码了平台的第一个实例,编写其正式规范,并发明了 Solidity智能合约编程语言。2016 年 1 月 11 日,Wood 告别了以太坊社区,并将注意力转向一家新企业,该企业将兑现伍德认为以太坊无法兑现的承诺。据Wood说,2016年夏天他刚刚知道Polkadot的最初想法,同时也在等待以太坊2.0分片规格固化到足以开始实施它们。在开发者Marek Kotewicz的推动下,他开始尝试设计一个尽可能简单的以太坊版本。到2016年10月,伍德完成了Polkadot白皮书的初稿。



在以太坊期间,Wood 与以太坊团队的几位成员共同创立了EthCore公司,这是一家营利性区块链技术公司,后来成为Parity Technologies (以下简称Parity)。Parity开发了重要的区块链基础设施技术,如Parity以太坊客户端、基底开发框架、Polkadot 网络和Parity多签名钱包智能合约。


2017 年7月19日,Parity多签名钱包代码中的一个漏洞影响了总共 596 个钱包实例,涉及的 ETH 超过 500k,黑客从 3 个不同的钱包中窃取了153k ETH(当时约为 3300 万美元)。其他593个钱包中留下的资金(约1.64亿美元)被一个被称为白帽集团(WhiteHat Group)的熟练志愿黑客集体救出并归还。第二天,Parity发表了一篇文章,解释了发生的事情及确保不再发生这种事的计划。


2017 年夏天,Wood 和Parity的 Peter Czaban 共同创建了非营利性 Web3 基金会,以支持去中心化Web 软件协议的研究和开发。Web3 基金会的主要职能之一是管理计划于 2017 年 10 月进行的Polkadot代币销售筹集的资金。代币销售于 2017 年 10 月 15 日至 27 日进行,总共筹集了约 1.45 亿美元,是当时最大的代币融资项目之一。


在代币销售结束仅 10 天后,2017 年 11 月6日,对Parity多签名合约的第二次攻击冻结了所有钱包中剩余的 513774 个 ETH 和其他代币,导致总计损失约 1.5 亿美元。受影响最大的是Web3基金会的钱包,它持有约306k ETH(超过9000万美元),即Polkadot 代币融资总收入的2/3。一周后,Web3基金会报告说,它仍有足够的资金来交付Polkadot,而Parity的创始人对被冻结的资金可能在4~6个月内收回表示乐观。


随着时间的推移,这种乐观情绪逐渐消退,因为Parity提出的解冻资金的各种提议未能在以太坊社区获得支持。被冻结的资金在以太坊内部引发了一场长期而激烈的辩论,其中包括备受批评的社区投币、EIP编辑的辞职,以及要求更新以太坊改进提案999的状态(从草稿到接受)。EIP-999 是一个正式的建议,一个有争议的硬分叉,它将解冻冻结资金,但也可能像DAO硬分叉一样有分裂社区的风险。


尽管目前正在努力争取社区支持,但截至编写本报告时,这些资金仍然被冻结。然而有传言说,Edgeware的lockdrop代币分发机制可能会为Polkadot(拥有60%的冻结ETH)和其他受影响的各方提供一些缓解。lockdrop向自愿锁定 ETH 的用户分发 EDG 代币,并可以向在Parity的多签名合约中冻结的 ETH 所有者提供相应数量的 EDG。


Polkadot 在 2018 年取得了几个重大里程碑成果,包括开发概念证明 (PoC) 1、首次成功将链上的基于治理的协议从 PoC-1 升级到 PoC-2,以及推出BBQ Birch 测试网,这证明了我们能够构建和部署具有基底的 Web 程序集智能合约链。在柏林的Web3峰会上,Gavin Wood给出了一个令人印象深刻的实时编码演示,他使用基底在大约15分钟内从零开始构建了区块链和dApp。12月,Web3基金会宣布启动其资助计划以改善Web3生态系统。授予ChainSafe与Soramitsu奖励,因为它们分别在 Go 和 C++ 中实现 Polkadot 实时运行环境。


2019年1月,Polkadot宣布完成其PoC-3里程碑,并推出其亚历山大测试网。包括一个新的共识最终性工具和改进治理的PoC-3使Polkadot完成了一个里程碑式的功能(跨链通信),并准备主网发布(预计在2019年底)。


虽然 Polkadot 还没有一个正在运行的主网,Edgeware 也尚未推出,但有足够的信息可以将其与以太坊的技术堆栈进行比较,因此让我们深入探讨一下。



可扩展性


Polkadot 被设想为以太坊等区块链的扩展解决方案,其交易吞吐量受到每个节点验证每个交易需求的严重限制。Polkadot 通过多个可并行链(称为参数链)进行扩展,其节点只需要验证参数链上的交易。这允许并行执行不同参数链上的独立交易,从而增加交易吞吐量,并扩展每个附加参数链的交易容量。


平行链由中央中继链连接,该链存储参数链区块的标头,并支持跨参数链的可靠通信。中继链是一个 PoS 区块链,具有随机分配的验证者池,用于验证不同参数链上的区块。验证者由指定者选择,这些代币持有 DOT(Polkadot 代币),如果验证者行为不当,这些代币可能会罚没。对指定者具有真正的货币后果,可区分Polkadot的指定风险证明算法(NPoS)与传统的委托验证 (DPoS) 算法。


Polkadot 的池化安全模型允许启动新的参数链,而无需找到新的验证者来保护它们。从理论上讲,它也鼓励合作,因为参数链不必争夺独家验证者资源。但是对于固定大小的验证者池,添加新的参数链接确实会减少可分配给每个参数链的验证者资源量。



关于中继链的共识是通过两个单一责任共识机制实现的,一种是区块生产,另一个是最终机制。区块生产与最终性分离可解决即时终结共识协议(例如 Tendermint)的可扩展性限制,从而能够快速生产区块,并允许更多验证者参与协商一致。这两种机制由其高度精心设计的缩写词命名:BABE(区块链扩展的盲分配),用于生产新模区块;和 GRANDPA(基于 GHOST 的递归祖先派生前缀协议)一起,用于旧区块的定稿。


BABE 是一种生成中继链区块的算法,它由来自这些参数链上的整理器生成的所有有效和可用的参数链区块的标头组成。BABE 是一种基于槽的算法,为给定时隙生成中继链区块的权利被随机分配给称为插槽引线的验证者。发布下一个区块的资格由使用可验证的随机函数 (VRF) 的专用本地计算决定。BABE 的设计主要借鉴了Ouroboros Praos的区块生产组件,这是Cardona的 PoS 共识协议。但是,它解决了某些实际限制,如通过实现相对时间进行时钟漂移,并通过要求定期的"丢失证明"来证明验证者在给定时间段内没有被分配插槽,从而识别出跳过插槽的验证者。只要超过三分之二的权益属于正确遵循协议的验证者,BABE 就是异步安全的,并且处在部分同步假设下。


GRANDPA 是一个最终性工具,其中每个验证者不是对单个区块进行投票,而是在他们认为有效的最高区块上投票,这实际上是对区块的所有祖先的投票。所有得到超过三分之二验证者权益投票的常用区块都得到最终确定。由于多个区块可以同时定稿,验证者可能需要超过一个区块的时间才能就最终性达成共识。这允许 GRANDPA 支持比传统的必须单独完成每个区块的BFT 算法更大的验证者集。如果验证者模棱两可,瞭望塔节点(称为渔民)可以构建包含验证者冲突投票的证明,通过削减验证者的权益来赚取赏金。权益削减使 GRANDPA 能够提供异步责任安全,这意味着任何两个冲突区块的确定将导致负责其的验证者失去其权益存款(至少占所有验证者权益的三分之一)。GRANDPA还提供合理的活动性,这意味着只要区块生产机制满足某些标准,最终链就会增长。


GRANDPA 最终性工具用于Polkadot的所有参数链。作为对最终性主权的交换,每个参数链都获得与其他参数链的互操作性。这种权衡使 Polkadot 能够提供一种简单的跨链通信机制,允许支链排序器通过入站和出站的消息队列直接相互通信。每个整理器必须接受支链入站队列上的消息,并且必须包含该队列上的处理证明及其提交的以进行验证的区块。共享最终性使得跨链通信更简单,并提供了比跨分片或跨链通信与可重组的分片/链更低的延迟。


尽管参数链共享相同的最终性工具,但每个模区块可以实现不同的区块生产机制,具有针对特定类应用程序优化的不同属性和参数。Polkadot 异构设计的关键原则之一是,专业化可实现优化并消除可拓展性的瓶颈。在许多情况下,特定于应用程序的区块链提供了更好的性能和安全性、主权治理以及更高的创新灵活性。


参数链开发工具包 (PDK) 是大大简化应用特定参数链开发的工具。基板是一个有助于构建区块链的PDK。基板运行模板区块库 (SRML) 包括某些区块生产算法的内置实现,包括 BABE、Aura 等。另一个 PDK,称为Cumulus,包含将基于基板的链连接到 Polkadot 网络所需的“胶水代码”。基底和Cumulus共同构建和连接了Polkadot网络,并可轻松连接其交易吞吐能力。


根据区块生产算法和参数,每个链的交易吞吐量可能有所不同,因此只能估计 Polkadot 网络的总体吞吐量。Polkadot 的第一个版本将允许多达 100 个参数链,并且每个参数每秒至少支持 10 个交易 (TPS),吞吐量的下限约为 1000 TPS。Polkadot 的未来版本将允许参数链作为拥有附加参数链的二级接力链,形成理论上实现了无限容量的树结构。在某些时候,主中继链会成为瓶颈,但它只用来验证输入队列处理,因为参数链可以直接相互通信。根据一项估计,树的设计将使Polkadot将单个 PoS 链的容量扩展到 10000 倍。


以太坊 2.0 具有 1024 个分片、8 秒的区块时间和 8M 区块gas限制,预计第 1 层交易吞吐量将增加 1000 倍以上。第 2 层解决方案(如Plasma和状态通道)可以将以太坊1.x 和2.0 的交易容量乘以数量级。


在高级别上,Polkadot的架构与以太坊2.0建议的分片设计非常相似。这两种设计都通过具有多个链来扩展,这些链并行执行交易(Polkadot的参数链,以太坊中的分片),并通过主检测信号链(Polkadot的中继链、以太坊的信标链)彼此同步。两者都将采用基于槽的PoS共识算法,具有单独的区块生产机制(Polkadot的BABE,以太坊的区块提议)和终结(Polkadot的GRANDPA,以太坊中的Casper FFG)。两个系统都将使用由所有分片/参数共享的通用验证者池,验证者的存款可能会因未遵循协议而被削减。


平台之间的主要区别之一是,与必须使用相同参数运行相同共识算法的分片不同,参数链是异构的。它们可以使用不同的区块生产机制和网络参数,以方便地针对某些用例进行隔离实验和优化。


另一个区别是,Polkadot区块最终完成时间是可变的,与每 100 个区块都有固定检查点的 Casper FFG 不同。Polkadot 的自适应终结性使其能够在正常条件下非常快速地完成区块,并在生产区块积压堆积时非常高效地完成区块。


快速终结可显著减少链或分片之间跨链通信的延迟,这些链或分片可以重新组织,从而依赖于最终区块。在 Polkadot 中,共享最终性允许将正常(非桥接)链区块一起完成,从而在正常情况下促进低延迟跨参数串调用。与Polkadot的跨链实现相比,以太坊的交叉分片实现将如何执行还有待观察,但目前看来,Polkadot的跨分片实现更简单、更快。

以太坊2.0将推出由核心协议定义的固定数量的分片,而Polkadot将推出软限为100的参数链,任何人都可以建构新的链。在 Polkadot 上部署参数链需要获得网络中参数链插槽的租约。以太坊的入场费是部署智能合约的GAS成本,是一次性缴费换取永久租赁权利。


Polkadot 和以太坊 2.0 之间最大、最终最重要的区别之一可能是交付可扩展的第 1 层系统的时间范围,该系统提供的功能可与以太坊1.x 相媲美。对于以太坊,这将发生在阶段 2 的末尾,而对于 Polkadot 则是在PoC-4 主网版本发布的时候。


下表列出了Polkadot发展路线图和以太坊分片路线图上的里程碑。



这些里程碑的交付日期并不接近。在撰写本文时,Polkadot 已完成了 PoC 1⁄4,使用 PoC-5 完成了83%,而以太坊的首个0阶段实施才刚刚启动。



治理


如何最好地实施区块链治理仍然是一个悬而未决的问题,有许多重要因素需要权衡,并且有各种各样的意见和方法。作为新的平台,Polkadot 和 Edgeware 有机会学习并改进以太坊和其他前辈采用的治理流程。他们将尝试新的、更正式的流程,而这些流程通常被以太坊社区所回避。


以太坊的治理方法以互联网标准流程为模型,主要继承自BTC的改进建议模型。BTC缺乏正式治理对 Segwit 升级部署缓慢和各种社区分裂都负有某种责任,但以太坊的利益相关者在不分裂社区的前台下,相对有效的做出了及时协调,并实施变革。在 DevCon2 拒绝服务攻击期间,硬分叉在几天内被开发、测试和部署,并在君士坦丁堡硬分叉发现关键 Bug 后几小时内被成功推迟。有人认为,以太坊取得的任何改进,很大程度上是由于社区能够围绕以太坊公认的领袖进行协调。


单个个人或一组人在区块链上实施状态更改的能力可能会成问题,因为它会破坏网络的安全性和审查阻力。即使治理参与者值得信赖,现实世界的法律也可以迫使他们进行符合特定司法管辖区法律的状态变更行为。安德里亚斯·安东诺普洛斯警告说,治理权力将强迫参与者将其回答"不能"的能力扩大为"不会",这就跨越了一条重要界限,使拒绝参与者容易受到刑事起诉。他说,"不能"和"不会"的区别在于"两个无期徒刑加四十年",他指的是Silk Road网络市场经营者的严厉判决,这证明了这不是一些模糊的理论路线,而会带来严肃的后果。


这些后果对著名的以太坊研究员平井洋一(Yoichi Hirai)造成了沉重压力,他于2018年2月辞去了EIP编辑一职,原因是担心他可能会因回避或未能阻止EIP 867而受到刑事起诉。EIP 867 描述了在以太坊上回收损失资金的标准流程,其动机是先前收回被冻结在Parity多签名钱包中资金的提案未能通过以太坊的非正式治理进程。


根据以太坊研究员弗拉德·赞菲尔的说法,以太坊未能收回被冻结的资金表明以太坊的治理是基于糟糕的政治/法律基础。其中最糟糕的是Zamfir所称的"Szabo定律"——基于不变性的区块链治理极简主义方法。


根据 Szabo 定律,更改区块链协议不能解决争议。当由自主软件强制执行时,这种不变性法则授权治理参与者在当局要求下实施一些不规则的状态变更时生命"不能",而不是"不会"。然而,Zamfir坚信,不变性法律将使现实世界的法律制度很难解决争议,以至于他们唯一手段成了使不可改变的区块链成为非法。


以太坊在 2016 年 7 月曾违反不变性法,当时颁布了硬分叉决定以恢复被盗的 DAO 资金。这导致了社区分裂,社区中的许多人拒绝了分叉,并继续留在现在被称为“以太经典”的不可变区块链上。而以太坊相对于“以太经典”更受欢迎的程度表明,强硬的不变派是以太坊社区中少数人的观点,但自DAO以来,尽管Parity/Polkadot做出了不懈努力,社区并没有颁布任何帮助分叉社区解冻Parity多签名钱包中资金的条案。防止社区分裂是区块链治理的主要目标,它通常倾向于不采取行动,尽管长时间不行动也会造成越来越多的挫折感,最终导致社区和链的分裂。


以太坊的治理被许多(包括加文·伍德)认为是技术官僚主义,其协调和行动能力主要由社区信任的几个关键个人促成。这一制度在及时协调变化方面效果较好,但决策缺乏透明度页引起了一些关切。一个明显的例子就是一小队核心开发人员决定颁布EIP-1057,这一方案建立了一个新的抗ASIC工作站验证方案,称为ProgPoW。对协议的这一重大修改将需要一个(可能有争议的)硬分叉,如果不解决社区成员关切的问题,该分叉的颁布可能会造成社区和链的分裂。


然而,以太坊正在努力解决社区关切,使决策过程更加透明,并通过"多因素共识"程序审查决策。在ProgPoW下举行代币、哈希以及其他类型的投票,可以用来衡量情绪和前进的风险。在矿工的压倒性支持、社区多数人支持以及 ProgPoW 审计的众包资金下,转换至 ProgPoW 的硬分叉不应引起争议。

以太坊社区只使用链式投票作为信号机制,而不是采取具有约束力的立法使硬分叉自动化。以太坊思想领袖认为,自动分叉剥夺了节点运营商的权力,因为他们将默认模式(无所作为的结果)从选择退出改为选择加入。他们指出,持有代币投票计划的博弈缺陷可能导致卡特尔的形成和寡头获益。他们声称,与有约束力的链式表决机制相比,"松散耦合"(不具约束力)投票使利益获取会受到政治协调的阻碍,例如,社区同意忽略已知交易地址的代币投票。他们警告说,"紧密耦合"(约束性)的利益相关者投票机制往往导致对少数巨头的治理缺位,他们可能会拥有不成比例的大量代币。事实上,这种形式的利益获取已记录在几个正在运行的系统中。


通常,一个大鳄的投票就足以推翻一个社区的决定,最近一些利益相关者对各种Aragon治理提案(AgPs)的投票就证明了这一点。AGP-42是一个建议保留Aragon的提案,一个宣布打算建立在Polkadot上,重点是以太坊的项目。对AGP-42的投票稍微倾向于"是",除非在投票期结束时,由大股份支持的投票将结果改为"否"。同样,AGP-35在最终一次巨头投票最终通过之前,一直以15%的微弱优势遭到社区反对。AGP-35 是 一个有关Aragon,建议将资金锁定在 Edgeware 锁定计划中的提案,计划将 EDG 代币分发给 ETH 自愿将其ETH 锁定在智能合约中数月的持有者。


主观、技术官僚、基于政治的治理方法对于一个平台来说可能效果很好,因为强大的网络效应使得选择退出变得困难,而政治协调则由值得信赖的领导者促进——以太坊目前拥有这两种属性。但是,在不同条件下运行的平台可能需要在设计其治理机制时做出不同权衡。如果没有既定的网络效应,由于缺乏透明度和问责制而被视为非法的有争议的决定可能导致社区分裂。如果没有值得信赖的领导者来协调,不具约束力的协议可能迟迟不能颁布,从而阻碍进展。对于大多数去中心化平台来说,为了保持社区凝聚力和支持创新,必须保持高度透明、问责制和对决策的约束性。


为了达到这些目的,Polkadot正在采取比以太坊更有条理、正规的治理方法。透明度和问责制通过要求所有拟议的改革都必须由权益加权代币投票程序批准来实现。决策通过节点软件中的内置升级机制进行绑定,可自动更新选民批准的升级。这些设计权衡基于的假设是:透明、可计数的投票机制将提高凝聚力,使治理决策更容易被对立的少数派接受,而默认接受升级能够实现创新。Polkadot 的治理设计考虑了利益相关者投票时的理论和经验观察问题,并引入了许多不同的机制来解决这些问题。


人的主体性是治理中的一个重要因素,也是对自动化流程的制衡。为了检查和协助其自动化升级过程,Polkadot的治理结构包括一个民选官员委员会,其宗旨类似于公司董事会。理事会的主要职能是提出合理的公民投票,取消有争议的危险或恶意的投票结果。理事会成员以股份加权表决通过,任期一年固定。Polkadot的议会最初将包括6人,但头9个月将增至24人。


选民的冷漠可能导致的法定人数不足是许多区块链和现实世界投票系统的问题。为了在选民参与率低的情况下保持治理良好运行,Polkadot 采用了自适应仲裁偏置机制,利用数学公式调整根据投票率做出决策所需的绝对多数。投票率越低,批准或否决提案所需的绝对多数票就越多。对于公众提交的提案,需要获得绝大多数赞成票才能获得批准。获得议会一致支持的提案需要绝大多数反对者予以否决。



买选票可以通过权益池奖励来实现,这也是卡特尔获取投票系统的常用方法。为了确保经济上对决策的认同,并阻止选票销售,Polkadot 采用了时间锁定的票数乘数和延迟通过公投机制。选民必须将其代币锁定比最终实施更长的时间,并且可以将权益投票的权重与更长的锁定时间相乘。这就形成了一种机制,使得对某个问题抱有信念的选民可以押注于它,即通过获取更多代币来扩大他们的影响力。延迟颁布规定创造了一段时间,在此期间,反对作出决定的人可以在支持者代币被锁定的情况下将其代币取出系统,从而提供一些保护,防止多数人的暴政。


通过这些机制,Polkadot 希望改进以前的治理实施机制,并提供一个公开、透明、高效的治理流程,以激励分散社区的创新和凝聚力。Polkadot 的链式治理系统的设计人员承认其初始实施存在局限性,他说:"我们知道这远非完美,但我们希望并期望它足够好,能够提供真正伟大的治理平台系统,并可以在Polkadot的一生中不断演变和适应。


Edgeware 的使命是通过促进实验来发展自动化的链上治理(特别是Polkadot的治理)。作为最有可能成为Polkadot第一个智能合约的子链,Edgeware建立在相同的基底治理模区块为Polkadot赋能。Edgeware使用了Substrate 的民主模区块,使利益相关者投票和理事会模区块支持选举代表和管理提案成为可能,从而继承了Polkadot的自适应仲裁偏置、时间锁定投票成熟和延迟颁布的功能。Edgeware 计划在身份、委托权益投票、信号(非绑定投票)和其他功能方面扩展此框架,这些功能将促进各种治理机制的试验,例如基于身份的投票、二次投票、DOO和基本上任何可以在WASM代码中表达的机制。


Edgeware 将作为治理机制的低风险快速反馈测试台,这些机制的最佳创新可以通过对基底的贡献反馈到 Polkadot 中,并以低风险的方式改善其治理。与此同时,以素坊的治理将继续发展,因为平台面临着真正的问题,有大量的资金在线,我们已经看到与Parity多签名钱包冻结和ProgPoW。


Edgeware 还将通过提供用于部署智能合约的参数链来增强 Polkadot。这将允许项目在 Polkadot 上构建 dapps,而无需构建、连接和管理自己的参数链。虽然Polkadot可以支持任意数量的智能合约平台,但Edgeware很可能成为第一个直接与以太坊竞争的平台。因此,让我们来看看Edgeware的智能合约产品与以太坊的对比。



智能合约安全性



Edgeware 是一个智能合约平台,可满足在 Polkadot 上简单、无权限地部署应用程序的需求。它允许项目构建 dApps 并将其部署到 Edgeware 参数链上,而无需构建、连接和管理自己的参数链。因此,Edgeware 将作为那些希望与 Polkadot 生态系统进行交互的开发人员的软启动。该平台建立在基底之上,继承了基底的网络、NPoS共识和 GRANDPA 最终实现。这使得 Edgeware 的开发人员能够专注于平台的创新功能:治理和智能合约。Edgeware智能合约的 WASM 执行引擎允许使用任何高级语言编写可编译到WASM 的代码,如 C、C++ 和 Rust。这大大降低了来自加密生态系统外部的开发人员的进入障碍,因为许多人将能够在熟悉的编程环境中开始开发智能合约。


在许多方面,Edgeware 智能合约平台的工作方式与以太坊类似。它实现了类似以太坊的帐户和余额系统,便于将以太坊协定(例如 ERC-20 实现)和 dApp 移植到平台。它使用以 EDG 计价的气体来限制智能合约代码的执行,并防止垃圾邮件。与以太坊一样,此处的智能合约可以同步调用其他智能合约。除了利用其他合约中的代码外,Edgeware 还允许智能合约访问其某些内置模区块,如身份(Identity)和理事会(Council)。这些 API 将促进智能合约中实现的治理机制的试验。


Edgeware 最初不支持 Solidity 或 Vyper,不过等到用于将这些语言编译到 WASM 的工具成熟时,可能就会支持。尽管如此,一些著名的以太坊项目目前已经在Polkadot实现。尽管他们必须重写其 Solidity 代码,但针对 WASM 语言可用的成熟工具将促进该过程。


将 WASM 作为通用目标允许在 Polkadot 上运行和互操作任意数量的通用语言。这使得更多的开发人员可以访问该平台,降低他们的学习曲线,能够利用更广泛的开源社区工具,并促进智能合约编程语言实验。但是,智能合约的主要职责是安全地管理资金,用不受约束的通用编程语言编写可能会创建非常大的攻击面。


智能合约编程语言的灵活性和复杂性过度会产生灾难性的后果,以太坊智能合约违规历史就证明了这一点。我们对此问题总结如下:以太坊智能合约漏洞是语言设计不当的结果,而不仅仅由于编码草率。两个Parity多签名钱包黑客表明,即使是使用最佳实践和工具确保智能合约代码安全的最佳开发人员团队,也无法防止其代码中的主要漏洞。第二个Parity钱包黑客冻结的资金给以太坊带来了治理危机,这与 2016 年的 DAO 黑客一样,导致社区分裂。这些对社区凝聚力的威胁可归结于一个根本原因:语言复杂性过大而导致智能合约漏洞。


以太坊 Vyper 智能合约语言的设计原则是,限制语言以防止漏洞、黑客攻击和治理危机比被动处理全功能性的后果要好得多。Vyper 删除了几个可能导致易受攻击的代码的语言功能,来减少智能合约的攻击面。与大多数功能齐全的语言相比,它的代码更易于审核,也更容易接受正式验证。不幸的是,今天在以太坊上运行的绝大多数智能合约都是用 Solidity 编写的,而以太坊社区仍然容易受到引起危机的开发行为的威胁。


也许没有人比Polkadot的创造者加文·伍德更了解和欣赏以太坊的教训,他是Solidity最初的设计师之一。这些体验可能会对为 Polkadot 开发的智能合约编程语言的设计产生一些影响,例如Parity的ink!语言,这是基于 Rust 的嵌入式域特定语言,用于将智能合约代码编译到 WASM,以便它可以部署在参数链上。作为基底的组成部分,ink!将允许任何建立在基底上的链来支持智能合约。ink!展示了如何利用 WASM 等通用目标工具来获取支持高级语言的内置安全功能,同时添加约束,尽量减少攻击面。在本文写作时,ink!仍然是一个正在进行的有关基底和Polkadot的工作。看看ink!和为 Polkadot 开发的其他语言如何被纳入经验教训,以提高与其一起开发的智能合约的安全性是非常有趣的。




结论


无疑,当其主网上线时,Edgeware将提供一个拥有高吞吐量、快速终结性、纯PoS链和基于WASM的智能合约平台,这将远远领先于以太坊2.0。但是,作为不支持 Solidity 或 Vyper 的独立链,它不太可能实现显著的中断以太坊的网络效果。


这些可能在 Polkadot 启动后开始发生变化,届时将通过添加有用的参数链来增强网络效用。当Edgeware 的参数链能够向运行在其他高速参数链上的基于 WASM 的 dApps 发送消息,或相反的过程成为可能时,以太坊 2.0 的愿景将在 Polkadot 上基本实现。如果Polkadot按计划在2019年推出主网,它很可能有几个月的时间内,在以太坊2.0有通信分片之前,建立一个大型的传输参数链网络。


在这几个月中,项目将不得不权衡利用以太坊网络效应与Polkadot的交易吞吐量和可扩展性优势的问题。以太坊上第 2 层解决方案的可行性可能会降低 Polkadot 的可扩展性优势,而实现参数链应用和网络效用的临界质量可能会侵蚀以太坊的可扩展性。对自动化、链上治理或非正式多流程治理的强烈偏好可能是成为许多项目的决定因素。




Polkadot 最具威胁的一个方面是,它不是一个智能合约系统,而是一个可以开发任意数量智能合约平台的网络。如果 Edgeware 失败,则新的、改进的智能合约平台设计可以吸取很多经验教训,该平台可以在新的参数链上启动(或作为 Edgeware 参数链上的升级版本)。去中心化系统中,能够进行实验、获取经验证据和改进,可以大大加快治理、智能合约安全、用户体验和其他关键领域的创新步伐。参数链的异质性和短暂性将支持此迭代过程,而基底框架则显著加快了这个速度。


当然,在Polkadot真正推出主网之前,这种威胁完全是理论上的。只有当正式投入运行后,支撑Polkadot统治的假设才能得到验证。运行中的 Polkadot主网将揭示链上算法治理机制在支持创新方面的工作情况,基底框架为各种用例构建参数链的简化程度,而且其可扩展性、异质性和副链的互操作性将吸引创新者在Polkadot的基础上再接再厉。如果 Polkadot 网络能够获得足够的吸引力,获得大量资金,其智能合约平台的安全性及治理流程在面临困难时保持社区团结的能力将受到考验。


没有主网运行,但是有许多有前途的和颠覆性创新的Polkadot目前还停留在挑战者威胁级别。但是一旦 Polkadot 主网发布,部署好应用程序,威胁级别可能会迅速上升。



区块链Robin   作者
 Sonny Sun   编辑
       Roy   排版



内容仅供参考 不作为投资建议 风险自担

版权所有 未经允许 严禁转载


本文转自公众号“链学园”

原标题为《从Polkadot的起源说开去》



“系列谈”此前篇目请见:


《独家编译 | 区块链互操作性深度解读:Cosmos vs. Polkadot(上)》

《独家编译 | 区块链互操作性深度解读:Cosmos vs. Polkadot(下)》

《独家深度 | 一文读懂七大区块链项目基金会运作模式》

《Polkadot 系列谈之一 | 「地表最强」跨链项目的缘起与沿革》

《Polkadot 系列谈之二 | 一文读懂 Cosmos 和 Polkadot 五大差异》

《Polkadot 系列谈之三 | 跨链机制或将引发去中心化应用的第三次浪潮》

《Polkadot 系列谈之四 |  NPoS 创新共识下的 Staking 经济》

《Polkadot 系列谈之五 | 波卡创始人 Gavin Wood 眼中的加密世界》

《Polkadot 系列谈之六 | 波卡白皮书深度解读:一种异构多链架构的畅想》

《Polkadot 系列谈之七 | 波卡平行链的插槽设计》

《Polkadot 系列谈之八 | 如何防止侧链作恶?》

《Polkadot 系列谈之九 | 史上最翔实的 DApp 开发技术综述》

《Polkadot 系列谈之十 | TON能否挑战波卡?

《Polkadot 系列谈之十一 | 前a16z 交易团队合伙人深度起底波卡对标 Cosmos》

《Polkadot 系列谈之十二丨深度聚焦波卡网络首个支持智能合约的项目 Edgeware》

《Polkadot 系列谈之十三丨去中心化理念发展简史》

《Polkadot 系列谈之十四丨从波卡和 Cosmos 分析跨链项目的基本面估值》

《Polkadot 系列谈之十五丨跨链时代波卡的投资机遇

《Polkadot 系列谈之十六丨波卡创始人 Gavin Wood 详解项目最新进展》
《Polkadot 系列谈之十七丨机构投资者眼中的波卡生态》

《Polkadot 系列谈之十八丨Gavin Wood 纵论隐私权益保障》

《Polkadot 系列谈之十九丨在波卡上进行区块链创业的 5 个经验》

《Polkadot 系列谈之二十丨波卡生态首个 DeFi 项目 Akropolis》


☟☟☟


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存