首页 > 区块链 > 区块链 > HKT公链算力挖矿系统平台开发技术
一些区块链系统支持工作量证明机制((Proof of Work,POW),根据工作量证明机制,各个矿工节点独立完成工作量证明计算,当找到满足预设条件的随机数时,便获得打包记账的权利。
发明人在实现本发明的过程中,发现传统技术至少存在以下问题:由于各个矿工节点独立完成工作量证明,因此各个矿工节点容易重复计算同一工作量,从而造成能源浪费。
发明内容
本发明实施例一个目的旨在提供一种分布式挖矿方法、 HKT公链挖矿系统13z开4277发z588,挖矿机及区块链系统,其能够节约能源。
为解决上述技术问题,本发明实施例提供以下技术方案:
在第一方面,本发明实施例提供一种分布式挖矿方法,应用于代理节点,所述方法包括:
获取矿工列表,所述矿工列表记录有各个矿工节点的矿工身份信息,任意两个所述矿工身份信息皆不同;
根据区块中区块头记录的区块信息、每个所述矿工身份信息以及随机数,计算出所述随机数对应的待验证哈希值,所述区块信息由矿工节点发送的;
向所述矿工节点发送所述随机数对应的待验证哈希值,以使所述矿工节点根据所述待验证哈希值与目标哈希值,打包所述区块。
可选地,所述向所述矿工节点发送所述随机数对应的待验证哈希值,以使所述矿工节点根据所述待验证哈希值与目标哈希值,打包所述区块,包括:
根据所述随机数对应的待验证哈希值,生成区块数据;
对所述区块数据作签名处理;
向所述矿工节点发送签名后的区块数据,以使在验证所述签名为合法时,所述矿工节点根据所述待验证哈希值与目标哈希值,打包所述区块。
可选地,所述根据每个所述矿工身份信息、区块中区块头记录的区块信息以及随机数,计算出所述随机数对应的待验证哈希值,包括:
确定目标哈希种子,其中,任意两个哈希种子皆不同,每个所述哈希种子包括至少由区块信息、矿工身份信息以及随机数组合成的部分数值;
根据所述目标哈希种子,生成所述随机数的待验证哈希值。
可选地,所述根据所述目标哈希种子,生成所述随机数的待验证哈希值,包括:
按照以下组合关系:Hm-2Hm-3Hm-4......H2H1H0Z,组合出第m个哈希种子,其中,m为正整数,Hm-1为第m个哈希值,Z为第1个哈希种子,Z由区块信息、矿工身份信息以及随机数组合成的;
选择所述第m个哈希种子作为目标哈希种子;
将所述目标种子作哈希运算,生成所述随机数的待验证哈希值Hm-1。
可选地,所述按照以下组合关系:Hm-2Hm-3Hm-4......H2H1H0Z,组合出第m个哈希种子,包括:
判断Hm-2Hm-3Hm-4......H2H1H0Z的数据位数是否大于预设位数阈值;
若大于,选择在Hm-2Hm-3Hm-4......H2H1H0Z中排序在最前方的预设位数的数据作为第m个哈希种子;
若小于,选择Hm-2Hm-3Hm-4......H2H1H0Z作为第m个哈希种子。
可选地,所述方法还包括:
接收矿工节点发送的挖矿请求,所述挖矿请求携带有矿工身份信息;
检测所述矿工身份信息是否匹配预设身份信息;
若未匹配,禁止所述矿工节点加入矿工列表;
若匹配,允许所述矿工节点加入矿工列表。
可选地,所述矿工身份信息包括挖矿机的设备序列号。
可选地,所述待验证哈希值的数据位数为64字节。
在第二方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使代理节点执行任一项所述的分布式挖矿方法。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70020115/viewspace-2951714/ ,如需转载,请注明出处,否则将追究法律责任。