美文网首页
【Polkadot征文】咕噜都推荐参与征文的项目,平兄来带你全面

【Polkadot征文】咕噜都推荐参与征文的项目,平兄来带你全面

作者: 平兄_3cd7 | 来源:发表于2019-03-01 11:13 被阅读0次

    此文为参与Polkadot征文大赛投稿

    平兄是看到咕噜前辈转发的『Polkadot 征文活动』知道征文这事的,Polkadot 这个明星级『跨链/并行链』的项目,币圈人肯定略有所闻,但可能更多人是平兄一样,最开始对 Polkadot 的认识只是停留在那几个标签:『链间通讯 / 平行链 / 异构』。

    看到咕噜的转发后,平兄便下定决心要参与这次征文,然后就是做了长达一个多星期的知识储备,大致整理如下:

    【共识 | 激励】一条区块链,看这两个点!!!

    【EOS】DPoS 的共识与激励

    Cosmos 从入门到“放弃” (一个系列,内含 4 篇)

    积累了必要的知识背景后,现在终于轮到了 Polkadot 这个压轴主角了。

    本文,平兄将从以下 5 个角度来介绍 Polkadot:

    1、Polkadot 背景

    2、Polkadot 网络架构

    3、Polkadot 共识机制

    4、Polkadot 治理机制

    5、Polkadot vs Cosmos

    Are you ready ?Go……

    背景

    image

    Polkadot 创始人 Gavin Wood,作为该项目的灵魂人物,可谓众所周知。

    但可能有些人不知道,其实 Gavin Wood 也是以太坊的前创始人、首届 CTO。

    在 Gavin Wood 任职期间,他协助开发了 Solidity 语言,并且编写了以太坊的技术黄皮书

    后来 Gavin Wood 离职以太坊,并且在 2015 年末与一些以太坊开发者注册了 Parity Technologies 这家公司,专注于 Web 3.0 底层设施的技术研发,以太坊客户端 Parity 就是它的产品。

    在运营 Parity 期间,Gavin Wood 多次与团队交流关于未来以太坊的升级,并且很期待以太坊 1.x / 2.0 的到来,心想,只要白皮书一定下来,就可以开始着手开发。

    由于以太坊进展缓慢等问题,Gavin Wood 践行了『即然世界没我想要的,那我就自己来造一个』的理念,Gavin Wood 和 Parity 团队就决定自己来打造下一代智能合约平台。

    2016年11月14日,Gavin Wood 发布了 Polkadot 白皮书 ,详细介绍了一个多链异构的可扩展区块链框架。

    几个月后,Gavin Wood 创办了 Web 3 基金会,Web 3 基金会是一个非营利性组织,主要任务是开发去中心化网络,并将 Polkadot 归入麾下,管理负责着 Polkadot 在 2017 年 10 月的预售。

    在 2017 年10 月 27 日,Web 3 基金会结束了 Polkadot 的预售,总共卖了 5 百万的 DOT 代币,合计 485,331 ETH。

    除了安排预售 ,Web 3 基金会还需要在两年内完成 Polkadot 网络的开发,Web 3 基金会将将这个任务分配给了 Parity Technologies。

    image

    不过,在2017年11月6日,Parity Technologies 的以太坊多签钱包出现了一个大 Bug,将 500,000 ETH 锁死了,其中有 300,000 个属于 Web 3 基金会的。值得称赞地是,这次 Bug 并没有影响 Polkadot 的进度规划。

    网络架构:Parachain & RelayChain & Bridge

    image

    通过上图,我们可以得知,在 Polkadot 中,有 3 大组件:

    1、RelayChain:相当于 Cosmos 上的 Hub,是 Polkadot 网络中的中央枢纽,它主要的任务是协调共识并且为 parachains 分配交易。

    这里需要额外说明一点就是,Polkadot 网络上的验证者等角色都是位于 RelayChain 上的,也就是说,运行 parachains 不需要运行自己的验证者,RelayChain 上的验证者们会负责对 parachains 的交易进行打包验证,即官方术语:『Shared Security』,共享安全模型。而 Cosmos Zone 则不拥有这个特性。

    2、Parachain:相当于 Cosmos 上的 Zone,每一条 Parachain 的相关信息都记录在 Parachain 注册表中。

    parachains 可以决定自己的应用逻辑以及开发语言,只需要实现与 relayChain 通讯的特定功能接口就行。

    通过链间通讯这个功能,parachain 可以与其他parachain进行通讯,即 relayChain 中的验证者将交易派发到另一 parachain 执行。

    链间通讯采用了排队机制,每笔交易都必须在队列中等待执行,同时为了防止垃圾交易攻击,每个 parachain 的输入队列都有一个上限。

    3、Bridges:相当于 Cosmos 上的 Peg Zone,用于与现有区块链(如以太坊)进行连接通讯。

    共识奖惩机制

    Polkadot 使用 Aurand 和 Tendermint PBFT 的混合机制,平兄在往期文章 Tendermint 共识协议 详细讲解了 Tendermint PBFT,小伙伴们可以了解一下。

    Aurand 机制随机选择验证人出块,但是不需要 2/3 验证者的共识,虽然 Aurand 出块更快,但是如果验证人存在恶意行为,区块也有可能被回滚。

    image

    从图片中我们可以看出,在 Polkadot 中,每 5 个区块就可以实现最终性,即先用 Aurand 机制出 4 个区块,这 4 个区块可以快速处理而无需 2/3 的共识,所以速度比 PBFT 更快,这时候即使出现恶意区块了,也可以回滚,但是如果使用 Tendermint PBFT 出了一个区块后,即前面的区块都实现了最终性。以此循环往复。

    接下来,我们结合 Polkadot 生态中的四个主要角色,来详细分解一下出块过程。

    image

    验证者 Validators

    首先,要成为 Polkadot 的验证者,需要抵押 Polkadot 的原生代币 DOT。抵押的 DOT 可以是验证者自己的,也可以是第三方委托抵押。

    验证者的任务就是保护 relayChain 的安全,、验证由 Collators 提供的候选区块,同时验证者并不会维护所有 parachains 上的完整同步数据库,因为存储的数据量过大,所以验证者将存储和提议新 parachains 区块的任务交给了第三方(Collators),另外验证者还要同步更新 parachains 链间通讯的交易队列。

    最后,Polkadot 网络对验证者的节点性能要求较高,如果做不好,会收到惩罚,做得好,当然也有奖励。具体这奖惩治理这一块,我们在具体小节详谈。

    提名者 Nominators

    其实我觉得中文应该叫做委托者更好点,毕竟作用其实跟 Comos 中的委托者一样的,其实就是 DOT 持有者,Nominators 可以将自己的 DOTs 抵押给验证者,然后与验证者风险利益共担。这也促使了 Nominators 将自己的 DOTs 委托给优秀的验证者,形成一个良性循环。

    收集者 Collators

    Collators 中文很多人翻译为校对者,平兄根据其功能属性,觉得 收集者 可能更贴切些。

    收集者 Collators 负责维护 parachains,收集用户发起的交易信息并且打包成块发送给验证者验证。如上文所说,收集者必须运行一个 relayChain 全节点,维护 parachains 的完整同步数据。

    与 验证者不同的是,收集者 Collators 不需要抵押 DOTs,并且可以通过交易手续费来获得收入,当然,如果收集者 Collators 作恶,验证者是能够发现的,只要验证者证明了 Collators 生成了一个无效区块,验证者可以将违规收集者 Collators 的资金转到自己的账户中。

    渔夫 Fisherman

    渔夫 Fisherman 就像 Polkadot 上的网警,或者说成赏金猎人更恰当。他们监控恶意行为,然后向验证者报告这些行为已获得奖励。

    要成为 Fisherman,必须抵押 DOTs 并且运行节点来监控网络。

    治理模式

    Polkadot 网络更多地是一种链上治理的模式,即由 DOT 持有者通过公投系统,投票决定 Polkadot 网络的一些更新和修复,由多数票为决定结果。

    另外,为了预防持有者的不积极投票(如 EOSIO 的公投,积极性就很差,不过现在已经改为 21 BPs 自主决策了),Parity Technologies 团队也提出了一些应对方案:

    1、投票法定数:即要一个提案被视为有效,必须满足一个最小投票数。

    2、绝大多数赞同票:即要一个提案被视为有效,必须要满足一个投票比例,不过目前这个比例尚未确定。

    另外,Parity Technologies 还引入了一个“理事会”,由 24 个 账户组成,针对那么没有得到重视的提案进行投票,这些理事会的成员的任期为 12 月,也是需要投票进行选择。

    理事会有两大任务:

    1、提议公投提案;

    2、取消危险或者恶意的公投提案;

    只要你抵押够一些数量 DOTs ,就可以提议一个公投提案,然后这个提案会进入投票队列,如果有人认可这个提案,也可以为这个提案抵押一些 DOTs,在一段时间后,最终得到抵押 DOTs 最多的提案可进入正式投票:

    有三种可能的投票结果:

    1、多数通过,如果赞成的票数多于反对的票数,该提案就通过了。

    2、积极的投票率偏向,即在投票率较低的情况下,必须获得绝对多数的赞成票。

    3、负面的投票率偏向,即在投票率较低的情况下,需要获得绝对多数的反对票才能否决。

    Polkadot vs Cosmos

    现在,我们实用表格简单对比一下这两个跨链项目:

    Cosmos Polkadot
    网络原生代币 Atom DOT
    网络架构 Hub,Zone,Peg Zone relayChain,parachain,bridge
    共识机制 Tendermint Tendermint+Aurand (可能会变更)
    共享安全验证池 否,Zone 自行运作验证者 是,relayChain负责全部验证工作
    治理模式 链上投票治理 链上投票治理(多了理事会)
    主网启动 2019年3月14日 2019年Q3

    根据我目前对这两个项目的了解,我个人是偏向于 Polkadot 的,这不是因为参与征文就说偏向于它,我的理由如下:

    对于开发者来说,在 polkadot 上运行 parachain 它们可以专注于实现业务逻辑就行,不需要去关心底层以及建立自己的验证者群,这样比较省心。

    当然也有人说,Cosmos 中 Zone 有自己的验证者群,这样会更加去中心化,但是我觉得不一定,甚至会导致单个 Zone 的中心化,毕竟不是每个团队都能够去搭建那么多验证节点。

    其他对比点我真的就觉得这两个项目目前难分伯仲,有人说 Cosmos 有先发优势,可是先发优势或许也会变成前车之鉴呀!

    既然难分伯仲,那么就让时间去验证吧!

    结语

    由于 polkadot 项目目前都在不断地迭代中,所以某些技术选定说不定在未来也会被替换,平兄未来也会跟进 polkadot 的动态,有大家一起分享学习!

    有了对 polkadot 较为全面的理解后,或许接下来,平兄也可以尝试写点更有深度的东西了,希望自己与大家都能够有所成长。

    最后,希望文章对大家有价值,也希望大家能多多支持转发!

    相关文章

      网友评论

          本文标题:【Polkadot征文】咕噜都推荐参与征文的项目,平兄来带你全面

          本文链接:https://www.haomeiwen.com/subject/nharuqtx.html