CN113570465B - 基于pos共识机制的区块链签名处理方法 - Google Patents
基于pos共识机制的区块链签名处理方法 Download PDFInfo
- Publication number
- CN113570465B CN113570465B CN202111096792.3A CN202111096792A CN113570465B CN 113570465 B CN113570465 B CN 113570465B CN 202111096792 A CN202111096792 A CN 202111096792A CN 113570465 B CN113570465 B CN 113570465B
- Authority
- CN
- China
- Prior art keywords
- signature
- information
- key
- block chain
- server
- 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
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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Abstract
本发明公开了一种基于POS共识机制的区块链签名处理方法,通过密钥服务器获取第一区块链节点的第一待处理数据,密钥服务器向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器采用私钥对第一目标数据进行签名处理;密钥服务器接收签名服务器发送的签名信息;签名服务器的私钥存储在硬件钱包中,签名服务器在进行签名时需要通过硬件钱包硬件签名才能获得所需私钥;本申请的有益之处在于提供了一种可以将私钥从节点上剥离出来单独管理且能避免对“相同高度且相同种类”的签名请求进行多次签名的基于POS共识机制的区块链签名处理方法。
Description
技术领域
本发明属于区块链领域,具体是一种基于POS共识机制的区块链签名处理方法。
背景技术
区块链作为一项新兴技术,在取得一定成功的同时,依然在持续自进化。当前区块链的共识机制已逐步从POW(工作量证明)向POS过渡,目前已有众多的POS链上线并成功运行,在带来包括去中心化等特性的同时节省了大量的能源消耗。然而,在运行 POS 链的节点时,通常需要节点有较高的在线率,同时不能对“相同区块高度且相同类型的内容”的进行重复签名,否则会有经济上的损失。这对节点运营者提出了一定的技术要求。
发明内容
本发明的目的在于提供一种基于POS共识机制的区块链签名处理方法。
本发明的目的可以通过以下技术方案实现:
一种基于POS共识机制的区块链签名处理方法,包括
ST1:密钥服务器获取第一区块链节点的第一待处理数据,所述第一待处理数据中包括第一目标数据;
ST2:所述密钥服务器向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器采用私钥对第一目标数据进行签名处理,得到签名信息;
ST3:所述密钥服务器接收签名服务器发送的签名信息;
ST4:所述密钥服务器向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息更新区块链账本;
ST5:所述签名服务器的私钥存储在硬件钱包中,所述签名服务器在进行签名时需要通过硬件钱包硬件签名才能获得所需私钥;
ST6:所述签名服务器之间遵守分布式一致性协议,在所述签名服务器通过分布式一致性协议实时达成共识时,在所述区块链的每个高度上仅为一个区块链节点提供签名服务;所述区块链节点遵循POS共识机制。
本发明的有益效果:本发明提供了一种可以将私钥从节点上剥离出来单独管理且能避免对“相同高度且相同种类”的签名请求进行多次签名的基于POS共识机制的区块链签名处理方法;
同时提供了一种签名信息与密钥对应的方式,也提供了一种对签名信息进行加密处理的过程,本申请简单有效,且易于实用。
附图说明
为了便于本领域技术人员理解,下面结合附图对本发明作进一步的说明。
图1为本申请实施例中去中心化的分布式数据记录一个示意图;
图2为本申请实施例中区块链的一个示意图;
图3为本申请实施例中签名处理系统的一个架构示意图;
图4为本申请实施例中签名处理系统的另一个架构示意图;
图5为本申请实施例中签名处理系统的另一个架构示意图。
具体实施方式
如图1-5所示,本申请实施例中先对区块链机制进行介绍,请参阅图1,图1为本申请实施例中去中心化的分布式数据记录一个示意图,如图所示,区块链(BlockChain)可以认为是一个分布式的数据记录账,具有去中心化的分布式数据记录方式,通过维护数据块的链式结构,可以维持持续增长的、可共享的及不可篡改的数据记录。无论是终端设备、服务器还是云服务器,都可以参与数据的记录,且记录在区块链上的数据不能被删除和篡改。区块链技术主要让参与系统中的任意多个节点,通过一串使用密码学方法相关联产生的数据块(block),每个数据块中包含了一定时间内的系统全部信息交流数据,并且生成数据指纹用于验证其信息的有效性和链接(chain)下一个数据块。虽然图1示出的区块链上包括了5个节点,但应当理解,实际应用中的节点数量可以为大于5个或小于5个。
基于上述介绍,请参阅图2,图2为本申请实施例中区块链的一个示意图,如图所示,区块T、区块T+1和区块T+2在同一条链(Chain )上,并按照发生顺序串联而成,是整个账本状态变化的日志记录。区块记录一段时间内所有交易和状态结果,是对当前账本状态的一次共识。区块中的前导区块哈希值用于关联前一个区块,比如区块T+1的前导区块哈希值用于关联区块T。区块中的交易表示一次对账本的操作,导致账本状态的一次改变,比如添加一条转账记录。元数据用于记录具体的交易内容,比如交易时间戳、交易的密文信息以及区块长度等。
在实现上,首先假设存在一个分布式的数据记录账本,这个账本只允许添加、不允许删除。账本底层的基本结构是一个线性的链表,链表由一个个区块串联组成,如图2所示,后继区块记录前导区块的哈希值。新的数据要加入,必须放到一个新的区块中。而这个块(以及块里的交易)是否合法,可以通过计算哈希值的方式快速检验出来。任意维护节点都拥有全部区块的记录,且可以提议一个新的合法区块,然而必须经过一定的共识机制来对最终选择的区块达成一致。
本申请中,可以在区块的交易中记录金融交易数据,并且利用区块链的机制来实现一个可信且可靠的金融数据系统。
结合上述描述,本申请提出了一种签名处理的方法,用于降低私钥泄露的可能性,且可以减轻区块链节点的工作负荷,由于后续会对私钥等密码学用语进行介绍,此处先不展开描述。该方法应用于图3和图4所示的签名处理系统,请参阅图3和图4,图3和图4为本申请实施例中签名处理系统的两个架构示意图,签名处理系统中包括第一区块链节点、密钥服务器、签名服务器以及第二区块链节点,图3中密钥服务器为区块链节点设备之外的独立服务器;图4中密钥服务器是集成于区块链节点设备中的。在图3和图4中,密钥服务器用于获取第一区块链节点的第一待处理数据,从中提取出第一目标数据,之后将第一目标数据发送给签名服务器;签名服务器用于采用第一区块链节点的私钥对第一目标数据进行签名处理,得到签名信息后发送给密钥管理服务器;密钥服务器还用于向第二区块链节点发送签名信息;第二区块链节点用于根据签名信息更新区块链节点,从而由签名服务器负责利用私钥执行加签操作,防止由于区块链节点被攻破而导致私钥泄露的隐患,也减轻区块链节点的工作负荷。
图5所示,作为一种扩展方案,签名服务器的私钥存储在硬件钱包中,签名服务器在进行签名时需要通过硬件钱包硬件签名才能获得所需私钥;签名服务器之间遵守分布式一致性协议,在签名服务器通过分布式一致性协议实时达成共识时,在区块链的每个高度上仅为一个区块链节点提供签名服务;区块链节点遵循POS共识机制。
该方案是主要是为POS节点提供签名服务,可以将私钥从节点上剥离出来单独管理以提高安全性。同时,会拒绝对“相同高度且相同种类”的签名请求进行多次签名,因而可以服务多个相同私钥的POS节点,实现热备高可用以充分保证在线率。此外,签名服务自身是分布式一致性的系统,充分保证了服务自身的可用性。最后,签名服务可背靠硬件钱包,进一步加强签名私钥的安全性。
硬件钱包和分布式一致性协议均为区块链中成熟技术,此处不做具体的赘述;
其中,第一区块链节点和第二区块链节点均可以表现为终端设备或服务器,终端设备包含但不仅限于平板电脑、笔记本电脑、掌上电脑、手机、语音交互设备及个人电脑(personalcomputer,PC),此处不做限定。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
下面将对本申请中签名处理的方法进行详细介绍,请参阅图4,本申请实施例中签名处理的方法一个实施例包括:
101、密钥服务器获取第一区块链节点的第一待处理数据,其中,第一待处理数据中包括第一目标数据。
本实施例中,第一区块链节点在将第一待处理数据记录至区块链账本之后,密钥管理服务器可以获取到第一区块链节点的第一待处理数据,其中,第一待处理数据中包括第一目标数据。具体的,第一待处理数据指的是第一区块链节点发送的数据,具体可以表现为交易数据,第一目标数据具体可以表现为交易数据中的部分信息,前述部分信息可以为第一待处理数据中的重要数据,第一目标数据用于供签名服务器根据第一目标数据生成第一摘要(digest)信息。进一步的,与第一区块链节点对应的实体可以为银行、银行的商户、银行的商户的交易对象等,银行中又可以分为具有普通交易功能的银行、具有监督功能的银行等等。作为示例,例如商户甲通过A银行XX分行向商户乙支付货款10万元,A银行的总行具有监督功能,则A银行可以为与第一区块链节点对应的实体,第一待处理数据中的交易数据可以对应于商户甲向商户乙支付货款10万元这一交易事件,具体的,第一待处理数据中可以包括商户甲的银行账号、商户乙的银行账号、商户甲给商户乙的转账金额、A银行XX分行的名称、A银行XX分行的注册地点、接收商户甲录入的转账请求的终端设备的设备标识、商户甲发起转账请求的时间、A银行XX分行开始处理转账交易的处理时间与本次交易时间相关的数据等等,而第一目标数据可以为第一待处理数据中的部分重要数据,作为示例,例如第一目标数据中可以只包括商户甲的银行账号、商户乙的银行账号、商户甲给商户乙的转账金额,从而签名服务器可以利用Hash函数对第一目标数据进行处理得到固定长度的摘要,应理解,上述举例均仅为方便理解本方案,第一区块链节点、第一待处理数据、第一目标数据的具体展现形式可以参考实际场景中的需要,此处不做限定。
102、密钥服务器向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器采用私钥对第一目标数据进行签名处理,得到签名信息。
此处对第一目标数据采用私钥进行签名处理,得到签名信息的具体方式为:
步骤一:签名服务器采用私钥对第一目标数据的摘要信息进行加密处理;
步骤二:获取到对应的摘要信息,对摘要信息进行关键数据提取,以匹配对应密钥,此处的密钥服务器内存储有若干密钥,在进行密钥存储时,需要进行密钥与摘要信息的对应工作,此处的实施例表示为所有的密钥存储在密钥服务器内,需要借助摘要信息进行初步识别,初步识别和匹配的方式如下:
S1:获取到对应的摘要信息,自动获取到对应第一目标数据的上传时间,按照月日时的格式获取到对应的时间数值,将其标记为Ti,i=1、...、6;其中,此处具体举例为当时间戳记录为09月08日14时,此时T1取值为0,T2值为9,之后的T3-T6依次对应0814四个数值;
S2:之后获取到摘要信息的字符长度值F,字符长度值F表示为对应摘要信息的字符个数;
S3:之后对时间数值Ti和字符长度值F在抛去量纲后,留下数值借助公式进行核算,得到选要值Y,具体计算公式为:
式中,QG{*}指代为对括号内数值取其具体数值的第一位数值和第二位数值相加之后的数值,此过程跳过小数点,且若仅存在一位数值时,且此时该数值加一后自动标记为选要值Y;
S4:得到选要值Y之后,获取到摘要信息的第Y个字符,将其标记为初接标;
S5:之后对初接标进行查询,遍历所有的密钥的第一个字符,该字符即为对应的识别标,当没有查询到任何与初接标相同的识别标时,自动将对应的初接标标记为对应密钥的识别标,并将识别标放置到对应密钥名称的第一个字符;
S6:获取到初接标的下一个字符,将其代入步骤S5中的初接标进行查询,此时自动将代位值加一,代位值初始为零,代位值为遍历时密钥服务器内存储的密钥的字符所处的位数;
S7:若还是无法满足S5中的条件,得到识别标,则重复步骤S6,直到找到识别标,每一次重复步骤S6的时候代位值会自动加一;
S8:当遍历完所有的摘要信息内的字符,仍然无法确定识别标时,则自动在摘要信息的末尾和密钥名称的第一个字符加入选空位,选空位的字符由若干个不同于所有的摘要信息的字符构成,任意在选空位加入与其他摘要信息不同的选空位字符;若不需要选空位字符时,此处会将选空位字符标记为设定字符,设定字符与其他所有字符不同,表示此处没有选空位;
S9:得到处理后的摘要信息和密钥;此处步骤是在上传摘要信息和对应的密钥时所做处理;
步骤三:根据步骤二对所有的摘要信息和密钥处理完之后,将摘要信息与密钥信息进行反向对应,得到对应属于摘要信息的密钥,利用密钥对摘要信息进行处理,此处先在摘要信息的末尾寻找选空位,若存在则根据选空位寻找对应密钥;
若无则对摘要信息进行步骤二的相同原理处理得到识别标,根据识别标处理得到对应密钥;
步骤四:利用密钥对摘要信息进行加密处理,现有技术中采用私钥对摘要信息加密的方式很多,本实施例提供一种加密方式,具体为:
SS1:获取到摘要信息,获取到其所有的字符及其上传时的时间戳;
SS2:取时间戳中的年月日的数值,按照年月日顺序依次摆放得到时间数值组,将时间数值组相加后得到一个数值;
SS3:若该数值的位数大于等于两位,则将该数值中的每一个位数上的数值再次相加,迭代此次步骤的过程直到得到的数值的字符数仅有一位,将该数值加二,得到的数值标记为划分值;
SS4:将摘要信息按照划分值的字符个数,从第一个到第N个划分为一段,N的取值即为划分值,得到若干个划分段;此处若摘要信息的字符数不能整除N,则自动将最后的余数划分为上一个划分段内;
SS5:之后取时间数值组中的最后一个数值,将其标记为跳跃值T,从第一段开始数,选取划分段的第T个划分段,之后依次选取T的整数倍数值对应的划分段,得到所有的选中划分段,组合得到签名信息;
步骤五:对签名信息验证时,需要获取到签名信息,将其作为旧签名信息,之后利用步骤四的规则对摘要信息做相同处理,得到新签名信息,新签名信息和旧签名信息一致时,确认节点合法性;
本实施例中,密钥服务器在获取到第一待处理数据之后,可以从第一待处理数据中提取出第一目标数据,之后向签名服务器发送第一待处理数据中的第一目标数据,由于签名服务器上可以存储有不止一个区块链节点的私钥,则密钥服务器在向签名服务器发送第一目标数据时可以加入第一区块链节点的标识,以使签名服务器采用第一区块链节点的私钥对第一目标数据进行签名处理,得到签名信息(signature),其中,签名服务器也可以称为加密机,签名信息具体可以表现为签名服务器采用第一区块链节点私钥对第一目标数据进行加密处理后得到的密文,区块链节点的标识具体可以表现为成员关系服务提供者标识(membershipserviceprovideridentity,MSPID)、令牌(TOKEN)或其他类型的标识等等。进一步的,与私钥对应的是公钥,第一区块链节点的私钥和第一区块链节点的公钥可以组成一个密钥对,是一种非对称加密技术。其中,私钥是与密钥对所有者(也即第一区块链节点)对应的签名服务器持有的,私钥具有不可公布的性质,只可以有签名服务器持有且保存;公钥具有可公布性质,也即至少一个区块链节点上存储有第一区块链节点的公钥。进一步的,私钥用于对第一目标数据进行加密,得到签名信息;公钥用于对加密后的签名信息进行解密。
103、密钥服务器接收签名服务器发送的签名信息。
本实施例中,在签名服务器生成签名信息之后,会将生成的签名信息发送给密钥管理服务器,则密钥服务器可以接收签名服务器发送的签名信息。
104、密钥服务器向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息更新区块链账本。
本实施例中,密钥服务器在接收到签名服务器发送的签名信息之后,可以向第二区块链节点发送签名信息,从而第二区块链节点根据签名信息更新区块链账本。具体的,第二区块链节点需要将签名信息记录至区块链账本中,进一步的,第二区块链节点需要将签名信息以及签名验证结果记录区块链账本中,签名验证结果为签名服务器或第二区块链节点对第二待处理数据进行验证后得到的验证结果,其中,第二待处理数据指的是第二区块链节点从区块链账本中获取到的数据,具体可以为交易数据。由于区块链具有共享性,则第二区块链节点可以通过区块链账本获取到第一区块链节点记录至区块链账本中的第一待处理数据,但第二区块链节点获取的第二待处理数据不一定是第一区块链节点发送的,因此需要签名服务器或第二区块链节点对第二区块链节点获取的第二待处理数据进行验证。若确定第二区块链节点获取的第二待处理数据是第一区块链节点发送的,则第二待处理数据和第一待处理数据对应的可以为相同的数据;若确定第二区块链节点获取的第二待处理数据不是第一区块链节点发送的,则第二待处理数据和第一待处理数据对应的可以为不同的数据。
在一种实现方式中,由签名服务器执行对第二待处理数据的验证操作,则第二区块链节点是与第一区块链节点不同的区块链节点,可以具体表现为第一区块链节点的交易相对方,也可以为表现为对第一区块链节点具有监督功能的区块链节点等等,作为示例,例如某一条区块链上有9个节点,分别为商户甲、A银行XX支行、A银行YY支行、A银行ZZ支行、A银行总行、A银行的合作银行B银行的TT支行、B银行UU支行、B银行总行以及商户甲的交易对象乙,商户甲通过A银行XX支行向交易对象乙在B银行UU支行进行了一次转账,则可以只将交易对象乙所对应的节点设备视为第二区块链节点设备,也可以将A银行总行以及B银行总行均视为第二区块链节点设备等。
在另一种实现方式中,由第二区块链节点执行对第二待处理数据的验证操作,则第二区块链节点可以理解为区块链上的任意节点,第二区块链节点中可以包括一个区块链节点或至少两个区块链节点,部分第二区块链节点具有利用签名信息对第一区块链节点发出的第一待处理数据进行验证的功能,至少一个第二区块链节点中可以包括第一区块链节点,也可以为不包括第一区块链节点,具体第二区块链节点中包括哪些区块链节点要根据区块链中采用的共识规则来决定。作为示例,例如某一条区块链上有9个节点,分别为商户甲、A银行XX支行、A银行YY支行、A银行ZZ支行、A银行总行、A银行的合作银行B银行的TT支行、B银行UU支行、B银行总行以及商户甲的交易对象乙,商户甲通过A银行XX支行向交易对象乙在B银行UU支行进行了一次转账(也即交易数据),商户甲所对应的节点设备为第一区块链节点,可以将商户甲、A银行XX支行、A银行总行、B银行UU支行、B银行总行以及商户甲的交易对象乙所对应的节点设备视为第二区块链节点,用于根据签名信息对第二区块链节点获取的交易数据进行验证,上述举例均仅用于方便理解本方案。
以上内容仅仅是对本发明结构所作的举例和说明,所属本技术领域的技术人员对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
Claims (7)
1.一种基于POS共识机制的区块链签名处理方法,其特征在于,包括
ST1:密钥服务器获取第一区块链节点的第一待处理数据,所述第一待处理数据中包括第一目标数据;
ST2:所述密钥服务器向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器采用私钥对第一目标数据进行签名处理,得到签名信息;
对第一目标数据采用私钥进行签名处理,得到签名信息的具体方式为:
步骤一:签名服务器采用私钥对第一目标数据的摘要信息进行加密处理;
步骤二:获取到对应的摘要信息,对摘要信息进行关键数据提取,以匹配对应密钥,此处的密钥服务器内存储有若干密钥,在进行密钥存储时,需要进行密钥与摘要信息的对应工作,所有的密钥存储在密钥服务器内,需要借助摘要信息进行初步识别,得到处理后的摘要信息和密钥;
初步识别的方式如下:
S1:获取到对应的摘要信息,自动获取到对应第一目标数据的上传时间,按照月日时的格式获取到对应的时间数值,将其标记为Ti,i=1、...、6;
S2:之后获取到摘要信息的字符长度值F,字符长度值F表示为对应摘要信息的字符个数;
S3:之后对时间数值Ti和字符长度值F在抛去量纲后,留下数值借助公式进行核算,得到选要值Y,具体计算公式为:
式中,QG{*}指代为对括号内数值取其具体数值的第一位数值和第二位数值相加之后的数值,此过程跳过小数点,且若仅存在一位数值时,且此时该数值加一后自动标记为选要值Y;
S4:得到选要值Y之后,获取到摘要信息的第Y个字符,将其标记为初接标;
S5:之后对初接标进行查询,遍历所有的密钥的第一个字符,该字符即为对应的待识别标,当没有查询到任何与初接标相同的待识别标时,自动将对应的初接标标记为对应密钥的待识别标,并将待识别标放置到对应密钥名称的第一个字符;
S6:获取到初接标的下一个字符,将其代入步骤S5中的初接标进行查询,此时自动将代位值加一,代位值初始为零,代位值为遍历时密钥服务器内存储的密钥的字符所处的位数;
S7:若还是无法满足S5中的条件,得到识别标,则重复步骤S6,直到找到识别标,每一次重复步骤S6的时候代位值会自动加一;
S8:当遍历完所有的摘要信息内的字符,仍然无法确定识别标时,则自动在摘要信息的末尾和密钥名称的第一个字符加入选空位,选空位的字符由若干个不同于所有的摘要信息的字符构成,任意在选空位加入与其他摘要信息不同的选空位字符;若不需要选空位字符时,此处会将选空位字符标记为设定字符,设定字符与其他所有字符不同,表示此处没有选空位;
S9:得到处理后的摘要信息和密钥;此处步骤是在上传摘要信息和对应的密钥时所做处理;
步骤三:根据步骤二对所有的摘要信息和密钥处理完之后,将摘要信息与密钥信息进行反向对应,得到对应属于摘要信息的密钥,利用密钥对摘要信息进行处理,此处先在摘要信息的末尾寻找选空位,若存在则根据选空位寻找对应密钥;
若无则对摘要信息进行步骤二的相同原理处理得到识别标,根据识别标处理得到对应密钥;
步骤四:利用密钥对摘要信息进行加密处理,得到所有的选中划分段组合后的签名信息;
步骤五:对签名信息验证时,需要获取到签名信息,将其作为旧签名信息,之后利用步骤四的规则对摘要信息做相同处理,得到新签名信息,新签名信息和旧签名信息一致时,确认节点合法性;
ST3:所述密钥服务器接收签名服务器发送的签名信息;
ST4:所述密钥服务器向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息更新区块链账本;
ST5:所述签名服务器的私钥存储在硬件钱包中,所述签名服务器在进行签名时需要通过硬件钱包硬件签名才能获得所需私钥;
ST6:所述签名服务器之间遵守分布式一致性协议,在所述签名服务器通过分布式一致性协议实时达成共识时,在所述区块链的每个高度上仅为一个区块链节点提供签名服务;所述区块链节点遵循POS共识机制。
2.根据权利要求1所述的基于POS共识机制的区块链签名处理方法,其特征在于,所述密钥服务器获取第一区块链节点的第一待处理数据,包括:
所述密钥服务器接收第一区块链节点发送的第一待处理数据;
或,
所述密钥服务器通过第一区块链节点获取第一待处理数据。
3.根据权利要求1所述的基于POS共识机制的区块链签名处理方法,其特征在于,所述密钥服务器获取第一区块链节点的第一待处理数据之前,所述方法还包括:
所述密钥服务器接收所述第二区块链节点发送的连接请求,所述连接请求中携带所述第二区块链节点的身份验证信息;
所述密钥服务器根据所述连接请求,对所述第二区块链节点进行身份验证,得到身份验证结果;
若所述身份验证结果为验证成功,则所述密钥服务器向所述第二区块链节点发送证书,其中,所述证书携带公钥。
4.根据权利要求3所述的基于POS共识机制的区块链签名处理方法,其特征在于,所述密钥服务器根据所述连接请求,对所述第二区块链节点进行身份验证,得到身份验证结果,包括:
所述密钥服务器从所述连接请求中获取待验证令牌TOKEN以及待验证成员关系服务提供者标识MSPID,其中,所述待验证TOKEN以及所述待验证MSPID属于所述身份验证信息;
所述密钥服务器根据信息映射关系查找所述待验证TOKEN所对应的目标MSPID,其中,所述信息映射关系用于表示TOKEN与MSPID之间的对应关系;
若所述目标MSPID与所述待验证MSPID一致,则所述密钥服务器确定所述身份验证结果为验证成功;
若所述目标MSPID与所述待验证MSPID不一致,则所述密钥服务器确定所述身份验证结果为验证失败。
5.根据权利要求1所述的基于POS共识机制的区块链签名处理方法,其特征在于,所述密钥服务器向第二区块链节点发送签名信息之后,所述方法还包括:
所述密钥服务器接收所述第二区块链节点发送的第二待处理数据,其中,所述第二待处理数据中包括第二目标数据;
所述密钥服务器向签名服务器发送所述第二目标数据,以使所述签名服务器根据第一摘要信息以及第二摘要信息确定签名验证结果,其中,所述第一摘要信息为所述签名服务器采用所述第一区块链节点的公钥对所述签名信息进行解密后得到的,所述第二摘要信息所述签名服务器为采用目标加密算法对所述第二目标数据进行计算后得到的;
所述密钥服务器接收所述签名服务器发送的所述签名验证结果;
所述密钥服务器向所述第二区块链节点发送所述签名验证结果,以使所述第二区块链节点根据所述签名验证结果更新区块链账本。
6.根据权利要求1所述的基于POS共识机制的区块链签名处理方法,其特征在于,所述密钥服务器获取第一区块链节点的第一待处理数据之前,所述方法还包括:
所述密钥服务器通过资源表现层状态转化RESTful接口与所述第一区块链节点建立通信连接;
所述密钥服务器通过所述RESTful接口与所述第二区块链节点建立通信连接。
7.根据权利要求1所述的基于POS共识机制的区块链签名处理方法,其特征在于,步骤四中利用密钥对摘要信息进行加密处理,具体为:
SS1:获取到摘要信息,获取到其所有的字符及其上传时的时间戳;
SS2:取时间戳中的年月日的数值,按照年月日顺序依次摆放得到时间数值组,将时间数值组相加后得到一个数值;
SS3:若该数值的位数大于等于两位,则将该数值中的每一个位数上的数值再次相加,迭代此次步骤的过程直到得到的数值的字符数仅有一位,将该数值加二,得到的数值标记为划分值;
SS4:将摘要信息按照划分值的字符个数,从第一个到第N个划分为一段,N的取值即为划分值,得到若干个划分段;此处若摘要信息的字符数不能整除N,则自动将最后的余数划分为上一个划分段内;
SS5:之后取时间数值组中的最后一个数值,将其标记为跳跃值T,从第一段开始数,选取划分段的第T个划分段,之后依次选取T的整数倍数值对应的划分段,得到所有的选中划分段,组合得到签名信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111096792.3A CN113570465B (zh) | 2021-09-18 | 2021-09-18 | 基于pos共识机制的区块链签名处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111096792.3A CN113570465B (zh) | 2021-09-18 | 2021-09-18 | 基于pos共识机制的区块链签名处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113570465A CN113570465A (zh) | 2021-10-29 |
CN113570465B true CN113570465B (zh) | 2022-01-07 |
Family
ID=78173795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111096792.3A Active CN113570465B (zh) | 2021-09-18 | 2021-09-18 | 基于pos共识机制的区块链签名处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113570465B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114140119A (zh) * | 2021-12-02 | 2022-03-04 | 杭州复杂美科技有限公司 | 一种跨链见证交易的签名系统和方法 |
CN115115367B (zh) * | 2022-08-30 | 2023-03-31 | 平安银行股份有限公司 | 一种基于区块链的交易信息查询方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108242994A (zh) * | 2016-12-26 | 2018-07-03 | 阿里巴巴集团控股有限公司 | 密钥的处理方法和装置 |
CN109314636A (zh) * | 2016-02-23 | 2019-02-05 | 区块链控股有限公司 | 用于从区块链中安全提取数据的密码方法和系统 |
CN109687977A (zh) * | 2019-01-10 | 2019-04-26 | 如般量子科技有限公司 | 基于多个密钥池的抗量子计算数字签名方法和抗量子计算数字签名系统 |
CN110545190A (zh) * | 2019-09-06 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 一种签名处理的方法、相关装置以及设备 |
CN110602138A (zh) * | 2019-09-26 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190319802A1 (en) * | 2019-06-28 | 2019-10-17 | Intel Corporation | Parallel processing techniques for hash-based signature algorithms |
CN111080292B (zh) * | 2019-11-25 | 2021-09-10 | 支付宝(杭州)信息技术有限公司 | 用于获取区块链交易签名数据的方法及装置 |
-
2021
- 2021-09-18 CN CN202111096792.3A patent/CN113570465B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109314636A (zh) * | 2016-02-23 | 2019-02-05 | 区块链控股有限公司 | 用于从区块链中安全提取数据的密码方法和系统 |
CN108242994A (zh) * | 2016-12-26 | 2018-07-03 | 阿里巴巴集团控股有限公司 | 密钥的处理方法和装置 |
CN109687977A (zh) * | 2019-01-10 | 2019-04-26 | 如般量子科技有限公司 | 基于多个密钥池的抗量子计算数字签名方法和抗量子计算数字签名系统 |
CN110545190A (zh) * | 2019-09-06 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 一种签名处理的方法、相关装置以及设备 |
CN110602138A (zh) * | 2019-09-26 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
Homomorphic Signature Schemes;Johnson R 等;《Cryptographers’ Track at the RSA Conference》;20020208;244-262 * |
Also Published As
Publication number | Publication date |
---|---|
CN113570465A (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109314636B (zh) | 用于从区块链中安全提取数据的密码方法和系统 | |
US9430655B1 (en) | Split tokenization | |
CN109074434A (zh) | 使用分布式散列表和点对点分布式分类账验证数字资产所有权的方法和系统 | |
CN113570465B (zh) | 基于pos共识机制的区块链签名处理方法 | |
AU2019204713A1 (en) | Transferring digital tickets based on blockchain networks | |
CN112749969B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN110096551A (zh) | 基于区块链的信用数据存储方法、装置、设备及介质 | |
JP6543743B1 (ja) | 管理プログラム | |
CN108009445B (zh) | 一种半中心化的可信数据管理系统 | |
CN109508564A (zh) | 一种基于区块链的数字资产存储系统和方法 | |
CN112184444B (zh) | 基于信息的特征进行信息处理的方法、装置、设备及介质 | |
CN111815321A (zh) | 交易提案的处理方法、装置、系统、存储介质和电子装置 | |
CN113902384B (zh) | 一种基于rfid和智能合约的溯源方法及系统 | |
CN113360861B (zh) | 一种面向抵押贷款的基于中继器跨链的去中心化身份方法 | |
CN111882410A (zh) | 一种基于区块链的税务信息查询方法及系统 | |
Gulati et al. | Self-sovereign dynamic digital identities based on blockchain technology | |
CN109873828B (zh) | 资源管理方法、装置、设备和存储介质 | |
CN110223075B (zh) | 身份认证方法、装置、计算机设备和存储介质 | |
CN104182525A (zh) | 应用有版权保护功能的多媒体文件和国密算法的电子档案管理装置 | |
CN112654972A (zh) | 具有受限交易的区块链设置 | |
CN115705601A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
KR102349014B1 (ko) | 고속 동기화 가능 탈중앙화 분산 데이터베이스 구성 방법 및 시스템 | |
US11750388B2 (en) | Linking digital and physical non-fungible items | |
CN113051341A (zh) | 一种基于多种区块链的用户数据存证系统及方法 | |
CN103916237A (zh) | 对用户加密密钥恢复进行管理的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |