什么是可验证随机函数VRF

  • Ashton
  • 更新于 2019-06-23 22:30
  • 阅读 4876

什么是可验证随机函数VRF

  1. 在区块链系统中,共识算法很重要的一个职责,就是确定哪个节点拥有记账权。
  2. 在基于 POW 共识的区块链系统中,矿工通过不断的尝试来计算得出一个随机数,若能使得这个随机数小于指定的难度值便可获得记账权。
  3. 有没有可能在没有挖矿的前提下,生成一个全网可验证的随机数呢?VRF 就是干这个事儿的。
  4. VRF 全称可验证的随机函数(verifiable random function),可以说是哈希函数与非对称加密结合的产物。
  5. 通过哈希函数,我们可以生成一段信息的数字指纹,防止信息被攥改。但如果还要对信息来源进行验证,我们需要信息验证码 MAC。也就是在进行哈希计算时除了本来的信息,在加上一个密码,但要在通信双方共享这个密码,才能对消息进行验证。
  6. VRF 比 MAC 厉害的地方在于,通过与非对称加密结合,通信双方可以不知道对方私钥的情况下,也可以对消息完整性和消息来源进行验证。
  7. 具体流程是下面这样的: 1、证明者生成一对密钥,PK、SK;// PK 是公钥,SK 是私钥 2、证明者计算result = VRF_Hash(SK,info);// 计算得出随机数, 3、证明者计算proof = VRF_Proof(SK,info); 4、证明者把result和proof递交给验证者; 5、 验证者计算result = VRF_P2H(proof)是否成立,若成立,继续下面的步骤,否则中止; 6、 证明者把PK,info递交给验证者; 7、 验证者计算True/False = VRF_Verify(PK, info, proof) ,True表示验证通过,False表示验证未通过。
点赞 0
收藏 1
分享

0 条评论

请先 登录 后评论
Ashton
Ashton
专注于 EVM 和比特币生态的区块链开发者