可验证随机函数(VRF)原理和应用浅析

本文首发公众号 VenusBlockChain,关注公众号后可免费阅读!VenusBlockChain 致力于区块链技术研究,传播区块链技术和解决方案、区块链应用落地、区块链行业动态等。
在这里插入图片描述

1.VRF是什么

可验证随机函数(Verifiable Random Function,VRF)是一种将输入映射为可验证的伪随机输出的加密方案。首先,VRF所得是一个随机数,其次由于包含生成者的私钥签名,验证者可以通过公钥确定随机数的合法性。VRF具有三大特性:可验证性、唯一性和随机性。

值得注意的是,在分布式网络中,VRF无法完成固定数量的抽签任务,原因是VRF的一个Input是节点私钥,这使得每个节点产生的随机值均不相同,全网只能验证结果是否合法,但无法设计统一的标准使得某个随机结果唯一性地符合某个条件。

2.引入VRF的优势

优势一:防攻击

在VRF出现之前,为了满足选举信息的可验证,通常采用公开的信息作为输入,通过公开的随机函数得出随机结果,以随机结果作为依据进行抽签。由于所有信息均为公开,故所有节点都可以在本地计算出抽签结果。但是,上述抽签方案有一个很大的问题:攻击者有一定的时间窗口能够预测出抽签结果,及时对被选举人实施攻击。

VRF很好地解决了这个问题:由于使用节点私钥作为Input,VRF的结果无法被预测。其它节点只有通过网络接收到随机结果后才能对其合法性进行验证,即攻击者在得知选举结果时,选举人已经做出行动了。

(1)VRF的输出值除了随机值外,还包含一个proof,提供了随机值验证的零知识证明,即不必知道某人私钥即可证明该随机值是由某人产生的。

(2)使用VRFs的方式,矿工只需要公布自己的R表明自己的出块权,当出完块的时候再公布P,那么攻击者就无法在出块之前知道谁具有出块权,因此也就无法实施针对性的攻击。

优势二:低能耗

VRF基于可验证随机选点的抽签,抽签过程不需要与其它节点通信,直接在本机就能够的到这个抽签结果,不需要节点之间来回确认,而且其它节点能够依据抽签信息和附带的证明来验证另一个节点是否为Leader节点(准确的说是验证抽签输出的随机数的正确性)。

优势三:抽签结果唯一性与防伪造抽签结果

由于使用节点私钥作为Input,针对同一个输入而输出value是固定的,因此无法通过多次尝试来改变抽签结果。验证抽签结果时利用私钥对应的公钥来进行验证,因此这个抽签结果是无法被伪造的。

3.基于椭圆曲线的VRF实现

在这里插入图片描述
在这里插入图片描述

4.VRF应用-密码抽签技术

密码抽签是一种在分布式网络中,通过去中心化的方式,利用密码学技术完成可信、可认证的抽签选举的技术。图灵奖得主 Sivio Micali 的 Algorand 区块链协议将密码抽签技术运用到了区块链中。在 Algorand 中,系统需要创建并不断更新一个参数,称为种子,种子不可能被攻击者顶测,也不可能被其控制。在每一轮共识过程中, Algorand 根据种子公布一个可验证的随机函数( verifiable random functions ,简称 VRF )。每个用户利用自己的私钥执行 VRF ,得到一个对应的凭证。凭证满足一定条件的用户被认定为此共识轮的验证者,每个验证者完成一个区块,并随自己的凭证一起公布。此轮中,凭证的字典序最小的验证者被认定为领导者。最后,所有的验证者针对领导者的区块运行拜占庭协议。密码抽签在区块链中的应用主要有以下优势。

  • VRF 的随机性质决定了验证者和领导者的选举过程很难被预测和操纵;
  • 验证者的选举过程是秘密进行的,只有当用户公布自己的凭证时才能证明自己的验证者身份,但是此时区块信息已经公布,即使攻击者可以瞬间腐化验证者,但是公布的区块信息已经不能撤回;
  • 领导者的产生是在所有的验证者公布自己的凭证后,通过比较产生的,可以认为是公共选举产生。

5.VRF应用-Leader选举 [

  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值