CN110084600A - 决议事务请求的处理、验证方法、装置、设备及介质 - Google Patents
决议事务请求的处理、验证方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110084600A CN110084600A CN201910357172.7A CN201910357172A CN110084600A CN 110084600 A CN110084600 A CN 110084600A CN 201910357172 A CN201910357172 A CN 201910357172A CN 110084600 A CN110084600 A CN 110084600A
- Authority
- CN
- China
- Prior art keywords
- resolution
- transactions requests
- node
- signature
- block chain
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/407—Cancellation of a transaction
-
- 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
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Collating Specific Patterns (AREA)
Abstract
本发明实施例公开了一种决议事务请求的处理、验证方法、装置、设备及介质。该方法由区块链节点执行,其中,决议事务请求的处理方法包括:获取用户产生的决议事务请求;向决议成员节点发送决议事务请求,以请求各决议成员节点进行审核;接收决议成员节点审核后反馈的成员签名数据,并根据各成员签名数据生成成员联合签名;为决议事务请求添加成员联合签名;在区块链网络中发起决议事务请求,以请求区块链节点根据成员联合签名进行验证,并在验证通过时执行决议事务请求。本发明实施例的技术方案,以实现创建一种新形式的决议事务请求来执行区块链中需要被逆转的转账交易,且通过其中的成员联合签名保证了决议事务请求不被恶意利用。
Description
技术领域
本发明实施例涉及区块链技术领域,尤其涉及一种决议事务请求的处理、验证方法、装置、设备及存储介质。
背景技术
随着区块链技术的不断发展,在区块链网络中有时会出现一些需要被逆转的转账交易,例如,一个用户的私钥被黑客攻击窃取,导致其资产损失,此时需要将该用户丢失的资产从黑客账户转回到用户账户,从而帮助用户挽回损失。
目前区块链节点在处理和资产交易相关的事务请求时,通常需要得到资产被转移方的用户签名后,方可对该事务请求进行处理。但是,对于需要被逆转的转账交易,黑客作为资产被转移方不可能对此次转账交易进行签名,所以区块链节点也就无法执行需要被逆转的转账交易。因此,对于区块链网络中出现的需要被逆转的转账交易,仍然存在如何判断是否要执行、如何执行以及如何防止交易作假等问题。针对上述问题,现有技术没有提供有效的解决方案。
发明内容
本发明实施例提供了一种决议事务请求的处理、验证方法、装置、设备及存储介质,以实现创建一种新形式的决议事务请求来执行区块链中需要被逆转的转账交易,且通过其中的成员联合签名保证了决议事务请求不被恶意利用。
第一方面,本发明实施例提供了一种决议事务请求的处理方法,应用于区块链节点,该方法包括:
获取用户产生的决议事务请求;
向决议成员节点发送所述决议事务请求,以请求各所述决议成员节点进行审核;
接收所述决议成员节点审核后反馈的成员签名数据,并根据各所述成员签名数据生成成员联合签名;
为所述决议事务请求添加成员联合签名;
在区块链网络中发起所述决议事务请求,以请求区块链节点根据所述成员联合签名进行验证,并在验证通过时执行所述决议事务请求。
第二方面,本发明实施例还提供了一种决议事务请求的验证方法,应用于区块链节点,该方法包括:
通过区块链网络接收到事务请求;
如果识别到所述事务请求为决议事务请求,则从所述决议事务请求中获取成员联合签名,并根据决议成员节点的公钥,对所述成员联合签名进行验证;
如果验证通过,则执行所述决议事务请求。
第三方面,本发明实施例还提供了一种决议事务请求的处理装置,配置于区块链节点中,该装置包括:
决议请求获取模块,用于获取用户产生的决议事务请求;
决议请求发送模块,用于向决议成员节点发送所述决议事务请求,以请求各所述决议成员节点进行审核;
联合签名生成模块,用于接收所述决议成员节点审核后反馈的成员签名数据,并根据各所述成员签名数据生成成员联合签名;
联合签名添加模块,用于为所述决议事务请求添加成员联合签名;
决议请求发起模块,用于在区块链网络中发起所述决议事务请求,以请求区块链节点根据所述成员联合签名进行验证,并在验证通过时执行所述决议事务请求。
第四方面,本发明实施例还提供了一种决议事务请求的验证装置,配置于区块链节点,所述装置包括:
事务请求接收模块,用于通过区块链网络接收到事务请求;
签名获取验证模块,用于如果识别到所述事务请求为决议事务请求,则从所述决议事务请求中获取成员联合签名,并根据决议成员节点的公钥,对所述成员联合签名进行验证;
决议请求执行模块,用于如果验证通过,则执行所述决议事务请求。
第五方面,本发明实施例还提供了一种设备,该设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的决议事务请求的处理方法或决议事务请求的验证方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的决议事务请求的处理方法或决议事务请求的验证方法。
本发明实施例的技术方案,区块链节点在获取决议事务请求后,先向决议成员节点发送该决议事务请求,以请求决议成员节点对该决议事务请求进行审核,并反馈成员签名数据,区块链节点根据接收到的成员签名数据生成成员联合签名,添加到决议事务请求中,再向区块链网络发起添加了成员联合签名的决议事务请求,以请求区块链节点在对成员联合签名验证通过后,执行该决议事务请求。本发明实施例的技术方案,通过根据决议成员节点的签名数据生成成员联合签名添加到决议事务请求中,创建了一种新的决议请求的签名形式,且联合签名可以很好的保证决议事务请求的安全性,解决了现有技术无法处理区块链中需要被逆转的转账交易的问题,以实现创建一种新形式的决议事务请求来执行区块链中需要被逆转的转账交易,且通过其中的成员联合签名保证了决议事务请求不被恶意利用。
附图说明
图1是本发明实施例一提供的一种决议事务请求的处理方法的流程图;
图2是本发明实施例二提供的一种决议事务请求的处理方法的流程图;
图3是本发明实施例三提供的一种决议事务请求的验证方法的流程图;
图4为本发明实施例四提供的一种决议事务请求的处理及验证方法的流程图。
图5是本发明实施例五提供的一种决议事务请求的处理装置的结构框图;
图6是本发明实施例六提供的一种决议事务请求的验证装置的结构框图;
图7是本发明实施例七提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种决议事务请求的处理方法的流程图,本实施例可适用于对区块链中需要被逆转的转账交易对应的事务请求进行处理的情况,该方法可以由区块链节点来执行,可选的,可以由决议事务请求发起节点执行,其中,该决议事务请求发起节点包括发起决议事务请求的节点和传输决议事务请求的节点。该方法可以由配置在区块链节点中的决议事务请求的处理装置或设备来执行,该装置可以采用软件和/或硬件的方式实现,并可集成于承载区块链节点的电子设备中,该方法具体包括如下步骤:
S101,获取用户产生的决议事务请求。
其中,决议事务请求可选为转账事务请求,所述转账事务请求中包括资产转出账户和资产转入账户,该决议事务请求用于请求区块链节点将资产转出账户中的资产转移到资产转入账户。需要说明的是,本发明实施例中的决议事务请求与常规的转账事务请求的区别在于,决议事务请求主要是针对区块链中需要被逆转的转账交易发起的事务请求,可选用于处理区块链中需要被逆转的事务,典型的就是转账交易。其中,需要被逆转的转账交易都对应有一个常规的转账交易,用于将常规的转账交易的资产进行追回,例如,某一常规转账交易为将用户A账户的100元转移到用户B账户,若该常规转账交易是被恶意节点攻击后产生的转账交易,此时该常规交易就对应有一个需要被逆转的转账交易,且此时需要被逆转的转账交易就是从用户B账户转移100元到用户A的账户,为用户A追回其损失的资产。
可选的,为了区分本发明实施例中的决议事务请求和普通的事务请求,可以预先为各事务请求设置一个专门用来标记该事务请求类型的字段,该字段用于区分事务请求是普通的事务请求还是本实施例的决议事务请求。
可选的,本发明实施例中,当用户发现其资产被恶意转出时,可触发交互设备(如本机节点设备、可与区块链进行交互的终端设备或客户端)基于智能合约向用户展示交互界面,用户会基于该交互界面发起要追回其损失资产的决议事务请求。决议事务请求发起节点会接收用户通过可交互设备发起的决议事务请求。可选的,若用户是通过本机节点发起的决议事务请求,此时本机节点作为决议事务请求发起节点可以直接获取自身产生的决议事务请求;若用户是通过可与区块链进行交互的终端设备或客户端发起的决议事务请求,此时可与终端设备或客户端进行交互的区块链节点作为决议事务请求发起节点获取终端设备或客户端发送的决议事务请求。
例如,用户A的账户被恶意节点向账户B转了100元,此时用户A想申请从账户B追回损失的100元,可以在触发交互设备展示的资产管理界面上输入追回的用户账户信息(如账户B)、追回金额(如100元)以及追回原因(如被恶意节点攻击)等,此时交互设备就会基于智能合约和用户输入的信息发起本次决议事务请求,决议事务请求发起节点获取用户A通过交互设备产生的决议事务请求。
其中,本发明实施例中用于发起决议事务请求的智能合约可以是实现对决议事务请求发起和处理以及成员签名数据和成员联合签名的生产和验证等所有相关流程的程序集合,在该智能合约中可提供交互界面,供各节点方发起数据和响应数据的不同内容,从而发起或处理各个具体的事务请求以及产生和验证成员签名数据和成员联合签名。
S102,向决议成员节点发送决议事务请求,以请求各决议成员节点进行审核。
其中,决议成员节点可以是区块链网络中权威性较高的节点,用于审核用户发起的决议事务请求,并给出是否同意执行本次决议事务请求的反馈。为了避免审核决议事务请求的过程出现中心化的情况,区块链网络中的决议成员节点的个数通常为多个。可选的,决议成员节点可以是预先基于区块链中的选举共识机制,从区块链节点中选择确定多个决议成员节点。其中,区块链中的选举共识机制有很多,如权益证明机制(POS)、股份授权证明机制(DPOS)等等。可选的,决议成员节点可以是从所有的区块链节点中,由用户基于选举共识机制投票产生,可以每隔一段时间执行换届选举,重新选出区块链网络中的各决议成员节点。
可选的,在基于区块链中的选举共识机制,确定出各决议成员节点后,可以将各决议成员节点的身份信息和公钥发布到区块链网络中,便于区块链中的各节点了解哪些节点是本次选举出的决议成员节点。可选的,为了便于对决议成员节点的监管,还可以专门将各决议成员节点的身份信息和公钥发布到一条实名区块链中进行存储,该实名区块链可以受权威机构(如政府机构)的监管,当权威机构审核同意后,才可以将决议成员节点的身份信息和公钥发布到实名区块链中,本次决议成员节点选举过程完成。
可选的,向区块链网络中的决议成员节点发送决议事务请求时,可以是决议事务请求发起节点以广播的形式将决议事务请求发送至区块链网络中,决议成员节点接收该决议事务请求,而非决议成员节点则可以接收也可以不接收该决议事务请求。也可以是决议事务请求发起节点只向决议成员节点发送决议事务请求,决议成员节点接收该决议事务请求。对此本实施例不进行限定。
可选的,决议成员节点接收决议事务请求后,需要对该决议事务请求进行审核,决定是否同意执行本次决议事务请求。可选的,对于决议成员节点如何审核用户产生的决议事务请求是否是真实可靠的事务请求的过程,本实施例不进行限定。例如,各决议节点可以通过线下的方式来对接收到的决议事务请求进行核实;也可以是通过某种线上的方式直接对接收到的决议事务请求进行核实;还可以是通过借助第三方(如监管方)进行核实,如,用户在产生决议事务请求后,向监管方申报其生成的决议事务请求,监管方线下对用户申报的决议事务请求进行核实,并将核实结果发送至区块链网络,各决议成员节点可以根据监管方反馈的核实结果,来对接收到的决议事务请求进行审核。
可选的,对于决议事务请求发起节点,在S101接收用户产生的决议事务请求时,也可以是根据预先对用户产生的决议事务请求进行核实的结果,选择性的只获取核实通过的决议事务请求。需要说明的是,本发明实施例不对如何核实决议事务请求是否为需要被逆转的转账交易对应的事务请求的过程进行限定。且默认本发明实施例中的决议事务请求就是预先审核通过的,需要执行被逆转的转账交易对应的决议事务请求。
S103,接收决议成员节点审核后反馈的成员签名数据,并根据各成员签名数据生成成员联合签名。
其中,成员签名数据可以是决议成员节点对接收到的决议事务请求进行审核后,同意执行该决议事务请求的情况下,生成的签名数据。可选的,各决议成员节点反馈的成员签名数据通常是不一样的,成员签名数据可以是同意执行该决议事务请求的各决议成员节点按照智能合约中规定的成员签名规则生成的加密数据。例如,可以是同意执行该决议事务请求的各决议成员节点根据其自身的私钥对随机数、决议事务请求或身份信息等进行签名得到的数据。
成员联合签名可以是决议事务请求发起节点在接收到同意执行该决议事务请求的各决议节点反馈的成员签名数据后,按照智能合约中规定的联合签名生成规则根据各成员签名数据生成的多重签名数据。具体如何根据各成员签名数据生成成员联合签名的规则本实施例不进行限定,如可以是对各成员签名数据求和;还可以是对各成员签名数据再次进行加密操作;也可以是按照预设形式进行组合等等。
可选的,决议事务请求发起节点接收决议成员审核后反馈的成员签名数据后,按照智能合约中规定的联合签名生成规则,根据各成员签名数据生成成员联合签名。可选的,在执行生成成员联合签名之前,还可以包括:对反馈成员签名数据的决议成员节点的身份信息和公钥进行验证,从而避免恶意节点冒充决议成员节点,干扰决议事务请求的处理结果。由于每次基于选举共识机制确定出各决议成员节点后,会将各决议成员节点的身份信息和公钥发布到区块链网络中。所以本步骤在对反馈成员签名数据的决议成员节点的身份信息和公钥进行验证时,若决议成员节点的身份信息和公钥存储在当前区块链中,则可以是根据当前区块链中的决议成员节点的身份信息和公钥,对发送成员签名数据的各决议成员节点进行身份真实性验证。若决议成员节点的身份信息和公钥存储在实名区块链中,则根据所述实名区块链中的决议成员节点的身份信息和公钥,对发送成员签名数据的各决议成员节点进行身份真实性验证。如果验证成功,则执行根据各成员签名数据生成成员联合签名,否则说明本次决议事务请求没有通过审核,拒绝发起该决议事务请求。
具体的,如何根据当前区块链或实名区块链中存储的决议成员节点的身份信息和公钥对发送成员签名数据的决议成员节点进行身份真实性验证的过程,本实施例不进行限定。例如,验证决议成员节点身份信息的真实性时,可以是查看反馈成员签名数据的节点在当前区块链或实名区块链中存储的身份信息是否表明其为选出的决议成员节点。验证决议节点公钥的真实性时,可以是判断反馈成员签名数据的节点发送的公钥与当前区块链或实名区块链中存储的该节点的公钥是否一致;还可以是将当前区块链或实名区块链中存储的公钥来解密成员签名数据,看是否能解密成功等。
可选的,本实施例中,在接收决议成员审核后反馈的成员签名数据后,还可以包括,判断反馈成员签名数据的决议成员节点的个数是否满足要求(如是否大于预设数量或大于预设比例值),若是,则执行根据各成员签名数据生成成员联合签名,否则说明本次决议事务请求没有通过审核,拒绝发起该决议事务请求。
S104,为决议事务请求添加成员联合签名。
可选的,决议事务请求发起节点在生成成员联合签名后,将该成员联合签名添加到S101获取的决议事务请求中,得到包含了成员联合签名的决议事务请求,此时成员联合签名即为该决议事务请求的签名。可选的,决议事务请求发起节点在将成员联合签名添加到事务请求的过程中,还可以将同意本次决议事务请求的各决议成员节点的标识(如公钥)一同添加到该决议事务请求中,便于区块链节点执行决议事务请求时,对成员联合签名进行验证。
S105,在区块链网络中发起决议事务请求,以请求区块链节点根据成员联合签名进行验证,并在验证通过时执行决议事务请求。
可选的,决议事务请求发起节点在区块链网络中发起添加了成员联合签名的决议事务请求,具体的发起该决议事务请求的过程与向区块链网络发起普通的转账事务请求的过程一样,将该决议事务请求发送至区块链全网。区块链节点接收到该决议事务请求,确定其是决议事务请求,而非是普通的转账事务请求时,则需要先根据同意该决议事务请求的各决议成员节点的公钥(如可以是决议事务请求中包含的,也可以是从当前区块链或实名区块链中获取的)对该决议事务请求中的成员联合签名进行验证,如果验证通过,则执行该决议事务请求对应的需要被逆转的转账交易,并将处理该决议事务请求得到的事务数据上链存储。具体的,区块链节点如何根据成员联合签名进行验证的过程将在后续实施例进行详细的介绍。
可选的,本实施例中的议事务请求为转账事务请求,转账事务请求中包括资产转出账户和资产转入账户,普通的转账事务请求中需要包含资产转出账户的用户签名,且只有包含资产转出账户的用户签名,才可以执行转账事务请求的相关操作。但本步骤向区块链网络中发起的所述转账事务请求中可以包括或不包括所述资产转出账户的用户签名,且所述资产转出账户的用户签名验证优先级低于所述成员联合签名的验证优先级。
具体的,由于本实施例的决议事务请求是需要被逆转的转账交易,因此决议事务请求中的资产转出账户为损害用户利益的恶意账户,从恶意账户追回资产时,不用必须获取该账户的用户签名,只要有成员联合签名即可,本实施例的决议事务请求中成员联合签名的优先级是高于用户签名的,只要决议事务请求中包含成员联合签名,且该成员联合签名验证通过,就可以执行决议事务请求,无需考虑资产转出账户的用户签名。例如,区块链中执行该决议事务请求的节点,在执行决议事务请求时,可以跳过事务请求中的用户签名验证操作;或如果所述成员联合签名验证通过,则用户签名的验证结果失效。这样设置的好处在于,即使作恶节点不同意追回资产,区块链节点也可以根据成员联合签名来帮助用户追回损失的资产,保证决议事务请求的有效执行,维护了用户的利益。
本发明实施例的技术方案,决议事务请求发起节点在获取决议事务请求后,先向决议成员节点发送该决议事务请求,以请求决议成员节点对该决议事务请求进行审核,并反馈成员签名数据,决议事务请求发起节点根据接收到的成员签名数据生成成员联合签名,添加到决议事务请求中,再向区块链网络发起添加了成员联合签名的决议事务请求,以请求区块链节点在对成员联合签名验证通过后,执行该决议事务请求。本发明实施例的技术方案,通过根据决议成员节点的签名数据生成成员联合签名添加到决议事务请求中,创建了一种新的决议事务请求的签名形式,且成员联合签名可以很好的保证决议事务请求的安全性,解决了现有技术无法处理区块链中需要被逆转的转账交易的问题,以实现创建一种新形式的决议事务请求来执行区块链中需要被逆转的转账交易,且通过其中的成员联合签名保证了决议事务请求不被恶意利用。
实施例二
图2为本发明实施例二提供的一种决议事务请求的处理方法的流程图,本实施例在上述实施例的基础上,进行了进一步的优化,具体给出了如何接收所述决议成员节点审核后反馈的成员签名数据,并根据各所述成员签名数据生成成员联合签名的具体情况介绍,该方法具体包括:
S201,获取用户产生的决议事务请求。
S202,向决议成员节点发送决议事务请求,以请求各决议成员节点进行审核。
S203,接收决议成员节点i的随机值Ri和公钥Pi,其中,i为决议成员节点的序号,Ri=Ki*G,Ki为决议成员节点i的随机数,G为公钥Pi所使用椭圆曲线的基点。
示例性的,对于一个决议成员节点i,当其对接收到的决议事务请求审核,同意执行该决议事务请求后,会基于智能合约产生随机数Ki,并按照智能合约中规定的计算随机值Ri公式Ri=Ki*G得到随机值Ri,然后将其计算得到的随机数Ri和其公钥Pi反馈给决议事务请求发起节点,决议事务请求发起节点接收决议成员节点i的随机值Ri和公钥Pi。可选的,本发明实施例的各决议成员节点的公钥和私钥是通过同一条椭圆曲线生成的。该椭圆曲线的基点为上述公式中的参数G。
可选的,决议事务请求发起节点向区块链中的所有决议成员节点发送决议事务请求,但并不一定所有的决议成员节点都同意执行该决议事务请求,只有同意执行该决议事务请求的各决议成员节点(即同意成员节点),才会执行计算随机值Ri,并将随机值Ri和自身的公钥Pi反馈给决议事务请求发起节点的操作。对于不同意执行该决议事务请求的决议成员节点可以不进行任何处理,也可以是返回拒绝的反馈信息,还可以执行其他操作。对此本实施例不进行限定。
S204,根据收集到的多个Ri和Pi,计算出公共随机值R和公共公钥C;其中,R=R1+R2+...+Rn,C=P1+P2+...+Pn,发送随机值Ri和公钥Pi的决议成员节点作为同意成员节点,n为同意成员节点的数量。
示例性的,决议事务请求发起节点接收到区块链中所有的同意执行该决议事务请求的决议成员节点反馈的随机值Ri和公钥Pi,基于智能合约中规定的计算公共随机值R的公式:R=R1+R2+...+Rn以及计算公共公钥C的公式C=P1+P2+...+Pn,根据接收到的所有随机值Ri和公钥Pi,计算得到公共随机值R和公共公钥C。其中,发送随机值Ri和公钥Pi的决议成员节点作为同意成员节点,n为同意成员节点的数量。同意成员节点可以是区块链的所有决议成员节点中,同意执行本次接收到的决议事务请求的各决议成员节点。
S205,将公共随机值R和公共公钥C分发给各个同意成员节点。
示例性的,决议事务请求发起节点在根据收集到的多个Ri和Pi,计算出公共随机值R和公共公钥C后,再次与各同意成员节点交互,将计算得到的公共随机值R和公共公钥C分别发送至各同意成员节点。
S206,从同意成员节点接收私钥数据Si,其中,Si=Ki+HASH(C,R,Tx)*Xi,Xi为同意成员节点i的私钥。
示例性的,各同意成员节点接收到决议事务请求发起节点发送的公共随机值R和公共公钥C后,基于智能合约中规定的计算私钥数据Si的公式Si=Ki+HASH(C,R,Tx)*Xi,计算各同意节点的私钥数据Si,然后将计算得到的私钥数据Si反馈给决议事务请求发起节点,决议事务请求发起节点接收同意成员节点反馈的私钥数据Si。其中,Xi为同意成员节点i的私钥。
可选的,本步骤中发送私钥数据Si的同意成员节点(即与决议事务请求发起节点进行第二次交互操作的同意成员节点)与S203反馈随机值Ri和公钥Pi的同意成员节点(即与决议事务请求发起节点进行第一次交互操作的同意成员节点)可能相同,也可能不同。例如,若第一交互过程中,同意执行该决议事务请求的同意成员节点,在第二次交互过程中,仍然同意执行该决议事务请求,且生成并发送私钥数据Si,则两次交互过程对应的同意成员节点相同。若第二次交互过程中,第一次交互过程的同意成员节点通过参考其他决议成员节点的反馈情况,改变了主意,不再同意执行该决议事务请求,此时第二次交互过程中的同意成员节点的数量就会小于第一次交互过程中的同意成员节点的数量。
可选的,在本实施例中,各决议成员节点为了避免自己私钥Xi的泄露,或者为了避免公共随机值R和公共公钥C泄露,被其他恶意节点利用,多次执行同一决议事务请求的情况发生,当同意成员节点接收到针对同一笔转账交易发起的两次决议事务请求对应的公共随机值R和公共公钥C只有一个发生变化,此时该同意成员节点拒绝根据接收到的公共随机值R和公共公钥C,计算该同意节点的私钥数据Si。
S207,根据各个私钥数据Si生成公共私钥S,并根据公共私钥S和公共随机值R确定成员联合签名;其中,S=S1+S2+...+Sn。
示例性的,决议事务请求发起节点接收第二次交互后,各同意成员节点反馈的私钥数据Si,基于智能合约中规定的生成公共私钥S的公式:S=S1+S2+...+Sn,计算生成公共私钥S。然后根据计算得到的公共私钥S和公共随机值R,确定成员联合签名。可选的,本实施例中根据公共私钥S和公共随机值R确定成员联合签名的方法有很多,对此不进行限定。例如,可以是对公共私钥S和公共随机值R按照预设的算法再次进行加密得到;还可以是将公共私钥S和公共随机值R按照一定的形式组合后得到,例如,可以是将公共私钥S和公共随机值R组合成(S,R)形式的成员联合签名。
可选的,本实施例中,为了保证决议事务请求审核结果的可靠性。可以在决议事务请求发起节点接收第二次交交互后反馈各私钥数据Si的各同意成员节点满足预设要求时,才执行生成公共私钥S,以及确定成员联合签名的操作。可选的,各同意成员节点满足预设要求可以是第二次与决议事务请求发起节点交互且反馈私钥数据Si的同意成员节点的数量大于预设数量或所占比例大于预设比例值。
S208,为决议事务请求添加成员联合签名。
S209,在区块链网络中发起决议事务请求,以请求区块链节点根据成员联合签名进行验证,并在验证通过时执行决议事务请求。
本发明实施例的技术方案,决议事务请求发起节点在获取决议事务请求后,先向决议成员节点发送该决议事务请求,并通过与决议成员节点进行两次交互操作,根据两次交互操作的得到的数据确定成员联合签名,添加到决议事务请求中,再向区块链网络发起添加了成员联合签名的决议事务请求,以请求事务请求执行节点在对成员联合签名验证通过后,执行该决议事务请求。本发明实施例的技术方案,通过和决议成员节点进行两次交互操作,在执行第二次交互操作时,各决议成员节点就可以将其余决议成员节点的反馈作为参考依据,从而决定其最终是否生成并反馈私钥数据Si。且各决议成员节点并行完成与决议事务请求发起节点的交互操作,提高了决议事务请求发起节点确定成员联合签名的效率。此外,本实施例通过复杂的计算过程生成成员联合签名,保证了决议事务请求不被恶意利用。
实施例三
图3是本发明实施例三提供的一种决议事务请求的验证方法的流程图,本实施例可适用于对上述各实施例的区块链节点向区块链网络发起的决议事务请求进行验证处理的情况,该方法可以由区块链节点来执行,可选的,可以由区块链网络中的事务请求执行节点执行,例如可以是区块链中需要执行事务请求的任意节点来执行。该方法可以由配置在区块链节点中的决议事务请求的验证装置或设备来执行,该装置可以采用软件和/或硬件的方式实现,并可集成于承载区块链节点的电子设备中。
需要说明的是,上述实施例的区块链的决议事务请求发起节点向区块链网络中发起的包含成员联合签名的决议事务请求,是本实施例中的区块链的事务请求执行节点接收并根据成员联合签名进行验证通过后执行该决议事务请求。上述实施例的决议事务请求发起节点与本实施例的事务请求执行节点进行交互,才可以实现决议事务请求的发起和验证处理过程,最终完成被逆转的转账交易的相关操作。
如图3所示,该方法具体包括如下步骤:
S301,通过区块链网络接收到事务请求。
可选的,当有事务请求处理需求的请求发起方节点向区块链网络发起事务请求后,本实施例的事务请求执行节点就会通过区块链网络接收到该事务请求。需要说明的是,本步骤中事务请求执行节点接收到的事务请求泛指一切事务请求,并不仅限于决议事务请求。
S302,如果识别到事务请求为决议事务请求,则从决议事务请求中获取成员联合签名,并根据决议成员节点的公钥,对成员联合签名进行验证。
可选的,由于S301接收到的事务请求可以是区块链网络中任意一种形式的事务请求,由于本发明实施例中的决议事务请求,与普通的事务请求的处理方式不同。所以事务请求执行节点在接收到事务请求后,需要先识别该事务请求是否为特殊形式的决议事务请求,如果是,则从决议事务请求中获取成员联合签名,并根据决议成员节点的公钥,对成员联合签名进行验证;如果否,则按照普通的事务请求处理方法进行处理。
可选的,本实施例中,识别事务请求是否为决议事务请求的方式有很多,例如,可以是事务请求中包含了该事务请求是否为特殊形式的决议事务请求的说明信息;也可以是预先为各事务请求设置一个专门用来标记该事务请求类型的字段,该字段用于区分事务请求是普通的事务请求还是本实施例的决议事务请求,当事务请求执行节点从区块链网络中接收到一个事务请求后,可以先通过该事务请求的预设字段识别该事务请求是否为决议事务请求;还可以采用其他方式识别。对此,本实施例不进行限定。
可选的,本实施例中事务请求执行节点从决议事务请求中获取成员联合签名,并根据决议成员节点的公钥,对成员联合签名进行验证的过程具体可以包括以下步骤:
A、从决议事务请求中获取成员联合签名;
示例性的,如果从决议事务请求中获取到成员联合签名,则执行步骤B,对该成员联合签名进行验证;如果从决议事务请求中没有获取到成员联合签名,则说明该决议事务请求并没有得到决议成员节点的同意,所以拒绝执行该决议事务请求。
B、从当前区块链或实名区块链中获取决议成员节点的公钥,并根据决议成员节点的公钥,对所述成员联合签名进行验证。
示例性的,如果从决议事务请求中获取到了成员联合签名,为了便于事务请求执行节点对成员联合签名进行验证,决议事务请求中还应该包含成员联合签名对应的各决议成员节点的标识(如公钥),若该标识为决议成员节点的公钥,则此时可以是将其与当前区块链或实名区块链中存储的各决议成员节点的公钥进行比较,若不一致,则说明该决议成员节点的公钥被篡改,拒绝执行该决议事务请求;若一致,再基于智能合约以及各决议成员节点的公钥对所述成员联合签名进行验证;若该标识不是决议成员节点的公钥且决议事务请求中不包含决议成员节点的公钥,则可以是根据该标识,在当前区块链或实名区块链中获取该标识对应的决议成员节点的公钥,然后基于智能合约以及各决议成员节点的公钥对所述成员联合签名进行验证。
可选的,由上述实施例可知,本发明实施例的决议事务请求为转账事务请求,该转账事务请求中包括资产转出账户和资产转入账户,决议事务请求中可以包括或不包括资产转出账户的用户签名,且决议事务请求中规定资产转出账户的用户签名验证优先级低于成员联合签名的验证优先级。所以如果事务请求执行节点当前处理的决议事务请求中包括用户签名,则进行签名验证时,可以跳过事务请求中的用户签名验证操作;或如果成员联合签名验证通过,则用户签名的验证结果失效;用户签名为所述资产转出账户的用户签名。也就是说,事务请求执行节点对决议事务请求的签名进行验证时,可以是只对成员联合签名进行验证,即使对用户签名进行了校验,只要成员联合签名验证通过,用户签名的校验结果也是无效的。
S303,如果验证通过,则执行决议事务请求。
可选的,本实施例中,如果事务请求执行节点对决议事务请求中包含的成员联合签名验证成功,则可以是按照处理普通的转账事务请求的方法来执行该决议事务请求,例如,可以是按照决议事务请求中包含的资产转出账户和资产转入账户以及转账资产数量等信息,从资产转出账户转移对应资产数量的资产到资产转入账户,并将执行该决议事务请求的事务数据存储在区块链中,将存储该事务数据的区块发送至区块链网络,以使其他节点对该区块中的数据进行验证后上链存储。
本发明实施例的技术方案,事务请求执行节点在接收到一个事务请求后,先识别该事务请求是否为决议事务请求,如果是,则从中获取成员联合签名以及该成员联合签名对应的各决议成员节点的公钥,对成员联合签名进行验证,验证成功后方可执行该决议事务请求。本发明实施例中事务请求执行节点能够对接收到的事务请求进行区分,针对特殊形式的决议事务请求采取对成员联合签名进行验证,而非对用户签名进行验证的方式决定是否执行该决议事务请求。从而保证了特殊形式的决议事务请求被顺利执行,且通过其中的成员联合签名保证了决议事务请求不被恶意利用。
实施例四
图4为本发明实施例四提供的一种决议事务请求的处理及验证方法的流程图。本实施例在前述各实施例的基础上,提供了一种优选实例,该优选实例在实现决议事务请求的处理及验证的过程中,需要区块链网络中的决议事务请求发起节点、决议成员节点以及事务请求执行节点之间相互配合实现。
如图4所示,该方法包括:
S401,决议事务请求发起节点获取用户产生的决议事务请求。
S402,决议事务请求发起节点向各决议成员节点发送决议事务请求。
S403,决议成员节点接收到的决议事务请求进行审核,若审核通过反馈审核成员签名数据。
S404,决议事务请求发起节点接收决议成员节点审核后反馈的成员签名数据,并根据各成员签名数据生成成员联合签名。
S405,决议事务请求发起节点为决议事务请求添加成员联合签名。
S406,决议事务请求发起节点在区块链网络中发起决议事务请求。
S407,事务请求执行节点通过区块链网络接收到事务请求。
S408,如果事务请求执行节点识别到事务请求为决议事务请求,则从决议事务请求中获取成员联合签名,并根据决议成员节点的公钥,对成员联合签名进行验证。
S409,如果事务请求执行节点对成员联合签名验证通过,则执行决议事务请求。
本发明实施例的技术方案,决议事务请求发起节点在向区块链网络发起决议事务请求前,需要与决议成员节点进行交互,获取同意执行该决议事务请求的各决议成员节点的成员签名数据,生成成员联合签名添加到决议事务请求中,然后再向区块链网络发起该决议事务请求,事务请求执行节点在接收到一个事务请求后,识别到该事务请求为决议事务请求时,从中获取成员联合签名进行验证,验证成功后方可执行该决议事务请求。本发明实施例中,通过决议事务请求发起节点、决议成员节点以及事务请求执行节点之间的交互,实现了创建一种新形式的决议事务请求来执行区块链中需要被逆转的转账交易,且通过其中的成员联合签名保证了决议事务请求不被恶意利用。
实施例五
图5为本发明实施例五提供的一种决议事务请求的处理装置的结构框图,该装置可以配置与区块链节点中。该装置可执行本发明上述实施例一、实施例二或实施例四所提供的决议事务请求的处理方法,具体执行方法相应的功能模块和有益效果。如图5所示,该装置包括:
决议请求获取模块501,用于获取用户产生的决议事务请求;
决议请求发送模块502,用于向决议成员节点发送所述决议事务请求,以请求各所述决议成员节点进行审核;
联合签名生成模块503,用于接收所述决议成员节点审核后反馈的成员签名数据,并根据各所述成员签名数据生成成员联合签名;
联合签名添加模块504,用于为所述决议事务请求添加成员联合签名;
决议请求发起模块505,用于在区块链网络中发起所述决议事务请求,以请求区块链节点根据所述成员联合签名进行验证,并在验证通过时执行所述决议事务请求。
本发明实施例的技术方案,决议事务请求发起节点在获取决议事务请求后,先向决议成员节点发送该决议事务请求,以请求决议成员节点对该决议事务请求进行审核,并反馈成员签名数据,决议事务请求发起节点根据接收到的成员签名数据生成成员联合签名,添加到决议事务请求中,再向区块链网络发起添加了成员联合签名的决议事务请求,以请求区块链节点在对成员联合签名验证通过后,执行该决议事务请求。本发明实施例的技术方案,通过根据决议成员节点的签名数据生成成员联合签名添加到决议事务请求中,创建了一种新的决议事务请求的签名形式,且成员联合签名可以很好的保证决议事务请求的安全性,解决了现有技术无法处理区块链中需要被逆转的转账交易的问题,以实现创建一种新形式的决议事务请求来执行区块链中需要被逆转的转账交易,且通过其中的成员联合签名保证了决议事务请求不被恶意利用。
进一步的,上述决议事务请求为转账事务请求,所述转账事务请求中包括资产转出账户和资产转入账户,向区块链网络中发起的所述转账事务请求中包括或不包括所述资产转出账户的用户签名,且所述资产转出账户的用户签名验证优先级低于所述成员联合签名的验证优先级。
进一步的,联合签名生成模块503具体用于:
接收所述决议成员节点i的随机值Ri和公钥Pi,其中,i为决议成员节点的序号,Ri=Ki*G,Ki为所述决议成员节点i的随机数,G为公钥Pi所使用椭圆曲线的基点;
根据收集到的多个Ri和Pi,计算出公共随机值R和公共公钥C;其中,R=R1+R2+...+Rn,C=P1+P2+...+Pn,发送随机值Ri和公钥Pi的决议成员节点作为同意成员节点,n为同意成员节点的数量;
将公共随机值R和公共公钥C分发给各个同意成员节点;
从同意成员节点接收私钥数据Si,其中,Si=Ki+HASH(C,R,Tx)*Xi,Xi为同意成员节点i的私钥;
根据各个私钥数据Si生成公共私钥S,并根据公共私钥S和公共随机值R确定成员联合签名;其中,S=S1+S2+...+Sn。
进一步的,上述装置还包括:
决议节点确定模块,用于基于区块链中的选举共识机制,从区块链节点中选择确定多个决议成员节点。
进一步的,上述决议成员节点的身份信息和公钥发布在实名区块链中进行存储,则上述联合签名生成模块503在接收所述决议成员节点审核后反馈的成员签名数据,并根据各所述成员签名数据生成成员联合签名的过程中,还用于根据所述实名区块链中的决议成员节点的身份信息和公钥,对发送成员签名数据的决议成员节点进行身份真实性验证。
实施例六
图6是本发明实施例六提供的一种决议事务请求的验证装置的结构框图,该装置可配置于区块链节点中。该装置可执行本发明上述实施例三或实施例四提供的决议事务请求的验证方法,具体执行方法相应的功能模块和有益效果。
如图6所示,该装置包括:
事务请求接收模块601,用于通过区块链网络接收到事务请求;
签名获取验证模块602,用于如果识别到所述事务请求为决议事务请求,则从所述决议事务请求中获取成员联合签名,并根据决议成员节点的公钥,对所述成员联合签名进行验证;
决议请求执行模块603,用于如果验证通过,则执行所述决议事务请求。
本发明实施例的技术方案,事务请求执行节点在接收到一个事务请求后,先识别该事务请求是否为决议事务请求,如果是,则从中获取成员联合签名以及该成员联合签名对应的各决议成员节点的公钥,对成员联合签名进行验证,验证成功后方可执行该决议事务请求。本发明实施例中事务请求执行节点在能够对接收到的事务请求进行区分,针对特殊形式的决议事务请求采取对成员联合签名进行验证,而非对用户签名进行验证的方式决定是否执行该决议事务请求。从而保证了特殊形式的决议事务请求被顺利执行,且通过其中的成员联合签名保证了决议事务请求不被恶意利用。
进一步的,上述签名获取验证模块602在如果识别到所述事务请求为决议事务请求之后,还用于:
跳过事务请求中的用户签名验证操作;或
如果所述成员联合签名验证通过,则用户签名的验证结果失效;
其中,所述决议事务请求为转账事务请求,所述转账事务请求中包括资产转出账户和资产转入账户,所述用户签名为所述资产转出账户的用户签名。
进一步的,上述签名获取验证模块602具体用于:
从所述决议事务请求中获取成员联合签名;
从实名区块链中获取决议成员节点的公钥,并根据决议成员节点的公钥,对所述成员联合签名进行验证。
实施例七
图7为本发明实施例七提供的一种设备的结构示意图,图7示出了适于用来实现本发明实施例实施方式的示例性设备的框图。图7显示的设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。设备典型可以是配置有区块链节点的设备。
如图7所示,设备700以通用计算设备的形式表现。设备700的组件可以包括但不限于:一个或者多个处理器或者处理单元716,存储器728,连接不同系统组件(包括存储器728和处理单元716)的总线718。
总线718表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备700典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备700访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器728可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)730和/或高速缓存存储器732。设备700可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统734可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线718相连。存储器728可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明实施例各实施例的功能。
具有一组(至少一个)程序模块742的程序/实用工具740,可以存储在例如存储器728中,这样的程序模块742包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块742通常执行本发明实施例所描述的实施例中的功能和/或方法。
设备700也可以与一个或多个外部设备714(例如键盘、指向设备、显示器724等)通信,还可与一个或者多个使得用户能与该设备700交互的设备通信,和/或与使得该设备700能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口722进行。并且,设备700还可以通过网络适配器720与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器720通过总线718与设备700的其它模块通信。应当明白,尽管图7中未示出,可以结合设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元716通过运行存储在存储器728中的程序,从而执行各种功能应用以及数据处理,例如实现本发明任一实施例所提供的决议事务请求的处理方法或决议事务请求的验证方法。
实施例八
本发明实施例八还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时可以用于执行一种决议事务请求的处理方法,该方法包括:
获取用户产生的决议事务请求;
向决议成员节点发送所述决议事务请求,以请求各所述决议成员节点进行审核;
接收所述决议成员节点审核后反馈的成员签名数据,并根据各所述成员签名数据生成成员联合签名;
为所述决议事务请求添加成员联合签名;
在区块链网络中发起所述决议事务请求,以请求区块链节点根据所述成员联合签名进行验证,并在验证通过时执行所述决议事务请求。
该程序被处理器执行时还可以用于执行一种决议事务请求的验证方法,该方法包括:
通过区块链网络接收到事务请求;
如果识别到所述事务请求为决议事务请求,则从所述决议事务请求中获取成员联合签名,并根据决议成员节点的公钥,对所述成员联合签名进行验证;
如果验证通过,则执行所述决议事务请求。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种决议事务请求的处理方法,其特征在于,应用于区块链节点,所述方法包括:
获取用户产生的决议事务请求;
向决议成员节点发送所述决议事务请求,以请求各所述决议成员节点进行审核;
接收所述决议成员节点审核后反馈的成员签名数据,并根据各所述成员签名数据生成成员联合签名;
为所述决议事务请求添加成员联合签名;
在区块链网络中发起所述决议事务请求,以请求区块链节点根据所述成员联合签名进行验证,并在验证通过时执行所述决议事务请求。
2.根据权利要求1所述的方法,其特征在于,所述决议事务请求为转账事务请求,所述转账事务请求中包括资产转出账户和资产转入账户,向区块链网络中发起的所述转账事务请求中包括或不包括所述资产转出账户的用户签名,且所述资产转出账户的用户签名验证优先级低于所述成员联合签名的验证优先级。
3.根据权利要求1或2所述的方法,其特征在于,接收所述决议成员节点审核后反馈的成员签名数据,并根据各所述成员签名数据生成成员联合签名包括:
接收所述决议成员节点i的随机值Ri和公钥Pi,其中,i为决议成员节点的序号,Ri=Ki*G,Ki为所述决议成员节点i的随机数,G为公钥Pi所使用椭圆曲线的基点;
根据收集到的多个Ri和Pi,计算出公共随机值R和公共公钥C;其中,R=R1+R2+...+Rn,C=P1+P2+...+Pn,发送随机值Ri和公钥Pi的决议成员节点作为同意成员节点,n为同意成员节点的数量;
将公共随机值R和公共公钥C分发给各个同意成员节点;
从同意成员节点接收私钥数据Si,其中,Si=Ki+HASH(C,R,Tx)*Xi,Xi为同意成员节点i的私钥;
根据各个私钥数据Si生成公共私钥S,并根据公共私钥S和公共随机值R确定成员联合签名;其中,S=S1+S2+...+Sn。
4.根据权利要求1或2所述的方法,其特征在于,还包括:
基于区块链中的选举共识机制,从区块链节点中选择确定多个决议成员节点。
5.根据权利要求4所述的方法,其特征在于,所述决议成员节点的身份信息和公钥发布在实名区块链中进行存储,则所述方法在接收所述决议成员节点审核后反馈的成员签名数据,并根据各所述成员签名数据生成成员联合签名的过程中,还包括:
根据所述实名区块链中的决议成员节点的身份信息和公钥,对发送成员签名数据的决议成员节点进行身份真实性验证。
6.一种决议事务请求的验证方法,其特征在于,应用于区块链节点,所述方法包括:
通过区块链网络接收到事务请求;
如果识别到所述事务请求为决议事务请求,则从所述决议事务请求中获取成员联合签名,并根据决议成员节点的公钥,对所述成员联合签名进行验证;
如果验证通过,则执行所述决议事务请求。
7.根据权利要求6所述的方法,其特征在于,如果识别到所述事务请求为决议事务请求之后,还包括:
跳过事务请求中的用户签名验证操作;或
如果所述成员联合签名验证通过,则用户签名的验证结果失效;
其中,所述决议事务请求为转账事务请求,所述转账事务请求中包括资产转出账户和资产转入账户,所述用户签名为所述资产转出账户的用户签名。
8.根据权利要求6所述的方法,其特征在于,从所述决议事务请求中获取成员联合签名,并根据决议成员节点的公钥,对所述成员联合签名进行验证包括:
从所述决议事务请求中获取成员联合签名;
从实名区块链中获取决议成员节点的公钥,并根据决议成员节点的公钥,对所述成员联合签名进行验证。
9.一种决议事务请求的处理装置,其特征在于,配置于区块链节点中,所述装置包括:
决议请求获取模块,用于获取用户产生的决议事务请求;
决议请求发送模块,用于向决议成员节点发送所述决议事务请求,以请求各所述决议成员节点进行审核;
联合签名生成模块,用于接收所述决议成员节点审核后反馈的成员签名数据,并根据各所述成员签名数据生成成员联合签名;
联合签名添加模块,用于为所述决议事务请求添加成员联合签名;
决议请求发起模块,用于在区块链网络中发起所述决议事务请求,以请求区块链节点根据所述成员联合签名进行验证,并在验证通过时执行所述决议事务请求。
10.一种决议事务请求的验证装置,其特征在于,配置于区块链节点,所述装置包括:
事务请求接收模块,用于通过区块链网络接收到事务请求;
签名获取验证模块,用于如果识别到所述事务请求为决议事务请求,则从所述决议事务请求中获取成员联合签名,并根据决议成员节点的公钥,对所述成员联合签名进行验证;
决议请求执行模块,用于如果验证通过,则执行所述决议事务请求。
11.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的决议事务请求的处理方法,或实现如权利要求6-8中任一所述的决议事务请求的验证方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的决议事务请求的处理方法,或实现如权利要求6-8中任一所述的决议事务请求的验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910357172.7A CN110084600B (zh) | 2019-04-29 | 2019-04-29 | 决议事务请求的处理、验证方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910357172.7A CN110084600B (zh) | 2019-04-29 | 2019-04-29 | 决议事务请求的处理、验证方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110084600A true CN110084600A (zh) | 2019-08-02 |
CN110084600B CN110084600B (zh) | 2021-08-27 |
Family
ID=67417817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910357172.7A Active CN110084600B (zh) | 2019-04-29 | 2019-04-29 | 决议事务请求的处理、验证方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110084600B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111600721A (zh) * | 2020-05-26 | 2020-08-28 | 牛津(海南)区块链研究院有限公司 | 一种基于多人投票机制的资产管理系统、方法及装置 |
CN112235251A (zh) * | 2020-09-21 | 2021-01-15 | 建信金融科技有限责任公司 | 一种区块链管理方法、装置、计算机设备及存储介质 |
CN112636929A (zh) * | 2020-12-29 | 2021-04-09 | 北京百度网讯科技有限公司 | 群组业务实现方法、装置、设备和存储介质 |
CN112669020A (zh) * | 2021-03-18 | 2021-04-16 | 中如信息科技有限公司 | 一种事务申请处理方法、设备及存储介质 |
CN113592638A (zh) * | 2020-04-30 | 2021-11-02 | 顺丰科技有限公司 | 交易请求的处理方法、装置以及联盟链 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107545419A (zh) * | 2017-07-19 | 2018-01-05 | 招商银行股份有限公司 | 汇款处理方法、系统及计算机可读存储介质 |
CN107968708A (zh) * | 2017-11-10 | 2018-04-27 | 财付通支付科技有限公司 | 生成签名的方法、装置、终端及服务器 |
CN108650080A (zh) * | 2018-03-27 | 2018-10-12 | 北京迪曼森科技有限公司 | 一种密钥管理方法和系统 |
EP3396612A1 (en) * | 2017-04-24 | 2018-10-31 | BlockSettle AB | Method and system for creating a user identity |
US20180315047A1 (en) * | 2017-04-28 | 2018-11-01 | Mastercard International Incorporated | Method and system for implementing chargebacks on a distributed ledger system |
CN108805712A (zh) * | 2018-05-29 | 2018-11-13 | 阿里巴巴集团控股有限公司 | 资产转移的回退处理方法及装置、电子设备 |
WO2018209542A1 (zh) * | 2017-05-16 | 2018-11-22 | 北京大学深圳研究生院 | 一种用于去中心化域名系统的共识方法 |
US20190019188A1 (en) * | 2016-09-19 | 2019-01-17 | Thomson Reuters Global Resources Unlimited Company | Systems and methods for smart contract intervention |
CN109493223A (zh) * | 2018-11-07 | 2019-03-19 | 联动优势科技有限公司 | 一种记账方法及装置 |
WO2019072265A2 (en) * | 2018-11-07 | 2019-04-18 | Alibaba Group Holding Limited | BLOCK CHAIN SYSTEM SUPPORTING PUBLIC AND PRIVATE TRANSACTIONS WITH ACCOUNT MODELS |
-
2019
- 2019-04-29 CN CN201910357172.7A patent/CN110084600B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190019188A1 (en) * | 2016-09-19 | 2019-01-17 | Thomson Reuters Global Resources Unlimited Company | Systems and methods for smart contract intervention |
EP3396612A1 (en) * | 2017-04-24 | 2018-10-31 | BlockSettle AB | Method and system for creating a user identity |
US20180315047A1 (en) * | 2017-04-28 | 2018-11-01 | Mastercard International Incorporated | Method and system for implementing chargebacks on a distributed ledger system |
WO2018209542A1 (zh) * | 2017-05-16 | 2018-11-22 | 北京大学深圳研究生院 | 一种用于去中心化域名系统的共识方法 |
CN107545419A (zh) * | 2017-07-19 | 2018-01-05 | 招商银行股份有限公司 | 汇款处理方法、系统及计算机可读存储介质 |
CN107968708A (zh) * | 2017-11-10 | 2018-04-27 | 财付通支付科技有限公司 | 生成签名的方法、装置、终端及服务器 |
CN108650080A (zh) * | 2018-03-27 | 2018-10-12 | 北京迪曼森科技有限公司 | 一种密钥管理方法和系统 |
CN108805712A (zh) * | 2018-05-29 | 2018-11-13 | 阿里巴巴集团控股有限公司 | 资产转移的回退处理方法及装置、电子设备 |
CN109493223A (zh) * | 2018-11-07 | 2019-03-19 | 联动优势科技有限公司 | 一种记账方法及装置 |
WO2019072265A2 (en) * | 2018-11-07 | 2019-04-18 | Alibaba Group Holding Limited | BLOCK CHAIN SYSTEM SUPPORTING PUBLIC AND PRIVATE TRANSACTIONS WITH ACCOUNT MODELS |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113592638A (zh) * | 2020-04-30 | 2021-11-02 | 顺丰科技有限公司 | 交易请求的处理方法、装置以及联盟链 |
CN111600721A (zh) * | 2020-05-26 | 2020-08-28 | 牛津(海南)区块链研究院有限公司 | 一种基于多人投票机制的资产管理系统、方法及装置 |
CN112235251A (zh) * | 2020-09-21 | 2021-01-15 | 建信金融科技有限责任公司 | 一种区块链管理方法、装置、计算机设备及存储介质 |
CN112636929A (zh) * | 2020-12-29 | 2021-04-09 | 北京百度网讯科技有限公司 | 群组业务实现方法、装置、设备和存储介质 |
CN112636929B (zh) * | 2020-12-29 | 2023-01-17 | 北京百度网讯科技有限公司 | 群组业务实现方法、装置、设备和存储介质 |
US12069172B2 (en) | 2020-12-29 | 2024-08-20 | Beijing Baidu Netcom Science Technology Co., Ltd. | Group service implementation method and device, equipment and storage medium |
CN112669020A (zh) * | 2021-03-18 | 2021-04-16 | 中如信息科技有限公司 | 一种事务申请处理方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110084600B (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110084600A (zh) | 决议事务请求的处理、验证方法、装置、设备及介质 | |
JP6577680B2 (ja) | デジタル署名を用いた変形ブロックチェーンについての方法及びシステム | |
CN106664205B (zh) | 生成数字签名的系统和方法、非瞬时计算机可读存储介质 | |
CN108305170A (zh) | 基于区块链的外部服务访问方法、系统、设备及存储介质 | |
JP2022533396A (ja) | ブロックチェーンコンセンサス方法、装置及びシステム | |
CN108990002A (zh) | 一种区块链数据处理方法、装置、终端及存储介质 | |
CN109361740A (zh) | 一种区块链的区块生成方法、装置、设备和介质 | |
WO2020107233A1 (zh) | 基于区块链的钱包系统及钱包使用方法、以及存储介质 | |
AU2021204543B2 (en) | Digital signature method, signature information verification method, related apparatus and electronic device | |
US9047461B2 (en) | Computer-implemented method for replacing a data string | |
CN110969524B (zh) | 基于区块链的资金业务处理方法、装置、设备及介质 | |
CN108011719A (zh) | 一种签名方法、装置及数字签名系统 | |
CN114362961B (zh) | 基于区块链的账户恢复方法、装置、设备及存储介质 | |
CN114567643B (zh) | 跨区块链的数据流转方法、装置及相关设备 | |
WO2020079534A1 (en) | Computer-implemented system and method including public key combination verification | |
CN109447791A (zh) | 一种基于区块链的资金交易方法及装置 | |
CN109101664A (zh) | 一种轻量级节点的数据传输方法、装置、设备和介质 | |
CN108337090A (zh) | 一种动态密码获取方法、装置、终端和存储介质 | |
CN113935070B (zh) | 基于区块链的数据处理方法、装置、设备以及存储介质 | |
CN112308236A (zh) | 用于处理用户请求的方法、装置、电子设备及存储介质 | |
CN113569263A (zh) | 跨私域数据的安全处理方法、装置及电子设备 | |
WO2018105038A1 (ja) | 通信装置及び分散型元帳システム | |
CN112184245B (zh) | 一种跨区块链的交易身份确认方法及装置 | |
CN109685507A (zh) | 事务请求有效性识别和发起方法、装置、设备和介质 | |
CN115619395A (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 |