因为可验证随机函VRF对设计区块链共识算法有很大帮助,最近就研究了一下VRF,本文随时更新,以分享我对VRF和共识算法的最新理解。 要理解VRF的工作原理,首先要理解哈希函数,这是基础知识,比如SHA256,SHA3等等,不必详细讨论。先理解一下这里说的“随机”是什么意思:一个理想的哈希函数,其值域应该是离散的、均匀分布的,给定不同的输入值,其输出值应该没有规律,随机的洒落、分布在值域区间内。 再看一个简单的哈希函数变种,即结合了密钥secret的哈希函数,比如result = SHA256(secret,info),那么要得到结果result,仅仅拥有info是不够的,必须要知道secret才能计算出来,或者说我们已经拥有了结果result和info,但是必须知道secret才能验证info和result是否是对应匹配的,这就是带密钥的哈希函数。然而这里引申出了一个问题:有没有可能在不出示密钥secret的情况下,验证result和info是对应匹配的?于是就有了可验证随机函数Verifiable Random Function(VRF)。简单来说,也就是结合了非对称密钥技术的哈希函数,比如result = VRF_Hash(SK,info),SK是私钥,不公开,秘密保存,和SK配对的PK是公钥,需公开给验证者。 具体的操作流程如下: 1、证明者生成一对密钥,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表示验证未通过。 所谓的验证通过,就是指proof是否是通过info生成的,通过proof是否可以计算出result,从而推导出info和result是否对应匹配,证明者给出的材料是否有问题。在整个操作流程中,证明者始终没有出示自己的私钥SK,验证者却可以推导出info和result是否对应匹配,这就是VRF的妙用。 也可以从哈希函数的演化角度做个总结: 原始的哈希函数:info–>result 带密钥的哈希函数:info, secret–>result 公钥版本的哈希函数(即VRF):info,SK–>proof,PK–>result —- 编译者/作者:流浪诗人 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
什么是可验证随机函数VRF
2019-12-20 流浪诗人 来源:区块链网络
- 上一篇:调整或将延续,机构入市脚步加快
- 下一篇:区块链平台推出合作伙伴关系以提高加密合规性
LOADING...
相关阅读:
- 查看Yoroi钱包的骗局网站2020-08-03
- 视频教程 | 如何修改TronLink的钱包密码?2020-08-03
- IOTA发布了用于安全密码管理的据点库2020-08-02
- 分散式应用程序可能解决SIM卡交换问题2020-08-01
- DTB文旅公链采用PoT算法的优越性2020-07-31