CN107833060B - 一种区块链中智能合约交易的验证方法以及系统 - Google Patents

一种区块链中智能合约交易的验证方法以及系统 Download PDF

Info

Publication number
CN107833060B
CN107833060B CN201711112954.1A CN201711112954A CN107833060B CN 107833060 B CN107833060 B CN 107833060B CN 201711112954 A CN201711112954 A CN 201711112954A CN 107833060 B CN107833060 B CN 107833060B
Authority
CN
China
Prior art keywords
transaction
intelligent contract
transactions
block
dynamic
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
Application number
CN201711112954.1A
Other languages
English (en)
Other versions
CN107833060A (zh
Inventor
冯冠杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201711112954.1A priority Critical patent/CN107833060B/zh
Publication of CN107833060A publication Critical patent/CN107833060A/zh
Application granted granted Critical
Publication of CN107833060B publication Critical patent/CN107833060B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/018Certifying business or products
    • G06Q30/0185Product, service or business identity fraud
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]

Abstract

本发明提供一种区块链中智能合约交易的验证方法、系统、计算机设备以及计算机可读存储介质,涉及数据处理技术领域。所述方法包括交易发送节点广播区块中的多个智能合约交易时,在所述智能合约交易中增加交易类型标识;区块生成节点根据所述智能合约交易的交易类型标识执行所述智能合约交易,将执行后的所述智能合约交易打包进区块后,将所述区块广播;验证节点接收所述区块,根据所述智能合约交易的交易类型标识执行所述智能合约交易,得到所述区块的最终状态;验证节点将所述区块的最终状态与区块中记录的交易后状态进行对比验证,当所述区块的最终状态与区块中记录的交易后状态一致时,则所述区块验证通过。本发明提高了区块的验证效率。

Description

一种区块链中智能合约交易的验证方法以及系统
技术领域
本发明关于数据处理技术领域,特别是关于区块链应用系统的验证技术,具体的讲是一种区块链中智能合约交易的验证方法、区块链中智能合约交易的验证系统、计算机设备以及计算机可读存储介质。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
目前,根据区块链的共识机制,区块链的分布式网络上,各个节点将自己发出的交易广播,而共识选择出的块打包节点(也称挖矿节点)收集网络上的交易,按自己选定的顺序执行交易,并将交易和交易执行的结果打包成一个区块,并广播这个区块,由其他节点验证此区块是否有效时需要验证区块中包含的交易执行结果是否与块中保存数据一致。上述基于区块链技术的交易网络性能受限,其中一个很大的瓶颈为按照目前的共识机制,节点在验证及同步块的速度效率有限。
区块链采用块进行交易存储,打包节点在收到整个区块链网络内的交易(包含静态交易和通过智能合约实现的动态交易)后,将其打包到一个块中,每个块内的多个交易拥有严格的顺序,且同时保存有交易执行前的初始状态和执行后的最终状态。所有参与共识的节点在接收到块之后,需要对块内存储的交易进行格式校验,并严格按照顺序执行交易,在全部交易执行后和块的最终状态进行对比是否一致。由于后一个交易执行的数据初始状态依赖于前一个交易执行的结果,改变交易顺序可能会导致结果完全不一致,所以目前交易执行过程是一个串行过程,效率低下且无法通过扩展机器硬件增加线程来解决,节点对整个区块链的验证和同步速度受到限制。
因此,如何提供一种新的方案,其能够解决上述技术问题是本领域亟待解决的技术难题。
发明内容
有鉴于此,本发明提供了一种区块链中智能合约交易的验证方法、区块链中智能合约交易的验证系统、计算机设备以及计算机可读存储介质,通过在交易发送节点广播交易时添加交易类型标注,区块生成节点根据标识先处理动态交易,再处理静态交易,并将处理完的交易打包进区块广播,验证节点对智能合约交易涉及的多个账户的动态交易优先处理,之后再将大量的静态交易分组并行处理,最后由验证节点进行验证,提高了区块的验证效率。
为了实现上述目的,本发明提供了一种区块链中智能合约交易的验证方法,所述方法包括:
交易发送节点广播区块中的多个智能合约交易时,在所述智能合约交易中增加交易类型标识,所述交易类型标识为动态交易或静态交易;
区块生成节点在收到所述交易发送节点广播的所述智能合约交易后,根据所述智能合约交易的交易类型标识执行所述智能合约交易,将执行后的所述智能合约交易打包进区块后,将所述区块广播;
验证节点接收所述区块,根据所述智能合约交易的交易类型标识执行所述智能合约交易,得到所述区块的最终状态;
验证节点将所述区块的最终状态与区块中记录的交易后状态进行对比验证,当所述区块的最终状态与区块中记录的交易后状态一致时,则所述区块验证通过。
在本发明的优选实施方式中,所述方法还包括:当所述交易类型标识为动态交易时,所述交易发送节点对所述智能合约交易增加交易消耗。
在本发明的优选实施方式中,根据所述智能合约交易的交易类型标识执行所述智能合约交易包括:
将所述交易类型标识为动态交易的智能合约交易筛选出来,形成动态组;
将所述交易类型标识为静态交易的智能合约交易筛选出来,形成静态组;
对所述动态组中的智能合约交易进行串行处理;
当所述动态组串行处理结束后,对所述静态组中的智能合约交易进行串行处理。
在本发明的优选实施方式中,对所述动态组中的智能合约交易进行串行处理包括:
获取预先设定的消耗阈值;
判断所述动态组中的智能合约交易对应的交易消耗是否小于所述消耗阈值;
当判断为是时,舍弃所述智能合约交易;
当判断为否时,对所述智能合约交易进行串行处理。
在本发明的优选实施方式中,对所述静态组中的智能合约交易进行串行处理包括:
获取所述智能合约交易的涉及账户信息;
当所述涉及账户信息包括智能合约交易的额外账户时,拒绝所述智能合约交易;
否则,执行所述智能合约交易。
在本发明的优选实施方式中,验证节点接收所述区块后,所述方法还包括所述验证节点验证所述智能合约交易的格式是否合法,当所述智能合约交易的格式合法后,执行根据所述智能合约交易的交易类型标识执行所述智能合约交易的步骤。
在本发明的优选实施方式中,根据所述智能合约交易的交易类型标识执行所述智能合约交易包括:将所述动态组中的智能合约交易进行串行处理,得到动态交易结果;
按照所述静态组中的智能合约交易的涉及账户信息将所述智能合约交易进行分组,启动多线程对各组进行并行的交易执行,记录各个线程的状态;
将各个线程的状态按照各自处理的不同账户合并至所述动态交易结果,得到所述区块的最终状态。
本发明的目的之一是,提供了一种区块链中智能合约交易的验证系统,所述系统包括:
交易发送节点,用于广播区块中的多个智能合约交易时,在所述智能合约交易中增加交易类型标识,所述交易类型标识为动态交易或静态交易;
区块生成节点,用于在收到所述交易发送节点广播的所述智能合约交易后,根据所述智能合约交易的交易类型标识执行所述智能合约交易,将执行后的所述智能合约交易打包进区块后,将所述区块广播;
验证节点,用于接收所述区块,根据所述智能合约交易的交易类型标识执行所述智能合约交易,得到所述区块的最终状态;
所述验证节点,还用于将所述区块的最终状态与区块中记录的交易后状态进行对比验证,当所述区块的最终状态与区块中记录的交易后状态一致时,则所述区块验证通过。
在本发明的优选实施方式中,所述交易发送节点还用于当所述交易类型标识为动态交易时,对所述智能合约交易增加交易消耗。
在本发明的优选实施方式中,区块生成节点根据所述智能合约交易的交易类型标识执行所述智能合约交易包括:
第一筛选模块,用于将所述交易类型标识为动态交易的智能合约交易筛选出来,形成动态组;
第二筛选模块,用于将所述交易类型标识为静态交易的智能合约交易筛选出来,形成静态组;
第一处理模块,用于对所述动态组中的智能合约交易进行串行处理;
第二处理模块,用于当所述第一处理模块串行处理结束后,对所述静态组中的智能合约交易进行串行处理。
在本发明的优选实施方式中,所述第一处理模块包括:阈值获取模块,用于获取预先设定的消耗阈值;
消耗判断模块,用于判断所述动态组中的智能合约交易对应的交易消耗是否小于所述消耗阈值;
交易舍弃模块,用于当所述消耗判断模块判断为是时,舍弃所述智能合约交易;
交易处理模块,用于当所述消耗判断模块判断为否时,对所述智能合约交易进行串行处理。
在本发明的优选实施方式中,所述第二处理模块包括:信息获取模块,用于获取所述智能合约交易的涉及账户信息;
交易拒绝模块,用于当所述涉及账户信息包括智能合约交易的额外账户时,拒绝所述智能合约交易;
交易执行模块,用于当所述涉及账户信息未包括智能合约交易的额外账户时,执行所述智能合约交易。
在本发明的优选实施方式中,所述验证节点还用于验证所述智能合约交易的格式是否合法,当所述智能合约交易的格式合法后,执行根据所述智能合约交易的交易类型标识执行所述智能合约交易的步骤。
在本发明的优选实施方式中,验证节点根据所述智能合约交易的交易类型标识执行所述智能合约交易包括:
动态交易处理模块,用于将所述动态组中的智能合约交易进行串行处理,得到动态交易结果;
静态交易处理模块,用于按照所述静态组中的智能合约交易的涉及账户信息将所述智能合约交易进行分组,启动多线程对各组进行并行的交易执行,记录各个线程的状态;
交易状态合并模块,用于将各个线程的状态按照各自处理的不同账户合并至所述动态交易结果,得到所述区块的最终状态。
本发明的目的之一是,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现一种区块链中智能合约交易的验证方法。
本发明的目的之一是,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行一种区块链中智能合约交易的验证方法。
本发明的有益效果在于,提供了一种区块链中智能合约交易的验证方法、区块链中智能合约交易的验证系统、计算机设备以及计算机可读存储介质,通过在交易发送节点广播交易时添加交易类型标注,区块生成节点根据标识先处理动态交易,再处理静态交易,并将处理完的交易打包进区块广播,验证节点对智能合约交易涉及的多个账户的动态交易优先处理,之后再将大量的静态交易分组并行处理,最后由验证节点进行验证,提高了区块的验证效率。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种区块链中智能合约交易的验证系统的结构示意图;
图2为本发明实施例提供的一种区块链中智能合约交易的验证系统中区块生成节点的结构示意图;
图3为本发明实施例提供的一种区块链中智能合约交易的验证系统中第一处理模块的结构示意图;
图4为本发明实施例提供的一种区块链中智能合约交易的验证系统中第二处理模块的结构示意图;
图5为本发明实施例提供的一种区块链中智能合约交易的验证系统中验证节点的结构示意图;
图6为本发明实施例提供的一种区块链中智能合约交易的验证方法的流程图;
图7为图6中的步骤S102的部分具体流程示意图;
图8为图7中的步骤S203的具体流程示意图;
图9为图7中的步骤S204的具体流程示意图;
图10为图6中的步骤S103的部分具体流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、方法或计算机程序产品。因此,本发明公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
首先介绍本发明涉及的术语。
区块链系统:一种基于分布式账本的去中心化交易系统。
共识:区块链系统中,各分布式节点约定的一套规则,规定由一个挖矿节点将当前系统中的交易打包到一个块中然后广播,其他节点接受到块对块中的交易进行验证确定块的有效性。
现有技术中的区块链采用块进行交易存储,每个块内的多个交易保存时拥有严格的顺序,且同时保存有交易执行前的初始状态和执行后的最终状态。所有参与共识的节点在接收到块之后,需要对块内存储的交易进行格式校验,并严格按照顺序执行交易,并在全部交易执行后和块的最终状态对比是否一致。由于后一个交易执行的数据初始状态依赖于前一个交易执行的结果,涉及同一账户的多个交易改变顺序可能会导致结果完全不一致,所以目前交易执行过程是一个串行过程。
发明人发现,虽然交易顺序可能影响交易结果,但是并非所有的交易都会互相影响,如果两个交易分别涉及不同的账户则不会互相影响,可以将所有的交易分散到不同的组中,各个组的交易涉及到的账户各不相同,如此各个组的交易即可以使用多线程同步的并行执行。
本发明的主要原理是:由于区块链引入了智能合约的概念,交易可能根据交易输入的参数和智能合约内保存的数据动态调用多个合约,此种动态交易无法在不执行交易的情况下确定交易涉及的账户,因此需要在交易分组的时候先将动态交易挑出先串行处理,之后剩下的大量静态交易就可以进行分组并行处理。为了更快速的分辨交易是否为动态交易,需要区块链上的各节点在广播交易时标注本交易是否为动态交易,区块生成节点在收到交易之后,优先将动态交易处理打包,之后再处理静态交易;在打包时对动态交易增加交易消耗,以鼓励节点不要将静态交易标注为动态交易,同时对所有标记为静态交易但涉及了除发起和接受节点账户以外账户的交易进行拒绝;区块生成节点将交易打包入块后,验证节点在接受到区块验证时,先串行执行动态交易,同时启动一个线程对静态交易进行分组,在这两个进程结束后按照静态交易分组结果,在启动多个线程对已经分组的静态交易并行执行,最后将各组执行后的结果合并为最终状态,与区块中的最终状态对比确定区块的合法性。
由于验证节点对块内的静态交易的执行、验证是并行进行的,效率对比原有的串行执行效率能大幅提高。
具体的,本发明提供一种区块链中智能合约交易的验证系统,图1为本发明实施例提供的一种区块链中智能合约交易的验证系统的结构示意图,请参阅图1,本发明提供的验证系统包括:
交易发送节点101,用于广播区块中的多个智能合约交易时,在所述智能合约交易中增加交易类型标识。
在本发明中,所述交易类型标识为动态交易或静态交易。交易发送节点除包含智能合约交易的输入账户、目标账户、交易计数器、交易消耗以及签名外,增加交易类型标识,标记交易是动态交易还是静态交易,发送节点应当按照交易正确的执行情况对交易进行标识。
每个智能合约交易对应一个涉及账户信息,涉及账户信息包括发送账户、接收账户,还可包括额外账户,额外账户包括外部账户和合约账户,由区块生成节点根据交易执行的结果添加到用于广播的块中。
在本发明的一种实施方式中,当所述交易类型标识为动态交易时,对所述智能合约交易增加交易消耗。也即,当交易发送节点将一个智能合约交易标注为动态交易后,随即对该交易增加交易消耗。提高动态交易的交易消耗是为了鼓励交易发送节点不要把必然是静态交易的交易标注为动态交易。
区块生成节点102,用于在收到所述交易发送节点广播的所述智能合约交易后,根据所述智能合约交易的交易类型标识执行所述智能合约交易,将执行后的所述智能合约交易打包进区块后,将所述区块广播。
具体的,如图2所示,区块生成节点根据所述智能合约交易的交易类型标识执行所述智能合约交易包括:
第一筛选模块201,用于将所述交易类型标识为动态交易的智能合约交易筛选出来,形成动态组;
第二筛选模块202,用于将所述交易类型标识为静态交易的智能合约交易筛选出来,形成静态组;
第一处理模块203,用于对所述动态组中的智能合约交易进行串行处理;
第二处理模块204,用于当所述第一处理模块串行处理结束后,对所述静态组中的智能合约交易进行串行处理。
也即,区块生成节点在收到交易发送节点广播的智能合约交易后,按照智能合约交易的标识将动态交易和静态交易分成两组,先串行处理动态交易,之后再串行处理静态交易。在智能合约交易执行后将两部分交易的输入和顺序分别打包入块中,与交易执行结果等其他区块必须信息一同组合区块,生成块的节点将新区块广播。
在本发明的一种实施方式中,如图3所示,所述第一处理模块包括:
阈值获取模块301,用于获取预先设定的消耗阈值;
消耗判断模块302,用于判断所述动态组中的智能合约交易对应的交易消耗是否小于所述消耗阈值;
交易舍弃模块303,用于当所述消耗判断模块判断为是时,舍弃所述智能合约交易;
交易处理模块304,用于当所述消耗判断模块判断为否时,对所述智能合约交易进行串行处理。
在该实施方式中,对于交易类型标识为动态交易的智能合约交易中交易消耗达到消耗阈值的交易进行串行处理,否则舍弃。
在本发明的一种实施方式中,如图4所示,所述第二处理模块包括:
信息获取模块401,用于获取所述智能合约交易的涉及账户信息;
交易拒绝模块402,用于当所述涉及账户信息包括智能合约交易的额外账户时,拒绝所述智能合约交易;
交易执行模块403,用于当所述涉及账户信息未包括智能合约交易的额外账户时,执行所述智能合约交易。
在该实施方式中,对于交易类型标识为静态交易的智能合约交易中不涉及第三方账户的交易进行串行处理,否则拒绝交易。
请继续参阅图1,验证系统还包括:
验证节点103,用于接收所述区块,根据所述智能合约交易的交易类型标识执行所述智能合约交易,得到所述区块的最终状态;
在本发明的另一种实施方式中,所述验证节点还用于:
验证所述智能合约交易的格式是否合法,当所述智能合约交易的格式合法后,执行根据所述智能合约交易的交易类型标识执行所述智能合约交易的步骤。
在本发明的另一种实施方式中,如图5所示,验证节点根据所述智能合约交易的交易类型标识执行所述智能合约交易包括:
动态交易处理模块501,用于将所述动态组中的智能合约交易进行串行处理,得到动态交易结果;
静态交易处理模块502,用于按照所述静态组中的智能合约交易的涉及账户信息将所述智能合约交易进行分组,启动多线程对各组进行并行的交易执行,记录各个线程的状态;
交易状态合并模块503,用于将各个线程的状态按照各自处理的不同账户合并至所述动态交易结果,得到所述区块的最终状态。
在本发明的具体实施例中,验证节点在收到区块之后,首先验证块的格式合法(包含动态交易结合和静态交易集合),之后先将动态交易集合内的交易串行处理,于此同时启动线程将静态交易集合内的静态交易进行分组,具体步骤如下:由于静态交易都只涉及两个账户,及交易发起账户和交易接受账户,对静态交易组的分组是一个并查集问题,处理时首先将交易集合中涉及到的每个账户指向自身作为一个根节点,然后遍历集合中所有交易,按照交易方向组建一个向量,其中被指向的节点如果不是根节点则按照路径找到根节点并连接到根节点上,如果一个向量的两个节点都有同样的根节点则意味着两个账户已经联通,则不需处理当前交易向量;当全部交易处理完之后,所有交易向量组成树状结构,其叶子节点即为各账户,每颗树之间的交易互不干涉,故可以将各交易按照涉及账户所在的树分组,之后按照配置的线程数将各组平均分配到各组中执行。
请继续参阅图1,
验证节点还用于将所述区块的最终状态与区块中记录的交易后状态进行对比验证,当所述区块的最终状态与区块中记录的交易后状态一致时,则所述区块验证通过。
当多个线程全部执行完毕后,将各组的最终状态整合,每个状态中改变的账户状态添加进最终状态中,与区块中保存的最终状态对比是否一致,一致则区块验证通过。
在本发明的另一种实施方式中,该系统还包括将区块验证结果返回的装置。
如上所述即为本发明提供的一种区块链中智能合约交易的验证系统,对由智能合约实现的涉及多个账户的动态交易优先处理,之后再将大量的静态交易分组并行,提高区块的验证效率。在节点广播交易时标注交易类型,分别为动态交易和静态交易,区块生成节点根据标识先处理动态交易,再处理静态交易,并将处理完的交易打包进区块广播。验证节点在接收到之后剩下的静态交易只涉及发起账户和接受账户,可以很容易的将有关联的交易分组,各组之间互不干扰,可以并行执行提高验证效率。
根据区块链的共识机制,区块链的分布式网络上,各个节点将自己发出的交易广播,而共识选择出的块打包节点(也称挖矿节点)收集网络上的交易,按自己选定的顺序执行交易,并将交易和交易执行的结果打包成一个区块,并广播这个区块,由其他节点验证此区块是否有效时需要验证区块中包含的交易执行结果是否与块中保存数据一致。
因为多个交易涉及的账户可能会有交叉,交易执行的顺序必须按照严格的既定顺序执行,因此验证节点在验证交易时必须串行执行交易,故只能单线程执行,无法通过增加程序的线程提高执行效率,本发明通过对静态和动态交易分别标注,并对静态交易进行分组,在不影响交易执行结果的情况下允许交易并行执行,大幅提升验证节点验证及同步区块的速度。
此外,尽管在上文详细描述中提及了系统的若干单元模块,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。同样,上文描述的一个单元的特征和功能也可以进一步划分为由多个单元来具体化。以上所使用的术语“模块”和“单元”,可以是实现预定功能的软件和/或硬件。尽管以下实施例所描述的模块较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在介绍了本发明示例性实施方式的验证系统、计算机设备、计算机可读存储介质之后,接下来,参考附图对本发明示例性实施方式的方法进行介绍。该方法的实施可以参见上述整体的实施,重复之处不再赘述。
图6为本发明实施例提供的一种区块链中智能合约交易的验证方法的流程图,请参阅图6,该方法包括:
S101,交易发送节点广播区块中的多个智能合约交易时,在所述智能合约交易中增加交易类型标识。
在本发明中,所述交易类型标识为动态交易或静态交易。交易发送节点除包含智能合约交易的输入账户、目标账户、交易计数器、交易消耗以及签名外,增加交易类型标识,标记交易是动态交易还是静态交易,发送节点应当按照交易正确的执行情况对交易进行标识。
每个智能合约交易对应一个涉及账户信息,涉及账户信息包括发送账户、接收账户,还可包括额外账户,额外账户包括外部账户和合约账户,由区块生成节点根据交易执行的结果添加到用于广播的块中。
在本发明的一种实施方式中,当所述交易类型标识为动态交易时,对所述智能合约交易增加交易消耗。也即,当交易发送节点将一个智能合约交易标注为动态交易后,随即对该交易增加交易消耗。提高动态交易的交易消耗是为了鼓励交易发送节点不要把必然是静态交易的交易标注为动态交易。
S102:区块生成节点在收到所述交易发送节点广播的所述智能合约交易后,根据所述智能合约交易的交易类型标识执行所述智能合约交易,将执行后的所述智能合约交易打包进区块后,将所述区块广播。
具体的,如图7所示,区块生成节点根据所述智能合约交易的交易类型标识执行所述智能合约交易包括:
S201:将所述交易类型标识为动态交易的智能合约交易筛选出来,形成动态组;
S202:将所述交易类型标识为静态交易的智能合约交易筛选出来,形成静态组;
S203:对所述动态组中的智能合约交易进行串行处理;
S204:对所述静态组中的智能合约交易进行串行处理。
也即,区块生成节点在收到交易发送节点广播的智能合约交易后,按照智能合约交易的标识将动态交易和静态交易分成两组,先串行处理动态交易,之后再串行处理静态交易。在智能合约交易执行后将两部分交易的输入和顺序分别打包入块中,与交易执行结果等其他区块必须信息一同组合区块,生成块的节点将新区块广播。
在本发明的一种实施方式中,如图8所示,步骤S203包括:
S301:获取预先设定的消耗阈值;
S302:判断所述动态组中的智能合约交易对应的交易消耗是否小于所述消耗阈值;
S303:当判断为是时,舍弃所述智能合约交易;
S304:当判断为否时,对所述智能合约交易进行串行处理。
在该实施方式中,对于交易类型标识为动态交易的智能合约交易中交易消耗达到消耗阈值的交易进行串行处理,否则舍弃。
在本发明的一种实施方式中,如图9所示,步骤S204包括:
S401:获取所述智能合约交易的涉及账户信息;
S402:当所述涉及账户信息包括智能合约交易的额外账户时,拒绝所述智能合约交易;
S403:当所述涉及账户信息未包括智能合约交易的额外账户时,执行所述智能合约交易。
在该实施方式中,对于交易类型标识为静态交易的智能合约交易中不涉及第三方账户的交易进行串行处理,否则拒绝交易。
请继续参阅图6,验证方法还包括:
S103:交验证节点接收所述区块,根据所述智能合约交易的交易类型标识执行所述智能合约交易,得到所述区块的最终状态;
在本发明的另一种实施方式中,请参阅图10,所述验证节点还用于:
验证所述智能合约交易的格式是否合法,当所述智能合约交易的格式合法后,执行根据所述智能合约交易的交易类型标识执行所述智能合约交易的步骤。
在本发明的另一种实施方式中,验证节点根据所述智能合约交易的交易类型标识执行所述智能合约交易包括:
S501:将所述动态组中的智能合约交易进行串行处理,得到动态交易结果;
S502:按照所述静态组中的智能合约交易的涉及账户信息将所述智能合约交易进行分组,启动多线程对各组进行并行的交易执行,记录各个线程的状态;
S503:将各个线程的状态按照各自处理的不同账户合并至所述动态交易结果,得到所述区块的最终状态。
在本发明的具体实施例中,验证节点在收到区块之后,首先验证块的格式合法(包含动态交易结合和静态交易集合),之后先将动态交易集合内的交易串行处理,于此同时启动线程将静态交易集合内的静态交易进行分组,具体步骤如下:由于静态交易都只涉及两个账户,及交易发起账户和交易接受账户,对静态交易组的分组是一个并查集问题,处理时首先将交易集合中涉及到的每个账户指向自身作为一个根节点,然后遍历集合中所有交易,按照交易方向组建一个向量,其中被指向的节点如果不是根节点则按照路径找到根节点并连接到根节点上,如果一个向量的两个节点都有同样的根节点则意味着两个账户已经联通,则不需处理当前交易向量;当全部交易处理完之后,所有交易向量组成树状结构,其叶子节点即为各账户,每颗树之间的交易互不干涉,故可以将各交易按照涉及账户所在的树分组,之后按照配置的线程数将各组平均分配到各组中执行。
请继续参阅图6,验证方法还包括:
S104:将所述区块的最终状态与区块中记录的交易后状态进行对比验证,当所述区块的最终状态与区块中记录的交易后状态一致时,则所述区块验证通过。
当多个线程全部执行完毕后,将各组的最终状态整合,每个状态中改变的账户状态添加进最终状态中,与区块中保存的最终状态对比是否一致,一致则区块验证通过。
在本发明的另一种实施方式中,该方法还包括将区块验证结果返回的步骤。
如上所述即为本发明提供的一种区块链中智能合约交易的验证方法,对由智能合约实现的涉及多个账户的动态交易优先处理,之后再将大量的静态交易分组并行,提高区块的验证效率。在节点广播交易时标注交易类型,分别为动态交易和静态交易,区块生成节点根据标识先处理动态交易,再处理静态交易,并将处理完的交易打包进区块广播。验证节点在接收到之后剩下的静态交易只涉及发起账户和接受账户,可以很容易的将有关联的交易分组,各组之间互不干扰,可以并行执行提高验证效率。
本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现一种区块链中智能合约交易的验证方法。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行一种区块链中智能合约交易的验证方法。
本发明的关键点和欲保护点在于:
1、在交易广播时,交易信息中需包含交易发起节点根据交易的预期执行结果增加的动态或静态交易标识,即交易结构进行修改,增加交易类型标识,标识交易是涉及交易中包含的发送账户和接收账户的静态交易,还是除此之外使用智能合约动态调用其它账户的动态交易。
2、区块生成节点需要按照不同的交易类型依次处理交易并打包成区块。
3、验证节点先处理动态交易,同时对静态交易进行分组,并行处理静态交易。
4、多线程的静态交易在动态交易执行结果上并行执行,执行后需要将各线程执行结构合并到动态交易执行后的结果上。
本发明技术方案带来的有益效果包括:
1、本发明提供一种方法,将区块链交易网络中影响性能的处理步骤――“区块的验证及同步”性能大幅提高。
2、本发明尽可能减少了区块生成节点的工作量,区块生成节点是区块链运行中的关键节点,为使交易可以分组将工作分散到交易发起节点和验证节点上。
3、使用本发明将交易中涉及账户没有关联的静态交易分到不同组,保证交易并行执行的结果也串行执行结果一致。
4、使用本发明进行区块的验证及同步,其速度不再完全受限于区块内交易数量的多少,在增加硬件性能后使用多线程并行处理交易使得区块和交易验证使用的时间大幅度减少。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware DescriptionLanguage,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced BooleanExpression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java HardwareDescription Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware DescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated CircuitHardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络系统等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持系统或便携式系统、平板型系统、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子系统、网络PC、小型计算机、大型计算机、包括以上任何系统或系统的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理系统来执行任务。在分布式计算环境中,程序模块可以位于包括存储系统在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (16)

1.一种区块链中智能合约交易的验证方法,其特征是,所述方法包括:
交易发送节点广播区块中的多个智能合约交易时,在所述智能合约交易中增加交易类型标识,所述交易类型标识为动态交易或静态交易;
区块生成节点在收到所述交易发送节点广播的所述智能合约交易后,根据所述智能合约交易的交易类型标识按照先处理动态交易再处理静态交易的顺序执行所述智能合约交易,将执行后的所述智能合约交易打包进区块后,将所述区块广播;
验证节点接收所述区块,根据所述智能合约交易的交易类型标识执行所述智能合约交易,得到所述区块的最终状态;
验证节点将所述区块的最终状态与区块中记录的交易后状态进行对比验证,当所述区块的最终状态与区块中记录的交易后状态一致时,则所述区块验证通过。
2.根据权利要求1所述的方法,其特征是,所述方法还包括:
当所述交易类型标识为动态交易时,所述交易发送节点对所述智能合约交易增加交易消耗。
3.根据权利要求2所述的方法,其特征是,根据所述智能合约交易的交易类型标识执行所述智能合约交易包括:
将所述交易类型标识为动态交易的智能合约交易筛选出来,形成动态组;
将所述交易类型标识为静态交易的智能合约交易筛选出来,形成静态组;
对所述动态组中的智能合约交易进行串行处理;
当所述动态组串行处理结束后,对所述静态组中的智能合约交易进行串行处理。
4.根据权利要求3所述的方法,其特征是,对所述动态组中的智能合约交易进行串行处理包括:
获取预先设定的消耗阈值;
判断所述动态组中的智能合约交易对应的交易消耗是否小于所述消耗阈值;
当判断为是时,舍弃所述智能合约交易;
当判断为否时,对所述智能合约交易进行串行处理。
5.根据权利要求3所述的方法,其特征是,对所述静态组中的智能合约交易进行串行处理包括:
获取所述智能合约交易的涉及账户信息;
当所述涉及账户信息包括智能合约交易的额外账户时,拒绝所述智能合约交易;
否则,执行所述智能合约交易。
6.根据权利要求3所述的方法,其特征是,验证节点接收所述区块后,所述方法还包括:
所述验证节点验证所述智能合约交易的格式是否合法,当所述智能合约交易的格式合法后,执行根据所述智能合约交易的交易类型标识执行所述智能合约交易的步骤。
7.根据权利要求6所述的方法,其特征是,根据所述智能合约交易的交易类型标识执行所述智能合约交易包括:
将所述动态组中的智能合约交易进行串行处理,得到动态交易结果;
按照所述静态组中的智能合约交易的涉及账户信息将所述智能合约交易进行分组,启动多线程对各组进行并行的交易执行,记录各个线程的状态;
将各个线程的状态按照各自处理的不同账户合并至所述动态交易结果,得到所述区块的最终状态。
8.一种区块链中智能合约交易的验证系统,其特征是,所述系统包括:
交易发送节点,用于广播区块中的多个智能合约交易时,在所述智能合约交易中增加交易类型标识,所述交易类型标识为动态交易或静态交易;
区块生成节点,用于在收到所述交易发送节点广播的所述智能合约交易后,根据所述智能合约交易的交易类型标识按照先处理动态交易再处理静态交易的顺序执行所述智能合约交易,将执行后的所述智能合约交易打包进区块后,将所述区块广播;
验证节点,用于接收所述区块,根据所述智能合约交易的交易类型标识执行所述智能合约交易,得到所述区块的最终状态;
所述验证节点,还用于将所述区块的最终状态与区块中记录的交易后状态进行对比验证,当所述区块的最终状态与区块中记录的交易后状态一致时,则所述区块验证通过。
9.根据权利要求8所述的验证系统,其特征是,所述交易发送节点还用于:
当所述交易类型标识为动态交易时,对所述智能合约交易增加交易消耗。
10.根据权利要求9所述的验证系统,其特征是,区块生成节点根据所述智能合约交易的交易类型标识执行所述智能合约交易包括:
第一筛选模块,用于将所述交易类型标识为动态交易的智能合约交易筛选出来,形成动态组;
第二筛选模块,用于将所述交易类型标识为静态交易的智能合约交易筛选出来,形成静态组;
第一处理模块,用于对所述动态组中的智能合约交易进行串行处理;
第二处理模块,用于当所述第一处理模块串行处理结束后,对所述静态组中的智能合约交易进行串行处理。
11.根据权利要求10所述的验证系统,其特征是,所述第一处理模块包括:
阈值获取模块,用于获取预先设定的消耗阈值;
消耗判断模块,用于判断所述动态组中的智能合约交易对应的交易消耗是否小于所述消耗阈值;
交易舍弃模块,用于当所述消耗判断模块判断为是时,舍弃所述智能合约交易;
交易处理模块,用于当所述消耗判断模块判断为否时,对所述智能合约交易进行串行处理。
12.根据权利要求10所述的验证系统,其特征是,所述第二处理模块包括:
信息获取模块,用于获取所述智能合约交易的涉及账户信息;
交易拒绝模块,用于当所述涉及账户信息包括智能合约交易的额外账户时,拒绝所述智能合约交易;
交易执行模块,用于当所述涉及账户信息未包括智能合约交易的额外账户时,执行所述智能合约交易。
13.根据权利要求10所述的验证系统,其特征是,所述验证节点还用于:
验证所述智能合约交易的格式是否合法,当所述智能合约交易的格式合法后,执行根据所述智能合约交易的交易类型标识执行所述智能合约交易的步骤。
14.根据权利要求13所述的验证系统,其特征是,验证节点根据所述智能合约交易的交易类型标识执行所述智能合约交易包括:
动态交易处理模块,用于将所述动态组中的智能合约交易进行串行处理,得到动态交易结果;
静态交易处理模块,用于按照所述静态组中的智能合约交易的涉及账户信息将所述智能合约交易进行分组,启动多线程对各组进行并行的交易执行,记录各个线程的状态;
交易状态合并模块,用于将各个线程的状态按照各自处理的不同账户合并至所述动态交易结果,得到所述区块的最终状态。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7任一所述方法的计算机程序。
CN201711112954.1A 2017-11-13 2017-11-13 一种区块链中智能合约交易的验证方法以及系统 Active CN107833060B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711112954.1A CN107833060B (zh) 2017-11-13 2017-11-13 一种区块链中智能合约交易的验证方法以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711112954.1A CN107833060B (zh) 2017-11-13 2017-11-13 一种区块链中智能合约交易的验证方法以及系统

Publications (2)

Publication Number Publication Date
CN107833060A CN107833060A (zh) 2018-03-23
CN107833060B true CN107833060B (zh) 2020-12-25

Family

ID=61654183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711112954.1A Active CN107833060B (zh) 2017-11-13 2017-11-13 一种区块链中智能合约交易的验证方法以及系统

Country Status (1)

Country Link
CN (1) CN107833060B (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536147B (zh) * 2018-04-16 2023-01-13 姜鹏飞 一种基于区块链和智能合约的自动驾驶汽车控制方法及系统
US11257081B2 (en) * 2018-05-08 2022-02-22 Oracle International Corporation Integrating a blockchain ledger with an application external to the blockchain ledger
CN108881231A (zh) * 2018-06-21 2018-11-23 郑州云海信息技术有限公司 一种集群系统中同步账户信息的方法、装置和存储介质
CN108846755A (zh) * 2018-06-22 2018-11-20 中链科技有限公司 一种基于智能合约的权限管理方法及装置
CN108961052B (zh) * 2018-06-25 2022-02-22 百度在线网络技术(北京)有限公司 区块链数据的验证方法、存储方法、装置、设备和介质
CN109064327B (zh) * 2018-06-29 2021-01-08 浙江超脑时空科技有限公司 一种智能合约处理方法、装置及设备
CN108921556B (zh) * 2018-07-02 2022-04-19 上海达家迎信息科技有限公司 一种区块链的验证方法、装置、设备及存储介质
CN108694670B (zh) * 2018-07-25 2020-10-20 珠海宏桥高科技有限公司 交易数据验证方法、装置及系统
CN109102261A (zh) * 2018-08-02 2018-12-28 刘卓 基于赛博钞票的去中心化、安全、省电的加密货币
CN109254837B (zh) * 2018-08-15 2021-02-19 泰链(厦门)科技有限公司 区块链系统及其中非生产节点的任务执行速度的提高方法
CN109241359A (zh) * 2018-08-18 2019-01-18 深圳市网心科技有限公司 区块链节点设备、区块链系统、区块数据处理系统和方法
CN109063183B (zh) * 2018-08-27 2021-01-12 众安信息技术服务有限公司 在区块链节点处进行信息处理的方法及装置
CN109118364A (zh) * 2018-08-27 2019-01-01 深圳前海益链网络科技有限公司 异步执行智能合约的方法、装置、计算机设备及存储介质
CN109360095A (zh) * 2018-09-27 2019-02-19 深圳技术大学(筹) 一种区块链交易数据的处理方法、装置及终端设备
CN110009321B (zh) * 2018-12-12 2020-08-11 阿里巴巴集团控股有限公司 一种基于区块链智能合约的转账方法及系统
CN109683995B (zh) * 2018-12-17 2022-03-11 达闼机器人有限公司 一种打包区块、验证区块和智能合约执行的方法
SG11201907157XA (en) * 2018-12-28 2019-09-27 Alibaba Group Holding Ltd Parallel execution of transactions in a blockchain network
US10733152B2 (en) 2018-12-29 2020-08-04 Alibaba Group Holding Limited System and method for implementing native contract on blockchain
PL3542494T3 (pl) * 2018-12-29 2021-08-23 Advanced New Technologies Co., Ltd. System i sposób realizacji umowy wewnętrznej w łańcuchu bloków
WO2019101234A2 (en) * 2019-03-04 2019-05-31 Alibaba Group Holding Limited Methods and devices for performing off-chain testing on smart contract
CN112966311A (zh) * 2019-03-15 2021-06-15 创新先进技术有限公司 智能合约校验方法及装置和电子设备
WO2019120316A2 (en) 2019-03-26 2019-06-27 Alibaba Group Holding Limited System and method for implementing different types of blockchain contracts
CN110135985B (zh) * 2019-04-04 2021-07-27 杭州抖音科技有限公司 一种区块链上交易的并行执行方法及系统
KR102289612B1 (ko) * 2019-04-12 2021-08-18 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 분산 원장 시스템에서 트랜잭션들의 병렬 실행 수행
EP3619668B1 (en) * 2019-04-12 2023-12-20 Advanced New Technologies Co., Ltd. Performing parallel execution of transactions in a distributed ledger system
CN109885264B (zh) * 2019-04-16 2019-12-06 北京艾摩瑞策科技有限公司 一种区块链节点的逻辑分片方法及其系统
CN110163634B (zh) * 2019-04-29 2023-10-10 创新先进技术有限公司 基于区块链的退款方法和装置、电子设备
EP3701383B1 (en) * 2019-06-28 2021-08-04 Advanced New Technologies Co., Ltd. System and method for executing different types of blockchain contracts
CN110555700A (zh) * 2019-09-04 2019-12-10 腾讯科技(深圳)有限公司 区块链智能合约执行方法、装置、计算机可读存储介质
CN111242784B (zh) * 2020-01-16 2023-12-29 深圳大学 区块预打包方法、区块节点、装置及存储介质
CN111339201B (zh) * 2020-02-28 2023-04-25 中国工商银行股份有限公司 基于区块链的测评方法及系统
CN111367621A (zh) * 2020-03-06 2020-07-03 深圳市网心科技有限公司 智能合约定时处理方法、区块链节点及存储介质
CN113191895B (zh) * 2020-09-04 2022-04-26 支付宝(杭州)信息技术有限公司 一种交易执行方法、系统及装置
CN112073538A (zh) * 2020-11-10 2020-12-11 南京可信区块链与算法经济研究院有限公司 一种在区块链中实现多节点交易并行执行的方法及系统
CN112598525B (zh) * 2021-02-26 2021-12-03 北京全息智信科技有限公司 一种智能合约分簇并行的区块链实现方法及装置
CN113743951A (zh) * 2021-11-04 2021-12-03 北京微芯感知科技有限公司 区块链的智能合约交易处理方法、装置
US11960579B2 (en) 2022-02-17 2024-04-16 Bank Of America Corporation Smart glass and blockchain digital signature implementation
CN115658806A (zh) * 2022-09-30 2023-01-31 蚂蚁区块链科技(上海)有限公司 区块链系统中的交易执行方法和节点

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548330A (zh) * 2016-10-27 2017-03-29 上海亿账通区块链科技有限公司 基于区块链的交易验证方法及系统
CN106603698A (zh) * 2016-12-28 2017-04-26 北京果仁宝科技有限公司 基于dpos的区块链共识方法和节点
CN106682984A (zh) * 2016-10-27 2017-05-17 上海亿账通区块链科技有限公司 基于区块链的交易事务处理方法及系统
CN106980649A (zh) * 2017-02-28 2017-07-25 阿里巴巴集团控股有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11488147B2 (en) * 2015-07-14 2022-11-01 Fmr Llc Computationally efficient transfer processing and auditing apparatuses, methods and systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548330A (zh) * 2016-10-27 2017-03-29 上海亿账通区块链科技有限公司 基于区块链的交易验证方法及系统
CN106682984A (zh) * 2016-10-27 2017-05-17 上海亿账通区块链科技有限公司 基于区块链的交易事务处理方法及系统
CN106603698A (zh) * 2016-12-28 2017-04-26 北京果仁宝科技有限公司 基于dpos的区块链共识方法和节点
CN106980649A (zh) * 2017-02-28 2017-07-25 阿里巴巴集团控股有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法

Also Published As

Publication number Publication date
CN107833060A (zh) 2018-03-23

Similar Documents

Publication Publication Date Title
CN107833060B (zh) 一种区块链中智能合约交易的验证方法以及系统
CN107040585B (zh) 一种业务校验的方法及装置
JP6804668B2 (ja) ブロックデータ検証方法および装置
CN107360206B (zh) 一种区块链共识方法、设备及系统
CN109949157B (zh) 一种业务数据的上链方法、装置及系统
CN107402824B (zh) 一种数据处理的方法及装置
CN108846749B (zh) 一种基于区块链技术的分片化的交易执行系统及方法
CN108700633B (zh) 针对安全并且有保障的汽车应用的超快自主时钟监测电路
CN110635962B (zh) 用于分布式系统的异常分析方法及装置
CN110401700A (zh) 模型加载方法及系统、控制节点及执行节点
CN110648124B (zh) 在区块链中并发执行交易的方法和装置
CN104965760A (zh) 一种管理软件功能模块生命周期的方法和装置
CN110162344B (zh) 一种隔离限流的方法、装置、计算机设备及可读存储介质
KR20150042874A (ko) 소팅
CN112698888A (zh) 应用程序的组件化、组件调用和组件初始化方法及其装置
CN110659905A (zh) 交易验证方法、装置、终端设备以及存储介质
CN109376988B (zh) 一种业务数据的处理方法和装置
CN116933886B (zh) 一种量子计算执行方法、系统、电子设备及存储介质
CN116107728B (zh) 一种任务执行方法、装置、存储介质及电子设备
CN116501927A (zh) 一种图数据处理系统、方法、设备及存储介质
Kim et al. Static analysis and automatic code synthesis of flexible FSM model
CN113553068B (zh) 一种下载应用包的方法、装置和电子设备
CN111198689B (zh) 一种代码执行方法、装置及计算机可读存储介质
CN113238855A (zh) 一种路径检测方法及装置
CN112988355A (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