LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 波卡与ETH1.0、Tezos深入对比,形式验证、自动升级与合约语言,这些方面Polkad

波卡与ETH1.0、Tezos深入对比,形式验证、自动升级与合约语言,这些方面Polkad

2020-09-25 阿风1989 来源:区块链网络

前言,今天开始,为大家带来Polkadot与其它最为受关注的公链的对比,包括ETH1.x、Tezos、Cosmos、Dfinity、Ethereum 2.0,当然,还得包括与波卡的测试网络Kusama。只有通过对比,才能够深入理解项目精髓,并掌握更加全面的信息。

这些内容来自Polkadot WIKI,但是在翻译过程中,会加入大量的解读与扩展,尽可能让每一位关注波卡生态的朋友都能看得懂,例如本文翻译本只有不到1000字,在各种解读与注释下,扩展到了2300字。同时我也在申请成为Polkadot WIKI 的中文内容贡献者,希望为波卡生态尽绵薄之力。如果译问有误,或者理解不够到位,还大家请不吝赐教。

昨天文章《Polkadot下一个EOS?不可能的!DOT质押越久越值钱,无叉升级与链上治理背后的“财富密码”》,简单介绍了波卡与EOS的对比,今天带来波卡与ETH1.x、Tezos的对比,这里的ETH1.x是指以太坊处于1.0阶段的每一个版本。

此外,我们知道Tezos最大的特点是“可以自我修正的区块链”,即可以做到无叉升级,Polkadot也拥有这些特点,那么是不是意味着Plkadot的工作是无用的呢?带着这些问题,我们进入今天的文章。

Polkadot & ETH1.0

以太坊是一个在p2p网络上运行的智能合约平台,支持链上通用计算。ETH1.x(ETH1.x,指代所有以太坊处于1.0时期的所有版本)指的是以太坊的当前版本和即将到来的升级版本(正处于缪尔冰川硬分叉阶段)。

注:由于本文于2019年12月份写作,当时以太坊正处于Muir Glacier(缪尔冰川)硬分叉,因此作者用了“即将到来的升级版本”这样的描述,因为,升级后的以太坊依然处于1.0阶段。

以太坊1.x和Polkadot之间的差别非常大。以太坊是一个单一链,支持开发人员通过在链上部署代码块(称为智能合约)来扩展功能。

与ETH1.0相比,正如以太坊白皮书所述,Polkadot是一个完全可扩展(extensible and scalable)的区块链网络,通过共享状态(shared state)提供安全性和互操作性。

注:这里的“通过共享状态提供安全性与互操作性”,我们在此前的文章中多次提到过,是波卡网络的核心功能之一,指的是所有平行链能够共享中继链验证人(Validators)提供的区块验证“服务”,平行链不用专门为信息验证分拨额外精力与资金,说的直白点,就是像EOS这样的公链,如果成为波卡的平行链,就不需要21个超级节点了,专心高生态建设就行,信息安全都由中继链上的验证人负责。

实际上,对于开发人员来说,这两个项目的抽象层(layer of abstraction)明显不同。在以太坊中,开发人员编写的智能合约都是在单个虚拟机上执行的。

然而,在Polkadot中,开发人员能够将他们的逻辑写入单个区块链,因为接口程序是区块链状态转移函数的一部分。Polkadot还将支持Wasm和EVM的智能合约区块链,以提供与现有智能合约的兼容性。

注:在ETH1.x中,开发人员能做的工作其实很有限,只能够将想要实现的功能写入智能合约中,这在未来ETH2.0上也是这样的。但是在波卡上,开发人员完全可以将他们想要执行的逻辑写入区块链,这里的区块链应该是指波卡上的单个平行链。

“Polkadot还将支持Wasm和EVM的智能合约区块链”,这句怎么理解呢?因为在ETH1.x中,采用的是EVM虚拟机,而在ETH2.0上,智能合约将会升级成为Wasm模块,别担心,波卡在设计之初就考虑到了这一点,在ETH2.0远未成形时,就已经支持了。

Polkadot & Tezos

Tezos最大的特点就是可以“自我升级”(upgrading itself)。与Polkadot相比,Tezos的治理机制与智能合约语言是比较有趣的两个特点。

1)自动升级

Tezos被描述成为可以自我修正的区块链,因为Tezos可以在不需要硬分叉的情况下对区块链进行升级。

同样的,Polkadot也允许任何平行链(Parachain)集成此功能,中继链(Relay Chain)本身也可以通过链上程序进行升级。由于Polkadot的升级是由状态转换函数Wasm blob来执行的,因此整个升级过程,只需要转换一下验证人核验检查的blob代码就可以了。

注:我们知道除了前文提到的“通过共享状态提供安全性与互操作性”,Polkadot另一个最为显著的特性就是通过“链上治理”,这点我们在昨天的文章《Polkadot下一个EOS?不可能的!DOT质押越久越值钱,无叉升级与链上治理背后的“财富密码”》中,对Polkadot如何在不需要硬分叉的情况下就能够做到链上升级,进行了十分详细的介绍,感兴趣的读者可以翻看昨天的文章。

对于Wasm blob,这是一种被存储在链协议中的逻辑模块,这些Wasm blob需要被治理系统审批之后才能够部署在波卡网络中。对于Wasm blob的来龙去脉,昨天的文章也有很详细的介绍,欢迎点击阅读。

2)智能合约语言

Tezos的另一个特性是它的智能合约语言Michelson,它有助于书面逻辑(Written logic)的形式验证(formal verification)。形式验证是一种工具,有助于防止可能存在的状态转换(state transitions)的错误。

注:宏观来讲,所谓形式验证,是指从数学上完备地证明或验证电路的实现方案是否确实实现了电路设计所描述的功能。形式验证方法分为等价性验证、模型检验和定理证明等。在计算机领域,在集成电路和软件系统的设计过程中,形式验证的含义是根据某个或某些形式规范或属性,使用数学的方法证明其正确性或非正确性。

Prkadot目前使用Rust语言编写,与Tezos相比,虽然缺乏其实现语言OCaml同级别的形式验证工具,但Rust语言被认为比C或C++更安全的语言。

注:先把话放在这里哈,Rust语言未来注定会区块链领域十分受欢迎的语言,目前很多围绕Polkadot开发的项目,正在招聘这方面的程序员,读者中有了解这种语言,打算在波卡生态搞开发,却没有门路的程序员朋友,可以留言,或者加微信联系本作。

此外,Polkadot对用更友好的语言编写的用于形式验证的平行链没有任何限制,唯一的要求是逻辑必须编译为Wasm。预计带有形式验证的链将作为一个类别出现。此外,围绕Rust和Wasm的工具生态系统都在成熟,正式的验证工具在某个时刻可能会广泛使用这些语言。

注:前文我们也知道,这些科普文的写作时间为2019年12月,如今时2020年9月底,10个多月过去了,波卡生态其实已经发生了天翻地覆的变化,文末所说的“正式的验证工具在某个时刻可能会广泛使用这些语言”,这样的情况目前正在发生。

此外,认真读过此前几期文章的朋友们,肯定会理解为什么波卡会强制要求平行链的语言编译成为Wasm,你可以使用任何语言编写自己的平行链,但是你必须编译成为Wasm,我再说明一下这是为了支持波卡的“链上治理与自动升级”这一功能。

近期精彩回顾:

1) Polkadot是“从0到1”的数量级革新:跨链通信与交互、链上治理自动升级,是对恶性竞争的降维打击

2) Polkadot与Cosmos深度对比,两种截然不同的跨链哲学,局部安全VS全局安全(上)

3) Polkadot与Cosmos深度对比,两种截然不同的跨链哲学,治理逻辑&跨链通信&共识算法(下)

添加微信BitcoinMetzdowd,不定期有高端课程放送,Polkadot、DeFi、Filecoin、财富密码,你想要的都会有!

—-

编译者/作者:阿风1989

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...