CN111524009A - 区块链系统的交易验证方法、装置及硬件设备 - Google Patents
区块链系统的交易验证方法、装置及硬件设备 Download PDFInfo
- Publication number
- CN111524009A CN111524009A CN202010303785.5A CN202010303785A CN111524009A CN 111524009 A CN111524009 A CN 111524009A CN 202010303785 A CN202010303785 A CN 202010303785A CN 111524009 A CN111524009 A CN 111524009A
- Authority
- CN
- China
- Prior art keywords
- hash value
- user
- hash
- intelligent contract
- verification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Accounting & Taxation (AREA)
- Health & Medical Sciences (AREA)
- Finance (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Strategic Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种区块链系统的交易验证方法、装置及硬件设备,涉及区块链技术领域,用于验证智能合约内具体交易的执行情况。主要方案为:按照预置时间间隔将条件满足的智能合约推送到待验证队列中;对待验证队列中各智能合约的原始用户数据和目标用户数据分别进行哈希计算得到用户哈希值;生成用户哈希值对应的用户哈希值编号;对得到的用户哈希值进行两两哈希计算,得到中间哈希值,并生成中间哈希值编号;对中间哈希值再次进行两两哈希计算,直至得到一个第一根节点哈希值;待共识时间到来,将待验证队列中条件满足的智能合约的用户哈希值及对应的用户哈希值编号、中间哈希值及对应的中间哈希值编号、第一根节点哈希值发送给验证节点进行验证。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链系统的交易验证方法、装置及硬件设备。
背景技术
区块链是一种与传统集中记账方式不同的记录技术,参与到区块链系统上的节点,可能不属于同一组织、彼此无须信任;区块链数据由所有节点共同维护,每个参与维护的节点都能获得一份完整记录的拷贝。与传统的记账技术相比,其特点包括:维护一条不断增长的链,只可能添加记录,而发生过的记录不可篡改;无须集中控制而能达成共识等特点。
目前,对区块链上的交易验证过程为:首先通过验证节点生成合约集合的哈希值,将哈希值封装在一个区块结构里并广播该区块结构。其他验证节点收到该区块结构后,会分解出该区块结构里的哈希值,与本验证节点哈希值做比较,通过这种多轮的发送和比较;所有的验证节点最终在规定的时间内对最新的合约集合达成一致。因此,该种验证方式并未对智能合约内的具体交易执行情况进行验证。
发明内容
本发明提供一种区块链系统的交易验证方法、装置及硬件设备,用于验证智能合约内具体交易的执行情况。
本发明实施例提供一种区块链系统的交易验证方法,所述区块链系统包括隐私信息管理节点、验证节点,所述方法应用于区块链系统中的隐私信息管理节点,所述方法包括:
接收交易方发送的智能合约执行请求,所述智能合约执行请求中包含智能合约,以及智能合约中的原始用户数据;所述原始用户数据是智能合约执行之前的用户数据;
按照预置时间间隔检查智能合约的自动机状态,将条件满足的智能合约推送到待验证队列中;每个所述智能合约均对应一个自动状态机;
获取所述条件满足的智能合约的目标用户数据;所述目标用户数据是所述智能合约执行后的用户数据;
对所述待验证队列中各智能合约的原始用户数据和目标用户数据分别进行哈希计算得到用户哈希值;并生成所述用户哈希值对应的用户哈希值编号;
对得到的所述用户哈希值进行两两哈希计算,得到中间哈希值,并生成所述中间哈希值对应的中间哈希值编号;对所述中间哈希值再次进行两两哈希计算,直至得到一个第一根节点哈希值;
待共识时间到来之后,将所述待验证队列中条件满足的智能合约的所述用户哈希值及对应的用户哈希值编号、所述中间哈希值及对应的中间哈希值编号、所述第一根节点哈希值发送给所述验证节点;以使得所述验证节点根据所述用户哈希值及对应的用户哈希值编号、所述中间哈希值及对应的中间哈希值编号、所述第一根节点哈希值封装区块结构,并将所述区块结构广播给其他节验证节点进行验证。
本发明实施例提供一种区块链系统的交易验证装置,所述区块链系统包括隐私信息管理节点、验证节点,所述装置应用于区块链系统中的隐私信息管理节点,所述装置包括:
接收模块,用于接收交易方发送的智能合约执行请求,所述智能合约执行请求中包含智能合约,以及智能合约中的原始用户数据;所述原始用户数据是智能合约执行之前的用户数据;
推送模块,用于按照预置时间间隔检查智能合约的自动机状态,将条件满足的智能合约推送到待验证队列中;每个所述智能合约均对应一个自动状态机;
获取模块,用于获取所述条件满足的智能合约的目标用户数据;所述目标用户数据是所述智能合约执行后的用户数据;
计算模块,用于对所述待验证队列中各智能合约的原始用户数据和目标用户数据分别进行哈希计算得到用户哈希值;并生成所述用户哈希值对应的用户哈希值编号;
所述计算模块,还用于对得到的所述用户哈希值进行两两哈希计算,得到中间哈希值,并生成所述中间哈希值对应的中间哈希值编号;对所述中间哈希值再次进行两两哈希计算,直至得到一个第一根节点哈希值;
发送模块,还用于待共识时间到来之后,将所述待验证队列中条件满足的智能合约的所述用户哈希值及对应的用户哈希值编号、所述中间哈希值及对应的中间哈希值编号、所述第一根节点哈希值发送给所述验证节点;以使得所述验证节点根据所述用户哈希值及对应的用户哈希值编号、所述中间哈希值及对应的中间哈希值编号、所述第一根节点哈希值封装区块结构,并将所述区块结构广播给其他节验证节点进行验证。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述区块链系统的交易验证方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述区块链系统的交易验证装置。
本发明提供的一种区块链系统的交易验证方法、装置、计算机设备及存储介质,接收交易方发送的智能合约执行请求;按照预置时间间隔检查智能合约的自动机状态,将条件满足的智能合约推送到待验证队列中;获取条件满足的智能合约的目标用户数据;对待验证队列中各智能合约的原始用户数据和目标用户数据分别进行哈希计算得到用户哈希值;并生成用户哈希值对应的用户哈希值编号;对得到的用户哈希值进行两两哈希计算,得到中间哈希值,并生成中间哈希值对应的中间哈希值编号;对中间哈希值再次进行两两哈希计算,直至得到一个第一根节点哈希值;待共识时间到来之后,将待验证队列中条件满足的智能合约的用户哈希值及对应的用户哈希值编号、中间哈希值及对应的中间哈希值编号、第一根节点哈希值发送给验证节点;以使得验证节点根据用户哈希值及对应的用户哈希值编号、中间哈希值及对应的中间哈希值编号、第一根节点哈希值封装区块结构,并将区块结构广播给其他节验证节点进行验证。从而通过本发明可实现对智能合约内具体交易的执行情况进行验证。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中区块链系统的交易验证方法的一流程图;
图2是本发明一实施例中哈希树结构图;
图3是本发明一实施例中其他节验证节点验证智能合约的流程图;
图4是本发明一实施例中区块链系统的交易验证装置的一原理框图;
图5是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一实施例中,如图1所示,提供一种区块链系统的交易验证方法,所述区块链系统包括隐私信息管理节点、验证节点,所述方法应用于区块链系统中的隐私信息管理节点,包括如下步骤:
S10,接收交易方发送的智能合约执行请求。
其中,所述智能合约执行请求中包含智能合约,以及智能合约中的原始用户数据;所述原始用户数据是智能合约执行之前的用户数据。智能合约中还包括交易数据,交易类型等。例如,智能合约内容为A用户向B用户的转账交易,转账金额为100元,A用户的原始用户数据即A用户的账号余额为900元,B用户的原始用户数据即B用户的账户余额为1000元,则转账成功后A用户的账号余额为800元,B用户的账户余额为1100元。
需要说明书的,交易方除了需要向隐私信息管理节点发送智能合约执行请求,还需要向其他的验证节点发送智能合约执行请求,即交易方需要将智能合约广播给所有的节点,以便于在后续步骤中验证节点根据接收到的智能合约进行验证。
S20,按照预置时间间隔检查智能合约的自动机状态,将条件满足的智能合约推送到待验证队列中。
其中,每个所述智能合约均对应一个自动状态机;智能合约会定期检查自动机状态,逐条遍历每个合约内包含的状态机、事务以及触发条件;将条件满足的智能合约推送到待验证的队列中,等待共识;未满足触发条件的事务将继续存放在区块链上。其中,预置时间间隔可以根据实际需求进行设定,如将预置时间间隔设置成1秒、2秒、3秒等,本发明实施例不做具体限定。
在本发明实施例中,条件满足的智能合约即执行完合约里面的交易,如对上例的转账交易中,转账成功后A用户的账号余额为800元,B用户的账户余额为1100元,此时可确定该转账交易为条件满足的智能合约。
S30,获取条件满足的智能合约的目标用户数据。
其中,目标用户数据是所述智能合约执行后的用户数据,如对智能合约转账成功后的目标用户数据分别为:A用户的账号余额为800元,B用户的账户余额为1100元。
S40,对待验证队列中各智能合约的原始用户数据和目标用户数据分别进行哈希计算得到用户哈希值;并生成所述用户哈希值对应的用户哈希值编号。
具体的,本发明将智能合约的原始用户数据和目标用户数据进行拼接然后进行哈希计算得到用户哈希值,然后生成与用户哈希值对应的用户哈希值编号。其中,用户哈希值编号具体可以为按顺序的顺序编号,如用户哈希值编码为1、2、3……等,本发明实施例不做具体限定。
需要说明的是,每个智能合约都对应有合约编号,该合约编号可以唯一标识对应的智能合约,该合约编号可以与用户哈希值编号相同。
S50,对得到的用户哈希值进行两两哈希计算,得到中间哈希值,并生成中间哈希值对应的中间哈希值编号;对中间哈希值再次进行两两哈希计算,直至得到一个第一根节点哈希值。
在本发明实施例中,可以根据用户哈希值对应的哈希值编号的顺序进行两两哈希计算得到中间哈希值。如图2所示,将用户哈希值1和用户哈希值2进行哈希计算,将用户哈希值3和用户哈希值4进行哈希值计算,分别得到中间哈希值5和中间哈希值6,接着对中间哈希值5和中间哈希值6进行哈希计算得到第一根节点哈希值7。其中,图中编号1、2、3、4、5、6、7分别代表对应的哈希值编号。
S60,待共识时间到来之后,将待验证队列中条件满足的智能合约的用户哈希值及对应的用户哈希值编号、中间哈希值及对应的中间哈希值编号、第一根节点哈希值发送给所述验证节点;以使得验证节点根据用户哈希值及对应的用户哈希值编号、中间哈希值及对应的中间哈希值编号、第一根节点哈希值封装区块结构,并将区块结构广播给其他节验证节点进行验证。
在本发明提供的一个实施例中,所述区块结构广播给其他节验证节点进行验证,包括:所述其他节验证节点计算自身待验证队列中智能合约的用户哈希值;根据所述条件满足的智能合约的所述用户哈希值的用户哈希值编号、所述中间哈希值的中间哈希值编号的顺序对自身待验证队列中智能合约的用户哈希值进行计算,得到第二根节点哈希值;判断所述第一根节点哈希值是否与所述第二根节点哈希值相同;若相同,则确认所述其他验证节点认可所述验证节点中条件满足的智能合约。
需要说明的是,区块链系统中的所有节点都会收到交易方广播的智能合约,每个节点均对应有待验证队列,各节点按照预置时间间隔检查接收到的智能合约的自动机状态,将条件满足的智能合约推送到自身的待验证队列中;并获取所述条件满足的智能合约的目标用户数据;然后对所述待验证队列中各智能合约的原始用户数据和目标用户数据分别进行哈希计算得到用户哈希值。然后根据条件满足的智能合约的用户哈希值的用户哈希值编号、中间哈希值的中间哈希值编号的顺序对自身待验证队列中智能合约的用户哈希值进行计算,得到第二根节点哈希值,如图2,验证节点发送的智能合约中包括合约标识1、2、3、4,则首先确认当前验证节点的自身待验证队列中智能合约的合约标识是否与上述合约标识匹配,如匹配,则根据智能合约1、2、3、4的用户哈希值编号的顺序对自身待验证队列中智能合约的用户哈希值进行计算,即将当前节点的用户哈希值1和用户哈希值2进行哈希计算,用户哈希值3和用户哈希值4进行哈希值计算,分别得到中间哈希值5和中间哈希值6,接着对中间哈希值5和中间哈希值6进行哈希计算得到第二根节点哈希值7。最后判断所述第一根节点哈希值是否与所述第二根节点哈希值相同;若相同,则确认所述其他验证节点认可所述验证节点中条件满足的智能合约。
在本发明提供的一个实施例中,所述用户哈希值编号和所述中间哈希值编号是按照数字编号顺序生成的,所述方法还包括:根据所述用户哈希值及其对应的用户哈希值编号,所述中间哈希值及其对应的中间哈希值编号的顺序生成一个第一哈希树结构,所述第一哈希树结构的跟节点为所述第一根节点哈希值、叶子节点为所述用户哈希值;待共识时间到来之后,将所述第一哈希树结构、所述第一根节点哈希值发送给所述验证节点;以使得所述验证节点根据所述第一哈希树结构、所述第一根节点哈希值封装区块结构,并将所述区块结构广播给其他节验证节点进行验证;所述第一哈希树结构在所述区块结构的区块体,所述第一根节点哈希值在所述区块结构的区块头。
例如,存在用户哈希值编号分别为1、2、3、4,即第一哈希树结构中的叶子节点,然后将用户哈希值1和用户哈希值2进行哈希计算,将用户哈希值3和用户哈希值进行哈希值计算,分别得到中间哈希值5和中间哈希值6,即得到第一哈希树结构的中间节点,接着对中间哈希值5和中间哈希值进行哈希计算得到第一根节点哈希值7,最终得到图2所示的第一哈希树结构。
相应的,如图3所示,在本发明提供的一个实施例中,所述区块结构广播给其他节验证节点进行验证,包括:
S601,其他节验证节点计算自身待验证队列中智能合约的用户哈希值。
其他节验证节点对应有待验证队列,其他节验证节点按照预置时间间隔检查接收到的智能合约的自动机状态,将条件满足的智能合约推送到自身的待验证队列中;并获取所述条件满足的智能合约的目标用户数据;然后对所述待验证队列中各智能合约的原始用户数据和目标用户数据分别进行哈希计算得到用户哈希值。
S602,根据第一哈希树结构中与自身待验证队列中匹配的智能合约的用户哈希值编号、中间哈希值编号及其他验证节点计算的用户哈希值生成第二哈希树结构。
S603,判断第一哈希树结构是否与第二哈希树结构相同。
S604,若相同,则确认其他验证节点认可验证节点中条件满足的智能合约。
在本发明实施例中,由于对智能合约集合进行验证是通过判断第一哈希树结构是否与第二哈希树结构相同确定的,而哈希树结构中包含了集合中所有智能合约的交易内容的执行情况,即依据智能合约的原始用户数据和目标用户数据进行哈希计算得到用户哈希值代表合约的执行数据,从而通过本发明实施例可实现对智能合约中交易执行内容进行验证。
在本发明提供的一个实施例中,为了保证数据传输的安全性,避免被恶意用户获取到用户哈希值的用户哈希值编号、中间哈希值的中间哈希值编号而造成的验证节点被恶意修改,本发明实施例还需要对待验证队列中条件满足的智能合约的用户哈希值的用户哈希值编号、中间哈希值的中间哈希值编号进行加密发送给所述验证节点。
本发明提供的一种区块链系统的交易验证方法,接收交易方发送的智能合约执行请求;按照预置时间间隔检查智能合约的自动机状态,将条件满足的智能合约推送到待验证队列中;获取条件满足的智能合约的目标用户数据;对待验证队列中各智能合约的原始用户数据和目标用户数据分别进行哈希计算得到用户哈希值;并生成用户哈希值对应的用户哈希值编号;对得到的用户哈希值进行两两哈希计算,得到中间哈希值,并生成中间哈希值对应的中间哈希值编号;对中间哈希值再次进行两两哈希计算,直至得到一个第一根节点哈希值;待共识时间到来之后,将待验证队列中条件满足的智能合约的用户哈希值及对应的用户哈希值编号、中间哈希值及对应的中间哈希值编号、第一根节点哈希值发送给验证节点;以使得验证节点根据用户哈希值及对应的用户哈希值编号、中间哈希值及对应的中间哈希值编号、第一根节点哈希值封装区块结构,并将区块结构广播给其他节验证节点进行验证。从而通过本发明可实现对智能合约内具体交易的执行情况进行验证。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本发明提供的一实施例中,提供一种区块链系统的交易验证装置,该区块链系统的交易验证装置与上述实施例中区块链系统的交易验证方法一一对应。如图4所示,所述区块链系统包括隐私信息管理节点、验证节点,所述装置应用于区块链系统中的隐私信息管理节点,该区块链系统的交易验证装置包括:接收模块10、推送模块20、获取模块30、计算模块40、发送模块50。各功能模块详细说明如下:
接收模块10,用于接收交易方发送的智能合约执行请求,所述智能合约执行请求中包含智能合约,以及智能合约中的原始用户数据;所述原始用户数据是智能合约执行之前的用户数据;
推送模块20,用于按照预置时间间隔检查智能合约的自动机状态,将条件满足的智能合约推送到待验证队列中;每个所述智能合约均对应一个自动状态机;
获取模块30,用于获取所述条件满足的智能合约的目标用户数据;所述目标用户数据是所述智能合约执行后的用户数据;
计算模块40,用于对所述待验证队列中各智能合约的原始用户数据和目标用户数据分别进行哈希计算得到用户哈希值;并生成所述用户哈希值对应的用户哈希值编号;
所述计算模块40,还用于对得到的所述用户哈希值进行两两哈希计算,得到中间哈希值,并生成所述中间哈希值对应的中间哈希值编号;对所述中间哈希值再次进行两两哈希计算,直至得到一个第一根节点哈希值;
发送模块50,还用于待共识时间到来之后,将所述待验证队列中条件满足的智能合约的所述用户哈希值及对应的用户哈希值编号、所述中间哈希值及对应的中间哈希值编号、所述第一根节点哈希值发送给所述验证节点;以使得所述验证节点根据所述用户哈希值及对应的用户哈希值编号、所述中间哈希值及对应的中间哈希值编号、所述第一根节点哈希值封装区块结构,并将所述区块结构广播给其他节验证节点进行验证。
在本发明提供的一个实施例中,所述用户哈希值编号和所述中间哈希值编号是按照数字编号顺序生成的,所述装置还包括:
生成模块60,用于根据所述用户哈希值及其对应的用户哈希值编号,所述中间哈希值及其对应的中间哈希值编号的顺序生成一个第一哈希树结构,所述第一哈希树结构的跟节点为所述第一根节点哈希值、叶子节点为所述用户哈希值;
所述发送模块50,还用于待共识时间到来之后,将所述第一哈希树结构、所述第一根节点哈希值发送给所述验证节点;以使得所述验证节点根据所述第一哈希树结构、所述第一根节点哈希值封装区块结构,并将所述区块结构广播给其他节验证节点进行验证;所述第一哈希树结构在所述区块结构的区块体,所述第一根节点哈希值在所述区块结构的区块头。
进一步的,所述装置还包括:
所述计算模块40,所述其他节验证节点计算自身待验证队列中智能合约的用户哈希值;根据所述第一哈希树结构中与所述自身待验证队列中匹配的智能合约的用户哈希值编号、中间哈希值编号及所述其他验证节点计算的用户哈希值生成第二哈希树结构;
判断模块70,用于判断所述第一哈希树结构是否与所述第二哈希树结构相同;
确认模块80,用于若所述第一哈希树结构与所述第二哈希树结构相同,则确认所述其他验证节点认可所述验证节点中条件满足的智能合约。
所述计算模块40,还用于所述其他节验证节点计算自身待验证队列中智能合约的用户哈希值;
所述计算模块40,还用于根据所述条件满足的智能合约的所述用户哈希值的用户哈希值编号、所述中间哈希值的中间哈希值编号的顺序对自身待验证队列中智能合约的用户哈希值进行计算,得到第二根节点哈希值;
所述判断模块70,还用于判断所述第一根节点哈希值是否与所述第二根节点哈希值相同;
所述确认模块80,还用于若所述第一根节点哈希值与所述第二根节点哈希值相同,则确认所述其他验证节点认可所述验证节点中条件满足的智能合约。
在本发明提供的一个实施例中,对所述待验证队列中条件满足的智能合约的用户哈希值的用户哈希值编号、所述中间哈希值的中间哈希值编号进行加密发送给所述验证节点。
关于区块链系统的交易验证装置的具体限定可以参见上文中对于区块链系统的交易验证方法的限定,在此不再赘述。上述区块链系统的交易验证装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种区块链系统的交易验证方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收交易方发送的智能合约执行请求,所述智能合约执行请求中包含智能合约,以及智能合约中的原始用户数据;所述原始用户数据是智能合约执行之前的用户数据;
按照预置时间间隔检查智能合约的自动机状态,将条件满足的智能合约推送到待验证队列中;每个所述智能合约均对应一个自动状态机;
获取所述条件满足的智能合约的目标用户数据;所述目标用户数据是所述智能合约执行后的用户数据;
对所述待验证队列中各智能合约的原始用户数据和目标用户数据分别进行哈希计算得到用户哈希值;并生成所述用户哈希值对应的用户哈希值编号;
对得到的所述用户哈希值进行两两哈希计算,得到中间哈希值,并生成所述中间哈希值对应的中间哈希值编号;对所述中间哈希值再次进行两两哈希计算,直至得到一个第一根节点哈希值;
待共识时间到来之后,将所述待验证队列中条件满足的智能合约的所述用户哈希值及对应的用户哈希值编号、所述中间哈希值及对应的中间哈希值编号、所述第一根节点哈希值发送给所述验证节点;以使得所述验证节点根据所述用户哈希值及对应的用户哈希值编号、所述中间哈希值及对应的中间哈希值编号、所述第一根节点哈希值封装区块结构,并将所述区块结构广播给其他节验证节点进行验证。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收交易方发送的智能合约执行请求,所述智能合约执行请求中包含智能合约,以及智能合约中的原始用户数据;所述原始用户数据是智能合约执行之前的用户数据;
按照预置时间间隔检查智能合约的自动机状态,将条件满足的智能合约推送到待验证队列中;每个所述智能合约均对应一个自动状态机;
获取所述条件满足的智能合约的目标用户数据;所述目标用户数据是所述智能合约执行后的用户数据;
对所述待验证队列中各智能合约的原始用户数据和目标用户数据分别进行哈希计算得到用户哈希值;并生成所述用户哈希值对应的用户哈希值编号;
对得到的所述用户哈希值进行两两哈希计算,得到中间哈希值,并生成所述中间哈希值对应的中间哈希值编号;对所述中间哈希值再次进行两两哈希计算,直至得到一个第一根节点哈希值;
待共识时间到来之后,将所述待验证队列中条件满足的智能合约的所述用户哈希值及对应的用户哈希值编号、所述中间哈希值及对应的中间哈希值编号、所述第一根节点哈希值发送给所述验证节点;以使得所述验证节点根据所述用户哈希值及对应的用户哈希值编号、所述中间哈希值及对应的中间哈希值编号、所述第一根节点哈希值封装区块结构,并将所述区块结构广播给其他节验证节点进行验证。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种区块链系统的交易验证方法,其特征在于,所述区块链系统包括隐私信息管理节点、验证节点,所述方法应用于区块链系统中的隐私信息管理节点,所述方法包括:
接收交易方发送的智能合约执行请求,所述智能合约执行请求中包含智能合约,以及智能合约中的原始用户数据;所述原始用户数据是智能合约执行之前的用户数据;
按照预置时间间隔检查智能合约的自动机状态,将条件满足的智能合约推送到待验证队列中;每个所述智能合约均对应一个自动状态机;
获取所述条件满足的智能合约的目标用户数据;所述目标用户数据是所述智能合约执行后的用户数据;
对所述待验证队列中各智能合约的原始用户数据和目标用户数据分别进行哈希计算得到用户哈希值;并生成所述用户哈希值对应的用户哈希值编号;
对得到的所述用户哈希值进行两两哈希计算,得到中间哈希值,并生成所述中间哈希值对应的中间哈希值编号;对所述中间哈希值再次进行两两哈希计算,直至得到一个第一根节点哈希值;
待共识时间到来之后,将所述待验证队列中条件满足的智能合约的所述用户哈希值及对应的用户哈希值编号、所述中间哈希值及对应的中间哈希值编号、所述第一根节点哈希值发送给所述验证节点;以使得所述验证节点根据所述用户哈希值及对应的用户哈希值编号、所述中间哈希值及对应的中间哈希值编号、所述第一根节点哈希值封装区块结构,并将所述区块结构广播给其他节验证节点进行验证。
2.根据权利要求1所述的区块链系统的交易验证方法,其特征在于,所述用户哈希值编号和所述中间哈希值编号是按照数字编号顺序生成的,所述方法还包括:
根据所述用户哈希值及其对应的用户哈希值编号,所述中间哈希值及其对应的中间哈希值编号的顺序生成一个第一哈希树结构,所述第一哈希树结构的跟节点为所述第一根节点哈希值、叶子节点为所述用户哈希值;
待共识时间到来之后,将所述第一哈希树结构、所述第一根节点哈希值发送给所述验证节点;以使得所述验证节点根据所述第一哈希树结构、所述第一根节点哈希值封装区块结构,并将所述区块结构广播给其他节验证节点进行验证;所述第一哈希树结构在所述区块结构的区块体,所述第一根节点哈希值在所述区块结构的区块头。
3.根据权利要求2所述的区块链系统的交易验证方法,其特征在于,所述区块结构广播给其他节验证节点进行验证,包括:
所述其他节验证节点计算自身待验证队列中智能合约的用户哈希值;
根据所述第一哈希树结构中与所述自身待验证队列中匹配的智能合约的用户哈希值编号、中间哈希值编号及所述其他验证节点计算的用户哈希值生成第二哈希树结构;
判断所述第一哈希树结构是否与所述第二哈希树结构相同;
若相同,则确认所述其他验证节点认可所述验证节点中条件满足的智能合约。
4.根据权利要求1所述的区块链系统的交易验证方法,其特征在于,所述区块结构广播给其他节验证节点进行验证,包括:
所述其他节验证节点计算自身待验证队列中智能合约的用户哈希值;
根据所述条件满足的智能合约的所述用户哈希值的用户哈希值编号、所述中间哈希值的中间哈希值编号的顺序对自身待验证队列中智能合约的用户哈希值进行计算,得到第二根节点哈希值;
判断所述第一根节点哈希值是否与所述第二根节点哈希值相同;
若相同,则确认所述其他验证节点认可所述验证节点中条件满足的智能合约。
5.根据权利要求1-4任一所述的区块链系统的交易验证方法,其特征在于,所述方法还包括:对所述待验证队列中条件满足的智能合约的用户哈希值的用户哈希值编号、所述中间哈希值的中间哈希值编号进行加密发送给所述验证节点。
6.一种区块链系统的交易验证装置,其特征在于,所述区块链系统包括隐私信息管理节点、验证节点,所述装置应用于区块链系统中的隐私信息管理节点,所述装置包括:
接收模块,用于接收交易方发送的智能合约执行请求,所述智能合约执行请求中包含智能合约,以及智能合约中的原始用户数据;所述原始用户数据是智能合约执行之前的用户数据;
推送模块,用于按照预置时间间隔检查智能合约的自动机状态,将条件满足的智能合约推送到待验证队列中;每个所述智能合约均对应一个自动状态机;
获取模块,用于获取所述条件满足的智能合约的目标用户数据;所述目标用户数据是所述智能合约执行后的用户数据;
计算模块,用于对所述待验证队列中各智能合约的原始用户数据和目标用户数据分别进行哈希计算得到用户哈希值;并生成所述用户哈希值对应的用户哈希值编号;
所述计算模块,还用于对得到的所述用户哈希值进行两两哈希计算,得到中间哈希值,并生成所述中间哈希值对应的中间哈希值编号;对所述中间哈希值再次进行两两哈希计算,直至得到一个第一根节点哈希值;
发送模块,还用于待共识时间到来之后,将所述待验证队列中条件满足的智能合约的所述用户哈希值及对应的用户哈希值编号、所述中间哈希值及对应的中间哈希值编号、所述第一根节点哈希值发送给所述验证节点;以使得所述验证节点根据所述用户哈希值及对应的用户哈希值编号、所述中间哈希值及对应的中间哈希值编号、所述第一根节点哈希值封装区块结构,并将所述区块结构广播给其他节验证节点进行验证。
7.根据权利要求6所述的区块链系统的交易验证装置,其特征在于,所述用户哈希值编号和所述中间哈希值编号是按照数字编号顺序生成的,所述装置还包括:
生成模块,用于根据所述用户哈希值及其对应的用户哈希值编号,所述中间哈希值及其对应的中间哈希值编号的顺序生成一个第一哈希树结构,所述第一哈希树结构的跟节点为所述第一根节点哈希值、叶子节点为所述用户哈希值;
所述发送模块,还用于待共识时间到来之后,将所述第一哈希树结构、所述第一根节点哈希值发送给所述验证节点;以使得所述验证节点根据所述第一哈希树结构、所述第一根节点哈希值封装区块结构,并将所述区块结构广播给其他节验证节点进行验证;所述第一哈希树结构在所述区块结构的区块体,所述第一根节点哈希值在所述区块结构的区块头。
8.根据权利要求7所述的区块链系统的交易验证装置,其特征在于,所述装置还包括:
所述计算模块,所述其他节验证节点计算自身待验证队列中智能合约的用户哈希值;根据所述第一哈希树结构中与所述自身待验证队列中匹配的智能合约的用户哈希值编号、中间哈希值编号及所述其他验证节点计算的用户哈希值生成第二哈希树结构;
判断模块,用于判断所述第一哈希树结构是否与所述第二哈希树结构相同;
确认模块,用于若所述第一哈希树结构与所述第二哈希树结构相同,则确认所述其他验证节点认可所述验证节点中条件满足的智能合约。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述区块链系统的交易验证方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述区块链系统的交易验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010303785.5A CN111524009A (zh) | 2020-04-12 | 2020-04-12 | 区块链系统的交易验证方法、装置及硬件设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010303785.5A CN111524009A (zh) | 2020-04-12 | 2020-04-12 | 区块链系统的交易验证方法、装置及硬件设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111524009A true CN111524009A (zh) | 2020-08-11 |
Family
ID=71901486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010303785.5A Pending CN111524009A (zh) | 2020-04-12 | 2020-04-12 | 区块链系统的交易验证方法、装置及硬件设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111524009A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112308561A (zh) * | 2020-10-16 | 2021-02-02 | 浙江甲骨文超级码科技股份有限公司 | 基于区块链的存证方法、系统、计算机设备和存储介质 |
CN114117519A (zh) * | 2021-11-17 | 2022-03-01 | 浙江万胜智能科技股份有限公司 | 一种用于智能电能表的计量数据可信存储方法 |
CN114153849A (zh) * | 2021-12-02 | 2022-03-08 | 深圳前海微众银行股份有限公司 | 一种区块链的数据生成及验证方法及装置 |
CN114638604A (zh) * | 2022-03-22 | 2022-06-17 | 成都质数斯达克科技有限公司 | 基于区块链的金融业务计费、收费方法及装置 |
-
2020
- 2020-04-12 CN CN202010303785.5A patent/CN111524009A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112308561A (zh) * | 2020-10-16 | 2021-02-02 | 浙江甲骨文超级码科技股份有限公司 | 基于区块链的存证方法、系统、计算机设备和存储介质 |
CN114117519A (zh) * | 2021-11-17 | 2022-03-01 | 浙江万胜智能科技股份有限公司 | 一种用于智能电能表的计量数据可信存储方法 |
CN114153849A (zh) * | 2021-12-02 | 2022-03-08 | 深圳前海微众银行股份有限公司 | 一种区块链的数据生成及验证方法及装置 |
CN114638604A (zh) * | 2022-03-22 | 2022-06-17 | 成都质数斯达克科技有限公司 | 基于区块链的金融业务计费、收费方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111524009A (zh) | 区块链系统的交易验证方法、装置及硬件设备 | |
CN110245186B (zh) | 一种基于区块链的业务处理方法及相关设备 | |
CN109474578B (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
CN111382456B (zh) | 提案消息处理方法、装置、设备以及存储介质 | |
CN112632575A (zh) | 业务系统的权限管理方法、装置、计算机设备及存储介质 | |
US20230273912A1 (en) | Data processing method and apparatus for blockchain network, computer device, and computer-readable storage medium | |
CN110601896B (zh) | 一种基于区块链节点的数据处理方法以及设备 | |
CN112087502B (zh) | 处理请求的方法、装置、设备及存储介质 | |
CN111080455A (zh) | 基于区块链的跨境交易方法、装置及硬件设备 | |
CN108388438B (zh) | 系统基表更新方法、装置、计算机设备和存储介质 | |
US11151122B2 (en) | Distributed ledger data linkage management | |
CN111405505B (zh) | 一种漫游业务的账单处理方法、系统及存储介质 | |
CN110992178A (zh) | 区块链节点的验证方法、装置、计算机设备及存储介质 | |
CN110490594A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
US20230325833A1 (en) | Blockchain-based data processing method and apparatus, device, storage medium, and program product | |
CN110930254A (zh) | 基于区块链的数据处理方法、装置、终端及介质 | |
CN110599267A (zh) | 电子发票开票方法、装置、计算机可读存储介质和计算机设备 | |
CN111488626A (zh) | 基于区块链的数据处理方法、装置、设备及介质 | |
CN110933022A (zh) | 区块处理方法、装置、计算机设备及存储介质 | |
CN111260475A (zh) | 一种数据处理方法、区块链节点设备及存储介质 | |
CN112364059A (zh) | 多规则场景下关联匹配方法、装置、设备和存储介质 | |
CN113259384B (zh) | 基于区块链的机理模型调用信息处理方法、服务器及系统 | |
CN113806816A (zh) | 一种基于区块链的电子档案管理方法、装置及电子设备 | |
CN111131329A (zh) | 区块链系统的数据共识方法、装置及硬件设备 | |
CN111565173A (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 |