[发明专利]一种利用TPM作为比特币客户端随机源的方法及系统在审
申请号: | 201810488243.2 | 申请日: | 2018-05-21 |
公开(公告)号: | CN108805537A | 公开(公告)日: | 2018-11-13 |
发明(设计)人: | 曹永超 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06Q20/06 | 分类号: | G06Q20/06;G06Q20/38 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 高经 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 客户端 随机源 随机数 主程序 随机数生成 响应请求 返回 通信 | ||
本发明公开了一种利用TPM作为比特币客户端随机源的方法及系统,属于比特币技术领域。本发明的利用TPM作为比特币客户端随机源的方法,PoW程序需要随机数时,比特币主程序需要与TPM进行通信,提出随机数生成请求,TPM响应请求,生成随机数返回给比特币主程序。该发明的利用TPM作为比特币客户端随机源的方法及系统能提供高质量且稳定的随机数,具有很好的推广应用价值。
技术领域
本发明涉及比特币技术领域,具体提供一种利用TPM作为比特币客户端随机源的方法及系统。
背景技术
比特币是一种2009年诞生的加密数字货币,其去中心化、分布式记账的特点,吸引了众多的参与者与研究者。比特币的每笔交易需要挖矿节点(比特币交易中提供计算力,用于验证交易有效性的节点)的验证,以确定交易的有效性,只有确认了有效性的交易才能加入到交易链中,成为分布式账本的一部分。每个提供了计算力的挖矿节点,对于未验证的交易,运行PoW(Proof of Work)工作量证明程序,试图完成对未交易块的有效性确认,从而获得比特币奖励。完成每个交易块的确认需要大量的计算,具体说,每个节点重复获取随机数,填充成交易头数据,对该数据进行一定的运算,如果运算结果满足要求,该交易块被确认,对应的随机数写入交易块中;否则,重新获取随机数,直至找到满足要求的随机数。该过程中,随机源的稳定性至关重要。随机源是生成随机数的方法或设备,随机数是PoW中唯一变量,符合条件的随机数被写入交易区块。目前比特币交易的随机源是软件程序,如图1所示是软件生成随机数的方式。但是软件程序生成的随机数,其随机性质不如物理设备产生的随机数可靠。
TPM(Trusted Plaform Module)可信计算模块是一种可靠的安全芯片,内置物理随机源子模块和永久性安全存储空间,配合上层的软件套件,提供随机数生成,数据安全存储等功能。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种能提供高质量且稳定的随机数的利用TPM作为比特币客户端随机源的方法。
本发明进一步的技术任务是提供一种利用TPM作为比特币客户端随机源的系统。
为实现上述目的,本发明提供了如下技术方案:
一种利用TPM作为比特币客户端随机源的方法,PoW程序需要随机数时,向TPM下发随机数生成指令,TPM根据指令请求,将随机数返回给PoW。
作为优选,PoW程序需要随机数时,比特币主程序需要与TPM进行通信,提出随机数生成请求,TPM响应请求,生成随机数返回给比特币主程序。
作为优选,比特币主程序通过软件栈TSS与TPM相通信。
作为优选,所述方法具体包括以下步骤:
S1:比特币主程序发出随机数生成请求;
S2:软件栈TSS接收比特币主程序的随机数生成请求,将请求封装为TPM识别的指令,发送给TPM;
S3:TPM接收到TSS的随机数生成指令,提取其中的长度参数,生成相应长度的随机数,并将生成的随机数返回给TSS;
S4:TSS接收TPM的相应结果,解析出随机数,将随机数返回给比特币主程序。
作为优选,步骤S1中,请求数据包包含随机数长度。
作为优选,步骤S3中调用随机数生成子模块生成相应长度的随机数。
作为优选,步骤S3中,对生成的随机数做自检测,通过检测的随机数被封装到指令相应结果中。
一种利用TPM作为比特币客户端随机源的系统,包括比特币主程序模块、TSS模块和TPM模块;
比特币主程序模块用于发出随机数请求并接收返回的随机数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810488243.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多服务器支付系统和方法
- 下一篇:一种数字货币交易方法和装置