一种利用TPM作为比特币客户端随机源的方法及系统技术方案

技术编号:19427320 阅读:55 留言:0更新日期:2018-11-14 10:59
本发明专利技术公开了一种利用TPM作为比特币客户端随机源的方法及系统,属于比特币技术领域。本发明专利技术的利用TPM作为比特币客户端随机源的方法,PoW程序需要随机数时,比特币主程序需要与TPM进行通信,提出随机数生成请求,TPM响应请求,生成随机数返回给比特币主程序。该发明专利技术的利用TPM作为比特币客户端随机源的方法及系统能提供高质量且稳定的随机数,具有很好的推广应用价值。

【技术实现步骤摘要】
一种利用TPM作为比特币客户端随机源的方法及系统
本专利技术涉及比特币
,具体提供一种利用TPM作为比特币客户端随机源的方法及系统。
技术介绍
比特币是一种2009年诞生的加密数字货币,其去中心化、分布式记账的特点,吸引了众多的参与者与研究者。比特币的每笔交易需要挖矿节点(比特币交易中提供计算力,用于验证交易有效性的节点)的验证,以确定交易的有效性,只有确认了有效性的交易才能加入到交易链中,成为分布式账本的一部分。每个提供了计算力的挖矿节点,对于未验证的交易,运行PoW(ProofofWork)工作量证明程序,试图完成对未交易块的有效性确认,从而获得比特币奖励。完成每个交易块的确认需要大量的计算,具体说,每个节点重复获取随机数,填充成交易头数据,对该数据进行一定的运算,如果运算结果满足要求,该交易块被确认,对应的随机数写入交易块中;否则,重新获取随机数,直至找到满足要求的随机数。该过程中,随机源的稳定性至关重要。随机源是生成随机数的方法或设备,随机数是PoW中唯一变量,符合条件的随机数被写入交易区块。目前比特币交易的随机源是软件程序,如图1所示是软件生成随机数的方式。但是软件程序生成的随机数,其随机性质不如物理设备产生的随机数可靠。TPM(TrustedPlaformModule)可信计算模块是一种可靠的安全芯片,内置物理随机源子模块和永久性安全存储空间,配合上层的软件套件,提供随机数生成,数据安全存储等功能。
技术实现思路
本专利技术的技术任务是针对上述存在的问题,提供一种能提供高质量且稳定的随机数的利用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模块;比特币主程序模块用于发出随机数请求并接收返回的随机数;TSS模块用于连接比特币主程序模块和TPM模块;TPM模块用于接收随机数请求指令,并返回随机数指令响应结果。与现有技术相比,本专利技术的利用TPM作为比特币客户端随机源的方法具有以下突出的有益效果:该利用TPM作为比特币客户端随机源的方法提高了随机数生成的稳定性和性能,具有良好的推广应用价值。附图说明图1是现有技术中软件生成随机数的方式的示意图;图2是本专利技术所述利用TPM作为比特币客户端随机源的方法的示意图。具体实施方式下面将结合附图和实施例,对本专利技术的利用TPM作为比特币客户端随机源的方法及系统作进一步详细说明。实施例如图2所示,本专利技术的利用TPM作为比特币客户端随机源的方法,PoW程序需要随机数时,比特币主程序与TPM进行通信,提出随机数生成请求,TPM响应请求,生成随机数返回给比特币主程序。具体包括以下步骤:S1:比特币主程序发出随机数生成请求,请求数据包包含随机数长度。S2:软件栈TSS接收比特币主程序的随机数生成请求,将请求封装为TPM识别的指令,发送给TPM。S3:TPM接收到TSS的随机数生成指令,提取其中的长度参数,调用随机数生成子模块生成相应长度的随机数,并对生成的随机数做自检测,通过检测的随机数被封装到指令相应结果中,相应结果返回给TSS。S4:TSS接收TPM的相应结果,解析出随机数,将随机数返回给比特币主程序。本专利技术的利用TPM作为比特币客户端随机源的系统,包括比特币主程序模块、TSS模块和TPM模块。比特币主程序模块用于发出随机数请求并接收返回的随机数。TSS模块用于连接比特币主程序模块和TPM模块。TPM模块用于接收随机数请求指令,并返回随机数指令响应结果。以上所述的实施例,只是本专利技术较优选的具体实施方式,本领域的技术人员在本专利技术技术方案范围内进行的通常变化和替换都应包含在本专利技术的保护范围内。本文档来自技高网...

【技术保护点】
1.一种利用TPM作为比特币客户端随机源的方法,其特征在于:PoW程序需要随机数时,向TPM下发随机数生成指令,TPM根据指令请求,将随机数返回给PoW。

【技术特征摘要】
1.一种利用TPM作为比特币客户端随机源的方法,其特征在于:PoW程序需要随机数时,向TPM下发随机数生成指令,TPM根据指令请求,将随机数返回给PoW。2.根据权利要求1所述的利用TPM作为比特币客户端随机源的方法,其特征在于:PoW程序需要随机数时,比特币主程序需要与TPM进行通信,提出随机数生成请求,TPM响应请求,生成随机数返回给比特币主程序。3.根据权利要求2所述的利用TPM作为比特币客户端随机源的方法,其特征在于:比特币主程序通过软件栈TSS与TPM相通信。4.根据权利要求1、2或3所述的利用TPM作为比特币客户端随机源的方法,其特征在于:所述方法具体包括以下步骤:S1:比特币主程序发出随机数生成请求;S2:软件栈TSS接收比特币主程序的随机数生成请求,将请求封装为TPM识别的指令,发送给TPM;S3:TPM接收到TSS的随机数生成指令,提取其中的长度参数,生成...

【专利技术属性】
技术研发人员:曹永超
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1