[发明专利]工作量证明的计算方法和系统、电子设备、程序和介质在审
申请号: | 201810166313.2 | 申请日: | 2018-02-28 |
公开(公告)号: | CN108389044A | 公开(公告)日: | 2018-08-10 |
发明(设计)人: | 王逵;庄重;徐凌超 | 申请(专利权)人: | 北京比特大陆科技有限公司 |
主分类号: | G06Q20/36 | 分类号: | G06Q20/36;G06Q20/38 |
代理公司: | 北京思源智汇知识产权代理有限公司 11657 | 代理人: | 毛丽琴 |
地址: | 100029 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 工作量 电子设备 矿机 更新 预设周期 卡死 上报 | ||
本发明实施例公开了一种工作量证明的计算方法和系统、电子设备、程序和介质,其中,方法包括:按照预设周期更新工作量证明参数,并公布所述更新后的工作量证明参数,以便矿机基于更新后的工作量证明参数,进行工作量证明的计算;接收到矿机上报的工作量证明结果后,根据所述工作量证明结果是否基于已公布的工作量证明参数完成,确认上报所述工作量证明结果的矿机是否完成工作量证明。本发明实施例可以避免卡死的情形,即:始终无参与者可完成工作量证明的情况。
技术领域
本发明涉及虚拟数字币技术,尤其是一种工作量证明的计算方法和系统、电子设备、程序和介质。
背景技术
在开放的大规模分布式系统当中,工作量证明(Proof-of-work)是一种解决拜占庭将军问题,实现系统一致性的重要机制。它要求参与方付出一定量的计算资源,来证明自己没有恶意对系统进行攻击。工作量证明机制具有公平性、鲁棒性的优点。
在实现本发明的过程中,发明人通过研究发现,如果在工作量证明机制中,第一随机数(nonce1)是预先选定且不可变的,有可能在某一轮工作量证明中,全系统的所有参与者(即:矿机)都无法找到合适的第二随机数(nonce2),导致这一轮工作量证明无论历经多久,都无法完成。
发明内容
本发明实施例所要解决的一个技术问题是:提供一种工作量证明的计算方法和装置、电子设备、程序和介质。
根据本发明实施例的一个方面,提供的一种工作量证明的计算方法,包括:
按照预设周期更新工作量证明参数,并公布所述更新后的工作量证明参数,以便矿机基于更新后的工作量证明参数,进行工作量证明的计算;
接收到矿机上报的工作量证明结果后,根据所述工作量证明结果是否基于已公布的工作量证明参数完成,确认上报所述工作量证明结果的矿机是否完成工作量证明。
可选地,在本发明上述各方法实施例中,所述预设周期对应的时长不小于如下时间之和:矿池向矿机发放计算任务所需时间,矿机完成一次工作量证明的计算所需时间,完成工作量证明的矿机将工作量证明结果返回矿池所需的时间。
可选地,在本发明上述各方法实施例中,所述预设周期对应的时长不大于如下时间之和:矿池向矿机发放计算任务所需时间,矿机完成N次工作量证明的计算所需时间,完成工作量证明的矿机将工作量证明结果返回矿池所需的时间;其中,N的取值为大于1且小于预设整数的整数。
可选地,在本发明上述各方法实施例中,所述工作量证明参数包括以下任意一项或多项:第一随机数,哈希运算方法,哈希运算方法针对的计算内容。
可选地,在本发明上述各方法实施例中,基于更新后的工作量证明参数,进行工作量证明的计算,包括:
采用哈希运算方法,分别基于选取的第一随机数进行至少一次哈希计算,并将各次计算得到的计算结果分别存储在存储器中,以形成占用预定空间容量的缓存数据;
采用哈希运算方法,利用所述缓存数据和本次选取的第二随机数对预设数据块进行哈希计算;
判断所述哈希计算的计算结果是否满足预设条件;
若所述计算结果满足预设条件,完成工作量证明;
否则,若所述计算结果不满足预设条件,更换所述第二随机数的取值,并以更换取值后的第二随机数作为本次选取的第二随机数,开始执行所述采用哈希运算方法,利用所述缓存数据和本次选取的第二随机数对预设数据块进行哈希计算的操作。
可选地,在本发明上述各方法实施例中,所述形成占用预定空间容量的缓存数据所需的时间,不小于完成一轮工作量证明的时间窗口。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京比特大陆科技有限公司,未经北京比特大陆科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810166313.2/2.html,转载请声明来源钻瓜专利网。