CN108805537A - 一种利用tpm作为比特币客户端随机源的方法及系统 - Google Patents
一种利用tpm作为比特币客户端随机源的方法及系统 Download PDFInfo
- Publication number
- CN108805537A CN108805537A CN201810488243.2A CN201810488243A CN108805537A CN 108805537 A CN108805537 A CN 108805537A CN 201810488243 A CN201810488243 A CN 201810488243A CN 108805537 A CN108805537 A CN 108805537A
- Authority
- CN
- China
- Prior art keywords
- random number
- tpm
- bit coin
- main program
- stochastic source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
- G06Q20/0658—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种利用TPM作为比特币客户端随机源的方法及系统,属于比特币技术领域。本发明的利用TPM作为比特币客户端随机源的方法,PoW程序需要随机数时,比特币主程序需要与TPM进行通信,提出随机数生成请求,TPM响应请求,生成随机数返回给比特币主程序。该发明的利用TPM作为比特币客户端随机源的方法及系统能提供高质量且稳定的随机数,具有很好的推广应用价值。
Description
技术领域
本发明涉及比特币技术领域,具体提供一种利用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模块;
比特币主程序模块用于发出随机数请求并接收返回的随机数;
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模块用于接收随机数请求指令,并返回随机数指令响应结果。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (8)
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的随机数生成指令,提取其中的长度参数,生成相应长度的随机数,并将生成的随机数返回给TSS;
S4:TSS接收TPM的相应结果,解析出随机数,将随机数返回给比特币主程序。
5.根据权利要求4所述的利用TPM作为比特币客户端随机源的方法,其特征在于:步骤S1中,请求数据包包含随机数长度。
6.根据权利要求5所述的利用TPM作为比特币客户端随机源的方法,其特征在于:步骤S3中调用随机数生成子模块生成相应长度的随机数。
7.根据权利要求5所述的利用TPM作为比特币客户端随机源的方法,其特征在于:步骤S3中,对生成的随机数做自检测,通过检测的随机数被封装到指令相应结果中。
8.一种利用TPM作为比特币客户端随机源的系统,其特征在于:包括比特币主程序模块、TSS模块和TPM模块;
比特币主程序模块用于发出随机数请求并接收返回的随机数;
TSS模块用于连接比特币主程序模块和TPM模块;
TPM模块用于接收随机数请求指令,并返回随机数指令响应结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810488243.2A CN108805537A (zh) | 2018-05-21 | 2018-05-21 | 一种利用tpm作为比特币客户端随机源的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810488243.2A CN108805537A (zh) | 2018-05-21 | 2018-05-21 | 一种利用tpm作为比特币客户端随机源的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108805537A true CN108805537A (zh) | 2018-11-13 |
Family
ID=64091177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810488243.2A Withdrawn CN108805537A (zh) | 2018-05-21 | 2018-05-21 | 一种利用tpm作为比特币客户端随机源的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108805537A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2914193Y (zh) * | 2006-05-10 | 2007-06-20 | 上海一维科技有限公司 | 一种tpm指纹生物识别装置 |
CN101042720A (zh) * | 2006-03-22 | 2007-09-26 | 富士通株式会社 | 具有启动验证功能的信息处理装置 |
CN101162998A (zh) * | 2006-10-13 | 2008-04-16 | 上海华虹Nec电子有限公司 | 真随机数发生器 |
CN101165696A (zh) * | 2006-10-16 | 2008-04-23 | 中国长城计算机深圳股份有限公司 | 一种基于安全计算机的安全认证方法 |
CN101833503A (zh) * | 2010-04-14 | 2010-09-15 | 武汉大学 | 基于模糊技术的可信软件栈测试系统 |
CN103414564A (zh) * | 2013-08-07 | 2013-11-27 | 成都卫士通信息产业股份有限公司 | 一种密钥卡、密钥设备及其保护私钥的方法 |
CN104298486A (zh) * | 2014-10-23 | 2015-01-21 | 山东维固信息科技股份有限公司 | 一种嵌入式数据安全系统用soc芯片的随机数发生器 |
CN106296191A (zh) * | 2016-08-13 | 2017-01-04 | 深圳市樊溪电子有限公司 | 一种区块链功耗感知的PoW共识机制 |
CN106326751A (zh) * | 2016-08-09 | 2017-01-11 | 中国船舶重工集团公司第七0九研究所 | 一种可信道系统及其实现方法 |
CN106875254A (zh) * | 2017-01-20 | 2017-06-20 | 暨南大学 | 一种基于区块链技术的Android恶意应用程序控制方法 |
CN107103472A (zh) * | 2017-04-26 | 2017-08-29 | 北京计算机技术及应用研究所 | 一种用于区块链的算法处理模块 |
CN107579814A (zh) * | 2017-08-03 | 2018-01-12 | 北京比特大陆科技有限公司 | 工作量证明的计算方法的装置、计算芯片、挖矿机 |
US20180131511A1 (en) * | 2016-08-03 | 2018-05-10 | James Taylor | Systems and Methods for Dynamic Cypher Key Management |
-
2018
- 2018-05-21 CN CN201810488243.2A patent/CN108805537A/zh not_active Withdrawn
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042720A (zh) * | 2006-03-22 | 2007-09-26 | 富士通株式会社 | 具有启动验证功能的信息处理装置 |
CN2914193Y (zh) * | 2006-05-10 | 2007-06-20 | 上海一维科技有限公司 | 一种tpm指纹生物识别装置 |
CN101162998A (zh) * | 2006-10-13 | 2008-04-16 | 上海华虹Nec电子有限公司 | 真随机数发生器 |
CN101165696A (zh) * | 2006-10-16 | 2008-04-23 | 中国长城计算机深圳股份有限公司 | 一种基于安全计算机的安全认证方法 |
CN101833503A (zh) * | 2010-04-14 | 2010-09-15 | 武汉大学 | 基于模糊技术的可信软件栈测试系统 |
CN103414564A (zh) * | 2013-08-07 | 2013-11-27 | 成都卫士通信息产业股份有限公司 | 一种密钥卡、密钥设备及其保护私钥的方法 |
CN104298486A (zh) * | 2014-10-23 | 2015-01-21 | 山东维固信息科技股份有限公司 | 一种嵌入式数据安全系统用soc芯片的随机数发生器 |
US20180131511A1 (en) * | 2016-08-03 | 2018-05-10 | James Taylor | Systems and Methods for Dynamic Cypher Key Management |
CN106326751A (zh) * | 2016-08-09 | 2017-01-11 | 中国船舶重工集团公司第七0九研究所 | 一种可信道系统及其实现方法 |
CN106296191A (zh) * | 2016-08-13 | 2017-01-04 | 深圳市樊溪电子有限公司 | 一种区块链功耗感知的PoW共识机制 |
CN106875254A (zh) * | 2017-01-20 | 2017-06-20 | 暨南大学 | 一种基于区块链技术的Android恶意应用程序控制方法 |
CN107103472A (zh) * | 2017-04-26 | 2017-08-29 | 北京计算机技术及应用研究所 | 一种用于区块链的算法处理模块 |
CN107579814A (zh) * | 2017-08-03 | 2018-01-12 | 北京比特大陆科技有限公司 | 工作量证明的计算方法的装置、计算芯片、挖矿机 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11048825B2 (en) | Managing a smart contract on a blockchain | |
CN107612697B (zh) | 数字证书申请方法和装置 | |
EP3474209A1 (en) | Storing blockchain private keys in a sim card | |
US6704870B2 (en) | Digital signatures on a Smartcard | |
CN110032884B (zh) | 区块链中实现隐私保护的方法及节点、存储介质 | |
US7590846B2 (en) | Public key cryptographic method of protecting an electronic chip against fraud | |
Bellare et al. | How to sign given any trapdoor function | |
WO2020233638A1 (zh) | 结合代码标注与交易类型的收据存储方法和节点 | |
CN110263544B (zh) | 结合交易类型和判断条件的收据存储方法和节点 | |
CN110245947B (zh) | 结合交易与用户类型的条件限制的收据存储方法和节点 | |
CN110187831B (zh) | 区块链联盟链的区块数据存储系统及方法 | |
CN108269062A (zh) | 基于h5的电子合同制作方法、装置、设备及介质 | |
Xiong et al. | {VeriZexe}: Decentralized Private Computation with Universal Setup | |
EP3804218B1 (en) | Blockchain based access control using time-dependent obfuscation of access tokens | |
US20220067264A1 (en) | Chip design method, design device, computer device and storage medium | |
CN104364760A (zh) | 采用多个存储器件的并行计算 | |
CN111080296B (zh) | 一种基于区块链系统的验证方法及装置 | |
CN103049710A (zh) | 用于sm2数字签名验证算法的fpga芯片 | |
CN109271189A (zh) | 一种嵌入式系统固件的处理方法以及相关装置 | |
CN108805537A (zh) | 一种利用tpm作为比特币客户端随机源的方法及系统 | |
CN103326861A (zh) | 一种对数据进行rsa安全签名的方法、装置及安全芯片 | |
Wiersema et al. | Memory security in reconfigurable computers: Combining formal verification with monitoring | |
CN111404685B (zh) | 一种属性基签名方法及系统 | |
CN112751878A (zh) | 一种页面请求处理方法及装置 | |
CN104901959A (zh) | 一种验证计算池可信的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20181113 |
|
WW01 | Invention patent application withdrawn after publication |