CN112001714A - 一种基于区块链技术的数字货币实现方法 - Google Patents
一种基于区块链技术的数字货币实现方法 Download PDFInfo
- Publication number
- CN112001714A CN112001714A CN202010748672.6A CN202010748672A CN112001714A CN 112001714 A CN112001714 A CN 112001714A CN 202010748672 A CN202010748672 A CN 202010748672A CN 112001714 A CN112001714 A CN 112001714A
- Authority
- CN
- China
- Prior art keywords
- user
- transaction
- signature
- key
- verification
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012795 verification Methods 0.000 claims abstract description 161
- 238000013461 design Methods 0.000 claims abstract description 13
- 238000012546 transfer Methods 0.000 claims description 10
- 230000009977 dual effect Effects 0.000 claims description 3
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 claims description 2
- 230000006378 damage Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 claims description 2
- 239000004334 sorbic acid Substances 0.000 description 2
- 241000408529 Libra Species 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
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
-
- 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
- G06Q20/3825—Use of electronic signatures
-
- 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
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
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)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一种基于区块链技术的数字货币实现方法,是采用有中心交易与无中心交易相结合的数字货币技术架构,针对点对点交易,采用私钥对交易单进行签名,采用“垂直认证”技术对交易单进行二次签名,通过公钥签验的交易单执行支付,针对有中心交易,采用“垂直认证”技术对交易单进行签名,通过验证中心签验的交易单执行支付,数字货币区块链各个节点端加密***,分别采用“垂直认证”技术对交易单的签名进行签验,通过建立200座验证中心和400个分布式数字货币区块链社区,可保证整个数字货币交易***的区块链运行效率达到约40万笔/秒,达到中国银行数字货币交易速度为30万笔/秒的设计标准,从而,建立一种安全高效的数字货币交易***。
Description
技术领域:
本发明涉及数字货币及区块链应用安全领域。
背景技术:
在现有基于区块链技术的数字货币应用中,直接进行用户之间的“离线”、“事先”、“并行”交易,亦即:双离线交易或有中心交易,再将交易单发送给区块链社区,区块链各个节点端,同时对双方用户已经签名的交易单进行签验,验证的环节多,大约需4~5个环节,如:对交易单的签名的签验,验证交易双方用户钱包的资金流水是否正确,少数情况下,还要对交易单进行解密,造成区块链***运行的效率相比较低,大多数区块链***验证速度为:完成7笔/秒,造成数字货币交易速度较低,美国脸书公司的Libra设计的交易速度为1000 笔/秒,中国银行数字货币的交易速度设计为30万笔/秒,当然,若要大幅度提高交易速度,需更多增添区块链节点端的设备投入,但效果还是有限,数字货币交易***的结构决定其性能,现有数字货币交易***的速度,很难达到我国数字货币的设计标准,我国数字货币试点工程没有采用区块链技术,因此,必须改变数字货币交易***和区块链设计结构,才能提高交易速度,另外,区块链存在较大安全隐患,如:比特币这个数字货币的区块链应用***,每半年左右出现一次比特币被盗的事件,我国数字货币试点工程没有在手机端部署加密芯片硬件,也存在安全隐患,总之,现有的区块链技术和产品不能满足数字货币市场的需求。
发明内容:
一种基于区块链技术的数字货币实现方法,是采用有中心交易与无中心交易相结合的数字货币技术架构,针对点对点交易,采用私钥对交易单进行签名,采用“垂直认证”技术对交易单进行二次签名,通过公钥签验的交易单执行支付,针对有中心交易,采用“垂直认证”技术对交易单进行签名,通过验证中心签验的交易单执行支付,数字货币区块链各个节点端加密***,分别采用“垂直认证”技术对交易单的签名进行签验,通过建立200座验证中心和400个分布式数字货币区块链社区,可保证整个数字货币交易***的区块链运行效率达到约40万笔/秒,达到中国银行数字货币交易速度为30万笔/秒的设计标准,从而,建立一种安全高效的数字货币交易***,其方法的技术特征在于:
在客户端部署加密***,在加密芯片里写入用户的标识、对称算法、公钥算法、组合密钥生成算法、一组私钥、一组公钥、一组“密钥种子”表的元素,采用“垂直认证”技术建立签名协议,采用“垂直认证”技术建立的身份认证协议,在客户端安装一个子电子钱包,建立客户端公钥数据库,事先,在验证中心端加密芯片里,将对应标识i的“密钥种子”表i的元素密文解密,使用时间戳Hi p和随机数Si p,生成一组存储密钥TKi p,将用户标识i对应的公钥i加密成密文,将用户标识i、公钥i的密文、时间戳Hi p和随机数Si p,存储在验证中心端基于标识i的公钥临时数据库记录里,共生成n条记录,由对应标识i的客户端,从验证中心端下载基于标识i的公钥临时数据库,并作为标识i的客户端公钥数据库存储在客户端,其中:客户端公钥数据库的记录可一次性从验证中心端下载,或者,根据用户的标识,从验证中心端有选择性的下载;
在数字货币交易***中部署验证中心,在验证中心端部署加密硬件设备,建立验证中心端加密***,在加密硬件的芯片里,写入对称算法、公钥算法、组合密钥生成算法,采用“垂直认证”技术建立签验协议,采用“垂直认证”技术建立身份认证协议,建立“密钥种子”数据库,建立公钥数据库,事先,用验证中心端加密芯片里的一组存储密钥KK,分别将全体用户标识i对应的“密钥种子”表i的元素加密成密文,存储在“密钥种子”数据库记录中,事先,在验证中心端加密芯片里,生成时间戳Hi和随机数Si,采用一套“密钥种子”表LL的元素,根据组合密钥生成算法,生成一组存储密钥Ki,将用户标识i对应的公钥i 加密成密文,存储在公钥数据库记录中,在验证中心的服务器里,为每个用户部署一个子电子钱包,其中:p=1~n,n≤60亿,n为全体数字货币用户总数,i=1~n,n≤60亿,n 为全体数字货币用户总数,注:验证中心端没有写入摘要算法;
在数字货币交易***建立区块链社区,区块链社区由j=10~1000个节点组成,每个节点由1~20个服务器和1~20个加密设备组成,并将验证中心通过网络与各个区块链社区相连;
在各个数字货币区块链节点端都部署加密硬件设备,建立节点端加密***,在加密硬件的芯片里,写入对称算法、公钥算法、组合密钥生成算法,采用“垂直认证”技术建立签验协议,建立“密钥种子”数据库,事先,用节点端加密芯片里的一组存储密钥CKj,分别将全体用户对应的“密钥种子”表i元素加密成密文,存储在“密钥种子”数据库记录中,其中:j=10~1000,j为区块链社区节点的总和,i=1~n,n≤60亿,n为全体数字货币用户的总和,注:各个数字货币区块链节点端没有写入摘要算法;
数字货币交易***的交易方式包括:1)线上交易指:有中心交易;2)双离线交易指:线下交易;3)点对点交易指:无中心交易;
验证中心的功能:
1)当交易双方用户通过验证中心进行交易时,验证中心端加密***,采用“垂直认证”技术建立的签验协议,对交易单的签名进行签验,对通过签验的交易单执行支付;
2)当交易双方用户进行点对点交易时,验证中心端为交易双方用户提供可信公钥下载服务;
每个数字货币区块链社区的功能,是建立一个账本数据库,数字货币区块链的各个节点端加密***,分别采用“垂直认证”技术对交易单的签名进行签验,数字货币交易***,分别验证交易双方用户电子钱包的交易记录是否真实,可信,若都通过验证,则数字货币交易***,将该交易单存储到账本数据库的记录中;
“垂直认证”技术的定义:密钥集中生成,集中灌装,集中分发和集中销毁;“垂直认证”技术的特征是,采用对称算法建立认证、签名和加密协议,采用组合密钥生成算法,来解决对称算法的密钥交换、更新和管理难题;
组合密钥密钥生成算法,是由一组时间戳和随机数组成的选取参数,来对一组“密钥种子”表的元素进行选取,将选出的Y个元素,合成一组加密密钥、解密密钥、认证密钥、存储密钥、签名密钥或签验密钥,其中:Y=16或32;
数字货币交易***为用户的子电子钱包设置口令认证功能,在客户端用户可通过口令认证,登录客户端用户的子电子钱包,只能浏览记录,不能修改交易记录;
数字货币交易***在客户端,为每个用户的电子钱包设置身份认证按钮,通过调用客户端基于“垂直认证”技术的身份认证协议,可登录进入自己的电子钱包,只能浏览电子钱包的交易记录,不能修改交易记录;
常见的共识算法包括:信用共识POC、或者委托权益共识DPOS、或者权益共识POS,为保证数字货币的安全、高效、去中心化、稳定的区块链共识算法,本发明选择信用共识POC;
根据信用共识POC算法,记账者将在T=60秒~600秒内,将通过签验和验证的所有交易单作为一个区块进行记账,区块链***采用哈希函数SM3算法,将各个区块连接在一起建立区块链;
当用户A和用户B处于线上即:有中心交易时,用户A客户端和用户B客户端加密***,分别根据各自的“密钥种子”表的元素,产生一组签名密钥,分别对交易单进行签名,验证中心端加密***,调用对应用户A和用户B对应的“密钥种子”表的元素密文,在加密芯片里解密,再分别产生一组签验密钥,对交易单的签名进行签验,若签验通过,则数字货币交易***,将交易单的资金额,从用户A的电子钱包转入用户B的电子钱包里,同时,将该交易单作为一条记录,分别存储到用户A的电子钱包和用户B的电子钱包里,从而,完成用户 A与用户B之间的线上即:有中心交易过程;
当用户A和用户B处于双离线即:线下交易时,用户A客户端加密***,用采用私钥对交易单进行签名,并根据用户A端加密芯片里的“密钥种子”表的元素,产生一组签名密钥,对交易单进行二次签名,用户B客户端加密***,采用私钥对交易单进行签名,并根据用户B端加密芯片里的“密钥种子”表的元素,产生一组签名密钥,对交易单进行二次签名,通过交易双方用户客户端二维码,或者手机的NFC功能,来进行双方公钥、交易单和交易单签名的数据交换,用户B客户端加密***,采用用户A的公钥对交易单用户A的私钥签名进行签验,用户A客户端加密***,采用用户B的公钥对交易单用户B的私钥签名进行签验,数字货币交易***,将都通过签验的交易单中对应的资金额,从用户A的电子钱包转入用户 B的电子钱包里,同时,将该交易单作为一条记录,分别存储到用户A的电子钱包和用户B 的电子钱包里,从而,完成用户A与用户B之间的双离线即:线下交易过程;
当用户A和用户B处于点对点即:无中心交易时,用户A和用户B的客户端加密***,分别采用各自的私钥对交易单进行签名,并根据各自客户端加密芯片里的“密钥种子”表的元素,分别产生一组签名密钥,对交易单分别进行二次签名,用户B客户端加密***,在客户端,根据对方用户A的标识,在客户端公钥数据库中,取出对应用户A的公钥,对交易单用户A的私钥签名进行签验,用户A客户端加密***,在客户端,根据对方用户B的标识,在客户端公钥数据库中,取出对应用户B的公钥,对交易单用户B的私钥签名进行签验,数字货币交易***,将都通过签验的交易单执行支付,从而,完成用户A与用户B之间的无中心交易过程;
用户A和用户B之间,在各自的客户端公钥数据库中,根据对方用户的标识,取出对应的公钥,来实现用户A与用户B之间的公钥交换过程,安全等级较高,可保证用户的公钥真实,可信;
若建立数字货币的区块链,数字货币交易***,将由用户A和用户B分别都进行二次签名的交易单,发送到数字货币区块链社区,数字货币区块链各个节点端加密***,分别采用“垂直认证”技术的签验协议,对该交易单的签名进行签验,若都通过签验,则数字货币交易***,再验证各个节点端用户A电子钱包与用户数字B钱包里,是否存储了与该交易单相同的一条记录,且用户A电子钱包已交易款,用户B电子钱包已收到款是否相同,若验证都通过,则将该交易单分别存储到每个节点端的交易数据库里,作为区块链中一个区块的一条记录,其中:1≤A≤n,1≤B≤n,A≠B,n≤60亿,n为全体数字货币用户总数;
根据信用共识POC算法,记账者将在T=60~600时间内,将通过签验和验证的所有交易单作为一个区块进行记账,区块链***采用哈希函数SM3算法,将各个区块连接在一起建立区块链;
总之,在客户端、验证中心端和区块链节点端,都部署加密芯片,建立“芯片级”签名协议和签验协议,由组合密钥生成算法,保证“垂直认证”技术的各种密钥实时生成,一次一变,事先,将全体用户对应的两两不同的“密钥种子”表i元素,加密成密文存储在验证中心端的“密钥种子”数据库中,并将全体用户对应的公钥也加密成密文,存储在验证中心端的公钥数据库中,同时,将全体用户对应的两两不同的“密钥种子”表i元素,加密成密文存储在各个节点端的“密钥种子”数据库中,保证全体用户对应的公钥和“密钥种子”表 i元素存储和传输安全,可提高基于区块链技术数字货币交易***的安全等级,j=10~1000, j为区块链社区节点的总和,i=1~n,n≤60亿,n为全体数字货币用户总数;
采用公钥算法建立数字货币的点对点即:无中心交易协议,来提高无中心交易的效率和便捷性,采用“垂直认证”技术,来提高区块链节点端的交易单并发签验的速度,保证数字货币交易***区块链的运行效率,且整个过程由软件和硬件结合方式实现,具体方法如下:
1、用户的手机或平板机统称用户的客户端,在客户端嵌入智能卡,如:SIM卡、SD卡、 TF卡,或内置智能卡,在智能卡芯片里建立客户端加密***,在加密芯片里,写入对称算法、公钥算法、摘要算法、组合密钥生成算法、一组私钥i、一组公钥i、用户标识i、一组“密钥种子”表i的元素,其中:客户端的“密钥种子”表i的元素,两两不同,i=1~ n,n≤60亿,n为全体数字货币用户总数。
2、在数字货币交易***中部署验证中心,在验证中心端部署加密硬件设备,建立验证中心端加密***,在加密硬件设备的加密芯片里,写入对称算法、公钥算法、组合密钥生成算法、一组存储密钥KK、一套“密钥种子”表LL元素,建立“密钥种子”数据库,将全体用户的标识i和“密钥种子”表i的元素密文,一并存储在验证中心端的“密钥种子”数据库中,建立公钥数据库,将全体用户的标识i、公钥i的密文,以及一组时间戳Hi和随机数Si,一并存储在验证中心端的公钥数据库中,注:验证中心端没有写入摘要算法;
事先,用验证中心端的存储密钥KK,分别加密全体用户对应的“密钥种子”表i元素,存储在“密钥种子”数据库记录中,事先,产生一组时间戳Hi和随机数Si,由验证中心端一套“密钥种子”表LL元素,根据组合密钥生成算法,生成存储密钥Ki,将用户标识i对应的公钥i加密成密文,存储在公钥数据库记录中,其中:j=10~1000,j为数字货币区块链社区节点的总和,i=1~n,n≤60亿,n为全体数字货币用户总数。
3、在各个数字货币区块链节点端都部署加密硬件设备,建立节点端加密***,在加密硬件的芯片里,写入对称算法、组合密钥生成算法、存储密钥CKj,采用“垂直认证”技术建立签验协议,建立“密钥种子”数据库,事先,用节点端加密芯片里的一组存储密钥CKj,分别将全体用户的“密钥种子”表i元素加密成密文,存储在“密钥种子”数据库记录中,其中:j=10~1000,j为数字货币区块链社区节点的总和,i=1~n,n≤60亿,n为全体数字货币用户总数,注:各个数字货币区块链节点端没有写入摘要算法。
4、数字货币交易***的交易方式包括:1)双离线交易指:线下交易;2)线上交易指:有中心交易;3)点对点交易指:无中心交易。
5、数字货币交易过程包括:商品报价、商品询价、交易单确认即:交易单签名、交易单的签验,以及交易单金额的支付。
6、交易单主要内容包括:形成交易单的时间戳、付款方用户的电子钱包号、收款方用户的电子钱包号、付款方用户的姓名、收款方用户的姓名、购物名称、单价、付款金额和留言。
7、用户的标识,由一组数字、或数字和英文字母组成,用户的电子钱包号由用户的公钥经过编码变换后生成,或者由一组数字组成,用户的电子钱包号两两不同,用户的标识也两两不同,每个用户的标识,对应一组电子钱包号、一套“密钥种子”表的元素和一组公钥。
8、对称算法,如:SM1、SM4、祖冲之、AES、RC6,公钥算法,如:SM2、SM9、ECC、RSA,摘要算法,如:SM3、SHA-2。
9、时间戳由年、月、日、时、分和秒,共14位数字组成,如:2020-06-28-19-01-55,可取部分时间戳,年、月、日和时,如:2020-06-28-19,若取时间戳为:14位数字组成,即:“年”由4位数字组成即:XXX0年~XXX9年,即:“年”取0~9,“月”由2位数字组成即:“月”取01~12,“日”由2位数字组成即:“日”取01~31,“时”由2位数字组成即:“时”取01~24,“分”由2位数字组成即:“分”取01~60,“秒”由2位数字组成即:“秒”取01~60,如:2020-06-28-19-01-55,表示2020年06月28日19点1分55秒;
随机数由Y=16,或32位,二进制数组成,当Y=16时,每位随机数为4比特二进制数,即:每位随机数占4比特,16位随机数共占64比特,每位随机数的二进制数据的数值为0~ 15,如:0011,1010,0000,......,1111,0110,则其二进制数据的数值为:3, 10,0,......,15,6;
当Y=32时,则每位随机数占5比特,32位随机数共占160比特,每位随机数的二进制数的数值为:0~31,如:00110,10100,00000,......,11111,01100,则其二进制数据的数值为:6,20,0,......,31,12。
10、对称算法使用SM1、SM4、RC5、3DES、或AES算法,密钥长度为128、210、或256 比特,或者根据对称算法的密钥长度要求,对密钥长度进行定义;
摘要算法使用SM3算法、SHA-2算法,摘要信息的长度为256比特,若使用的摘要算法其摘要信息的长度相对较短,则会降低签名***的安全等级,须保证摘要算法为256比特。
11、由密码管理单位,负责用户密钥的生成、灌装、分发和销毁;
密钥集中生成,由密码管理单位,使用加密设备的CPU芯片里随机数发生器,产生一组随机数,将该组随机数作为一组存储密钥KK或CKj,其中:j=10~1000,j为数字货币区块链社区节点的总和;
由密码管理单位,使用加密设备的CPU芯片里随机数发生器,产生一组F2字节随机数,将该组随机数作为一组“密钥种子”,若取时间戳为:10位,即:年、月、日和时,则:取 F2=1424或1680字节,将F2字节的随机数组成,一套W×Y的“密钥种子”表D,
其中:表D的元素为Du v,u=0~w-1,v=0~y-1,Du v占0.5字节,或1字节,W=89,或105,Y=16,或32;
12、组合密钥密钥生成算法,是通过一组时间戳和随机数组成的选取参数,来对一组“密钥种子”表的元素进行选取,用时间戳对“密钥种子”表的“行”元素进行选取,选出Y行Y列的“密钥种子”表的子表,再根据随机数,对Y行Y列的“密钥种子”表的“列”元素进行选取,选出Y个元素,并合成一组加密密钥、解密密钥、存储密钥、认证密钥、签名密钥和签验密钥,其中:Y=16或32;
组合密钥密钥生成算法的具体实现方法如下:
以表D为例,来说明组合密钥密钥生成算法的具体实现方法,当选择表D元素为89行 16列元素时,即:89×16=1424个元素,每个元素占1字节,共占1424字节,当选择表 D元素为105行32列元素时,即:105×32=3360个元素,每个元素占,0.5字节,共占 1680字节;
(1)用时间戳的“年”对应表D中的第1~10行,共10行,“月”对应表D中的第11~ 22行,共12行,“日”对应表D中的第23~53行,共31行,“时”对应表D中的第54~ 77行,共24行,当选择表D元素为89行16列元素时,表D还有12行元素不对应时间戳;当选择表D元素为105行32列元素时,表D还有28行元素不对应时间戳;
根据时间戳从表D的元素中先选出4行,其方法是:从表D的第1~10行共10行中取1行即:用时间戳“年”数字中个位数的数值,作为取表D中“年”对应的行数,如:时间戳为:2013XXXXXX,则:取表D中的第4行,从表D的第11~22行共12行中取1行即:用时间戳“月”数字的数值,作为取表D中“月”对应的“行”,如:时间戳为:20XX11XXXX,则:取表D中的第21行,从表D的第23~53行共31行中取1行即:用时间戳“日”数字的数值,作为取表D中“日”对应的“行”,如:时间戳为:20XXXX30XX,则:取表D中的第52行,从表D的第54~77行共24行中取1行即:用时间戳“时”数字的数值,作为取表D中“时”对应的“行”,如:时间戳为:20XXXXXX21,则:取表D中的第74行,再将表D的第78行~第W行共W-78+1行选出,共选出Y行,其中:Y=16或32行,组成: Y×Y表D的子表D1,
其中:表D1的元素为:DV V,v=0~Y-1,DV V占0.5或1字节,Y=16或32;表D1 中第5行~第Y行的元素与表D的第78行~第W行的元素完全相同;
(2)设:随机数为:Q1,Q2,......,QY,对应的数值分别为:L1,L2,......,LY,当Y=16时,16位随机数对应的数值为:0~15之间,用:L1,L2,......,L16,对表D1 的列进行选取,即:用第1位随机数Q1的数值L1,来选取表D1第1行的第L1+1列的元素,用第2位随机数Q2的数值L2,来选取表D1第2行的第L2+1列的元素,......,用第16 位随机数Q16的数值L16,来选取表D1第16行的第L16+1列的元素,共选出16个元素;
当Y=32时,32位随机数的数值为:0~31,用:L1,L2,......,L32,对表D1的列进行选取,即:用第1位随机数Q1的数值L1,来选取表D1第1行的第L1+1列的元素,用第2位随机数Q2的数值L2,来选取表D1第2行的第L2+1列的元素,......,用第32位随机数Q32的数值L32,来选取表D1第32行的第L32+1列的元素,共选出32个元素;
由于,国家规定对称算法的密钥长度为128比特,则从表D中选出的Y组元素合并成一组密钥,若表D的元素为:8比特,Y=16,则从表D中选出的16组元素合并成的密钥为128比特,若表D的元素为:4比特,Y=32,则从表D中选出的32组元素合并成的密钥也为128 比特,设:加密密钥、解密密钥、存储密钥、认证密钥、签名密钥和签验密钥都为128比特。
13、根据组合密钥密钥生成算法,能实时产生密钥,一次一变,若时间戳取10位,即:年、月、日和时,“密钥种子”表为89×16,随机数取16位二进制数,其中:每位随机数占4比特,共16种变化,则密钥的变化量为:264/小时;若时间戳取10位即:年、月、日和时,“密钥种子”表为105×32,随机数取32位二进制数,其中:每位随机数占5比特,共32种变化,则密钥的变化量为:2160/小时。
14、验证中心端“密钥种子”数据库建立过程,在验证中心端加密芯片里,调用随机数发生器,1)产生第一组随机数,作为用户标识1对应的一套“密钥种子”表1元素,2)产生第二组随机数,作为用户标识2对应的一套“密钥种子”表2元素,......,N)产生第 n组随机数,作为用户标识n对应的一套“密钥种子”表n元素,其中:每套“密钥种子”表的元素占2.6~3.3字节;
验证中心端加密***,在加密芯片里用存储密钥KK,将用户标识1对应的一套“密钥种子”表1元素加密成密文,用存储密钥KK,将用户标识2对应的一套“密钥种子”表2 元素加密成密文,......,用存储密钥KK,将用户标识n对应的一套“密钥种子”表n元素加密成密文,将用户标识1、“密钥种子”表1元素密文,存储到“密钥种子”数据库的第1条记录,将用户标识2、“密钥种子”表2元素密文,存储到“密钥种子”数据库的第2 条记录,......,将用户标识n、“密钥种子”表n元素密文,存储到“密钥种子”数据库的第n条记录,其中:“密钥种子”数据库有2个字段,即:用户标识i和“密钥种子”表 i元素密文,i=1~n,n≤60亿,n为全体数字货币用户总数。
15、数字货币区块链各个节点端“密钥种子”数据库建立过程,数字货币区块链各个节点端加密***,在加密芯片里用存储密钥CKj,将用户标识1对应的一套“密钥种子”表1元素加密成密文,用存储密钥CKj,将用户标识2对应的一套“密钥种子”表2元素加密成密文,......,用存储密钥CKj将用户标识n对应的一套“密钥种子”表n元素加密成密文,将用户标识1、“密钥种子”表1元素密文,存储到“密钥种子”数据库的第1条记录,将用户标识2、“密钥种子”表2元素密文,存储到“密钥种子”数据库的第2条记录,......,将用户标识n、“密钥种子”表n元素密文,存储到“密钥种子”数据库的第n条记录,其中:“密钥种子”数据库有2个字段,即:用户标识和“密钥种子”表的元素密文,j=10~ 1000,j为数字货币区块链社区节点的总数,i=1~n,n≤60亿,n为全体数字货币用户总数。
16、验证中心端公钥数据库建立过程,在验证中心端,1)产生一组时间戳H1和随机数 S1,由“密钥种子”表LL元素,根据组合密钥生成算法,在加密芯片里,生成一组存储密钥K1,将用户标识1对应的公钥1加密成密文,2)产生一组时间戳H2和随机数S2,由“密钥种子”表LL元素,根据组合密钥生成算法,在加密芯片里,生成一组存储密钥K2,将用户标识2对应的公钥2加密成密文,......,N)产生一组时间戳Hn和随机数Sn,由“密钥种子”表LL元素,根据组合密钥生成算法,在加密芯片里,生成一组存储密钥Kn,将用户标识n对应的公钥n加密成密文;
将用户标识1、公钥1密文、时间戳H1和随机数S1,存储到公钥数据库的第1条记录里,将用户标识2、公钥2密文、时间戳H2和随机数S2,存储到公钥数据库的第2条记录里,......,将用户标识n、公钥n密文、时间戳Hn和随机数Sn,存储到公钥数据库的第 n条记录里,其中:公钥数据库共3个字段,分别存储用户标识、公钥的密文、时间戳和随机数,i=1~n,n≤60亿,n为全体数字货币用户总数。
17、用户的客户端公钥数据库建立过程,验证中心端实时建立基于标识i的公钥临时数据库;
首先,在验证中心端加密芯片里,根据“密钥种子”表LL元素,时间戳Hi和随机数Si,生成存储密钥Ki,将对应标识i的公钥i密文解密,采用存储密钥KK,将对应标识i的“密钥种子”表i元素密文解密,使用时间戳Hi p和随机数Si p,生成一组存储密钥TKi p,将用户标识i对应的公钥i加密成密文,将用户标识i、公钥i的密文、时间戳Hi p和随机数Si p,存储在验证中心端基于标识i的公钥临时数据库记录里,共建立n个公钥临时数据库,每个公钥临时数据库共有n条记录,其中:p=1~n,n≤60亿,n为全体数字货币用户总数,i=1~n,n≤60亿,n为全体数字货币用户总数,时间戳Hi p=Hi,随机数 Si p=Si;
标识i的客户端,从验证中心端下载基于标识i的公钥临时数据库,并作为标识i客户端公钥数据库;
验证中心端,根据数字货币的用户总数增添变化,实时产生基于标识i的公钥临时数据库,并及时发送给客户端提示指令:更新公钥数据库,一旦对应标识i客户端从验证中心端下载完成公钥数据库的更新,则验证中心端立即清除该基于标识i的公钥临时数据库;
用户标识i的客户端,向验证中心端下载部分用户的公钥密文过程,首先,用户标识i 的客户端,向验证中心端发送标识P1、标识P2、......、标识Pr,验证中心端在基于标识i的公钥临时数据库里,将对应标识P1、标识P2、......、标识Pr的记录,下载到标识i 的客户端,作为标识i客户端公钥数据库中的记录,其中:P1=1~n,P2=1~ n,......,Pr=1~n,c≠d,Pc≠Pd,1≤c≤r,1≤d≤r,Pc≠i,Pd≠i,r<n。
18、当用户A和用户B处于线上即:有中心交易时,用户A与用户B之间的有中心交易协议,
设:付款方为用户A,收款方为用户B,
方法一:用户A客户端加密***,由摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,产生一组时间戳a1和随机数a1,由“密钥种子”表a元素,根据组合密钥生成算法,在加密芯片里,产生一组签名密钥aK1,采用签名密钥aK1加密M1和交易单,得到用户A对交易单的签名即:签名码1,且得到交易单的密文,将用户A的标识、交易单的验证码M1、交易单的签名即:签名码1、交易单密文、时间戳a1和随机数a1,一并发送给验证中心端;
用户B客户端加密***,由摘要算法对交易单进行摘要,得到摘要信息M1即:验证码 M1,产生一组时间戳b1和随机数b1,由“密钥种子”表b元素,根据组合密钥生成算法,在加密芯片里,产生一组签名密钥bK1,采用签名密钥bK1加密M1和交易单,得到签名码2 即:用户B对交易单的签名,且得到交易单的密文,将用户B的标识、交易单的验证码M1、交易单的签名即:签名码2、时间戳b1和随机数b1,一并发送给验证中心端;
验证中心端加密***,在“密钥种子”数据库中,分别调用对应用户A和用户B对应的“密钥种子”表a元素的密文,以及“密钥种子”表b元素的密文,在验证中心端加密芯片里,用存储密钥KK,将对应用户A的“密钥种子”表a元素密文解密,并将对应用户B 的“密钥种子”表b元素密文解密,由用户A的“密钥种子”表a元素、时间戳a1和随机数a1,根据组合密钥生成算法,生成签验密钥aK2,对交易单用户A的签名进行签验,并对交易单密文进行解密,即:用签验密钥aK2,解密签名码1和交易单的密文,得到验证码M2 和交易单的明文,由用户B的“密钥种子”表b元素,时间戳b1和随机数b1,根据组合密钥生成算法,生成签验密钥bK2,对交易单用户B的签名进行签验,即:用签验密钥aK2,解密签名码2,得到验证码M3,通过对比M1和M2是否相同,来判别用户A对交易单的签名是否可信,完整,通过对比M1和M3是否相同,来判别用户B对交易单的签名是否可信,完整,若M1≠M2,或M1≠M3,则签验未通过,交易失败,若M1=M2,且M1=M3,则签验都通过,数字货币交易***,将交易单中的金额,从用户A的电子钱包转入用户B的电子钱包里,同时,将该交易单作为一条记录,分别存储到用户A的电子钱包和用户B的电子钱包里,从而,完成用户A与用户B之间的有中心交易过程,其中:1≤A≤n,1≤B≤n,A≠B,n ≤60亿,n为全体数字货币用户总数;
方法二:用户A客户端加密***,向数字货币交易***发出交易请求,数字货币交易***,产生一组时间戳a1和随机数a1,并发送给用户A客户端,在用户A客户端加密芯片里,由“密钥种子”表a元素,时间戳a1和随机数a1,根据组合密钥生成算法,产生一组签名密钥aK1,由摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,采用签名密钥 aK1加密M1和交易单,得到签名码1和交易单的密文,将用户A的标识、验证码M1、交易单的签名即:签名码1、交易单密文、时间戳a1和随机数a1,一并发送给验证中心端;
验证中心端加密***,在“密钥种子”数据库中,根据用户A的标识,调用对应用户A的“密钥种子”表a元素的密文,在验证中心端加密芯片里,用存储密钥KK将对应用户A 的“密钥种子”a表元素的密文解密,由用户A的“密钥种子”表a元素,时间戳a1和随机数a1,根据组合密钥生成算法,生成签验密钥aK2,用签验密钥aK2解密用户A对交易单的签名和交易单的密文,即:解密签名码1和交易单的密文,得到验证码M2和交易单的明文,通过对比M1和M2是否相同,来判别用户A对交易单的签名是否可信,完整,若M1=M2,则签验通过,数字货币交易***,根据交易单中收款人为用户B,将交易单的资金额,从用户A的电子钱包转入用户B的电子钱包里,同时,将该交易单作为一条记录,分别存储到用户A的电子钱包和用户B的电子钱包里,从而,完成用户A与用户B之间的有中心交易过程,其中:1≤A≤n,1≤B≤n,A≠B,n≤60亿,n为全体数字货币用户总数;
有中心交易,是通过验证中心端加密***,对交易单的用户签名进行签验,验证中心端没有部署摘要算法,也没有部署签名协议,签验过程在验证中心端也并没有调用摘要算法,是通过客户端传输来的验证码M1和签名码1,在验证中心端解密签名码1得到验证码M2,通过对比M1和M2是否相同,来判断客户端用户的签名是否可信,完整,可防止不法分子在验证中心端进行伪签名,同时,可提高验证中心端并发签验的效率。
19、当用户A和用户B处于双离线即:线下交易时,用户A与用户B之间的双离线交易协议,
设:付款方为用户A,收款方为用户B,
用户A客户端加密***,调用摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,采用用户A的私钥加密M1得到签名码1,即:采用用户A的私钥对交易单进行签名,再产生一组时间戳a1和随机数a1,由“密钥种子”表a元素,根据组合密钥生成算法,产生一组签名密钥aK1,用户A采用签名密钥aK1加密M1,得到签名码2,即:用户A对交易单进行二次签名;
用户A通过手机端二维码,或者手机的NFC功能,将用户A的公钥、交易单、验证码M1和签名码1,即:用户A用私钥对交易单的签名,一并传输给用户B手机端;
用户B客户端加密***,调用摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,采用用户B的私钥加密M1,得到签名码3,即:采用用户B的私钥对交易单进行签名,再产生一组时间戳b1和随机数b1,由“密钥种子”表b元素,根据组合密钥生成算法,产生一组签名密钥bK1,用户B采用签名密钥bK1加密M1,得到得到签名码4,即:用户B 对交易单进行二次签名,
用户B通过手机端二维码,或者手机的NFC功能,将用户B的公钥、交易单、验证码M1和验证码3即:用户B用私钥对交易单的签名,一并传输给用户A手机端;
用户B客户端加密***,采用用户A的公钥对交易单用户A的私钥签名进行签验,即:采用用户A的公钥,解密签名码1得到验证码M2,通过对比M1和M2是否相同,来判断用户A用私钥的签名是否可信,完整;
用户A客户端加密***,采用用户B的公钥对交易单用户B的私钥签名进行签验,即:采用用户B的公钥,解密签名码3得到验证码M3,通过对比M1和M3是否相同,来判断用户B用私钥的签名是否可信,完整;
若M1≠M2,或M1≠M3,则签验未通过,交易失败,若M1=M2,且M1=M3,则签验都通过,交易双方用户在各自的客户端,分别对比两端的交易单是否相同,若都相同,数字货币交易***,将通过签验的交易单中对应的资金额,转入用户B的电子钱包里,同时,将该交易单作为一条记录,分别存储到用户A的电子钱包和用户B的电子钱包里,从而,完成用户 A与用户B之间的双离线即:线下交易过程;
其中:用户A和用户B在各自的客户端,分别采用各自的私钥对交易单进行签名,是实现用户A与用户B之间处于双离线时,进行相互签验并执行交易单的支付;
用户A和用户B在各自的客户端,分别由组合密钥生成算法,产生各自的一组签名密钥aK1和bK1,分别对交易单进行签名,是为建立数字货币区块链时,各个节点端加密***,可实现对交易单的签名进行并发快速签验。
20、当用户A和用户B处于点对点即:无中心交易时,用户A与用户B之间的无中心交易协议,
设:付款方为用户A,收款方为用户B,用户A客户端加密***,在加密芯片里,调用摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,采用私钥加密M1得到签名码1,即:用户A用私钥对交易单的签名,再产生一组时间戳a1和随机数a1,由“密钥种子”表a元素,根据组合密钥生成算法,产生一组签名密钥aK1,加密M1得到签名码2,即:用户A用签名密钥aK1对交易单的二次签名;
用户B客户端加密***,在加密芯片里,调用摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,采用私钥加密M1得到签名码3,即:用户B用私钥对交易单的签名,再产生一组时间戳b1和随机数b1,由“密钥种子”表b元素,根据组合密钥生成算法,产生一组签名密钥bK1,加密M1得到签名码4,即:用户B用签名密钥bK1对交易单的二次签名;
用户A客户端加密***,将用户A的标识、交易单、验证码M1和签名码1即:用户A 采用私钥对交易单的签名,一并发送给用户B客户端;
用户B客户端加密***,将用户B的标识、交易单、验证码M1和签名码3即:用户B 采用私钥对交易单的签名,一并发送给用户A客户端;
用户B客户端加密***,根据标识a取出对应记录中的公钥a的密文,以及时间戳Hba 和随机数Sb a,由客户端加密芯片里的“密钥种子”表b元素,根据组合密钥生成算法,产生存储密钥TKb a,解密公钥a的密文得到明文;
用户A客户端加密***,根据标识b取出对应记录中的公钥b的密文,以及时间戳Hab 和随机数Sa b,由客户端加密芯片里的“密钥种子”表a元素,根据组合密钥生成算法,产生存储密钥TKa b,解密公钥b的密文得到明文;
用户B客户端加密***,采用用户A的公钥a,解密签名码1即:用户A用私钥对交易单的签名,得到验证码M2,通过对比M1和M2是否相同,来对用户A的私钥签名进行签验,若M1=M2,则用户A用私钥对交易单的签名通过签验;
用户A客户端加密***,采用用户B的公钥b,解密签名码3即:用户B用私钥对交易单的签名,得到验证码M3,通过对比M1和M3是否相同,来对用户B的私钥签名进行签验,若M1=M3,则用户B用私钥对交易单的签名通过签验;
若M1=M2,且M1=M3,则签验都通过,交易双方用户在各自的客户端,分别对比两端的交易单是否相同,若都相同,数字货币交易***,将都通过签验的交易单中对应的资金额,转入用户B的电子钱包里,同时,将该交易单作为一条记录,分别存储到用户A的电子钱包和用户B的电子钱包里,从而,完成用户A与用户B之间的点对点即:无中心交易过程;
各个用户的客户端,事先从验证中心端,以密文方式直接下载用户的公钥,并将用户的公钥密文存储到手机端,当交易双方用户之间进行点对点交易时,双方可直接在自己的客户端调用对方的可信公钥,不需要进行公钥交换,可有效提高点对点交易的安全等级,同时,提高点对点交易的速度。
21、交易双方对交易单进行二次签名的过程,以及区块链的各个节点端,分别采用“垂直认证”技术对交易单的签名进行签验协议,同时,建立数字货币区块链的过程,
设:付款方为用户A,收款方为用户B,
1)交易双方对交易单进行二次签名的协议,
用户A客户端加密***,采用私钥对交易单进行签名,再产生一组时间戳b1和随机数 b1,由“密钥种子”表a元素,根据组合密钥生成算法,在加密芯片里,产生一组签名密钥aK1,调用摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,用签名密钥aK1加密验证码M1和交易单,得到签名码1即:用户A对交易单的签名,并得到交易单的密文;
用户B客户端加密***,采用私钥对交易单进行签名,再产生一组时间戳b1和随机数 b1,由“密钥种子”表b元素,根据组合密钥生成算法,在加密芯片里,产生一组签名密钥bK1,调用摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,用签名密钥bK1 加密验证码M1,得到签名码2即:用户B对交易单的签名;
2)区块链各个节点端加密***,分别采用“垂直认证”技术对交易单的签名进行签验协议,同时,建立数字货币区块链的过程,
用户A和用户B对交易单进行二次签名,且完成了交易单的支付后,数字货币交易***,将用户A的标识、用户B的标识、交易单的密文、验证码M1、签名码1即:用户A对交易单的签名,签名码2即:用户B对交易单的签名,时间戳a1和随机数a1,时间戳b1和时间戳b1,一并发送到区块链社区;
区块链各个节点端加密***,调用对应用户A的“密钥种子”表a元素密文和对应用户B的“密钥种子”表b元素密文,在节点端加密芯片里,用存储密钥CKj分别解密;
由“密钥种子”表a元素,时间戳a1和随机数a1,根据组合密钥生成算法,产生一组签验密钥aK2,解密签名码1和交易单的密文,得到验证码M2,并得到交易单的明文,若 M1=M2,则用户A对交易单的签名通过签验;
由“密钥种子”表b元素,时间戳b1和随机数b1,根据组合密钥生成算法,产生一组签验密钥bK2,解密签名码2,得到验证码M3,若M1=M3,则用户B对交易单的签名通过签验;
若对用户A和用户B的签验都通过,则数字货币交易***,验证用户A电子钱包与用户B钱包里,是否存储了与该交易单相同的一条记录,且用户A钱包已支付款,与用户B钱包已收到款是否相同,若验证都通过,则将该交易单分别存储到每个节点端的交易数据库里,作为区块链中一个区块的一条记录,其中:j=10~1000,j为区块链社区节点的总和;
根据信用共识POC算法,记账者将在T时间内,将通过签验和验证的所有交易单作为一个区块进行记账,区块链***采用哈希函数SM3算法,将各个区块连接在一起建立区块链,形成一个账本数据库,从而,完成数字货币区块链建立的过程;
区块链的各个节点端加密***,采用“垂直认证”技术建立的签验协议,对交易单采用“垂直认证”技术的签名进行签验,可发挥对称算法的加/解密速度快的优势,对称算法的签验速度对比公钥算法快100倍以上,这种将公钥算法并发签验,转成采用对称算法的并发签验的区块链***,可大大提高建立区块链的效率,减少设备投入。
22、用户通过身份认证后,登录自己电子钱包,采用“垂直认证”技术建立的身份认证协议如下:
用户A手机端发送认证请求给数字货币***,数字货币***返回一组时间戳a2,客户端加密***,在加密芯片里,生成一组随机数a2,调用摘要算法,对时间戳和随机数进行摘要,得到摘要信息N1即:验证码N1,由“密钥种子”表a的元素,时间戳a2和随机数a2,根据组合密钥生成算法,生成认证密钥LK1,用LK1加密验证码N1得到验证码N1的密文即:签名码,将用户A的标识、验证码N1、签名码、时间戳a2和随机数a2,一并发送给数字货币***,再转发给验证中心端;
验证中心端加密***,根据用户A的标识,从“密钥种子”数据库里,取出对应的“密钥种子”表a元素密文,在加密芯片里,用存储密钥KK解密“密钥种子”表a元素密文,由时间戳a2和随机数a2,根据组合密钥生成算法,生成认证密钥LK2,用LK2解密签名码,得到验证码N2,对比N1和N2是否相同,来判断用户A的身份是否可信,若N1≠N2,则用户A的身份为假,若N1=N2,则用户A的身份可信,真实,用户A登录自己的电子钱包。
23、在全国范围内,建立Z=400个分布式数字货币区块链社区,并建立E=Z/2=200座验证中心,将Z个数字货币区块链社区,分别与数字货币数据结算中心连接,各个区块链的账本数据库,实时传输到数字货币交易***的结算中心,同时,E=Z/2=200座验证中心也分别与Z个分布式区块链社区连接;
当用户A和用户B处于有中心交易时,首先,用户A和用户B,在各自的客户端加密芯片里,分别采用“垂直认证”技术建立的签名协议,对交易单进行签名,验证中心端加密***,采用“垂直认证”技术对交易单的签名进行签验;
数字货币交易***,根据省、市地区分布进行任务分配,将交易双方用户签名的交易单,发送给对应地区的验证中心,对应地区的验证中心端加密***,采用“垂直认证”技术建立的签验协议,对交易单的签名进行签验,若交易单通过签验,则交易单执行支付,并将交易双方用户分别签名的交易单,根据省、市地区分布,发送给对应的数字货币区块链社区,再由该数字货币区块链的各个节点端加密***,分别采用“垂直认证”技术建立的签验协议,对该交易单分别进行签验;
当用户A和用户B处于无中心交易时,首先,用户A和用户B,在各自的客户端加密芯片里,分别采用各自的私钥,对交易单进行签名,并采用“垂直认证”技术建立的签名协议,分别对交易单进行二次签名;
用户A客户端加密***,采用用户B的公钥,对用户B私钥签名的交易单进行签验,用户B客户端加密***,采用用户A的公钥,对用户A私钥签名的交易单进行签验,若都通过签验,则交易单执行支付,并将交易双方用户分别二次签名的交易单,根据省、市地区分布,发送给对应的数字货币区块链社区,再由该数字货币区块链的各个节点端加密***,分别采用“垂直认证”技术建立的签验协议,对该交易单分别进行签验;
若数字货币区块链的各个节点端对交易单的验证都通过,则将该交易单分别存储到每个节点端的交易数据库里,作为区块链中一个区块的一条记录;
根据信用共识POC算法,记账者将在T=60~600秒时间内,将通过签验和验证的所有交易单作为一个区块进行记账,区块链***采用哈希函数SM3算法,将各个区块连接在一起建立区块链;
将Z个区块链的数据发送给数字货币交易***的结算中心,实现数字货币的实时结算和数据统计;
当交易双方用户采用有中心交易时,数字货币交易***将交易单的并发签验任务,分配到E=200个验证中心去完成,且对称算法加/解密速度比公钥算法,在计算机内存里快100 倍,在芯片里快1000倍,从而,大大提高验证中心端交易单并发签验速度,可保证1秒钟内,每座验证中心可并发签验2000次,E=200座验证中心,可保证交易双方用户可同时完成约40万笔/秒交易;
采用当交易双方用户采用无中心交易方式,亦即:用户两两之间采用的是直接交易,可保证交易过程不受中心的制约,保证交易双方用户可同时完成超过40万笔/秒交易;
总之,采用有中心交易或无中心交易时,都可以满足中国数字货币交易速度为30笔/秒的设计标准;
在数字货币区块链的各个节点端,采用“垂直认证”技术建立的签验协议,可保证区块链各个节点端的运行效率达到1000笔/秒,通过建立400个分布式区块链社区,可保证整个数字货币的区块链***运行速度,合计达到40万笔/秒,因此,采用“垂直认证”技术建立 400个数字货币区块链社区,也可满足中国数字货币建立区块链处理速度达30笔/秒的设计需求。
附图说明:
图1:数字货币交易***,通过建立E座验证中心和Z个区块链社区,保证交易速度和建立区块链速度都达到40万笔/秒的实施过程,
具体实施方式:
以下结合附图说明,通过建立E=200座验证中心和Z=400个区块链社区,保证数字货币交易速度和区块链的建立速度都达到40万笔/秒的实现步骤:
图1:说明数字货币交易***,通过建立E=200座验证中心和Z=400个区块链社区,保证交易速度和区块链的建立速度都达到40万笔/秒,满足中国数字货币交易速度为30笔/秒设计标准的实施步骤:
首先,在数字货币交易***,建立E=200座验证中心,建立数字货币区块链社区400个,当交易双方用户处于有中心交易时,数字货币交易***,将交易双方用户采用“垂直认证”技术签名的交易单,根据建立200座验证中心的省、市地区分布,将验证任务分配给对应地区的验证中心,对应地区的验证中心端加密***,采用“垂直认证”技术建立的签验协议,对交易单的签名进行签验,若通过签验的交易单,数字货币交易***对交易单执行支付;
采用“垂直认证”技术建立的签验协议,可充分发挥对称算法加/解密速度快的优势,可保证有中心交易的速度达到2000笔/秒左右,200座验证中心,共计并发签验且支付速度可达到40万笔/秒,满足中国数字货币交易速度为30笔/秒的设计标准;
当交易双方用户处于无中心交易时,交易双方用户分别采用对方的公钥,对交易单对方私钥签名进行签验,若通过签验的交易单,则数字货币交易***对交易单执行支付;
交易双方用户采用点对点交易方式,即:交易双方用户之间进行两两相互签验并交易,用户之间并发签验和交易过程都不受中心的制约,可保证交易双方用户可同时完成超过40 万笔/秒交易,也可满足中国数字货币交易速度为30笔/秒的设计标准;
数字货币交易***,将交易双方用户分别进行二次签名的交易单,根据Z=400个数字货币区块链社区的省、市地区分布,发送给对应的数字货币区块链社区;
在数字货币区块链的各个节点端加密***,采用“垂直认证”技术建立的签验协议,分别对该交易单进行签验,可充分发挥对称算法加/解密速度快的优势,保证在数字货币区块链的各个节点端加密***,并发签验速度达到1000笔/秒左右,Z=400个数字货币区块链社区,共计并发签验速度可达到40万笔/秒,满足中国数字货币交易速度为30笔/秒的设计标准;
数字货币的各个区块链社区,根据各个节点端加密***,对交易单进行签验的结果,建立各个区块链的账本数据库,并将Z个区块链的数据实时发送给数字货币交易***的结算中心,实现数字货币的实时结算和数据统计。
Claims (8)
1.一种基于区块链技术的数字货币实现方法,是采用有中心交易与无中心交易相结合的数字货币技术架构,针对点对点交易,采用私钥对交易单进行签名,采用“垂直认证”技术对交易单进行二次签名,通过公钥签验的交易单执行支付,针对有中心交易,采用“垂直认证”技术对交易单进行签名,通过验证中心签验的交易单执行支付,数字货币区块链各个节点端加密***,分别采用“垂直认证”技术对交易单的签名进行签验,通过建立200座验证中心和400个分布式数字货币区块链社区,可保证整个数字货币交易***的区块链运行效率达到约40万笔/秒,达到中国银行数字货币交易速度为30万笔/秒的设计标准,从而,建立一种安全高效的数字货币交易***,其方法的技术特征在于:
在客户端部署加密***,在加密芯片里写入用户的标识、对称算法、公钥算法、组合密钥生成算法、一组私钥、一组公钥、一组“密钥种子”表的元素,采用“垂直认证”技术建立签名协议,采用“垂直认证”技术建立的身份认证协议,在客户端安装一个子电子钱包,建立客户端公钥数据库,事先,在验证中心端加密芯片里,将对应标识i的“密钥种子”表i的元素密文解密,使用时间戳Hi p和随机数Si p,生成一组存储密钥TKi p,将用户标识i对应的公钥i加密成密文,将用户标识i、公钥i的密文、时间戳Hi p和随机数Si p,存储在验证中心端基于标识i的公钥临时数据库记录里,共生成n条记录,由对应标识i的客户端,从验证中心端下载基于标识i的公钥临时数据库,并作为标识i的客户端公钥数据库存储在客户端,其中:客户端公钥数据库的记录可一次性从验证中心端下载,或者,根据用户的标识,从验证中心端有选择性的下载;
在数字货币交易***中部署验证中心,在验证中心端部署加密硬件设备,建立验证中心端加密***,在加密硬件的芯片里,写入对称算法、公钥算法、组合密钥生成算法,采用“垂直认证”技术建立签验协议,采用“垂直认证”技术建立身份认证协议,建立“密钥种子”数据库,建立公钥数据库,事先,用验证中心端加密芯片里的一组存储密钥KK,分别将全体用户标识i对应的“密钥种子”表i的元素加密成密文,存储在“密钥种子”数据库记录中,事先,在验证中心端加密芯片里,生成时间戳Hi和随机数Si,采用一套“密钥种子”表LL的元素,根据组合密钥生成算法,生成一组存储密钥Ki,将用户标识i对应的公钥i加密成密文,存储在公钥数据库记录中,在验证中心的服务器里,为每个用户部署一个子电子钱包,其中:p=1~n,n≤60亿,n为全体数字货币用户总数,i=1~n,n≤60亿,n为全体数字货币用户总数,注:验证中心端没有写入摘要算法;
在数字货币交易***建立区块链社区,区块链社区由j=10~1000个节点组成,每个节点由1~20个服务器和1~20个加密设备组成,并将验证中心通过网络与各个区块链社区相连;
在各个数字货币区块链节点端都部署加密硬件设备,建立节点端加密***,在加密硬件的芯片里,写入对称算法、公钥算法、组合密钥生成算法,采用“垂直认证”技术建立签验协议,建立“密钥种子”数据库,事先,用节点端加密芯片里的一组存储密钥CKj,分别将全体用户对应的“密钥种子”表i元素加密成密文,存储在“密钥种子”数据库记录中,其中:j=10~1000,j为区块链社区节点的总和,i=1~n,n≤60亿,n为全体数字货币用户的总和,注:各个数字货币区块链节点端没有写入摘要算法;
数字货币交易***的交易方式包括:1)线上交易指:有中心交易;2)双离线交易指:线下交易;3)点对点交易指:无中心交易;
验证中心的功能:
1)当交易双方用户通过验证中心进行交易时,验证中心端加密***,采用“垂直认证”技术建立的签验协议,对交易单的签名进行签验,对通过签验的交易单执行支付;
2)当交易双方用户进行点对点交易时,验证中心端为交易双方用户提供可信公钥下载服务;
每个数字货币区块链社区的功能,是建立一个账本数据库,数字货币区块链的各个节点端加密***,分别采用“垂直认证”技术对交易单的签名进行签验,数字货币交易***,分别验证交易双方用户电子钱包的交易记录是否真实,可信,若都通过验证,则数字货币交易***,将该交易单存储到账本数据库的记录中;
“垂直认证”技术的定义:密钥集中生成,集中灌装,集中分发和集中销毁;“垂直认证”技术的特征是,采用对称算法建立认证、签名和加密协议,采用组合密钥生成算法,来解决对称算法的密钥交换、更新和管理难题;
组合密钥密钥生成算法,是由一组时间戳和随机数组成的选取参数,来对一组“密钥种子”表的元素进行选取,将选出的Y个元素,合成一组加密密钥、解密密钥、认证密钥、存储密钥、签名密钥或签验密钥,其中:Y=16或32;
数字货币交易***为用户的子电子钱包设置口令认证功能,在客户端用户可通过口令认证,登录客户端用户的子电子钱包,只能浏览记录,不能修改交易记录;
数字货币交易***在客户端,为每个用户的电子钱包设置身份认证按钮,通过调用客户端基于“垂直认证”技术的身份认证协议,可登录进入自己的电子钱包,只能浏览电子钱包的交易记录,不能修改交易记录;
常见的共识算法包括:信用共识POC、或者委托权益共识DPOS、或者权益共识POS,为保证数字货币的安全、高效、去中心化、稳定的区块链共识算法,本发明选择信用共识POC;
根据信用共识POC算法,记账者将在T=60秒~600秒内,将通过签验和验证的所有交易单作为一个区块进行记账,区块链***采用哈希函数SM3算法,将各个区块连接在一起建立区块链;
当用户A和用户B处于线上即:有中心交易时,用户A客户端和用户B客户端加密***,分别根据各自的“密钥种子”表的元素,产生一组签名密钥,分别对交易单进行签名,验证中心端加密***,调用对应用户A和用户B对应的“密钥种子”表的元素密文,在加密芯片里解密,再分别产生一组签验密钥,对交易单的签名进行签验,若签验通过,则数字货币交易***,将交易单的资金额,从用户A的电子钱包转入用户B的电子钱包里,同时,将该交易单作为一条记录,分别存储到用户A的电子钱包和用户B的电子钱包里,从而,完成用户A与用户B之间的线上即:有中心交易过程;
当用户A和用户B处于双离线即:线下交易时,用户A客户端加密***,用采用私钥对交易单进行签名,并根据用户A端加密芯片里的“密钥种子”表的元素,产生一组签名密钥,对交易单进行二次签名,用户B客户端加密***,采用私钥对交易单进行签名,并根据用户B端加密芯片里的“密钥种子”表的元素,产生一组签名密钥,对交易单进行二次签名,通过交易双方用户客户端二维码,或者手机的NFC功能,来进行双方公钥、交易单和交易单签名的数据交换,用户B客户端加密***,采用用户A的公钥对交易单用户A的私钥签名进行签验,用户A客户端加密***,采用用户B的公钥对交易单用户B的私钥签名进行签验,数字货币交易***,将都通过签验的交易单中对应的资金额,从用户A的电子钱包转入用户B的电子钱包里,同时,将该交易单作为一条记录,分别存储到用户A的电子钱包和用户B的电子钱包里,从而,完成用户A与用户B之间的双离线即:线下交易过程;
当用户A和用户B处于点对点即:无中心交易时,用户A和用户B的客户端加密***,分别采用各自的私钥对交易单进行签名,并根据各自客户端加密芯片里的“密钥种子”表的元素,分别产生一组签名密钥,对交易单分别进行二次签名,用户B客户端加密***,在客户端,根据对方用户A的标识,在客户端公钥数据库中,取出对应用户A的公钥,对交易单用户A的私钥签名进行签验,用户A客户端加密***,在客户端,根据对方用户B的标识,在客户端公钥数据库中,取出对应用户B的公钥,对交易单用户B的私钥签名进行签验,数字货币交易***,将都通过签验的交易单执行支付,从而,完成用户A与用户B之间的无中心交易过程;
用户A和用户B之间,在各自的客户端公钥数据库中,根据对方用户的标识,取出对应的公钥,来实现用户A与用户B之间的公钥交换过程,安全等级较高,可保证用户的公钥真实,可信;
若建立数字货币的区块链,数字货币交易***,将由用户A和用户B分别都进行二次签名的交易单,发送到数字货币区块链社区,数字货币区块链各个节点端加密***,分别采用“垂直认证”技术的签验协议,对该交易单的签名进行签验,若都通过签验,则数字货币交易***,再验证各个节点端用户A电子钱包与用户数字B钱包里,是否存储了与该交易单相同的一条记录,且用户A电子钱包已交易款,用户B电子钱包已收到款是否相同,若验证都通过,则将该交易单分别存储到每个节点端的交易数据库里,作为区块链中一个区块的一条记录,其中:1≤A≤n,1≤B≤n,A≠B,n≤60亿,n为全体数字货币用户总数;
根据信用共识POC算法,记账者将在T=60~600时间内,将通过签验和验证的所有交易单作为一个区块进行记账,区块链***采用哈希函数SM3算法,将各个区块连接在一起建立区块链;
总之,在客户端、验证中心端和区块链节点端,都部署加密芯片,建立“芯片级”签名协议和签验协议,由组合密钥生成算法,保证“垂直认证”技术的各种密钥实时生成,一次一变,事先,将全体用户对应的两两不同的“密钥种子”表i元素,加密成密文存储在验证中心端的“密钥种子”数据库中,并将全体用户对应的公钥也加密成密文,存储在验证中心端的公钥数据库中,同时,将全体用户对应的两两不同的“密钥种子”表i元素,加密成密文存储在各个节点端的“密钥种子”数据库中,保证全体用户对应的公钥和“密钥种子”表i元素存储和传输安全,可提高基于区块链技术数字货币交易***的安全等级,j=10~1000,j为区块链社区节点的总和,i=1~n,n≤60亿,n为全体数字货币用户总数;
采用公钥算法建立数字货币的点对点即:无中心交易协议,来提高无中心交易的效率和便捷性,采用“垂直认证”技术,来提高区块链节点端的交易单并发签验的速度,保证数字货币交易***区块链的运行效率。
2.根据权利要求1的方法,其特征在于:
(1)验证中心端“密钥种子”数据库建立过程,在验证中心端加密芯片里,调用随机数发生器,1)产生第一组随机数,作为用户标识1对应的一套“密钥种子”表1元素,2)产生第二组随机数,作为用户标识2对应的一套“密钥种子”表2元素,......,N)产生第n组随机数,作为用户标识n对应的一套“密钥种子”表n元素,其中:每套“密钥种子”表的元素占2.6~3.3字节;
验证中心端加密***,在加密芯片里用存储密钥KK,将用户标识1对应的一套“密钥种子”表1元素加密成密文,用存储密钥KK,将用户标识2对应的一套“密钥种子”表2元素加密成密文,......,用存储密钥KK,将用户标识n对应的一套“密钥种子”表n元素加密成密文,将用户标识1、“密钥种子”表1元素密文,存储到“密钥种子”数据库的第1条记录,将用户标识2、“密钥种子”表2元素密文,存储到“密钥种子”数据库的第2条记录,......,将用户标识n、“密钥种子”表n元素密文,存储到“密钥种子”数据库的第n条记录,其中:“密钥种子”数据库有2个字段,即:用户标识i和“密钥种子”表i元素密文,i=1~n,n≤60亿,n为全体数字货币用户总数;
(2)数字货币区块链各个节点端“密钥种子”数据库建立过程,数字货币区块链各个节点端加密***,在加密芯片里用存储密钥CKj,将用户标识1对应的一套“密钥种子”表1元素加密成密文,用存储密钥CKj,将用户标识2对应的一套“密钥种子”表2元素加密成密文,......,用存储密钥CKj将用户标识n对应的一套“密钥种子”表n元素加密成密文,将用户标识1、“密钥种子”表1元素密文,存储到“密钥种子”数据库的第1条记录,将用户标识2、“密钥种子”表2元素密文,存储到“密钥种子”数据库的第2条记录,......,将用户标识n、“密钥种子”表n元素密文,存储到“密钥种子”数据库的第n条记录,其中:“密钥种子”数据库有2个字段,即:用户标识和“密钥种子”表的元素密文,j=10~1000,j为数字货币区块链社区节点的总数,i=1~n,n≤60亿,n为全体数字货币用户总数。
3.根据权利要求1的方法,其特征在于:
(1)验证中心端公钥数据库建立过程,在验证中心端,1)产生一组时间戳H1和随机数S1,由“密钥种子”表LL元素,根据组合密钥生成算法,在加密芯片里,生成一组存储密钥K1,将用户标识1对应的公钥1加密成密文,2)产生一组时间戳H2和随机数S2,由“密钥种子”表LL元素,根据组合密钥生成算法,在加密芯片里,生成一组存储密钥K2,将用户标识2对应的公钥2加密成密文,......,N)产生一组时间戳Hn和随机数Sn,由“密钥种子”表LL元素,根据组合密钥生成算法,在加密芯片里,生成一组存储密钥Kn,将用户标识n对应的公钥n加密成密文;
将用户标识1、公钥1密文、时间戳H1和随机数S1,存储到公钥数据库的第1条记录里,将用户标识2、公钥2密文、时间戳H2和随机数S2,存储到公钥数据库的第2条记录里,......,将用户标识n、公钥n密文、时间戳Hn和随机数Sn,存储到公钥数据库的第n条记录里,其中:公钥数据库共3个字段,分别存储用户标识、公钥的密文、时间戳和随机数,i=1~n,n≤60亿,n为全体数字货币用户总数;
(2)用户的客户端公钥数据库建立过程,验证中心端实时建立基于标识i的公钥临时数据库;
首先,在验证中心端加密芯片里,根据“密钥种子”表LL元素,时间戳Hi和随机数Si,生成存储密钥Ki,将对应标识i的公钥i密文解密,采用存储密钥KK,将对应标识i的“密钥种子”表i元素密文解密,使用时间戳Hi p和随机数Si p,生成一组存储密钥TKi p,将用户标识i对应的公钥i加密成密文,将用户标识i、公钥i的密文、时间戳Hi p和随机数Si p,存储在验证中心端基于标识i的公钥临时数据库记录里,共建立n个公钥临时数据库,每个公钥临时数据库共有n条记录,其中:p=1~n,n≤60亿,n为全体数字货币用户总数,i=1~n,n≤60亿,n为全体数字货币用户总数,时间戳Hi p=Hi,随机数Si p=Si;
标识i的客户端,从验证中心端下载基于标识i的公钥临时数据库,并作为标识i客户端公钥数据库;
验证中心端,根据数字货币的用户总数增添变化,实时产生基于标识i的公钥临时数据库,并及时发送给客户端提示指令:更新公钥数据库,一旦对应标识i客户端从验证中心端下载完成公钥数据库的更新,则验证中心端立即清除该基于标识i的公钥临时数据库;
用户标识i的客户端,向验证中心端下载部分用户的公钥密文过程,首先,用户标识i的客户端,向验证中心端发送标识P1、标识P2、......、标识Pr,验证中心端在基于标识i的公钥临时数据库里,将对应标识P1、标识P2、......、标识Pr的记录,下载到标识i的客户端,作为标识i客户端公钥数据库中的记录,其中:P1=1~n,P2=1~n,......,Pr=1~n,c≠d,Pc≠Pd,1≤c≤r,1≤d≤r,Pc≠i,Pd≠i,r<n。
4.根据权利要求1的方法,其特征在于:
当用户A和用户B处于线上即:有中心交易时,用户A与用户B之间的有中心交易协议,
设:付款方为用户A,收款方为用户B,
方法一:用户A客户端加密***,由摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,产生一组时间戳a1和随机数a1,由“密钥种子”表a元素,根据组合密钥生成算法,在加密芯片里,产生一组签名密钥aK1,采用签名密钥aK1加密M1和交易单,得到用户A对交易单的签名即:签名码1,且得到交易单的密文,将用户A的标识、交易单的验证码M1、交易单的签名即:签名码1、交易单密文、时间戳a1和随机数a1,一并发送给验证中心端;
用户B客户端加密***,由摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,产生一组时间戳b1和随机数b1,由“密钥种子”表b元素,根据组合密钥生成算法,在加密芯片里,产生一组签名密钥bK1,采用签名密钥bK1加密M1和交易单,得到签名码2即:用户B对交易单的签名,且得到交易单的密文,将用户B的标识、交易单的验证码M1、交易单的签名即:签名码2、时间戳b1和随机数b1,一并发送给验证中心端;
验证中心端加密***,在“密钥种子”数据库中,分别调用对应用户A和用户B对应的“密钥种子”表a元素的密文,以及“密钥种子”表b元素的密文,在验证中心端加密芯片里,用存储密钥KK,将对应用户A的“密钥种子”表a元素密文解密,并将对应用户B的“密钥种子”表b元素密文解密,由用户A的“密钥种子”表a元素、时间戳a1和随机数a1,根据组合密钥生成算法,生成签验密钥aK2,对交易单用户A的签名进行签验,并对交易单密文进行解密,即:用签验密钥aK2,解密签名码1和交易单的密文,得到验证码M2和交易单的明文,由用户B的“密钥种子”表b元素,时间戳b1和随机数b1,根据组合密钥生成算法,生成签验密钥bK2,对交易单用户B的签名进行签验,即:用签验密钥aK2,解密签名码2,得到验证码M3,通过对比M1和M2是否相同,来判别用户A对交易单的签名是否可信,完整,通过对比M1和M3是否相同,来判别用户B对交易单的签名是否可信,完整,若M1≠M2,或M1≠M3,则签验未通过,交易失败,若M1=M2,且M1=M3,则签验都通过,数字货币交易***,将交易单中的金额,从用户A的电子钱包转入用户B的电子钱包里,同时,将该交易单作为一条记录,分别存储到用户A的电子钱包和用户B的电子钱包里,从而,完成用户A与用户B之间的有中心交易过程,其中:1≤A≤n,1≤B≤n,A≠B,n ≤60亿,n为全体数字货币用户总数;
方法二:用户A客户端加密***,向数字货币交易***发出交易请求,数字货币交易***,产生一组时间戳a1和随机数a1,并发送给用户A客户端,在用户A客户端加密芯片里,由“密钥种子”表a元素,时间戳a1和随机数a1,根据组合密钥生成算法,产生一组签名密钥aK1,由摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,采用签名密钥aK1加密M1和交易单,得到签名码1和交易单的密文,将用户A的标识、验证码M1、交易单的签名即:签名码1、交易单密文、时间戳a1和随机数a1,一并发送给验证中心端;
验证中心端加密***,在“密钥种子”数据库中,根据用户A的标识,调用对应用户A的“密钥种子”表a元素的密文,在验证中心端加密芯片里,用存储密钥KK将对应用户A的“密钥种子”a表元素的密文解密,由用户A的“密钥种子”表a元素,时间戳a1和随机数a1,根据组合密钥生成算法,生成签验密钥aK2,用签验密钥aK2解密用户A对交易单的签名和交易单的密文,即:解密签名码1和交易单的密文,得到验证码M2和交易单的明文,通过对比M1和M2是否相同,来判别用户A对交易单的签名是否可信,完整,若M1=M2,则签验通过,数字货币交易***,根据交易单中收款人为用户B,将交易单的资金额,从用户A的电子钱包转入用户B的电子钱包里,同时,将该交易单作为一条记录,分别存储到用户A的电子钱包和用户B的电子钱包里,从而,完成用户A与用户B之间的有中心交易过程,其中:1≤A≤n,1≤B≤n,A≠B,n≤60亿,n为全体数字货币用户总数;
有中心交易,是通过验证中心端加密***,对交易单的用户签名进行签验,验证中心端没有部署摘要算法,也没有部署签名协议,签验过程在验证中心端也并没有调用摘要算法,是通过客户端传输来的验证码M1和签名码1,在验证中心端解密签名码1得到验证码M2,通过对比M1和M2是否相同,来判断客户端用户的签名是否可信,完整,可防止不法分子在验证中心端进行伪签名,同时,可提高验证中心端并发签验的效率。
5.根据权利要求1的方法,其特征在于:
(1)当用户A和用户B处于双离线即:线下交易时,用户A与用户B之间的双离线交易协议,
设:付款方为用户A,收款方为用户B,
用户A客户端加密***,调用摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,采用用户A的私钥加密M1得到签名码1,即:采用用户A的私钥对交易单进行签名,再产生一组时间戳a1和随机数a1,由“密钥种子”表a元素,根据组合密钥生成算法,产生一组签名密钥aK1,用户A采用签名密钥aK1加密M1,得到签名码2,即:用户A对交易单进行二次签名;
用户A通过手机端二维码,或者手机的NFC功能,将用户A的公钥、交易单、验证码M1和签名码1,即:用户A用私钥对交易单的签名,一并传输给用户B手机端;
用户B客户端加密***,调用摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,采用用户B的私钥加密M1,得到签名码3,即:采用用户B的私钥对交易单进行签名,再产生一组时间戳b1和随机数b1,由“密钥种子”表b元素,根据组合密钥生成算法,产生一组签名密钥bK1,用户B采用签名密钥bK1加密M1,得到得到签名码4,即:用户B对交易单进行二次签名,
用户B通过手机端二维码,或者手机的NFC功能,将用户B的公钥、交易单、验证码M1和验证码3即:用户B用私钥对交易单的签名,一并传输给用户A手机端;
用户B客户端加密***,采用用户A的公钥对交易单用户A的私钥签名进行签验,即:采用用户A的公钥,解密签名码1得到验证码M2,通过对比M1和M2是否相同,来判断用户A用私钥的签名是否可信,完整;
用户A客户端加密***,采用用户B的公钥对交易单用户B的私钥签名进行签验,即:采用用户B的公钥,解密签名码3得到验证码M3,通过对比M1和M3是否相同,来判断用户B用私钥的签名是否可信,完整;
若M1≠M2,或M1≠M3,则签验未通过,交易失败,若M1=M2,且M1=M3,则签验都通过,交易双方用户在各自的客户端,分别对比两端的交易单是否相同,若都相同,数字货币交易***,将通过签验的交易单中对应的资金额,转入用户B的电子钱包里,同时,将该交易单作为一条记录,分别存储到用户A的电子钱包和用户B的电子钱包里,从而,完成用户A与用户B之间的双离线即:线下交易过程;
其中:用户A和用户B在各自的客户端,分别采用各自的私钥对交易单进行签名,是实现用户A与用户B之间处于双离线时,进行相互签验并执行交易单的支付;
用户A和用户B在各自的客户端,分别由组合密钥生成算法,产生各自的一组签名密钥aK1和bK1,分别对交易单进行签名,是为建立数字货币区块链时,各个节点端加密***,可实现对交易单的签名进行并发快速签验;
(2)当用户A和用户B处于点对点即:无中心交易时,用户A与用户B之间的无中心交易协议,
设:付款方为用户A,收款方为用户B,用户A客户端加密***,在加密芯片里,调用摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,采用私钥加密M1得到签名码1,即:用户A用私钥对交易单的签名,再产生一组时间戳a1和随机数a1,由“密钥种子”表a元素,根据组合密钥生成算法,产生一组签名密钥aK1,加密M1得到签名码2,即:用户A用签名密钥aK1对交易单的二次签名;
用户B客户端加密***,在加密芯片里,调用摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,采用私钥加密M1得到签名码3,即:用户B用私钥对交易单的签名,再产生一组时间戳b1和随机数b1,由“密钥种子”表b元素,根据组合密钥生成算法,产生一组签名密钥bK1,加密M1得到签名码4,即:用户B用签名密钥bK1对交易单的二次签名;
用户A客户端加密***,将用户A的标识、交易单、验证码M1和签名码1即:用户A采用私钥对交易单的签名,一并发送给用户B客户端;
用户B客户端加密***,将用户B的标识、交易单、验证码M1和签名码3即:用户B采用私钥对交易单的签名,一并发送给用户A客户端;
用户B客户端加密***,根据标识a取出对应记录中的公钥a的密文,以及时间戳Hb a和随机数Sb a,由客户端加密芯片里的“密钥种子”表b元素,根据组合密钥生成算法,产生存储密钥TKb a,解密公钥a的密文得到明文;
用户A客户端加密***,根据标识b取出对应记录中的公钥b的密文,以及时间戳Ha b和随机数Sa b,由客户端加密芯片里的“密钥种子”表a元素,根据组合密钥生成算法,产生存储密钥TKa b,解密公钥b的密文得到明文;
用户B客户端加密***,采用用户A的公钥a,解密签名码1即:用户A用私钥对交易单的签名,得到验证码M2,通过对比M1和M2是否相同,来对用户A的私钥签名进行签验,若M1=M2,则用户A用私钥对交易单的签名通过签验;
用户A客户端加密***,采用用户B的公钥b,解密签名码3即:用户B用私钥对交易单的签名,得到验证码M3,通过对比M1和M3是否相同,来对用户B的私钥签名进行签验,若M1=M3,则用户B用私钥对交易单的签名通过签验;
若M1=M2,且M1=M3,则签验都通过,交易双方用户在各自的客户端,分别对比两端的交易单是否相同,若都相同,数字货币交易***,将都通过签验的交易单中对应的资金额,转入用户B的电子钱包里,同时,将该交易单作为一条记录,分别存储到用户A的电子钱包和用户B的电子钱包里,从而,完成用户A与用户B之间的点对点即:无中心交易过程;
各个用户的客户端,事先从验证中心端,以密文方式直接下载用户的公钥,并将用户的公钥密文存储到手机端,当交易双方用户之间进行点对点交易时,双方可直接在自己的客户端调用对方的可信公钥,不需要进行公钥交换,可有效提高点对点交易的安全等级,同时,提高点对点交易的速度。
6.根据权利要求1的方法,其特征在于:
交易双方对交易单进行二次签名的过程,以及区块链的各个节点端,分别采用“垂直认证”技术对交易单的签名进行签验协议,同时,建立数字货币区块链的过程,
设:付款方为用户A,收款方为用户B,
1)交易双方对交易单进行二次签名的协议,
用户A客户端加密***,采用私钥对交易单进行签名,再产生一组时间戳b1和随机数b1,由“密钥种子”表a元素,根据组合密钥生成算法,在加密芯片里,产生一组签名密钥aK1,调用摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,用签名密钥aK1加密验证码M1和交易单,得到签名码1即:用户A对交易单的签名,并得到交易单的密文;
用户B客户端加密***,采用私钥对交易单进行签名,再产生一组时间戳b1和随机数b1,由“密钥种子”表b元素,根据组合密钥生成算法,在加密芯片里,产生一组签名密钥bK1,调用摘要算法对交易单进行摘要,得到摘要信息M1即:验证码M1,用签名密钥bK1加密验证码M1,得到签名码2即:用户B对交易单的签名;
2)区块链各个节点端加密***,分别采用“垂直认证”技术对交易单的签名进行签验协议,同时,建立数字货币区块链的过程,
用户A和用户B对交易单进行二次签名,且完成了交易单的支付后,数字货币交易***,将用户A的标识、用户B的标识、交易单的密文、验证码M1、签名码1即:用户A对交易单的签名,签名码2即:用户B对交易单的签名,时间戳a1和随机数a1,时间戳b1和时间戳b1,一并发送到区块链社区;
区块链各个节点端加密***,调用对应用户A的“密钥种子”表a元素密文和对应用户B的“密钥种子”表b元素密文,在节点端加密芯片里,用存储密钥CKj分别解密;
由“密钥种子”表a元素,时间戳a1和随机数a1,根据组合密钥生成算法,产生一组签验密钥aK2,解密签名码1和交易单的密文,得到验证码M2,并得到交易单的明文,若M1=M2,则用户A对交易单的签名通过签验;
由“密钥种子”表b元素,时间戳b1和随机数b1,根据组合密钥生成算法,产生一组签验密钥bK2,解密签名码2,得到验证码M3,若M1=M3,则用户B对交易单的签名通过签验;
若对用户A和用户B的签验都通过,则数字货币交易***,验证用户A电子钱包与用户B钱包里,是否存储了与该交易单相同的一条记录,且用户A钱包已支付款,与用户B钱包已收到款是否相同,若验证都通过,则将该交易单分别存储到每个节点端的交易数据库里,作为区块链中一个区块的一条记录,其中:j=10~1000,j为区块链社区节点的总和;
根据信用共识POC算法,记账者将在T时间内,将通过签验和验证的所有交易单作为一个区块进行记账,区块链***采用哈希函数SM3算法,将各个区块连接在一起建立区块链,形成一个账本数据库,从而,完成数字货币区块链建立的过程;
区块链的各个节点端加密***,采用“垂直认证”技术建立的签验协议,对交易单采用“垂直认证”技术的签名进行签验,可发挥对称算法的加/解密速度快的优势,对称算法的签验速度对比公钥算法快100倍以上,这种将公钥算法并发签验,转成采用对称算法的并发签验的区块链***,可大大提高建立区块链的效率,减少设备投入。
7.根据权利要求1的方法,其特征在于:
用户通过身份认证后,登录自己电子钱包,采用“垂直认证”技术建立的身份认证协议如下:
用户A手机端发送认证请求给数字货币***,数字货币***返回一组时间戳a2,客户端加密***,在加密芯片里,生成一组随机数a2,调用摘要算法,对时间戳和随机数进行摘要,得到摘要信息N1即:验证码N1,由“密钥种子”表a的元素,时间戳a2和随机数a2,根据组合密钥生成算法,生成认证密钥LK1,用LK1加密验证码N1得到验证码N1的密文即:签名码,将用户A的标识、验证码N1、签名码、时间戳a2和随机数a2,一并发送给数字货币***,再转发给验证中心端;
验证中心端加密***,根据用户A的标识,从“密钥种子”数据库里,取出对应的“密钥种子”表a元素密文,在加密芯片里,用存储密钥KK解密“密钥种子”表a元素密文,由时间戳a2和随机数a2,根据组合密钥生成算法,生成认证密钥LK2,用LK2解密签名码,得到验证码N2,对比N1和N2是否相同,来判断用户A的身份是否可信,若N1≠N2,则用户A的身份为假,若N1=N2,则用户A的身份可信,真实,用户A登录自己的电子钱包。
8.根据权利要求1的方法,其特征在于:
在全国范围内,建立Z=400个分布式数字货币区块链社区,并建立E=Z/2=200座验证中心,将Z个数字货币区块链社区,分别与数字货币数据结算中心连接,各个区块链的账本数据库,实时传输到数字货币交易***的结算中心,同时,E=Z/2=200座验证中心也分别与Z个分布式区块链社区连接;
当用户A和用户B处于有中心交易时,首先,用户A和用户B,在各自的客户端加密芯片里,分别采用“垂直认证”技术建立的签名协议,对交易单进行签名,验证中心端加密***,采用“垂直认证”技术对交易单的签名进行签验;
数字货币交易***,根据省、市地区分布进行任务分配,将交易双方用户签名的交易单,发送给对应地区的验证中心,对应地区的验证中心端加密***,采用“垂直认证”技术建立的签验协议,对交易单的签名进行签验,若交易单通过签验,则交易单执行支付,并将交易双方用户分别签名的交易单,根据省、市地区分布,发送给对应的数字货币区块链社区,再由该数字货币区块链的各个节点端加密***,分别采用“垂直认证”技术建立的签验协议,对该交易单分别进行签验;
当用户A和用户B处于无中心交易时,首先,用户A和用户B,在各自的客户端加密芯片里,分别采用各自的私钥,对交易单进行签名,并采用“垂直认证”技术建立的签名协议,分别对交易单进行二次签名;
用户A客户端加密***,采用用户B的公钥,对用户B私钥签名的交易单进行签验,用户B客户端加密***,采用用户A的公钥,对用户A私钥签名的交易单进行签验,若都通过签验,则交易单执行支付,并将交易双方用户分别二次签名的交易单,根据省、市地区分布,发送给对应的数字货币区块链社区,再由该数字货币区块链的各个节点端加密***,分别采用“垂直认证”技术建立的签验协议,对该交易单分别进行签验;
若数字货币区块链的各个节点端对交易单的验证都通过,则将该交易单分别存储到每个节点端的交易数据库里,作为区块链中一个区块的一条记录;
根据信用共识POC算法,记账者将在T=60~600秒时间内,将通过签验和验证的所有交易单作为一个区块进行记账,区块链***采用哈希函数SM3算法,将各个区块连接在一起建立区块链;
将Z个区块链的数据发送给数字货币交易***的结算中心,实现数字货币的实时结算和数据统计;
当交易双方用户采用有中心交易时,数字货币交易***将交易单的并发签验任务,分配到E=200个验证中心去完成,且对称算法加/解密速度比公钥算法,在计算机内存里快100倍,在芯片里快1000倍,从而,大大提高验证中心端交易单并发签验速度,可保证1秒钟内,每座验证中心可并发签验2000次,E=200座验证中心,可保证交易双方用户可同时完成约40万笔/秒交易;
采用当交易双方用户采用无中心交易方式,亦即:用户两两之间采用的是直接交易,可保证交易过程不受中心的制约,保证交易双方用户可同时完成超过40万笔/秒交易;
总之,采用有中心交易或无中心交易时,都可以满足中国数字货币交易速度为30笔/秒的设计标准;
在数字货币区块链的各个节点端,采用“垂直认证”技术建立的签验协议,可保证区块链各个节点端的运行效率达到1000笔/秒,通过建立400个分布式区块链社区,可保证整个数字货币的区块链***运行速度,合计达到40万笔/秒,因此,采用“垂直认证”技术建立400个数字货币区块链社区,也可满足中国数字货币建立区块链处理速度达30笔/秒的设计需求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010748672.6A CN112001714A (zh) | 2020-07-28 | 2020-07-28 | 一种基于区块链技术的数字货币实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010748672.6A CN112001714A (zh) | 2020-07-28 | 2020-07-28 | 一种基于区块链技术的数字货币实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112001714A true CN112001714A (zh) | 2020-11-27 |
Family
ID=73462434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010748672.6A Pending CN112001714A (zh) | 2020-07-28 | 2020-07-28 | 一种基于区块链技术的数字货币实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112001714A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112785305A (zh) * | 2021-01-22 | 2021-05-11 | 新开普电子股份有限公司 | 一种收款终端、双离线交易方法及*** |
CN114792270A (zh) * | 2022-06-27 | 2022-07-26 | 浙江数秦科技有限公司 | 基于区块链的贷款合同在线签署*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060242404A1 (en) * | 2003-11-12 | 2006-10-26 | Min-Chieh Su | Authentication-authorization system for mobile communication terminal and method therefor |
CN107358424A (zh) * | 2017-06-26 | 2017-11-17 | 中国人民银行数字货币研究所 | 一种基于数字货币的交易方法和装置 |
CN108964905A (zh) * | 2018-07-18 | 2018-12-07 | 胡祥义 | 一种安全高效的区块链实现方法 |
CN110417819A (zh) * | 2019-09-05 | 2019-11-05 | 胡祥义 | 一种高效加密即时通讯的实现方法 |
-
2020
- 2020-07-28 CN CN202010748672.6A patent/CN112001714A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060242404A1 (en) * | 2003-11-12 | 2006-10-26 | Min-Chieh Su | Authentication-authorization system for mobile communication terminal and method therefor |
CN107358424A (zh) * | 2017-06-26 | 2017-11-17 | 中国人民银行数字货币研究所 | 一种基于数字货币的交易方法和装置 |
CN108964905A (zh) * | 2018-07-18 | 2018-12-07 | 胡祥义 | 一种安全高效的区块链实现方法 |
CN110417819A (zh) * | 2019-09-05 | 2019-11-05 | 胡祥义 | 一种高效加密即时通讯的实现方法 |
Non-Patent Citations (3)
Title |
---|
江晓珍;: "区块链技术在金融领域的应用研究", 四川文理学院学报, no. 04 * |
胡祥义 等: "一种基于"垂直认证"技术的数字货币解决方案", 网络安全技术与应用, no. 2 * |
胡祥义;赵桂芬;马彦姣;: "一种银行卡安全解决方案", 网络安全技术与应用, no. 06 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112785305A (zh) * | 2021-01-22 | 2021-05-11 | 新开普电子股份有限公司 | 一种收款终端、双离线交易方法及*** |
CN114792270A (zh) * | 2022-06-27 | 2022-07-26 | 浙江数秦科技有限公司 | 基于区块链的贷款合同在线签署*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11687924B2 (en) | Cryptocurrency infrastructure system | |
CN110582793B (zh) | 分布式交易共识网络上数字财产交易的匿名性和可追踪性 | |
US20080263645A1 (en) | Privacy identifier remediation | |
CN108964905A (zh) | 一种安全高效的区块链实现方法 | |
CN107180350A (zh) | 一种基于区块链的多方共享交易元数据的方法、装置及*** | |
WO1981002655A1 (en) | A system for authenticating users and devices in on-line transaction networks | |
CN113435888B (zh) | 一种账户数据处理方法、装置、设备及存储介质 | |
CN101651675A (zh) | 提高网络交易安全性的方法和*** | |
CN103918219A (zh) | 基于秘密共享的电子内容分发 | |
WO2007121631A1 (fr) | Système et procédé de certification bancaire électronique sécurisée | |
CN112001714A (zh) | 一种基于区块链技术的数字货币实现方法 | |
US20230327863A1 (en) | Data management and encryption in a distributed computing system | |
WO2021173396A1 (en) | Communication of sensitive data in restricted data channel | |
CN102609842A (zh) | 一种基于硬件签名设备的支付密码装置及其应用方法 | |
EP3400695A1 (en) | System, method and apparatus for data transmission | |
CN107636664A (zh) | 用于向移动设备供应访问数据的方法和*** | |
CN113781045A (zh) | 一种高安全数字货币币值实现方法 | |
KR102320103B1 (ko) | 작품에 기재되는 서명을 대체하여 진품을 인증하기 위한 방법 | |
KR102346085B1 (ko) | 제품의 소유권을 거래하기 위한 방법 | |
RU2796046C1 (ru) | Управление учетными данными в распределенной вычислительной системе | |
EP4175216A1 (en) | Data communication and cryptographic operations using a restricted data channel | |
JPH08328470A (ja) | デジタル署名のための鍵生成方式及びその鍵を用いて署名を行うicカード | |
CA2586248C (en) | Privacy identifier remediation | |
GB2607289A (en) | Data management and encryption in a distributed computing system | |
KR20210125803A (ko) | 제품의 소유권을 인증하기 위한 방법 |
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 |