区块链原理与应用 课件 第7章 权益证明共识协议_第1页
区块链原理与应用 课件 第7章 权益证明共识协议_第2页
区块链原理与应用 课件 第7章 权益证明共识协议_第3页
区块链原理与应用 课件 第7章 权益证明共识协议_第4页
区块链原理与应用 课件 第7章 权益证明共识协议_第5页
已阅读5页,还剩39页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

权益证明共识协议联盟链与公有链公有链以比特币为代表,良好的开放性与去中心化性能较差,工作量证明消耗大量计算资源联盟链较高的性能,无需消耗能源和计算资源需要预先注册,较差的开放性与去中心化能否构建同时具有良好开放性、去中心化高性能且无需消耗物理资源的区块链系统?区块链不可能三角(BlockchainTrilemma)可扩展性Scalability去中心化Decentralization安全性Security工作量证明协议联盟链共识协议分布式存储、DAG权益证明共识协议通过某种虚拟资源(Stake)的使用实现对于随意注册用户的限制,基于这种虚拟资源的共识协议也称为权益证明共识协议(ProofofStake,PoS)。PoS共识协议的参与者需要完成身份注册,并以某种形式获得权益后参与共识协议身份注册:PoS系统应该允许用户自由注册,完成注册的用户并不直接具有参与共识协议执行的权力权益分发:初始阶段权益分发、基于交易的权益转移、权益激励

PoS共识协议的安全威胁无利害攻击(NothingatStakeAttack):参与者利用其拥有的权益同时尝试扩展不同的区块,对于权益份额重复使用的攻击称为无利害攻击

PoS共识协议的安全威胁研磨攻击(GrindingAttack):攻击者可能通过尝试构造不同的区块链而产生对其最有利的随机数,从而获得额外的收益

PoS共识协议的安全威胁远程攻击(LongRangeAttack):攻击者从远离当前区块的位置重新生成一条不同的区块链

PoS共识协议执行PoS协议的执行流程通常包含三个循环执行的子算法

出块共识、随机选择、提出新块PoS协议需要满足安全性、活性以及有效性的要求随机出块算法通常使用可验证随机函数(VRF函数)Keygen(r)→(VK,SK):Keygen产生一对非对称密钥对,验证密钥VK(公钥)和私钥SKEvaluate(SK,X)→(Y,⍴):求值函数Evaluate输入私钥SK、消息X,输出伪随机字符串Y和证明⍴。Verify(VK,X,Y,⍴)→0/1:验证函数Verify输入验证密钥VK、消息X以及求值函数中输出的伪随机字符串Y和证明⍴。只有该函数验证了证明⍴是根据X生成的,且根据证明⍴可以推导出Y,输出1。VRF函数特性Uniqueness:给定输入,有且仅有一组<Y,⍴>满足Verify(VK,X,Y,⍴)→0/1Provability:如果是Y,⍴是合法生成的,Verify(VK,X,Y,⍴)=1Pseudo-randomness:如果没有计算过Evaluate(SK,X)→(Y,⍴),任何多项式时间算法无法预测Y的信息VRF函数构造唯一性签名算法(UniqueSignature)满足数字签名的基本特性可验证性:不可伪造性:额外满足唯一性:VRF构造VRF输入来源前面若干区块的状态保证前后状态连接,形成链式结构生成者的身份信息确定块的生成者,实现对出块者的奖励生成者的数字签名确认块是由token的拥有者生成的某种随机性确保能够出块,避免陷入到死结状态降低输入的信息量去除nonce、Transaction部分节点直接参与的PoS共识协议委托权益证明协议(DPoS)设置固定数量的超级节点,仅有超级节点可以产生新的区块以及参与区块的共识协议不需要消耗大量的计算资源完成共识协议超级节点数量较少,因此其通常可以达到更好的性能开放性比PBFT协议要好通常不能快速实现超级节点的更替DPoS系统中心化趋势明显

部分节点直接参与的PoS共识协议动态委员会共识协议(DFINITY)共识协议是由部分节点组成的委员会完成的,委员会中的成员是随着协议的执行动态变化的某一时刻参与共识协议的节点数量是比较少的,因此可以满足协议的高效执行的要求参与共识协议执行的节点是动态变化的,也可以提供更好的去中心特性

Difinity基本架构Difinity采用层次化的抽象模型设计其核心思想来源于存在随机灯塔随机灯塔之后被分布式算法代替Difinity共识流程随机灯塔选择完成共识的委员会以及出块节点出块节点生成区块共识节点完成区块的共识,新生成的区块链作为随机灯塔的随机种子输入Difinity区块与随机灯塔的伴生利用VRF函数替代外部随机灯塔产生随机数随机数的产生与区块共识交替伴生完成随机数产生采用基于门限签名的VRF函数完成Difinity如何落地基于门限签名实现随机数生成将用户分割为若干组每组执行DistributedKeyGeneration(DKG)协议每个时间片由所生成的随机数选择相应的组组内用户分布式生成新的随机数,从而选择下一个委员为新用户的加入新用户注册为系统用户新注册用户加入组需要组成员投票,并更新DKG过程Difinity协议分析共识协议的安全性与活性采用PBFT类协议,基于(半)同步网络假设保证活性安全性假设假设每一个委员会都满足诚实用户比例假设,每组用户数量不能太少执行效率DKG效率较低,委员会更新困难需要额外的门限签名算法全部节点参与的PoS共识协议基于选举投票的PoS共识协议(Algorand)全部节点均可参与共识协议,共识协议的执行仍然由部分节点通过投票机制完成,参与共识的节点不是预先确定的委员会,而是随时动态生成的成员组基于概率分布的PoS协议(OuroborosPraos)全部节点均可参与共识协议,共识协议不依赖于共识节点的投票,而是依赖于类似PoW协议概率竞争保证安全性

Algorand基本构造所有节点通过VRF函数生成候选的出块节点集合,并分别产生候选区块所有节点通过VRF函数生成共识节点集合,并执行共识协议输出唯一区块Algorand所用VRF函数随机种子迭代:出块节点选择:共识节点选择:出块节点竞争规则:Algorand区块构造r

:轮次编号PAYr:交易集合SIG:确定性签名算法lr:主节点编号Qr:第r轮随机数种子H:理想哈希函数Algorand区块共识过程区块缩减对多个可能的提案区块,经过两轮投票能够保证最多一个候选区块得到超过#QC的投票,从而保证安全性区块缩减过程不保证活性,也可能输出为空区块二值共识对区块缩减过程输出的唯一可能的候选区块以及空区块做二值共识,共识通过投票完成投票过程为概率算法,如果一轮投票不能完成输出则通过产生的公共随机数进入下一轮共识经过多轮迭代,以极大概率完成共识过程

Algorand协议讨论运行环境假设在Algorand所协议中,参与投票的验证节点是通过概率算法筛选的,并不知道每个轮次具体的验证节点数量,每轮投票的结束依赖于超时机制。安全性与活性安全性依赖于诚实节点数量超过2/3的假设,因此每轮参与投票的节点数量不能太少。活性依赖于概率算法,需要较多轮次执行。

OuroborosPraos基本假设OuroborosPraos协议通过概率筛选候选出块节点,同时不需要基于投票的共识过程网络假设Semi-synchronous假设,节点之间时间同步的偏差对于一个slot的长度而言是可忽略的Slot的编号是单调递增的,而且参与的节点均可知。敌手的能力敌手可以重排消息的发送顺序,给某些人发送某些消息,拒绝某些消息,可以将诚实节点发送的消息延迟最多ΔOuroborosPraos基本构造将执行过程切割成纪元,每个纪元包含多个时隙前一个纪元执行完成后,用VRF函数筛选出下一个纪元每个时隙的候选出块节点出块节点在自己对应的时隙中按照最长链原则产生区块OuroborosPraos出块条件Pi

成为纪元j时隙slk的leader的条件是纪元随机数种子迭代公式为新区块生成:当节点Pi

在纪元j

的时间片slk

竞争成功,则Pi

有资格在生成一个新的区块

OuroborosPraos区块链输出OuroborosPraos协议采用了与PoW协议类似的最长链原则,每个参与共识的节点选择收到的最长有效的区块链。共识节点从中选择最长的一条作为本节点的共识输出,在后续的时间片中将尝试在最长链的头部区块之后扩展新的区块。OuroborosPraos的安全性在一个纪元中,诚实用户被选中的数量符合二项式分布如果纪元足够长,攻击者无法通过操控随机数种子占据更高比例OuroborosPraos协议牺牲了出块节点的不可预测性

短Epoch间隔PoS协议-PoSAT使用VDF函数实现随机数生成介于PoW与PoS之间的构造(

FC2021

)BestUnpredictablePoS设计原则避免交互式协议设计避免引入可信第三方避免使用工作量证明的竞争机制避免使用其他损耗性物理资源具有最优的不可预测性(

EuroSP2025

)基本构造关键点:将PoW中的Nonce随机数去掉,并去除其他随机输入,使用round代替。使用数字签名σ确定数据来源,绑定用户token采用最长链原则,最长链即为最优链NothingatStake攻击攻击者从所有可能的位置尝试区块,得到一个树状结构NothingatStake带来的收益定义一个函数f(t,ℓ)表示在时间t高度为ℓ的区块的数量,f(t,0)=1即高度为0的区块只有一个,f(0,ℓ)=0在初始时刻仅有一个根节点,其他区块还没有生成。β

:

一个区块在一个round内被扩展的概率f(t,ℓ)=f(t-1,ℓ)+f(t-1,ℓ-1)β

NothingatStake带来的收益假设t=kℓ

基于贪心策略的改进协议诚实节点采用贪心策略尝试扩展的区块,贪心参数d=3

贪心策略能够容忍的恶意节点数量诚实节点采用greedy=5可以得到大约2.0的增长增益在这个条件下需要57%的诚实权益将核心区块链扩展为通用区块链使用数字签名生成包含交易的区块以太坊权益证明共识协议Casper以太坊采用过度的机制实现了从PoW向PoS的转变PoW-Casper实现了PoW区块链上的终局确认以太币质押实现了Stake的原始分配在PoW-Casper协议中,区块的生成由PoW协议实现,叠加的Casper协议完成区块的二次确认信标链Casper是一种PoS共识协议,区块的生成由VRF函数决定,Casper协议完成对产生区块链(树)的投票PoW-Casper-流水线投票Casper投票原则在同一高度不为冲突的区块投票不环绕投票出现连续的投票完成的区块则前一个区块完成确认信标链Casper节点注册在Casper中用户也是通过锁定一定数量的代币而成为验证者,在当前的设置中成为验证者需要抵押32个以太坊,大约相当于50000美元动态委员会机制委员会的生成是以纪元为周期的,在一个纪元内所有的验证者被平均分配到每一个时间片,每一个时间片大约包含1/32的全体验证者。进入一个新的纪元后,每个时间片委员会的划分将重新完成以免固定的验证者组成一个委员会从而威胁系统的安全。委员会的动态划分依赖于不断变化的随机数种子,这个随机数种子是由区块链已完成的状态以及当前的纪元编号等信息通过哈希计算得到的输出。

信标链Casper出块过程信标链Casper采用LMD-GHOST算法来选择当前最优的区块链,这个选择用来帮助验证者为最优的区块链产生投票也用来帮助出块者选择最优的区块链作为当前出块的位置,生成一个备选的区块链(树)

信标链

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论