CN112001714A - 一种基于区块链技术的数字货币实现方法 - Google Patents

一种基于区块链技术的数字货币实现方法 Download PDF

Info

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
Application number
CN202010748672.6A
Other languages
English (en)
Inventor
徐冠宁
郭建伟
胡祥义
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN202010748672.6A priority Critical patent/CN112001714A/zh
Publication of CN112001714A publication Critical patent/CN112001714A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment 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,
Figure RE-GSB0000190122640000071
其中:表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,
Figure RE-GSB0000190122640000091
其中:表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笔/秒的设计需求。
CN202010748672.6A 2020-07-28 2020-07-28 一种基于区块链技术的数字货币实现方法 Pending CN112001714A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 胡祥义 一种高效加密即时通讯的实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
江晓珍;: "区块链技术在金融领域的应用研究", 四川文理学院学报, no. 04 *
胡祥义 等: "一种基于"垂直认证"技术的数字货币解决方案", 网络安全技术与应用, no. 2 *
胡祥义;赵桂芬;马彦姣;: "一种银行卡安全解决方案", 网络安全技术与应用, no. 06 *

Cited By (2)

* Cited by examiner, † Cited by third party
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