CN111181731B - 联盟链中智能合约的执行优化方法、系统及存储介质 - Google Patents

联盟链中智能合约的执行优化方法、系统及存储介质 Download PDF

Info

Publication number
CN111181731B
CN111181731B CN201911421641.3A CN201911421641A CN111181731B CN 111181731 B CN111181731 B CN 111181731B CN 201911421641 A CN201911421641 A CN 201911421641A CN 111181731 B CN111181731 B CN 111181731B
Authority
CN
China
Prior art keywords
executed
signature information
intelligent contract
execution
node
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
CN201911421641.3A
Other languages
English (en)
Other versions
CN111181731A (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.)
Nanjing Trusted Blockchain And Algorithm Economics Research Institute Co ltd
Original Assignee
Nanjing Trusted Blockchain And Algorithm Economics Research Institute Co 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 Nanjing Trusted Blockchain And Algorithm Economics Research Institute Co ltd filed Critical Nanjing Trusted Blockchain And Algorithm Economics Research Institute Co ltd
Priority to CN201911421641.3A priority Critical patent/CN111181731B/zh
Publication of CN111181731A publication Critical patent/CN111181731A/zh
Application granted granted Critical
Publication of CN111181731B publication Critical patent/CN111181731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了联盟链中智能合约的执行优化方法、系统及存储介质,方法包括:获取待执行智能合约,并将所述待执行智能合约广播至集群中的所有节点;集群中的各个节点对新加入的智能合约进行预执行,获取预执行结果的第一签名信息;由领导节点执行所述待执行智能合约,获取执行结果的第二签名信息;将所述待执行智能合约和第二签名信息打包后,广播至集群中的各个节点;各个节点根据本地存储的第一签名信息,对第二签名信息进行比对,获取智能合约的执行结果。本发明能够确保领导节点和其他节点的智能合约可以并行执行完成,以此来提升智能合约的执行性能,提升集群中智能合约的执行效率,可广泛应用于区块链技术领域。

Description

联盟链中智能合约的执行优化方法、系统及存储介质
技术领域
本发明涉及区块链技术领域,尤其是联盟链中智能合约的执行优化方法、系统及存储介质。
背景技术
联盟链由多个节点构成,其中某一节点通过选举成为集群中的唯一leader节点,由此leader节点将自身持有的智能合约交易执行完毕,并且对智能合约交易执行结果进行Hash签名,将执行请求与执行结果进行打包,发送给所有副本replica节点进行确认。
副本replica节点收到区块打包,则将收到Leader区块打包的智能合约交易请求同样完整执行一遍,将执行完毕的结果与收到的执行结果进行Hash签名比较,如果一致则认为此副本replica节点确认通过。如集群中多数副本replica节点都确认通过,则认为集群对此智能合约交易确认通过。
现有的智能合约交易执行方案中,需要leader节点首先将智能合约交易执行完成并且Hash签名,然后由leader节点将智能合约交易打包传输给replica节点,replica节点重复执行智能合约交易完成,并且将执行结果同样Hash签名比较。这其中由于需要顺序执行,导致实际性能依赖leader节点和replica节点串行,才能完成最终智能合约执行成功的确认。此种方式的效率尚有提升空间。
发明内容
有鉴于此,本发明实施例提供联盟链中智能合约的执行优化方法、系统及存储介质。
本发明的第一方面提供了一种联盟链中智能合约的执行优化方法,包括:
获取待执行智能合约,并将所述待执行智能合约广播至集群中的所有节点;
集群中的各个节点对新加入的智能合约进行预执行,获取预执行结果的第一签名信息;
由领导节点执行所述待执行智能合约,获取执行结果的第二签名信息;
将所述待执行智能合约和第二签名信息打包后,广播至集群中的各个节点;
各个节点根据本地存储的第一签名信息,对第二签名信息进行比对,获取智能合约的执行结果。
本发明的技术方案要检查有没有需要顺序执行的智能合约,有的话,则进行顺序执行,将顺序执行的结果再与收到的第二签名信息进行比对。
进一步,所述获取待执行智能合约,并将所述待执行智能合约广播至集群中的所有节点,包括:
确定所述待执行智能合约的全局编号;
将所述全局编号广播至集群中的所有节点。
进一步,所述集群中的各个节点对新加入的智能合约进行预执行,获取预执行结果的第一签名信息,包括:
所述集群中的各个节点对新加入的智能合约进行预执行,确定执行过程中区块链状态数据读写键值对;
对所述键值对进行哈希签名,得到所述第一签名信息。
进一步,所述由领导节点执行所述待执行智能合约,获取执行结果的第二签名信息,包括:
从集群中选举得到领导节点;
当待执行智能合约的个数为多个时:
由所述领导节点检查所述多个待执行智能合约的第一签名信息;
对于第一签名信息中存在相同读写键值对的多个待执行智能合约,顺序执行所述多个待执行智能合约,得到执行结果的第二签名信息;
对于第一签名信息中不存在相同读写键值对的多个待执行智能合约,则直接获取所述多个待执行智能合约的第一签名信息,汇总得到第二签名信息。
进一步,所述将所述待执行智能合约和第二签名信息打包后,广播至集群中的各个节点后,包括:
各个节点根据接收到的打包文件,对于需要合并顺序执行的多个待执行智能合约,则根据所述多个待执行智能合约的执行顺序,将多个待执行智能合约按顺序预执行,获取该预执行的结果的第二签名信息。
进一步,所述将所述待执行智能合约和第二签名信息打包后,广播至集群中的各个节点,包括:
将待执行智能合约的全局编号和第二签名信息打包,将打包结果广播至集群中的各个节点。
本发明的第二方面提供了一种联盟链中智能合约的执行优化系统,包括:
获取模块,用于获取待执行智能合约,并将所述待执行智能合约广播至集群中的所有节点;
预执行模块,用于集群中的各个节点对新加入的智能合约进行预执行,获取预执行结果的第一签名信息;
执行模块,用于由领导节点执行所述待执行智能合约,获取执行结果的第二签名信息;
打包模块,用于将所述待执行智能合约和第二签名信息打包后,广播至集群中的各个节点;
信息比对模块,用于各个节点根据本地存储的第一签名信息,对第二签名信息进行比对,获取智能合约的执行结果。
本发明的技术方案会在第一签名信息中检查是否有相同键值对的智能合约交易,如果有,则参照收到leader区块中的智能合约执行时间进行顺序执行;然后同收到的leader区块的第二签名信息比对,如果相同则认为比对成功。
进一步,所述执行模块具体用于:
从集群中选举得到领导节点;
当待执行智能合约的个数为多个时:
由所述领导节点检查所述多个待执行智能合约的第一签名信息;
对于第一签名信息中存在相同读写键值对的多个待执行智能合约,顺序执行所述多个待执行智能合约,得到执行结果的第二签名信息;
对于第一签名信息中不存在相同读写键值对的多个待执行智能合约,则直接获取所述多个待执行智能合约的第一签名信息,汇总得到第二签名信息。
本发明第三方面提供了一种联盟链中智能合约的执行优化系统,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现所述的联盟链中智能合约的执行优化方法。
本发明第四方面提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行所述的联盟链中智能合约的执行优化方法。
上述本发明实施例中的一个或多个技术方案具有如下优点:本发明的实施例通过集群中所有节点对智能合约交易进行预执行,将对领导节点的执行结果与其他各个节点的预执行结果进行分析后签名比较,能够确保领导节点和其他节点的智能合约可以并行执行完成,以此来提升智能合约的执行性能,提升集群中智能合约的执行效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的整体步骤流程图。
具体实施方式
下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
需要说明的是,在本实施例中,集群中所有节点共同维护统一的交易执行结果(也称为世界状态)。所述交易执行结果(世界状态)由复数的(KEY,VALUE)键值对构成,(KEY,VALUE)键值对由智能合约交易执行过程中设定。
另外,本申请实施例的智能合约交易在节点间的复制与传播过程中,智能合约交易由用户向集群中的某一节点提出执行请求,节点对此交易请求进行全局唯一编号。节点将此交易采用节点消息广播的方式进行集群所有节点间相互传播,并且确保此编号智能合约交易能够复制到集群中的任何一个节点上。集群中所有节点均维护自有的智能合约交易池,根据唯一编号识别与保持新入池待打包确认的交易。集群中所有节点均对此唯一智能合约编号交易进行预执行。
还有,本申请实施例的智能合约的预执行分析过程包括以下步骤:
1、集群中某一节点中的新入池智能交易,首先进行预执行,获取预执行后执行过程与执行结果的分析,即交易中需要获取的(KEY,VALUE)键值对,以及需要写入的(KEY,VALUE)键值对,合并键值对列表为与此入池智能合约交易关联影响的键值对列表,进行关联世界状态Hash签名。
2、将此唯一交易编号与关联世界状态Hash签名绑定,作为预执行校验结果绑定保存。
3、Leader节点在打包区块智能合约交易时,将交易编号与关联世界状态Hash签名一同打包。其中如果区块内有不同智能合约交易执行所影响的(KEY,VALUE)键值对为同一键值对,则需要标记为此部分需要一同顺序执行,并且将此部分交易标记为合并打包,视为合并智能合约并且进行关联世界状态Hash签名。
4、Replica节点在获取Leader打包发送区块智能合约交易时,检查本地是否存在对应未预执行的智能合约交易,将这些交易从Leader区块获取并且预执行完毕。
5、如果Leader区块标记了某些交易组成合并智能合约,则Replica节点同样需要依照合并智能合约标记合并成组顺序执行。此时,同样对执行编号与执行过程与结果键值对Hash签名。
6、完全对获取区块包含智能合约交易预执行完毕后,需要将Leader获取智能合约的编号与执行过程与结果键值对签名与本地Replica节点获取的智能合约的编号与执行过程与结果键值对Hash签名进行比较。
7、如果拥有完全一致的智能合约编号与键值对Hash签名,则Replica节点直接替换最终结果即可,免去中间执行过程。
如图1所示,本申请实施例提供了联盟链中提升智能合约执行效率的方法,包括以下步骤:
S1:在此集群X中用户U向节点A提出调用智能合约SC的请求,用户V向节点B提出调用智能合约SC的请求。
S2:节点A将此请求提供全局唯一编号为sc′,向集群中其余所有节点B,C,D进行请求广播。节点B将此请求提供全局唯一编号为sc″,向集群中其余所有节点A,C,D进行请求广播。
S3:B,C,D节点收到节点A发送的请求广播,则确保sc′进入交易池。A,C,D节点收到节点B发送的请求广播,则确保sc″进入交易池。
S4:节点A,B,C,D均对自有交易池中的智能合约交易sc′进行一次预执行,记录下智能合约交易sc′执行过程所关联影响世界状态存储数据键值对(kn,vn)′,对此键值对进行Hash签名(可使用标准国密算法)。同样对智能合约交易sc″进行一次预执行,同样记录下关联影响世界状态键值对(kn,vn)″,同样对此键值对进行Hash签名。
本实施例所述的世界状态是指:全区块链的所有节点,每个节点都保持完全一致的存储数据键值对,这里所有节点完全一致的存储数据键值对映射了唯一一套的存储数据,这一套存储数据就表示了世界状态。
本实施例的Hash签名采用了标准的Hash加密,这里要求不产生Hash碰撞,目前采用国密算法SM3进行密码散列即可。
S5:集群X中选举节点B作为Leader节点将智能合约交易sc′与sc″一同进行区块打包。节点B检查kn′与kn″是否存在有相同键的情况,如果存在相同读写键值对的情况,重新将智能合约sc′与sc″进行顺序合并执行,将sc′与sc″标记为合并顺序执行的智能合约进行打包,并且将sc′与sc″最终合并顺序执行完毕的(kn,vn)重新Hash签名。否则标记为不互相依赖执行的智能合约打包区块。
S6:节点A,C,D作为replica副本收到节点B发送的区块,获取区块中执行的智能合约列表,如果节点A,C,D本地缺少对应智能合约sc′或sc″,则节点需要获取智能合约交易leader区块的智能合约交易sc′或sc″,预执行完毕,并且进行Hash签名。
S7:节点A,C,D作为replica副本收到节点B发送的区块,获取S5中区块中合并顺序执行标记,如果智能合约sc′与sc″被标记为合并顺序执行,则节点A,C,D需要根据Leader节点发送区块合并顺序标记指示,顺序重新预执行一遍sc′与sc″,并且将结果进行Hash签名。
S8:节点A,C,D作为replica副本收到节点B发送的区块,通过S6,S7步骤,确保本地节点交易预执行完成获得所有的本地交易编号与世界状态影响Hash签名。最终检查对应leader区块发送的Hash签名与本地预执行完毕的Hash签名,保证完全一致,则不需要执行智能合约,直接将本地智能合约结果写入区块保存即可。
本实施例中:通过预执行与交易影响与执行结果签名,确保智能合约交易完整的并行化能力,将提升整体性能。
综上所述,本发明通过对集群中所有节点智能合约交易进行预执行,同时对leader节点与replica节点的智能合约预执行结果进行分析后签名比较。确保leader节点和replica节点的智能合约可以并行执行完成,以此来提升最终的性能。保证集群中智能合约的执行效率提升。
与图1的方法相对应,本申请实施例还提供了一种联盟链中智能合约的执行优化系统,包括:
获取模块,用于获取待执行智能合约,并将所述待执行智能合约广播至集群中的所有节点;
预执行模块,用于集群中的各个节点对新加入的智能合约进行预执行,获取预执行结果的第一签名信息;
执行模块,用于由领导节点执行所述待执行智能合约,获取执行结果的第二签名信息;
打包模块,用于将所述待执行智能合约和第二签名信息打包后,广播至集群中的各个节点;
信息比对模块,用于各个节点根据本地存储的第一签名信息,对第二签名信息进行比对,获取智能合约的执行结果。
优选地,所述执行模块具体用于:
从集群中选举得到领导节点;
当待执行智能合约的个数为多个时:
由所述领导节点检查所述多个待执行智能合约的第一签名信息;
对于第一签名信息中存在相同读写键值对的多个待执行智能合约,顺序执行所述多个待执行智能合约,得到执行结果的第二签名信息;
对于第一签名信息中不存在相同读写键值对的多个待执行智能合约,则直接获取所述多个待执行智能合约的第一签名信息,汇总得到第二签名信息。
本申请实施例还提供了一种联盟链中智能合约的执行优化系统,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现所述的联盟链中智能合约的执行优化方法。
本申请实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行所述的联盟链中智能合约的执行优化方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (7)

1.联盟链中智能合约的执行优化方法,其特征在于,包括:
获取待执行智能合约,并将所述待执行智能合约广播至集群中的所有节点;
集群中的各个节点对新加入的智能合约进行预执行,获取预执行结果的第一签名信息;
由领导节点执行所述待执行智能合约,获取执行结果的第二签名信息;将所述待执行智能合约和第二签名信息打包后,广播至集群中的各个节点;
各个节点根据本地存储的第一签名信息,对第二签名信息进行比对,获取智能合约的执行结果;
所述集群中的各个节点对新加入的智能合约进行预执行,获取预执行结果的第一签名信息,包括:
所述集群中的各个节点对新加入的智能合约进行预执行,确定执行过程中区块链状态数据读写键值对;
对所述键值对进行哈希签名,得到所述第一签名信息;
所述由领导节点执行所述待执行智能合约,获取执行结果的第二签名信息,包括:
从集群中选举得到领导节点;
当待执行智能合约的个数为多个时:
由所述领导节点检查所述多个待执行智能合约的第一签名信息;
对于第一签名信息中存在相同读写键值对的多个待执行智能合约,顺序执行所述多个待执行智能合约,得到执行结果的第二签名信息;
对于第一签名信息中不存在相同读写键值对的多个待执行智能合约,则直接获取所述多个待执行智能合约的第一签名信息,汇总得到第二签名信息。
2.根据权利要求1所述的联盟链中智能合约的执行优化方法,其特征在于,所述获取待执行智能合约,并将所述待执行智能合约广播至集群中的所有节点,包括:
确定所述待执行智能合约的全局编号;
将所述全局编号广播至集群中的所有节点。
3.根据权利要求1所述的联盟链中智能合约的执行优化方法,其特征在于,所述将所述待执行智能合约和第二签名信息打包后,广播至集群中的各个节点后,包括:
各个节点根据接收到的打包文件,对于需要合并顺序执行的多个待执行智能合约,则根据所述多个待执行智能合约的执行顺序,将多个待执行智能合约按顺序预执行,获取该预执行的结果的第二签名信息。
4.根据权利要求1所述的联盟链中智能合约的执行优化方法,其特征在于,所述将所述待执行智能合约和第二签名信息打包后,广播至集群中的各个节点,包括:
将待执行智能合约的全局编号和第二签名信息打包,将打包结果广播至集群中的各个节点。
5.联盟链中智能合约的执行优化系统,其特征在于,包括:
获取模块,用于获取待执行智能合约,并将所述待执行智能合约广播至集群中的所有节点;
预执行模块,用于集群中的各个节点对新加入的智能合约进行预执行,获取预执行结果的第一签名信息;
执行模块,用于由领导节点执行所述待执行智能合约,获取执行结果的第二签名信息;
打包模块,用于将所述待执行智能合约和第二签名信息打包后,广播至集群中的各个节点;
信息比对模块,用于各个节点根据本地存储的第一签名信息,对第二签名信息进行比对,获取智能合约的执行结果;
所述执行模块具体用于:
从集群中选举得到领导节点;
当待执行智能合约的个数为多个时:
由所述领导节点检查所述多个待执行智能合约的第一签名信息;
对于第一签名信息中存在相同读写键值对的多个待执行智能合约,顺序执行所述多个待执行智能合约,得到执行结果的第二签名信息;
对于第一签名信息中不存在相同读写键值对的多个待执行智能合约,则直接获取所述多个待执行智能合约的第一签名信息,汇总得到第二签名信息。
6.联盟链中智能合约的执行优化系统,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-4中任一项所述的联盟链中智能合约的执行优化方法。
7.一种存储介质,其中存储有处理器可执行的指令,其特征在于,所述处理器可执行的指令在由处理器执行时用于执行如权利要求1-4中任一项所述的联盟链中智能合约的执行优化方法。
CN201911421641.3A 2019-12-31 2019-12-31 联盟链中智能合约的执行优化方法、系统及存储介质 Active CN111181731B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911421641.3A CN111181731B (zh) 2019-12-31 2019-12-31 联盟链中智能合约的执行优化方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911421641.3A CN111181731B (zh) 2019-12-31 2019-12-31 联盟链中智能合约的执行优化方法、系统及存储介质

Publications (2)

Publication Number Publication Date
CN111181731A CN111181731A (zh) 2020-05-19
CN111181731B true CN111181731B (zh) 2022-07-12

Family

ID=70657634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911421641.3A Active CN111181731B (zh) 2019-12-31 2019-12-31 联盟链中智能合约的执行优化方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN111181731B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114612103B (zh) * 2022-05-10 2022-08-02 中国信息通信研究院 跨区块链交易的方法、装置、系统、介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108182635A (zh) * 2017-12-18 2018-06-19 深圳前海微众银行股份有限公司 区块链共识方法、系统和计算机可读存储介质
CN109951546A (zh) * 2019-03-15 2019-06-28 百度在线网络技术(北京)有限公司 基于智能合约的事务请求处理方法、装置、设备和介质
CN110033244A (zh) * 2019-03-15 2019-07-19 阿里巴巴集团控股有限公司 基于区块链的智能合约执行方法及装置和电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102234128B1 (ko) * 2018-12-28 2021-04-02 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 블록체인 네트워크에서의 트랜잭션의 병렬 실행

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108182635A (zh) * 2017-12-18 2018-06-19 深圳前海微众银行股份有限公司 区块链共识方法、系统和计算机可读存储介质
CN109951546A (zh) * 2019-03-15 2019-06-28 百度在线网络技术(北京)有限公司 基于智能合约的事务请求处理方法、装置、设备和介质
CN110033244A (zh) * 2019-03-15 2019-07-19 阿里巴巴集团控股有限公司 基于区块链的智能合约执行方法及装置和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Adding Concurrency to Smart Contracts;Thomas Dickerson等;《In Proceedings of the ACM Symposium on Principles of Distributed Computing (PODC "17)》;20170725;第303-312页 *

Also Published As

Publication number Publication date
CN111181731A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN110442652B (zh) 一种基于区块链的跨链数据处理方法及装置
CN107395353B (zh) 一种区块链共识方法及装置
CN108595157B (zh) 区块链数据的处理方法、装置、设备和存储介质
EP3321819B1 (en) Device, method and program for securely reducing an amount of records in a database
EP3678346A1 (en) Blockchain smart contract verification method and apparatus, and storage medium
De Prisco et al. Revisiting the Paxos algorithm
CN110570196B (zh) 交易数据处理方法、装置、终端设备以及存储介质
Wüst et al. ACE: Asynchronous and concurrent execution of complex smart contracts
US20210049715A1 (en) Blockchain-based data procesing method, apparatus, and electronic device
CN111144883B (zh) 一种区块链网络的处理性能分析方法及装置
CN109992285B (zh) 区块链代码块独立升级方法、装置及电子设备
CA3161753A1 (en) Blockchain-smart-contract debugging and releasing method and system thereof
CN111290958B (zh) 一种调试智能合约的方法及装置
CN110557420A (zh) 一种独立子链的运行方法及系统
CN111932257A (zh) 一种区块链并行化处理方法及装置
CN105095263A (zh) 卡号的生成方法及其装置
CN111181731B (zh) 联盟链中智能合约的执行优化方法、系统及存储介质
CN111679936A (zh) 一种区块链网络分叉自动恢复方法、装置及系统
CN114298713B (zh) 一种联盟链分片方法、装置及存储介质
CN110515833A (zh) 一种软件测试的方法、设备及可读介质
CN112287400A (zh) 超级账本中的交易排序方法、装置和计算机设备
CN110991983A (zh) 一种任务处理方法、装置、介质和设备
US10365900B2 (en) Broadening field specialization
CN115760405A (zh) 交易执行方法、装置、计算机设备及介质
CN114119242B (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