Scrypt算法工作量证明方法及装置制造方法及图纸

技术编号:21224750 阅读:36 留言:0更新日期:2019-05-29 05:29
本公开涉及一种Scrypt算法工作量证明方法及装置,所述方法包括多个工作量证明的任务,所述任务包括第一阶段和第二阶段,所述方法包括:在各任务的第一阶段,在第一数据中抽取部分数据作为存储数据进行存储,存储数据的数量少于第一数据的数量;在各任务的第二阶段,将各任务分别对应至第一周期内不同的第一时隙,在与目标任务对应的第一时隙内,根据目标任务的存储数据确定对应的第一数据,根据对应的第一数据生成第二数据,所述目标任务包括任一任务,所述第一周期包括多个第一时隙,第一时隙的数量大于或等于任务的数量。本公开实施例可以节省存储空间,提高多任务的执行效率。

Scrypt algorithm workload proof method and device

The present disclosure relates to a Scrypt algorithm workload proving method and device, which includes tasks of multiple workload proving, including the first and second stages. The method includes: in the first stage of each task, extracting part of data from the first data as storage data, and storing less data than the first data; in each task, extracting part of data as storage data; In the second stage, each task is corresponded to a different first slot in the first cycle. In the first slot corresponding to the target task, the corresponding first data is determined according to the stored data of the target task, and the second data is generated according to the corresponding first data. The target task includes any task, the first cycle includes multiple first slots, and the number of the first slots is large. Equal to or equal to the number of tasks. The embodiment of the present disclosure can save storage space and improve the execution efficiency of multi-tasks.

【技术实现步骤摘要】
Scrypt算法工作量证明方法及装置
本公开涉及区块链
,尤其涉及一种Scrypt算法工作量证明方法及装置。
技术介绍
区块链技术的工作量证明方法中,Scrypt算法工作量证明方法的第一阶段生成设定数量的第一数据,并在第二阶段随机使用第一数据生成第二数据。第一数据的数量较多,占据了较大的存储空间,使得Scrypt算法工作量证明方法的实现芯片的体积较大,不利于缩小相关设备的体积。
技术实现思路
有鉴于此,本公开提出了一种Scrypt算法工作量证明方法及装置。用以解决Scrypt算法工作量证明方法占用存储空间大,无法减小相关芯片体积的问题。根据本公开的一方面,提供了一种Scrypt算法工作量证明方法,所述方法包括多个工作量证明的任务,所述任务包括第一阶段和第二阶段,所述方法包括:在各任务的第一阶段,在第一数据中抽取部分数据作为存储数据进行存储,所述存储数据的数量少于所述第一数据的数量;在各任务的第二阶段,将各任务分别对应至第一周期内不同的第一时隙,在与目标任务对应的第一时隙内,根据所述目标任务的存储数据确定对应的第一数据,根据所述对应的第一数据生成第二数据,所述目标任务包括任一所述任务,所述第一周期包括多个第一时隙,所述第一时隙的数量大于或等于所述任务的数量。在一种可能的实现方式中,在各任务的第一阶段,在第一数据中抽取部分数据作为存储数据进行存储,包括:在各任务的第一阶段,将各任务分别对应至第二周期内不同的第二时隙,在与所述目标任务对应的第二时隙内,生成第一数据,并在第一数据中抽取部分数据作为存储数据写入存储器,所述第二周期包括多个第二时隙,所述第二时隙的数量大于或等于所述任务的数量。在一种可能的实现方式中,根据所述目标任务的存储数据确定对应的第一数据,根据所述对应的第一数据生成第二数据,包括:在所述目标任务的所述存储数据中查找与当前第二数据对应的第一数据;当无法在所述存储数据中查找到与当前第二数据对应的第一数据时,根据最接近的存储数据,确定与所述当前第二数据对应的第一数据;根据与所述当前第二数据对应的第一数据和所述当前第二数据,得到所述当前第二数据的下一个第二数据。在一种可能的实现方式中,所述第一数据为有序序列,在第一数据中抽取部分数据作为存储数据进行存储,包括:根据所述存储数据的序列号确定所述存储数据的存储地址;在所述目标任务的所述存储数据中查找与当前第二数据对应的第一数据,包括:根据在所述目标任务的当前第二数据中预设数位上的数据生成索引地址,在所述存储地址中查找所述索引地址,根据查找结果确定与当前第二数据对应的第一数据。在一种可能的实现方式中,根据最接近的存储数据,确定与所述当前第二数据对应的第一数据,包括:确定最接近的存储地址与所述索引地址之间的差值;根据所述差值确定的迭代次数,将最接近的存储地址中的存储数据进行迭代运算,得到与所述索引地址对应的第一数据。在一种可能的实现方式中,在第一数据中抽取部分数据作为存储数据进行存储,包括以下任意一种:在第一数据中按照预设的抽取间隔抽取存储数据进行存储;在第一数据中按照预设的序列号范围抽取存储数据进行存储;在第一数据中随机抽取预设数量的存储数据进行存储。在一种可能的实现方式中,各任务的存储数据存储在存储器的不同存储空间,所述存储空间的数量大于或等于所述任务的数量。在一种可能的实现方式中,以所述第二周期在前、所述第一周期在后组成的执行周期执行各所述任务。在一种可能的实现方式中,所述第一周期还包括空闲时隙,所述空闲时隙的数量或时长根据所述存储器的延迟确定。在一种可能的实现方式中,所述第一周期和所述第二周期并行。在一种可能的实现方式中,所述方法还包括:当所述多个任务中的至少一个任务执行完毕时,将执行完毕的任务对应的第一时隙分配至新的任务。根据本公开的另一方面,提供了一种Scrypt算法工作量证明装置,所述装置用于执行多个工作量证明的任务,所述任务包括第一阶段和第二阶段,所述装置包括:抽取模块,用于在各任务的第一阶段,在第一数据中抽取部分数据作为存储数据进行存储,所述存储数据的数量少于所述第一数据的数量;第一周期执行模块,用于在各任务的第二阶段,将各任务分别对应至第一周期内不同的第一时隙,在与目标任务对应的第一时隙内,根据所述目标任务的存储数据确定对应的第一数据,根据所述对应的第一数据生成第二数据,所述目标任务包括任一所述任务,所述第一周期包括多个第一时隙,所述第一时隙的数量大于或等于所述任务的数量。在一种可能的实现方式中,所述抽取模块,包括:第二周期执行子模块,用于在各任务的第一阶段,将各任务分别对应至第二周期内不同的第二时隙,在与所述目标任务对应的第二时隙内,生成第一数据,并在第一数据中抽取部分数据作为存储数据写入存储器,所述第二周期包括多个第二时隙,所述第二时隙的数量大于或等于所述任务的数量。在一种可能的实现方式中,所述第一周期执行模块,包括:对应数据查找子模块,用于在所述目标任务的所述存储数据中查找与当前第二数据对应的第一数据;对应数据确定子模块,用于当无法在所述存储数据中查找到与当前第二数据对应的第一数据时,根据最接近的存储数据,确定与所述当前第二数据对应的第一数据;第二数据获取子模块,用于根据与所述当前第二数据对应的第一数据和所述当前第二数据,得到所述当前第二数据的下一个第二数据。在一种可能的实现方式中,所述第一数据为有序序列,所述抽取模块,包括:存储地址子模块,用于根据所述存储数据的序列号确定所述存储数据的存储地址;所述对应数据查找子模块,用于:根据在所述目标任务的当前第二数据中预设数位上的数据生成索引地址,在所述存储地址中查找所述索引地址,根据查找结果确定与当前第二数据对应的第一数据。在一种可能的实现方式中,所述对应数据确定子模块,用于:确定最接近的存储地址与所述索引地址之间的差值;根据所述差值确定的迭代次数,将最接近的存储地址中的存储数据进行迭代运算,得到与所述索引地址对应的第一数据。在一种可能的实现方式中,在第一数据中抽取部分数据作为存储数据进行存储,包括以下任意一种:在第一数据中按照预设的抽取间隔抽取存储数据进行存储;在第一数据中按照预设的序列号范围抽取存储数据进行存储;在第一数据中随机抽取预设数量的存储数据进行存储。在一种可能的实现方式中,各任务的存储数据存储在存储器的不同存储空间,所述存储空间的数量大于或等于所述任务的数量。在一种可能的实现方式中,以所述第二周期在前、所述第一周期在后组成的执行周期执行各所述任务。在一种可能的实现方式中,所述第一周期还包括空闲时隙,所述空闲时隙的数量或时长根据所述存储器的延迟确定。在一种可能的实现方式中,所述第一周期和所述第二周期并行。在本公开实施例中,在Scrypt算法工作量证明的第一阶段,在第一数据中抽取部分数据作为存储数据进行存储,可以节省存储空间。将多个任务分别对应至第一周期内不同的第一时隙,在与各任务对应的第一时隙内生成第二数据,可以提高多任务的执行效率。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。附图说明包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。图1示出根据本公开一实施例的本文档来自技高网...

【技术保护点】
1.一种Scrypt算法工作量证明方法,其特征在于,所述方法包括多个工作量证明的任务,所述任务包括第一阶段和第二阶段,所述方法包括:在各任务的第一阶段,在第一数据中抽取部分数据作为存储数据进行存储,所述存储数据的数量少于所述第一数据的数量;在各任务的第二阶段,将各任务分别对应至第一周期内不同的第一时隙,在与目标任务对应的第一时隙内,根据所述目标任务的存储数据确定对应的第一数据,根据所述对应的第一数据生成第二数据,所述目标任务包括任一所述任务,所述第一周期包括多个第一时隙,所述第一时隙的数量大于或等于所述任务的数量。

【技术特征摘要】
1.一种Scrypt算法工作量证明方法,其特征在于,所述方法包括多个工作量证明的任务,所述任务包括第一阶段和第二阶段,所述方法包括:在各任务的第一阶段,在第一数据中抽取部分数据作为存储数据进行存储,所述存储数据的数量少于所述第一数据的数量;在各任务的第二阶段,将各任务分别对应至第一周期内不同的第一时隙,在与目标任务对应的第一时隙内,根据所述目标任务的存储数据确定对应的第一数据,根据所述对应的第一数据生成第二数据,所述目标任务包括任一所述任务,所述第一周期包括多个第一时隙,所述第一时隙的数量大于或等于所述任务的数量。2.根据权利要求1所述的方法,其特征在于,在各任务的第一阶段,在第一数据中抽取部分数据作为存储数据进行存储,包括:在各任务的第一阶段,将各任务分别对应至第二周期内不同的第二时隙,在与所述目标任务对应的第二时隙内,生成第一数据,并在第一数据中抽取部分数据作为存储数据写入存储器,所述第二周期包括多个第二时隙,所述第二时隙的数量大于或等于所述任务的数量。3.根据权利要求1所述的方法,其特征在于,根据所述目标任务的存储数据确定对应的第一数据,根据所述对应的第一数据生成第二数据,包括:在所述目标任务的所述存储数据中查找与当前第二数据对应的第一数据;当无法在所述存储数据中查找到与当前第二数据对应的第一数据时,根据最接近的存储数据,确定与所述当前第二数据对应的第一数据;根据与所述当前第二数据对应的第一数据和所述当前第二数据,得到所述当前第二数据的下一个第二数据。4.根据权利要求3所述的方法,其特征在于,所述第一数据为有序序列,在第一数据中抽取部分数据作为存储数据进行存储,包括:根据所述存储数据的序列号确定所述存储数据的存储地址;在所述目标任务的所述存储数据中查找与当前第二数据对应的第一数据,包括:根据在所述目标任务的当前第二数据中预设数位上的数据生成索引地址,在所述存储地址中查找所述索引地址,根据查找结果确定与当前第二数据对应的第一数据。5.根据权利要求4所述的方法,其特征在于,根据最接近的存储数据,确定与所述当前第二数据对应的第一数据,包括:确定最接近的存储地址与所述索引地址之间的差值;根据所述差值确定的迭代次数,将最接近的存储地址中的存储数据进行迭代运算,得到与所述索引地址对应的第一数据。6.根据权利要求1所述的方法,其特征在于,在第一数据中抽取部分数据作为存储数据进行存储,包括以下任意一种:在第一数据中按照预设的抽取间隔抽取存储数据进行存储;在第一数据中按照预设的序列号范围抽取存储数据进行存储;在第一数据中随机抽取预设数量的存储数据进行存储。7.根据权利要求2所述的方法,其特征在于,各任务的存储数据存储在存储器的不同存储空间,所述存储空间的数量大于或等于所述任务的数量。8.根据权利要求2所述的方法,其特征在于,以所述第二周期在前、所述第一周期在后组成的执行周期执行各所述任务。9.根据权利要求1所述的方法,其特征在于,所述第一周期还包括空闲时隙,所述空闲时隙的数量或时长根据所述存储器的延迟确定。10.根据权利要求2所述的方法,其特征在于,所述第一周期和所述第二周期并行。11.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述多个任务中的至少一个任务执行完毕时,将执行完毕的任务对应的第一时隙分配至新的...

【专利技术属性】
技术研发人员:徐英韬张楠赓
申请(专利权)人:杭州嘉楠耘智信息科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1