Substrate之旅1:Polkadot是什么

什么是Polkadot?

  1. 它是区块链领域的跨链解决方案。
  2. 它立足于解决当下区块链种类繁多,且相互基本隔绝的问题。为此:
  • 构建协议,以便区块链之间可以相互发送交易和消息,也就是实现区块链的互操作性;
  • 同时提高区块链的吞吐量、可扩展性等;
  • 降低构建一条区块链网络的难度。
  1. Polkadot与Parity是同一东家。

Polkadot作为跨链方案中的佼佼者,宣称引领着区块链3.0。

进一步认识Polkadot

技术特征

技术栈

在这里插入图片描述

  1. 采用了共识架构状态应用相分离的设计策略。
  2. 共识引擎在Aurand 和Tendermint PBFT基础的改良:
  • Tendermint,是一种**实用拜占庭容错(PBFT)**状态机; 它要求一组已知的验证者就一个区块达成共识;网络至少需要 2/3多数才能达成共识;如果不到1/3的验证者是拜占庭(即恶意节点),网络将永远不会分叉。
  • Aurand允许随机选择的验证者在不需要2/3共识的情况下直接产出一个区块。
    在这里插入图片描述
  1. 在Polkadot的技术栈中,共识架构之上是WebAssembly,它是一个解释器,可以解析Rust等编写的程序,让它们在Polkadot网络中的服务器节点上运行。
  2. 共识架构之下,则是基于libp2p构建的点对点网络。
  3. 在技术栈中,具有共识机制的点对点网络组成了栈的外层,该层通过Webassembly连通区块链的状态机。

互操作性的实现

在这里插入图片描述

Polkadot有3大构件,来实现多个区块链之间的互操作性:

  1. 中断链,也就是Polkadot网络的核心链,它起着中央连接器的作用,实现同构和异构区块链之间的互通互连;
  2. 平行链(Parachain):
  • 它共享中继链的共识机制,与中断链和其它平行链一起共享可信基础;
  • 通过Polkadot的原生代币DOT与中断链绑定,进而实现平行链之间的互操作。
  1. 桥(Bridge),实现与以太坊主网等异构链的互操作。

协议

在这里插入图片描述

  1. Polkadot网络是PoS(权益证明)区块链;
  2. 原生代币是DOT,提供治理激励,鼓励代币持有人诚实行事:
  • 验证者(Validator),工作在中继链上,验证来自平行链的交易区块(平行链对这该区块执行了零知识证明zkp),维护Polkadot网络状态的数据库;
  • 提名者(Nominator),由它们选举出验证者(Validator);
  • 核对者(Collator),工作在平行链上,验证该链上的交易,存储该链上的数据与信息;
  • 渔民(Fishermen),可以看作独立的赏金猎人,专门收集验证者和核对者的不法行为的证据。
  1. 通过投票的方式来裁决Polkadot所要采纳的提案:
  • 自适应仲裁偏差机制:投票参与率越高,提案所需通过的得票率就越低;
  • 理事会(12~24个账户组成),专门裁决关注度不够的提案;
  • 对网络贡献大的人,会有更大投票权重。

主网现状

PoC -> PoA -> PoS几个阶段。

开发相关

Substrate

  1. Substrate是构建区块链的一个技术框架。
  2. Polkadot网络就是建立在Substrate之上的:不管是中继链,还是平行链。
  3. 有了Substrate框架后,我们可以不用太关心区块链的共识或网络相关部分,只专注DApp就好。
  4. Substrate是用Rust编写的,但区块链状态机的核心功能都编译进了WebAssembly;这样编译好的Rust代码有两种可能的运行方式
  • 在本地运行;
  • 通过WebAssembly解析运行。
    在这里插入图片描述

因此,保持Rust的开发版本与Substrate的一致,会提高程序的执行效率。

DApp

  1. 中继链上不支持智能合约的执行。
  2. 智能合约都是运行在平行链上。

猜你喜欢

转载自blog.csdn.net/DongAoTony/article/details/124597965