前沿技术与教育结合的利弊

核心提示本文主要通过VRF与VDF论文及相关代码和资料对这两个技术和其应用进行简要分析。文中不会展示具体代码部分,只对相关代码做一些文字性说明。,选出最小的vote作为最终的vote,进行共识。VDFVDF可以抽象的理解为:可证延迟函数y=f,对于

本文主要通过VRF和VDF论文及相关代码和资料对这两种技术及其应用进行简要分析。本文不会展示具体的代码部分,但会对相关代码进行一些文字说明。

,选出最小的vote作为最终的vote,进行共识。

VDF

VDF可以抽象理解为:可证延迟函数Y = F对于给定的X,很难计算出X对应的结果Y,同时需要满足以下性质:

1.串行性:只能顺序操作,不能通过增加更多的计算设备来缩短操作时间。

2.唯一性:对于同一个输入X,只有唯一的结果y。

3.快速验证:得到结果Y后,可以快速验证X对应的结果是Y。

和模型定义

通常有三种算法:配置、计算和验证。

设置-> pp =

Setup接受一个安全参数λ和一个时间参数T,时间参数T用于控制第二个串行操作的运行时间。

同时,Setup生成一个公共参数pp,它包括一个用于计算的参数ek和一个用于验证的参数vk。

评估-->

eval接受计算参数ek和函数输入x,计算结果y和证明π。

如果算法构造只用y就能验证,就没必要证明π。

串行操作时间满足T..

验证->

Veriry接受输入、输出、验证参数和证书,并返回验证是否通过。

验证时间比T短得多..

流程图

应用领域

生成随机数

像VRF一样,VDF也可以用来产生随机数。先看以太坊燃道目前的随机数生成机制。

冉道

以太坊1.x中的随机数生成器,生成随机数的基本过程可以分为三个阶段:

第一阶段:收集有效的sha3

首先需要在燃道契约中创建一轮随机数战役,然后想要参与随机数生成的人需要在指定的时间段内将M ETH作为抵押品发送给契约C并附上sha3的结果,S是参与者选择的秘密数。

第二阶段:收集有效的

第一阶段结束后,成功提交sha3的人将在第一阶段的规定时间内向合约C发送一笔秘密号为S的交易。c将对S运行sha3操作,并将结果与之前提交的数据进行比较,以检查S是否有效。有效的s将保存在种子集中,最后将生成一个随机数。

第三阶段:计算随机数,退押金和奖金。

1.成功收集到所有秘密数后,契约C根据函数F计算随机数,计算结果会写入C的存储并发送给订阅者。需要随机数的也可以自己要。

2.契约C将第一阶段的保证金返还给参与者,并将利润平均分配给所有参与者作为额外奖励。收入是指其他需要随机数的人支付的费用。

附加规则:

为了确保RNG不被操纵,合同C有以下附加规则:

1.在第一阶段,当按顺序提交两个以上相同的sha3时,将接受第一个sha3。

2.当参与者提交的sha3被合同C接受时,需要在第二阶段披露S。

>当参与者未能在第二阶段披露S时,第一阶段发送的M ETH将被没收,且不提供任何回报。

>当第二阶段没有公开一个或多个时,随机数生成失败。被没收的ETH被平均分配给在第二阶段披露S的其他参与者。订购随机数所支付的费用将被退还。

安全风险:

最后一个公开自己秘密数的人可以先计算出最后的随机数,如果对自己有利就公开,否则就不公开。

如果需要高水平的安全性,第一阶段的存款金额可以大大增加。

但在一些涉及大量利益的场景下,参与者仍然有动力和能力控制随机数的产生。

燃道结合VDF

参与者可以通过预测和操纵产生对自己有利的随机数。如果不可预测,他们就不能作弊。VDF通过延迟随机数的生成来防止参与者作弊。

以太坊2.0结合了RANDAO和VDF,RANDAO契约产生的随机数作为VDF的输入,计算出最终的随机数,增加了作弊的难度。

具体计划:

块之间的间隔是6s。

一个时期需要6.4分钟,即在一个时期中产生64个块。

每个历元通过随机契约生成一个随机数作为VDF的输入,并启动一个VDF。

VDF的延迟时间t设置为102.4分钟,也就是说,每个最终随机数的生成需要102.4分钟。

为了确保每隔一个历元可以生成一个随机数,系统中总是有16个vdf同时运行。

每个随机数都可以被任何人用于区块链中的任何功能。

目前,VDF的功能结构和硬件设施仍在研究中:

实验室宣布将与以太坊基金会合作,开发至少一种能够满足“安全、高效、可用”要求的可验证延迟函数结构。

实验室将与以太坊基金会就构建针对VDF运行优化的ASIC的可行性进行合作,进行前期研究,并对其进行评估和投资。

复印校样

在VDF的论文中,提到了VDF的一种变体:可解码VDF。

除了上述性质外,还满足对结果y可以反算出X,这种情况下不需要证明π。

VDF函数可以理解为编码函数,它也对应于解码函数。这一对编解码函数在时间上是非对称的,所以编码耗时长,解码快。

具体计划:

服务器文件的存储形式是将一个文件分成n个大小为b位的数据块,第I个数据块记为Bi。

Xi =每个数据块对应的Bi xor HASH,其中id为服务器的id,I为数据块id,HASH为防冲突哈希函数,其输出长度与数据块大小一致。

当存储每个数据块时,每个服务器计算对应于Xi的编码数据Yi = VDF_ENCODE,并存储对应于每个数据块的Yi。

客户端向服务器请求Yi来验证它是否存储了该文件的副本。服务器不能作弊,因为每个存储服务器存储不同的yi,向其他服务器请求文件块Bi后,生成yi的过程很长,验证会超时。

服务器只能存储数据块的所有编码Yi,因为根据Yi可以快速解码Xi,然后可以得到文件块I。Xi =解码,Bi = Xi异或散列.

请比较功率

1.计算和验证都是不对称的。

2.pow可以并行计算,而VDF只能串行计算。

3.对于给定输入X,VDF具有唯一的输出,同时可以有多个功率解。

 
友情链接
鄂ICP备19019357号-22