玩币族移动版

玩币族首页 > 币圈百科 >

超节点(SSSnodes)独家:全球首届 Substrate 开发大赛-杭州黑客松WORKSHOP大放送 第

9 月 21 日 - 22 日,为期两天的 PolkaWorld Hackathon(波卡世界黑客马拉松)在杭州钱江新城的 B-LABS 圆满举办。21 号下午,Parity 和 Web3 基金会带来了三个干货满满的 Workshop。其中之一是Parity 工程师 Wei Tang演讲的 “如何在 Substrate 上建立 PoW 共识” Workshop。以下为超节点(SSSnodes)对其演讲稿的独家中文全译。感谢PolkaWorld提供的图片资料。

SkIwEYDqszV9VPrF3tQf8kTk5w6HwZsxjZz0h7Iw.png

Substrate, Proof of Work and Consensus Engines

原作者:Wei Tang Parity

Substrate

Substrate 是建立区块链网络的基础设施之一,被设计用于波卡(Polkadot)网络的建设。

一个区块链项目需要的主要条件:

l 数据库后端(Database backend),状态后端(state backend),runtime执行器

l 交易池,区块提议者(block proposer)

l RPC, CLI,密匙圈(keyring)

l 联网(Networking)

可用于构建区块链的可组合库:

l 共识协议

l 许多runtime模型!

使得建立区块链网络更简便,最终能够支持所有区块链建于其上!

工作证明(Proof of Work)

一个区块链网络有许多初级的目标:

l 让参与者为了什么达成共识

l 使任何人都可以审核如何达成共识,并说服自己达成共识

区块链(链上的区块)是完成以下目标的方法之一:

l 定义一个状态,以及如何从一个状态转换到另一个状态

l 将状态交易集中到区块中。一个系列的区块组合成一条链

l 定义一种方法,找出每个人都可以同意的规范链

共识

l 验证人

l 硬分叉

l 确定化(Finalization)

工作证明(Proof of Work)

l 为给出的问题寻找解决方案(被定义为pre_hash, nonce,只能以“蛮力”解决)

WcIKnUXhZy9HoOfILgLIQoJBM3PCnOYDqsOsRrdT.png

l 哈希函数(Hashcash PoW)。验证的花费与一次证明尝试相同

l 图(Graph),素数(prime numbers)

Substrate上的工作证明

Substrate共识引擎

l Aura, BABE

l Grandpa (Finality)

l Casper

l RHD (拜占庭共识BFT consensus)

l PoW工作证明

通用的PoW:

iBIP5CFjl7w2z599u60AeJ328BiYvDiQxD2wkhXV.png

共识和Runtime

l Runtime:执行状态

l 共识:选择区块链

l 观察:

n 通过允许共识使用来自runtime的数据,我们能够得到灵活性和在线升级

n 换句话说,允许共识引擎使用状态数据的权限

l 为了进行工作证明,我们可以通过将定义推迟到运行时来实现灵活的难度调整算法

K4ZGKPmA2O6MF3SBMGelpUUisG7fNKHqBR9pA3eo.png

l 然而,在当前的基板设计中将密封验证推迟到运行时是不安全的

编写Substrate的一个引擎

9BBWvcpXvHnneiOrPYDIYXlib4MHAUg7Eh90Lq2h.png

区块验证:

l 定义导入队列,或将基本队列与验证程序一起使用

区块提议:

l 任何需要导入块并连续导入块的函数

l 你通常希望它未来得以实现(want to make it a Future)

知识: 区块 共识 状态 定义