可验证随机函数(VRF)应用于区块链共识的原理和方法

本文探讨了如何使用可验证随机函数(VRF)来解决区块链共识中的节点数量与性能权衡问题,以PlatONE的IBFT共识为例,阐述了VRF在随机选取共识节点集合中的作用,通过VRF保证了去中心化和性能的平衡。VRF的特性包括伪随机性、可验证性和唯一性,其在区块链共识中的应用涉及到VRF与二项分布的交互设计,用于选举共识节点。
摘要由CSDN通过智能技术生成

共识算法作为区块链的核心组件,面临着一个重要的权衡问题,即共识节点数量和共识性能之间的权衡。尽管共识节点数量越多,意味着更高的去中心化程度,但与此同时会导致共识的性能的降低。目前有很多区块链项目使用可验证随机函数(Verifiable Random Function ,简称VRF)来解决这一问题。由万向区块链和合作伙伴共同打造的联盟链平台PlatONE,就使用了VRF来提升共识性能。

在PlatONE中,共识算法为IBFT共识,随着共识节点数量的增多,共识消息的数量也随之增多,导致区块链的TPS的降低。为了在共识节点数量和共识性能之间进行一个较好的折衷,PlatONE中采用随机选取共识节点集合的机制,即通过从较多数量的候选共识节点中随机地选取一定数量的节点成为某一周期中具体参与共识的节点。如此便能在保证较好的去中心化的程度以及安全性的同时,又能够提供较好的共识性能。

这篇文章将以PlatONE为例,来说明VRF如何与区块链共识结合。


一、可验证随机函数(VRF)简介

VRF 这个概念最早由 Micali,Rabin 和 Vadhan 三个人所提出。它是一个伪随机函数,同时对其输出结果提供可公开验证的证明。该算法具有如下几个特性:

  • 伪随机性:输出值是随机的
  • 可验证性:输出结果能够被验证(本质是一个零知识证明)
  • 唯一性:输出的随机值是唯一的

即给定一个输入值 x,拥有私钥 sk 的人可以计算一个函数值  以及证明 。 利用证明 π 和公钥 ,每个人都可以验证 是否为用该算法计算出来的,并且不会泄露任何关于私钥 sk 的信息。

目前VRF的构造方案都是基于随机预示模型下的,主要有两大类:其中一类采用的是RSA来构造VRF,即RSA VRF。另一种使用的是椭圆曲线密码学来构造VRF ,即EC VRF。本文介绍的VRF方案中使用的是EC VRF。

 

2. 共识和 VRF 算法交互设计

2.1. 交互图

Interaction

VRF 机制涉及的算法主要包括以下两个:

  • VRF

在出块节点打包完区块之后为该区块生成一个随机数和证明(proof),并且存储到区块中,当其它节点接收到该区块时对证明和随机数校验是否正确。

  • 二项分布

在选举共识节点的时候通过使用二项分布来根据每个共识候选节点的权重计算出每个候选节点的概率,这样根据每个节点的概率去做选举,概率越高被选中的几率越高。为了增加选举的随机性,计算概率时选择使用 VRF 生成的随

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值