CN114584315B - 一种区块链一体机、工作方法及构造方法 - Google Patents
一种区块链一体机、工作方法及构造方法 Download PDFInfo
- Publication number
- CN114584315B CN114584315B CN202210190918.1A CN202210190918A CN114584315B CN 114584315 B CN114584315 B CN 114584315B CN 202210190918 A CN202210190918 A CN 202210190918A CN 114584315 B CN114584315 B CN 114584315B
- Authority
- CN
- China
- Prior art keywords
- blockchain
- speed
- signature verification
- machine
- low
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000010276 construction Methods 0.000 title claims abstract description 7
- 238000012795 verification Methods 0.000 claims abstract description 129
- 230000006870 function Effects 0.000 claims abstract description 83
- 230000007246 mechanism Effects 0.000 claims abstract description 18
- 230000006855 networking Effects 0.000 claims abstract description 14
- 238000003860 storage Methods 0.000 claims description 17
- 238000011161 development Methods 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000009467 reduction Effects 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种区块链一体机、工作方法及构造方法,涉及区块链技术领域,该区块链一体机包括:硬件服务器系统,硬件服务器系统配置低速密码卡、高速网卡、CPU以及存储器;区块链系统,区块链系统中添加基于密码卡的密码算法的引擎机制,并配置仅使用低速密码卡的签名功能,验签算法采用高速软件验签算法实现;BaaS,其用于进行快速组网。本申请基于低成本的低速密码卡,结合性能较好的高速软件验签算法,对区块链一体机的架构进行改进,从而在满足性能要求的前提下,对成本进行有效控制。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种区块链一体机、工作方法及构造方法。
背景技术
区块链技术是一种去中心化的分布式系统技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可信性具有高需求的应用场景中。区块链一体机包含了硬件和软件,为了签名私钥的安全和区块链系统整体性能的提升。
目前,区块链一体机一般是在服务器主机内添加一个高速密码卡设备完成对节点私钥的安全保存,实现签名和验签等功能。但是区块链系统的签名算法主要用于节点出块时的签名及通讯时的签名,相对于验签操作而言属于低频操作,比如每2秒出一个区块,则这2秒里节点仅需要执行共识机制需要的几次签名,使用价格昂贵的高速密码卡完成签名功能存在严重的资源浪费。
因此,现在亟需一种能够满足性能要求的替代高速密码卡功能的区块链一体机新架构解决上述问题。
发明内容
本申请提供一种区块链一体机、工作方法及构造方法,基于低成本的低速密码卡,结合性能较好的高速软件验签算法,对区块链一体机的架构进行改进,从而在满足性能要求的前提下,对成本进行有效控制。
第一方面,本申请提供了一种区块链一体机,所述区块链一体机包括:
硬件服务器系统,所述硬件服务器系统配置低速密码卡、高速网卡、CPU以及存储器;
区块链系统,所述区块链系统中添加调用密码卡的密码算法的引擎机制,并配置仅使用对应的所述低速密码卡的签名功能;
BaaS,其用于进行快速组网;其中,
所述密码卡的驱动程序配置于所述存储器的预设存储区域。
进一步的,所述区块链系统的密钥配置文件内配置有所述低速密码卡的密钥编号。
进一步的,所述区块链系统的验签算法采用高速软件验签算法。
进一步的,所述高速软件验签算法为国密SM2验签算法。
第二方面,本申请提供了一种区块链一体机的工作方法,所述方法包括以下步骤:
应用构造交易,对所述交易进行签名,并把已签名交易发送至区块链的接入节点;
调用所述高速软件验签算法对所述已签名交易进行验签,待验签通过后进行广播至区块链剩余节点,区块链剩余节点对所述已签名交易进行验签,待验签通过后,存入各所述节点的交易池;
区块链中的共识节点执行收到的已签名交易获得共识块;
区块链的各节点接收共识块,执行已签名交易并将已签名交易和交易结果进行落盘存储。
进一步的,所述区块链中的共识节点执行收到的已签名交易获得共识块中,包括以下步骤:
区块链共识节点将收到的已签名交易进行排序打包获得对应的区块;
执行所述区块内的已签名交易;
执行多方共识流程获得共识块。
第三方面,本申请提供了一种区块链一体机的构造方法,所述方法包括以下步骤:
基于低速密码卡、高速网卡、CPU以及存储器,构造硬件服务器系统;
构建区块链系统,并在所述区块链系统中添加调用密码卡里的密码算法的引擎机制,并配置仅使用低速密码卡的签名功能;
构建用于进行快速组网的BaaS;其中,
所述区块链系统的验签算法采用高速软件验签算法。
进一步的,所述方法还包括以下步骤:
在所述区块链系统的密钥配置文件内配置有所述低速密码卡的密钥编号。
进一步的,所述方法还包括以下步骤:
将所述密码卡的驱动程序配置于默认库搜索路径下或根据预设编译设定的所述预设存储区域。
进一步的,所述高速软件验签算法为国密SM2验签算法。
本申请提供的技术方案带来的有益效果包括:
本申请基于低成本的低速密码卡,结合性能较好的高速软件验签算法,对区块链一体机的架构进行改进,从而在满足性能要求的前提下,对成本进行有效控制。
附图说明
术语解释:
CPU:Central Processing Unit,中央处理器;
SIMD:Single Instruction Multiple Data,单指令多数据流;
P2P:Peer to Peer,对等网络。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中提供的区块链一体机的架构框图;
图2为本申请实施例中提供的区块链一体机中区块链系统的架构框图;
图3为本申请实施例中提供的区块链一体机的交易处理流程图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图对本申请的实施例作进一步详细说明。
本申请实施例提供一种区块链一体机、工作方法及构造方法,基于低成本的低速密码卡,结合性能较好的高速软件验签算法,对区块链一体机的架构进行改进,从而在满足性能要求的前提下,对成本进行有效控制。
为达到上述技术效果,本申请的总体思路如下:
一种区块链一体机,所述区块链一体机包括:
硬件服务器系统,所述硬件服务器系统配置低速密码卡、高速网卡、CPU以及存储器;
区块链系统,所述区块链系统中添加调用密码卡的密码算法的引擎机制,并配置仅使用对应的所述低速密码卡的签名功能;
BaaS,其用于进行快速组网;其中,
所述密码卡的驱动程序配置于所述存储器的预设存储区域。
以下结合附图对本申请的实施例作进一步详细说明。
第一方面,参见图1~3所示,本申请实施例提供一种区块链一体机,所述区块链一体机包括:
硬件服务器系统,所述硬件服务器系统配置低速密码卡、高速网卡、CPU以及存储器;
区块链系统,所述区块链系统中添加调用密码卡的密码算法的引擎机制,并配置仅使用对应的所述低速密码卡的签名功能;
BaaS,其用于进行快速组网;其中,
所述密码卡的驱动程序配置于所述存储器的预设存储区域。
本申请实施例中,基于低成本的低速密码卡,结合性能较好的高速软件验签算法,对区块链一体机的架构进行改进,从而在满足性能要求的前提下,对成本进行有效控制。
具体的,所述区块链系统的密钥配置文件内配置有所述低速密码卡的密钥编号。
具体的,密码卡算法驱动库位于默认库搜索路径下或位于根据预设编译设定的所述预设存储区域。
优选的,所述区块链系统的验签算法采用高速软件验签算法。
优选的,所述高速软件验签算法为国密SM2验签算法。
具体的,本申请实施例的区块链一体机包括硬件服务器系统、区块链系统软件以及Baas;其中,
硬件服务器系统包括低速密码卡、高速网卡、CPU以及存储器;
区块链系统通过软件实现区块链基础功能;
Bass实现快速组网功能、智能合约编辑部署功能、节点状态监控和区块链状态监控等功能;
另外,区块链一体机还可以事先加载一些常用的智能合约,以方便应用开发。
需要说明的是:现有技术中一般采用高速密码卡,但高速密码卡虽然性能优异但造价十分昂贵,不具备普适性;
本申请实施例的技术方案在新的架构中用低速密码卡替代高速密码卡,解决造价昂贵的核心问题;
但低速密码卡仅能满足频次不高的签名操作性能要求,验签的性能要求低速密码卡无法满足;
故而,本申请实施例的技术方案进一步的将国密SM2算法的验签算法用高速软件实现,并将该高速软件验签算法嵌入到区块链系统软件里,将区块链系统软件安装到区块链一体机中,从而在验签阶段能够用软件实现的方式满足性能需求;
高速软件验签算法就是一种国密验签算法SM2的高速软件实现,和普通SM2验签算法的差别仅体现在速度上;
需要按照区块链系统的接口要求实现高速SM2验签算法,并用高速SM2验签算法替换区块链系统自带的SM2验签算法,并对上述替换的区块链系统软件进行编译,安装在一体机上,运行即可。
具体的,本申请实施例的区块链一体机的技术优势,具体包括以下情况:
第一点,硬件服务器系统包括低速密码卡、高速网卡、CPU以及存储器等主要器件构成,
低速密码卡采用硬件实现,具有密钥生成功能,用于为区块链一体机生成表征身份的公私钥,具有加解密功能,该加解密功能用于将表征身份的私钥加密为密文形态存储于密码卡内不能导出,低速密码卡提供签名和验签功能,但区块链系统仅使用密码卡的签名功能;
高速网卡,CPU和存储器等主要器件完成传输通信、计算和存储等通用计算机功能。
第二点,本申请实施例的技术方案采用密码卡实现签名功能,编写区块链系统软件,在系统初始化代码里添加硬件密码算法的引擎机制,并按照引擎机制做相关的配置,特别的设定仅使用密码卡的签名功能;
然后根据主机操作系统对库的访问惯例把硬件算法库拷贝到操作系统默认的库搜索路径下或根据编译设置把硬件的算法库拷贝到合适的位置;
在区块链系统的密钥配置文件里指定要使用的密钥编号;
经过如此设置后,区块链系统运行时需要进行签名的操作即可调用硬件密码卡的签名功能进行签名。
第三点,作为区块链节点的区块链一体机将运行区块链系统软件实现对交易的验证、P2P通信、智能合约、虚拟机、共识机制以及分布式交易账本等区块链功能;其中,
区块链系统软件,在执行交易验签,共识验签等各种验签操作时调用国密SM2验签算法的高速软件验签算法完成;
本申请实施例所采用的高速软件验签算法描述如下:
该算法根据不同CPU架构下指令系统的特点,对算法程序进行了优化,同时对国密算法流程进行有限域上的等价变换,充分发挥CPU的SIMD系列指令及硬件加速指令的优势,极大地提高了验签算法的运行速度;
与密码算法的硬件实现相比,具有成本低、易集成、部署方便、且可多核并行的特点。
第四点,本申请实施例的技术方案中,具体可以包括一体机管理软件,其用于实现Baas功能;
通过Baas功能,以硬件服务器和区块链系统为输入,配置硬件服务器地址,配置代表服务器节点身份的身份证书,快速部署并输出区块链网络服务;
提供合约的在线编辑、调试、部署功能方便应用开发;
提供可视化的监控运维功能,以监控系统节点的状况,查询区块链情况,如块高、交易等情况;
硬件服务器及运行在上面的区块链系统在区块链网络里发挥节点的功能;
所述各个节点身份证书可以在外部生成并从外部安全传入,也可以在某个区块链节点上通过运行ca服务而产生;
各个硬件服务器的地址可以通过线下或线上的方式在各个节点间共享,而区块链网络的快速部署按照区块链系统软件的组网要求实施。
第五点,本申请实施例的技术方案中,预安装通用智能合约,完成基本的存证功能以及token功能。
本申请实施例的技术方案,通过低速密码卡进行签名,低速密码卡生产、使用以及保存签名私钥,通过高速验签软件对国密SM2签名进行验签,以实现节约资源、减低成本,且保障安全高效的工作环境。
本申请实施例的技术方案提供的区块链一体机,其运行流程如下:
第一、一键部署与扩容:
区块链一体机上电开机后,一体机管理软件运行,显示部署界面,输入参与联盟的节点地址,可以选择输入节点证书,也可以选择使用系统自带的ca服务为节点生成证书,然后一键完成区块链网络部署;
在网络运行后,有新的一体机加入网络的话,在获得邀请后,运行一体机管理软件,进行如下相关的配置:
静默获取创世块、其它节点配置文件,本节点地址和节点证书;
所述节点证书的私钥由密码卡产生;
启动节点,并在控制台将节点加入到某个群组。
需要说明的是,在网络运行后,有新的一体机加入网络的话,需要网络的现有节点邀请许可才可以加入已有网络;
实际实现时,根据区块链系统官方文档进行部署和扩容即可。
第二、合约开发与部署:
利用合约编辑编译部署功能,编辑业务合约,编译合约,部署合约到区块链节点,合约与外部dapp配合完成应用工作;
同样,在实际实施时,按照区块链合约与应用开发惯例执行即可。
第二、交易处理流程:
1)客户端dapp构造交易,并对交易进行签名,并将签了名的交易发送给区块链的接入节点;
2)接入节点调用高速软件验签算法对交易进行验签,同时也会执行是否重复等其它合法性检查,之后将交易广播给其它节点,其它节点同样要验证交易的签名及合法性检查,并进入各节点的交易池;
3)共识节点将收到的交易排序打包为区块,执行区块内的各个交易,然后再执行多方共识流程产生共识块,在执行多方共识流程期间会执行与共识相关的签名和验签操作,签名操作调用密码卡的签名功能进行,而验签操作调用高速软件验签功能进行;
4)全网节点接受共识块,执行交易并将交易和交易的结果落盘存储。
综上所述,本申请实施例的技术方案在满足性能要求的前提下,进行成本减低和方案优化:
针对低频的签名算法和私钥的安全保存,采用低成本的低速密码卡设备实现上述技术目的;
对于性能要求比较高的验签算法,采用业界先进的高性能软件验签算法实现;
区块链一体机架构中签名功能实现以低速密码卡实现,验签功能由高速软件算法实现;
高速软件验签算法在区块链一体机中的技术移植;
在区块链系统引入密码卡硬件密码签名算法,实现交易过程中的签名功能。
第二方面,本申请实施例在第一方面提及的区块链一体机的技术基础上,提供一种区块链一体机的工作方法,所述方法包括以下步骤:
S1、应用构造交易,对所述交易进行签名,并把已签名交易发送至区块链的接入节点;
S2、调用所述高速软件验签算法对所述已签名交易进行验签,待验签通过后进行广播至区块链剩余节点,区块链剩余节点对所述已签名交易进行验签,待验签通过后,存入各所述节点的交易池;
S3、区块链中的共识节点执行收到的已签名交易获得共识块;
S4、区块链的各节点接收共识块,执行已签名交易并将已签名交易和交易结果进行落盘存储。
本申请实施例中,基于低成本的低速密码卡,结合性能较好的高速软件验签算法,对区块链一体机的架构进行改进,从而在满足性能要求的前提下,对成本进行有效控制。
具体的,步骤S3,所述区块链中的共识节点执行收到的已签名交易获得共识块中,包括以下步骤:
S300、区块链共识节点将收到的已签名交易进行排序打包获得对应的区块;
S301、执行所述区块内的已签名交易;
S302、执行多方共识流程获得共识块。
具体的,执行多方共识流程获得共识块。
具体的,所述区块链系统的密钥配置文件内配置有所述低速密码卡的密钥编号。
具体的,密码卡算法驱动库位于默认库搜索路径下或位于根据预设编译设定的所述预设存储区域。
优选的,所述区块链系统的验签算法采用高速软件验签算法。
优选的,所述高速软件验签算法为国密SM2验签算法。
具体的,本申请实施例的区块链一体机包括硬件服务器系统、区块链系统软件以及Baas;其中,
硬件服务器系统包括低速密码卡、高速网卡、CPU以及存储器;
区块链系统通过软件实现区块链基础功能;
Bass实现快速组网功能、智能合约编辑部署功能、节点状态监控和区块链状态监控等功能;
另外,区块链一体机还可以事先加载一些常用的智能合约,以方便应用开发。
需要说明的是:现有技术中一般采用高速密码卡,但高速密码卡虽然性能优异但造价十分昂贵,不具备普适性;
本申请实施例的技术方案在新的架构中用低速密码卡替代高速密码卡,解决造价昂贵的核心问题;
但低速密码卡仅能满足频次不高的签名操作性能要求,验签的性能要求低速密码卡无法满足;
故而,本申请实施例的技术方案进一步的将国密SM2算法的验签算法用高速软件实现,并将该高速软件验签算法嵌入到区块链系统软件里,将区块链系统软件安装到区块链一体机中,从而在验签阶段能够用软件实现的方式满足性能需求;
高速软件验签算法就是一种国密验签算法SM2的高速软件实现,和普通SM2验签算法的差别仅体现在速度上;
需要按照区块链系统的接口要求实现高速SM2验签算法,并用高速SM2验签算法替换区块链系统自带的SM2验签算法,并上述替换的区块链系统软件进行编译,安装在一体机上,运行即可。
具体的,本申请实施例的区块链一体机的技术优势,具体包括以下情况:
第一点,硬件服务器系统包括低速密码卡、高速网卡、CPU以及存储器等主要器件构成,
低速密码卡采用硬件实现,具有密钥生成功能,用于为区块链一体机生成表征身份的公私钥,具有加解密功能,该加解密功能用于将表征身份的私钥加密为密文形态存储于密码卡内不能导出,低速密码卡提供签名和验签功能,但区块链系统仅使用密码卡的签名功能;
高速网卡,CPU和存储器等主要器件完成传输通信、计算和存储等通用计算机功能。
第二点,本申请实施例的技术方案采用密码卡实现签名功能,编写区块链系统软件,在系统初始化代码里添加硬件密码算法的引擎机制,并按照引擎机制做相关的配置,特别的设定仅使用密码卡的签名功能;
然后根据主机操作系统对库的访问惯例把硬件算法库拷贝到操作系统默认的库搜索路径下或根据编译设置把硬件的算法库拷贝到合适的位置;
在区块链系统的密钥配置文件里指定要使用的密钥编号;
经过如此设置后,区块链系统运行时需要进行签名的操作即可调用硬件密码卡的签名功能进行签名。
第三点,作为区块链节点的区块链一体机将运行区块链系统软件实现对交易的验证、P2P通信、智能合约、虚拟机、共识机制以及分布式交易账本等区块链功能;其中,
区块链系统软件,在执行交易验签,共识验签等各种验签操作时调用国密SM2验签算法的高速软件验签算法完成;
本申请实施例所采用的高速软件验签算法描述如下:
该算法根据不同CPU架构下指令系统的特点,对算法程序进行了优化,同时对国密算法流程进行有限域上的等价变换,充分发挥CPU的SIMD系列指令及硬件加速指令的优势,极大地提高了验签算法的运行速度;
与密码算法的硬件实现相比,具有成本低、易集成、部署方便、且可多核并行的特点。
第四点,本申请实施例的技术方案中,具体可以包括一体机管理软件,其用于实现Baas功能;
通过Baas功能,以硬件服务器和区块链系统为输入,配置硬件服务器地址,配置代表服务器节点身份的身份证书,快速部署并输出区块链网络服务;
提供合约的在线编辑、调试、部署功能方便应用开发;
提供可视化的监控运维功能,以监控系统节点的状况,查询区块链情况,如块高、交易等情况;
硬件服务器及运行在上面的区块链系统在区块链网络里发挥节点的功能;
所述各个节点身份证书可以在外部生成并从外部安全传入,也可以在某个区块链节点上通过运行ca服务而产生;
各个硬件服务器的地址可以通过线下或线上的方式在各个节点间共享,而区块链网络的快速部署按照区块链系统软件的组网要求实施。
第五点,本申请实施例的技术方案中,预安装通用智能合约,完成基本的存证功能以及token功能。
本申请实施例的技术方案,通过低速密码卡进行签名,低速密码卡生产、使用以及保存签名私钥,通过高速验签软件对国密SM2签名进行验签,以实现节约资源、减低成本,且保障安全高效的工作环境。
本申请实施例的技术方案提供的区块链一体机,其运行流程如下:
第一、一键部署与扩容:
区块链一体机上电开机后,一体机管理软件运行,显示部署界面,输入参与联盟的节点地址,可以选择输入节点证书,也可以选择使用系统自带的ca服务为节点生成证书,然后一键完成区块链网络部署;
在网络运行后,有新的一体机加入网络的话,在获得邀请后,运行一体机管理软件,进行如下相关的配置:
静默获取创世块、其它节点配置文件,本节点地址和节点证书;
所述节点证书的私钥由密码卡产生;
启动节点,并在控制台将节点加入到某个群组。
需要说明的是,在网络运行后,有新的一体机加入网络的话,需要网络的现有节点邀请许可才可以加入已有网络;
实际实现时,根据区块链系统官方文档进行部署和扩容即可。
第二、合约开发与部署:
利用合约编辑编译部署功能,编辑业务合约,编译合约,部署合约到区块链节点,合约与外部dapp配合完成应用工作;
同样,在实际实施时,按照区块链合约与应用开发惯例执行即可。
第二、交易处理流程:
1)客户端dapp构造交易,并对交易进行签名,并将签了名的交易发送给区块链的接入节点;
2)接入节点调用高速软件验签算法对交易进行验签,同时也会执行是否重复等其它合法性检查,之后将交易广播给其它节点,其它节点同样要验证交易的签名及合法性检查,并进入各节点的交易池;
3)共识节点将收到的交易排序打包为区块,执行区块内的各个交易,然后再执行多方共识流程产生共识块,在执行多方共识流程期间会执行与共识相关的签名和验签操作,签名操作调用密码卡的签名功能进行,而验签操作调用高速软件验签功能进行;
4)全网节点接受共识块,执行交易并将交易和交易的结果落盘存储。
综上所述,本申请实施例的技术方案在满足性能要求的前提下,进行成本减低和方案优化:
针对低频的签名算法和私钥的安全保存,采用低成本的低速密码卡设备实现上述技术目的;
对于性能要求比较高的验签算法,采用业界先进的高性能软件验签算法实现;
区块链一体机架构中签名功能实现以低速密码卡实现,验签功能由高速软件算法实现;
高速软件验签算法在区块链一体机中的技术移植;
在区块链系统引入密码卡硬件密码签名算法,实现交易过程中的签名功能。
第三方面,本申请实施例在第一方面提及的区块链一体机的技术基础上,提供一种区块链一体机的构造方法,该方法包括以下步骤:
A1、基于低速密码卡、高速网卡、CPU以及存储器,构造硬件服务器系统;
A2、构建区块链系统,并在所述区块链系统中添加调用密码卡里的密码算法的引擎机制,并配置仅使用低速密码卡的签名功能;
A3、构建用于进行快速组网的BaaS;其中,
所述区块链系统的验签算法采用高速软件验签算法。
本申请实施例中,基于低成本的低速密码卡,结合性能较好的高速软件验签算法,对区块链一体机的架构进行改进,从而在满足性能要求的前提下,对成本进行有效控制。
进一步的,该方法还包括以下步骤:
在所述区块链系统的密钥配置文件内配置有所述低速密码卡的密钥编号。
进一步的,该方法还包括以下步骤:
将所述密码卡的驱动程序配置于默认库搜索路径下或根据预设编译设定的所述预设存储区域。
优选的,所述高速软件验签算法为国密SM2验签算法。
具体的,所述区块链系统的密钥配置文件内配置有所述低速密码卡的密钥编号。
具体的,密码卡算法驱动库位于默认库搜索路径下或位于根据预设编译设定的所述预设存储区域。
优选的,所述区块链系统的验签算法采用高速软件验签算法。
优选的,所述高速软件验签算法为国密SM2验签算法。
具体的,本申请实施例的区块链一体机包括硬件服务器系统、区块链系统软件以及Baas;其中,
硬件服务器系统包括低速密码卡、高速网卡、CPU以及存储器;
区块链系统通过软件实现区块链基础功能;
Bass实现快速组网功能、智能合约编辑部署功能、节点状态监控和区块链状态监控等功能;
另外,区块链一体机还可以事先加载一些常用的智能合约,以方便应用开发。
需要说明的是:现有技术中一般采用高速密码卡,但高速密码卡虽然性能优异但造价十分昂贵,不具备普适性;
本申请实施例的技术方案在新的架构中用低速密码卡替代高速密码卡,解决造价昂贵的核心问题;
但低速密码卡仅能满足频次不高的签名操作性能要求,验签的性能要求低速密码卡无法满足;
故而,本申请实施例的技术方案进一步的将国密SM2算法的验签算法用高速软件实现,并将该高速软件验签算法嵌入到区块链系统软件里,将区块链系统软件安装到区块链一体机中,从而在验签阶段能够用软件实现的方式满足性能需求;
高速软件验签算法就是一种国密验签算法SM2的高速软件实现,和普通SM2验签算法的差别仅体现在速度上;
需要按照区块链系统的接口要求实现高速SM2验签算法,并用高速SM2验签算法替换区块链系统自带的SM2验签算法,并上述替换的区块链系统软件进行编译,安装在一体机上,运行即可。
具体的,本申请实施例的区块链一体机的技术优势,具体包括以下情况:
第一点,硬件服务器系统包括低速密码卡、高速网卡、CPU以及存储器等主要器件构成,
低速密码卡采用硬件实现,具有密钥生成功能,用于为区块链一体机生成表征身份的公私钥,具有加解密功能,该加解密功能用于将表征身份的私钥加密为密文形态存储于密码卡内不能导出,低速密码卡提供签名和验签功能,但区块链系统仅使用密码卡的签名功能;
高速网卡,CPU和存储器等主要器件完成传输通信、计算和存储等通用计算机功能。
第二点,本申请实施例的技术方案采用密码卡实现签名功能,编写区块链系统软件,在系统初始化代码里添加硬件密码算法的引擎机制,并按照引擎机制做相关的配置,特别的设定仅使用密码卡的签名功能;
然后根据主机操作系统对库的访问惯例把硬件算法库拷贝到操作系统默认的库搜索路径下或根据编译设置把硬件的算法库拷贝到合适的位置;
在区块链系统的密钥配置文件里指定要使用的密钥编号;
经过如此设置后,区块链系统运行时需要进行签名的操作即可调用硬件密码卡的签名功能进行签名。
第三点,作为区块链节点的区块链一体机将运行区块链系统软件实现对交易的验证、P2P通信、智能合约、虚拟机、共识机制以及分布式交易账本等区块链功能;其中,
区块链系统软件,在执行交易验签,共识验签等各种验签操作时调用国密SM2验签算法的高速软件验签算法完成;
本申请实施例所采用的高速软件验签算法描述如下:
该算法根据不同CPU架构下指令系统的特点,对算法程序进行了优化,同时对国密算法流程进行有限域上的等价变换,充分发挥CPU的SIMD系列指令及硬件加速指令的优势,极大地提高了验签算法的运行速度;
与密码算法的硬件实现相比,具有成本低、易集成、部署方便、且可多核并行的特点。
第四点,本申请实施例的技术方案中,具体可以包括一体机管理软件,其用于实现Baas功能;
通过Baas功能,以硬件服务器和区块链系统为输入,配置硬件服务器地址,配置代表服务器节点身份的身份证书,快速部署并输出区块链网络服务;
提供合约的在线编辑、调试、部署功能方便应用开发;
提供可视化的监控运维功能,以监控系统节点的状况,查询区块链情况,如块高、交易等情况;
硬件服务器及运行在上面的区块链系统在区块链网络里发挥节点的功能;
所述各个节点身份证书可以在外部生成并从外部安全传入,也可以在某个区块链节点上通过运行ca服务而产生;
各个硬件服务器的地址可以通过线下或线上的方式在各个节点间共享,而区块链网络的快速部署按照区块链系统软件的组网要求实施。
第五点,本申请实施例的技术方案中,预安装通用智能合约,完成基本的存证功能以及token功能。
本申请实施例的技术方案,通过低速密码卡进行签名,低速密码卡生产、使用以及保存签名私钥,通过高速验签软件对国密SM2签名进行验签,以实现节约资源、减低成本,且保障安全高效的工作环境。
本申请实施例的技术方案提供的区块链一体机,其运行流程如下:
第一、一键部署与扩容:
区块链一体机上电开机后,一体机管理软件运行,显示部署界面,输入参与联盟的节点地址,可以选择输入节点证书,也可以选择使用系统自带的ca服务为节点生成证书,然后一键完成区块链网络部署;
在网络运行后,有新的一体机加入网络的话,在获得邀请后,运行一体机管理软件,进行如下相关的配置:
静默获取创世块、其它节点配置文件,本节点地址和节点证书;
所述节点证书的私钥由密码卡产生;
启动节点,并在控制台将节点加入到某个群组。
需要说明的是,在网络运行后,有新的一体机加入网络的话,需要网络的现有节点邀请许可才可以加入已有网络;
实际实现时,根据区块链系统官方文档进行部署和扩容即可。
第二、合约开发与部署:
利用合约编辑编译部署功能,编辑业务合约,编译合约,部署合约到区块链节点,合约与外部dapp配合完成应用工作;
同样,在实际实施时,按照区块链合约与应用开发惯例执行即可。
第二、交易处理流程:
1)客户端dapp构造交易,并对交易进行签名,并将签了名的交易发送给区块链的接入节点;
2)接入节点调用高速软件验签算法对交易进行验签,同时也会执行是否重复等其它合法性检查,之后将交易广播给其它节点,其它节点同样要验证交易的签名及合法性检查,并进入各节点的交易池;
3)共识节点将收到的交易排序打包为区块,执行区块内的各个交易,然后再执行多方共识流程产生共识块,在执行多方共识流程期间会执行与共识相关的签名和验签操作,签名操作调用密码卡的签名功能进行,而验签操作调用高速软件验签功能进行;
4)全网节点接受共识块,执行交易并将交易和交易的结果落盘存储。
综上所述,本申请实施例的技术方案在满足性能要求的前提下,进行成本减低和方案优化:
针对低频的签名算法和私钥的安全保存,采用低成本的低速密码卡设备实现上述技术目的;
对于性能要求比较高的验签算法,采用业界先进的高性能软件验签算法实现;
区块链一体机架构中签名功能实现以低速密码卡实现,验签功能由高速软件算法实现;
高速软件验签算法在区块链一体机中的技术移植;
在区块链系统引入密码卡硬件密码签名算法,实现交易过程中的签名功能。
需要说明的是,在本申请中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种区块链一体机,其特征在于,所述区块链一体机包括:
硬件服务器系统,所述硬件服务器系统配置低速密码卡、高速网卡、CPU以及存储器;
区块链系统,所述区块链系统中添加调用密码卡的密码算法的引擎机制,并配置仅使用对应的所述低速密码卡的签名功能;
BaaS,其用于进行快速组网;其中,
所述密码卡的驱动程序配置于所述存储器的预设存储区域;
所述区块链系统的验签算法采用高速软件验签算法。
2.如权利要求1所述的区块链一体机,其特征在于:
所述区块链系统的密钥配置文件内配置有所述低速密码卡的密钥编号。
3.如权利要求1所述的区块链一体机,其特征在于:
所述高速软件验签算法为国密SM2验签算法。
4.一种区块链一体机的工作方法,该工作方法运用于如权利要求1至3任意一项所述的区块链一体机,其特征在于,所述方法包括以下步骤:
应用构造交易,对所述交易进行签名,并把已签名交易发送至区块链的接入节点;
调用高速软件验签算法对所述已签名交易进行验签,待验签通过后进行广播至区块链剩余节点,区块链剩余节点对所述已签名交易进行验签,待验签通过后,存入各所述节点的交易池;
区块链中的共识节点执行收到的已签名交易获得共识块;
区块链的各节点接收共识块,执行已签名交易并将已签名交易和交易结果进行落盘存储。
5.如权利要求4所述的区块链一体机的工作方法,其特征在于,所述区块链中的共识节点执行收到的已签名交易获得共识块中,包括以下步骤:
区块链共识节点将收到的已签名交易进行排序打包获得对应的区块;
执行所述区块内的已签名交易;
执行多方共识流程获得共识块。
6.一种区块链一体机的构造方法,该构造方法用于构造如权利要求1至3任意一项所述的区块链一体机,其特征在于,所述方法包括以下步骤:
基于低速密码卡、高速网卡、CPU以及存储器,构造硬件服务器系统;
构建区块链系统,并在所述区块链系统中添加调用密码卡里的密码算法的引擎机制,并配置仅使用低速密码卡的签名功能;
构建用于进行快速组网的BaaS;其中,
所述区块链系统的验签算法采用高速软件验签算法。
7.如权利要求6所述的区块链一体机的构造方法,其特征在于,所述方法还包括以下步骤:
在所述区块链系统的密钥配置文件内配置有所述低速密码卡的密钥编号。
8.如权利要求6所述的区块链一体机的构造方法,其特征在于,所述方法还包括以下步骤:
将所述密码卡的驱动程序配置于默认库搜索路径下或根据预设编译设定的所述预设存储区域。
9.如权利要求6所述的区块链一体机的构造方法,其特征在于:
所述高速软件验签算法为国密SM2验签算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210190918.1A CN114584315B (zh) | 2022-02-24 | 2022-02-24 | 一种区块链一体机、工作方法及构造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210190918.1A CN114584315B (zh) | 2022-02-24 | 2022-02-24 | 一种区块链一体机、工作方法及构造方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114584315A CN114584315A (zh) | 2022-06-03 |
CN114584315B true CN114584315B (zh) | 2024-04-02 |
Family
ID=81772575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210190918.1A Active CN114584315B (zh) | 2022-02-24 | 2022-02-24 | 一种区块链一体机、工作方法及构造方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114584315B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202628A (zh) * | 2006-12-11 | 2008-06-18 | 北京中电华大电子设计有限责任公司 | 分组哈希协处理器的一种实现方法 |
CN106712965A (zh) * | 2017-01-17 | 2017-05-24 | 数安时代科技股份有限公司 | 数字签名方法、装置以及密码设备 |
CN111538996A (zh) * | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 区块链一体机的可信启动方法及装置 |
CN111541725A (zh) * | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 区块链一体机及其密码加速卡、密钥管理方法和装置 |
CN111738859A (zh) * | 2020-07-08 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 区块链一体机及区块链网络 |
CN112217635A (zh) * | 2020-09-16 | 2021-01-12 | 郑州信大先进技术研究院 | 一种基于区块链和高速密码卡的信息加密传输方法及系统 |
CN113626842A (zh) * | 2021-08-10 | 2021-11-09 | 鼎链数字科技(深圳)有限公司 | 基于密码卡实现密码服务的区块链系统及存储介质 |
CN113726875A (zh) * | 2020-07-08 | 2021-11-30 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的交易处理方法及装置 |
CN113971289A (zh) * | 2020-07-08 | 2022-01-25 | 支付宝(杭州)信息技术有限公司 | 区块链一体机的可信启动方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11095433B2 (en) * | 2018-07-02 | 2021-08-17 | International Business Machines Corporation | On-chain governance of blockchain |
-
2022
- 2022-02-24 CN CN202210190918.1A patent/CN114584315B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202628A (zh) * | 2006-12-11 | 2008-06-18 | 北京中电华大电子设计有限责任公司 | 分组哈希协处理器的一种实现方法 |
CN106712965A (zh) * | 2017-01-17 | 2017-05-24 | 数安时代科技股份有限公司 | 数字签名方法、装置以及密码设备 |
CN111538996A (zh) * | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 区块链一体机的可信启动方法及装置 |
CN111541725A (zh) * | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 区块链一体机及其密码加速卡、密钥管理方法和装置 |
CN111738859A (zh) * | 2020-07-08 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 区块链一体机及区块链网络 |
CN113329030A (zh) * | 2020-07-08 | 2021-08-31 | 支付宝(杭州)信息技术有限公司 | 区块链一体机及其密码加速卡、密钥管理方法和装置 |
CN113726875A (zh) * | 2020-07-08 | 2021-11-30 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的交易处理方法及装置 |
CN113971289A (zh) * | 2020-07-08 | 2022-01-25 | 支付宝(杭州)信息技术有限公司 | 区块链一体机的可信启动方法及装置 |
CN112217635A (zh) * | 2020-09-16 | 2021-01-12 | 郑州信大先进技术研究院 | 一种基于区块链和高速密码卡的信息加密传输方法及系统 |
CN113626842A (zh) * | 2021-08-10 | 2021-11-09 | 鼎链数字科技(深圳)有限公司 | 基于密码卡实现密码服务的区块链系统及存储介质 |
Non-Patent Citations (2)
Title |
---|
下一代TCM规范及芯片设计初探;李健航;刘锋;郑必可;文胜利;;信息网络安全(第11期);全文 * |
基于"垂直认证"的区块链安全解决方案;徐冠宁;赵桂芬;;网络安全技术与应用(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114584315A (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110226168B (zh) | 用于提供区块链云服务的接口的系统和方法 | |
JP2024073535A (ja) | ブロックチェーンを用いる論理ゲート機能の実装 | |
CN111541785A (zh) | 基于云计算的区块链数据处理方法及装置 | |
CN114584307B (zh) | 一种可信密钥管理方法、装置、电子设备和存储介质 | |
JP2019526945A (ja) | ローカルコンセンサスを設定するための方法と装置およびコンピュータ可読記憶媒体 | |
WO2022166637A1 (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
JP2020537362A (ja) | セキュアマルチパーティ計算の参加者による入力データの不正確な告知の防止 | |
JP2024010123A (ja) | ブロックチェーンコンセンサス方法、装置及びシステム | |
EP4226260A1 (en) | Secure and scalable private set intersection for large datasets | |
CN110071933B (zh) | 安全套接层加速方法、装置、设备及可读存储介质 | |
TWI834741B (zh) | 包括公鑰組合驗證之電腦實行系統及方法 | |
CN110750488B (zh) | 在fpga中实现外部调用的方法及装置 | |
CN114372245A (zh) | 基于区块链的物联网终端认证方法、系统、设备及介质 | |
CN110910110A (zh) | 一种数据处理方法、装置及计算机存储介质 | |
Comon-Lundh et al. | How to prove security of communication protocols? A discussion on the soundness of formal models wrt computational ones. | |
Backes et al. | Computationally sound abstraction and verification of secure multi-party computations | |
Imran et al. | Research perspectives and challenges of blockchain for data-intensive and resource-constrained devices | |
CN114584315B (zh) | 一种区块链一体机、工作方法及构造方法 | |
CN112926983A (zh) | 一种基于区块链的存证交易加密系统及方法 | |
CN113157635B (zh) | 在fpga上实现合约调用的方法及装置 | |
Roy et al. | Formal proofs of cryptographic security of diffie-hellman-based protocols | |
CN110750303B (zh) | 基于fpga的流水线式指令读取方法及装置 | |
Zhang | Truxen: A trusted computing enhanced blockchain | |
Xu et al. | SmartLLM: A New Oracle System for Smart Contracts Calling Large Language Models | |
Bruschi et al. | A protocol for on-chain tenders |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |