Polkadot,万链互联

背景

自中本聪创建比特币开始,区块链技术经过了十多年的发展,诞生了如以太坊、超级账本、EOS等区块链底层网络以及DEFI去中心化金融、IPFS/Filecoin去中心化存储等区块链应用网络。

这些不同的区块链网络基本都有着独立的共识、存储以及治理机制,在不同的区块链网络之间实现资产转移、数据传递极其的困难,导致新的数据孤岛。随着近年来公链DEFI经济的繁荣以及联盟链技术的日益成熟,这种跨链数据访问需求越来越强烈。

整体来说,跨链要实现的就是

  • 不同区块链网络之间的互操作性
  • 提升区块链网络的扩展性
  • 不同区块链的共享安全性

今天要讲的Polkadot就是这样一种跨链解决方案。

Polkadot简介

Polkadot于2017年由前以太坊CTO和联合创始人Gavin Wood创建,目前已经成为了最受追捧的跨链项目,其采用的是中继链(relay chain)+平行链(para chain)的解决方案。

图片来源:Polkadot官方文档

在这个基础上,它实现了

  • 同构/异构区块链网络之间的互操作
  • 允许多个平行链并行处理交易,大幅提升了网络的整体TPS,并且支持二层中继链,即理论上无限的扩展性,官方声明TPS可达到每秒100万笔
  • 跨链双方的安全性由中继链保证,双方信任中继链确认的交易,并在中继链回滚的情况下同时回滚,进而实现不同区块链之间的共享安全性

下面,从以下几个方面详细介绍下Polkadot的解决方案

  • 中继链和平行链
  • 交易生命周期
  • 提名权益证明机制NPoS
  • Polkadot生态

中继链和平行链

中继链和平行链是Polkadot网络的主体,如下图所示:

图片来源: Polkadot白皮书

这张图看似非常复杂,其实简单来说中继链就像一个”插排”,一个一个的平行链就像各种各样的”电器”如冰箱、洗衣机、电视等等,各自有着不同的作用,都通过获取插槽连接到中继链上。

中继链就是我们说的Polkadot主网,是一个开放性的区块链网络,负责验证平行链和存储平行链区块状态,任何持有DOT(主网虚拟货币)的个体或组织都可以参与其中,成为:

  • 提名人Nominator:拥有DOT的Polkadot账户
  • 验证者Validator:中继链的网络节点,负责验证平行链交易以及生产中继链区块
  • 收集者Collator: 平行链与中继链的桥梁
  • 钓鱼人Fisherman:赏金猎人,通过监视网络的不法行为获得奖励

其中,任何人都可以是提名人、收集者、钓鱼人,而只有一定数量的人通过NPoS提名权益证明算法才能能成为验证者。最终中继链会从胜选的验证者为每个平行链随机分配10个验证者节点,负责收集验证平行链区块并参与共识。

平行链用来运行各种区块链应用,如智能合约平台Edgeware、DEFI、预言机Chainlink、转接桥PolkaBTC。Polkadot提供substrate和cumulus框架来帮助开发者以模块化的方式快速实现一条平行链。后续会详细介绍substrate。

中继链和平行链之间如何连接起来呢?

答案是通过”收集者Collator

可以把收集者理解为一个特殊的网络节点,它会运行

  • 平行链的全节点
  • 中继链的轻节点

即收集者扮演了一个中间桥梁的角色,它既有平行链的最新交易和状态,也有中继链的最新状态。在这个基础上,收集者可以打包最新的平行链区块发送给中继链,也可以获取中继链的区块确认消息,从而通知平行链提交确认(finalize)最新的平行链区块。

交易生命周期

前边介绍了中继链和平行链,也了解了收集者的作用。下边介绍下一个来自平行链的交易发出到最终被确认经历的各个阶段:

第一阶段:交易打包

  1. 收集者Collator收集交易生成候选区块,并生成状态转移证明
  2. Collator查询中继链获取当前平行链的验证者集合(10个验证者节点)
  3. 按照负载均衡的原则选择某个验证者节点,将候选区块发给该验证者

第二阶段:交易验证

  1. 验证者验证候选区块的状态转移,并广播给验证者集合里的其他验证者节点
  2. 当超过2/3的验证者集合验证通过后,采用纠删码技术将平行链区块广播到网络中的其他验证节点
  3. 网络会随机挑选4个验证者节点再次验证区块的状态转移,防止一开始的验证者集合作恶

第三阶段:中继链区块生成(BABE概率确定性算法)

  1. 每过一个固定的时间,中继链会发起区块生成
  2. 借助VRF可验证随机数算法,每个验证者判断自己是否为出块节点。如果是,则成为Primary出块节点。如果最终没有验证者节点成为出块节点,则从所有的验证者中按照顺序的方式挑选出Secondary出块节点
  3. 出块节点封装所有的平行链区块验证后的收据,生成中继链候选区块
  4. 向中继链网络广播,每个节点对区块进行投票

第四阶段:中继链区块确认(GRANDPA最终确定性算法)

借助GRANDPA算法,从当前网络中的候选链中,选择一个合法链,链上所有区块均会被确认(finalized),确认原则如下:

  • 选择primary区块最多的链
  • 选择有超过2/3验证者节点投票的最新区块

第五阶段:平行链同步

  1. 收集者获取中继链最新的确认区块
  2. 收集者解析中继链最新区块,获得该收集者所在平行链的最新区块并提交确认

上述五个阶段详细介绍了一笔交易借助中继链被最终确认的过程,其中如果该交易是一笔跨链交易,那么跨链双方的平行链收集者将采用XCMP协议。XCMP协议会在跨链双方之间建立两个通信通道直接传递跨链消息,并且中继链经过这五个阶段后会确认平行链交易,跨链另一方会等待交易在中继链上被确认之后执行进一步在该平行链上的资产转移、数据执行过程,从而实现一条消息在两条平行链之间的传递。

提名权益证明机制NPoS

通过前面的介绍,我们知道,验证者Validator在整个跨链体系里扮演了最关键的作用。如果验证者作恶,拒绝合法交易或通过恶意交易,中继链相应的所有平行链的安全都会受到影响。

因此,Polkadot设计了NPoS提名权益证明机制,来保证Validator被尽可能公平的选举出来,且存在完善的奖惩措施来提升验证者作恶成本,最终达到“得不偿失”的效果。

前面提到,每个人拥有DOT虚拟货币的人都可以成为提名者Nominator。每个选举周期开始后,提名者可以通过质押一定数量的DOTs,来提名一个或多个验证者节点。

图片来源:https://medium.com/web3foundation/how-nominated-proof-of-stake-will-work-in-polkadot-377d70c6bd43

当选举周期结束后,Polkadot按照公平代表原则安全级别原则来选出胜选的验证者节点。

下边以一个例子介绍下这两个原则:

5个提名者分别向5个验证者提名,最后Polkadot网络会从中选择4个验证者节点,网络总质押量为40。提名者的质押提名策略如下图所示:

图片来源:https://medium.com/web3foundation/how-nominated-proof-of-stake-will-work-in-polkadot-377d70c6bd43

按照公平代表原则:保证质押DOTs总量高的提名者提名的验证者节点中至少有一个胜选。如下图所示:胜选验证者平均的质押量为40/4 = 10,按照公平代表原则,质押量大于等于10的提名者所提名的验证节点需至少胜选一个。因此可知,第一个方案不公平。

图片来源:https://medium.com/web3foundation/how-nominated-proof-of-stake-will-work-in-polkadot-377d70c6bd43

按照安全级别原则:所谓安全级别指的是胜选方案中验证者最低的质押量,按照网络中的提名者质押提名策略,细粒度的为验证者分配不同比例的提名者质押DOTs,从而保证选举胜选的方案具有最高的安全级别。

如下图所示:第一个方案最低质押量为6,第二个方案最低质押量为9。因此,方案二最终胜选。

图片来源: https://medium.com/web3foundation/how-nominated-proof-of-stake-will-work-in-polkadot-377d70c6bd43

获选的验证者会在网络中发挥验证平行链区块和参与共识生产中继链区块的作用,从而获得网络奖励,奖励的高低与验证者本身的质押总量无关。验证者可以保留一定比例的奖励作为”劳务费“,将剩余的奖励按照质押池中各提名者所占比例的分配。

如下图所示验证者A和验证者B在获得奖励100DOTs后的分配情况:

ebd1ab1623061a63f3b64fb80ce1170
图片来源:Polkadot官方文档
8082ed2444ea866cfdabfc4fb4fc42c
图片来源:Polkadot官方文档

其中,提名者Jin、Alice、Peter三个人都质押了100DOTs,但是由于验证者A的质押池总量高,导致Jin在资金池中比例要低于后两者,最终获得了比后两者更少的奖励。

因此,”睿智“的提名者会提名者分散提名多个验证者,并选择质押总量较低的验证者,从而可以获得更高的收益。而这,会促使网络中各验证者节点的质押量逐步趋近。

前面也提到网络中有Fisherman钓鱼者或赏金猎人的存在,一旦发现验证者作恶,网络便会根据作恶程度的不同,扣除一定数量的质押货币。

由此可以看出,NPoS不仅仅是一个公平的验证者选举机制,更是一种网络的安全保障机制。

Polkadot生态

Polkadot能成为目前最受追捧的跨链项目与其优秀的生态密切相关。Polkadot提供susbtrate和cumulus开发框架,提供模块化、迅速的应用型区块链构建方案。借助该框架,开发者可以专注在开发自己的区块链应用(即平行链)。

这也代表着,其他区块链生态只需要耗费较少的代价就能完成迁移,共享Polkadot中继链带来的互操作和扩展能力。如下图,Polkadot生态已经有包括预言机、DEFI、钱包、智能合约平台、数字身份、比特币转接桥、以太坊转接桥等多个项目开发或已经上线。

IMG_256
图片来源: CryptoDiffer

总结

尽管Polkadot宣称有优秀性能并描绘了一副令人期待的愿景,但区块链的成功这不仅仅取决于技术、资本的推动,社区治理、生态建设等因素也是重要的一环。Polkadot能否走的更远,让我们拭目以待。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇