超节点(SSSnodes)独家:全球首届 Substrate 开发大赛-杭州黑客松WORKSHOP大放送 第
时间:2019-10-09 来源:区块链网络 作者:超节点区块链SSS
9 月 21 日 - 22 日,为期两天的 PolkaWorld Hackathon(波卡世界黑客马拉松)在杭州钱江新城的 B-LABS 圆满举办。21 号下午,Parity 和 Web3 基金会带来了三个干货满满的 Workshop。其中之一是Parity 工程师 Wei Tang演讲的 “如何在 Substrate 上建立 PoW 共识” Workshop。以下为超节点(SSSnodes)对其演讲稿的独家中文全译。感谢PolkaWorld提供的图片资料。 Substrate, Proof of Work and Consensus Engines 原作者:Wei Tang Parity SubstrateSubstrate 是建立区块链网络的基础设施之一,被设计用于波卡(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,只能以“蛮力”解决) l 哈希函数(Hashcash PoW)。验证的花费与一次证明尝试相同 l 图(Graph),素数(prime numbers) Substrate上的工作证明Substrate共识引擎 l Aura, BABE l Grandpa (Finality) l Casper l RHD (拜占庭共识BFT consensus) l PoW工作证明 通用的PoW: 共识和Runtime l Runtime:执行状态 l 共识:选择区块链 l 观察: n 通过允许共识使用来自runtime的数据,我们能够得到灵活性和在线升级 n 换句话说,允许共识引擎使用状态数据的权限 l 为了进行工作证明,我们可以通过将定义推迟到运行时来实现灵活的难度调整算法 l 然而,在当前的基板设计中将密封验证推迟到运行时是不安全的 编写Substrate的一个引擎
区块验证: l 定义导入队列,或将基本队列与验证程序一起使用 区块提议: l 任何需要导入块并连续导入块的函数 l 你通常希望它未来得以实现(want to make it a Future) |