CN107392619A - 智能合约处理方法及装置 - Google Patents

智能合约处理方法及装置 Download PDF

Info

Publication number
CN107392619A
CN107392619A CN201710638423.XA CN201710638423A CN107392619A CN 107392619 A CN107392619 A CN 107392619A CN 201710638423 A CN201710638423 A CN 201710638423A CN 107392619 A CN107392619 A CN 107392619A
Authority
CN
China
Prior art keywords
class file
call request
legal
intelligent contract
request
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
Application number
CN201710638423.XA
Other languages
English (en)
Other versions
CN107392619B (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.)
Shanghai Zhongan Information Technology Service Co ltd
Original Assignee
Zhongan Information Technology Service 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 Zhongan Information Technology Service Co Ltd filed Critical Zhongan Information Technology Service Co Ltd
Priority to CN201710638423.XA priority Critical patent/CN107392619B/zh
Publication of CN107392619A publication Critical patent/CN107392619A/zh
Priority to SG11201907111QA priority patent/SG11201907111QA/en
Priority to KR1020197019035A priority patent/KR20190107664A/ko
Priority to PCT/CN2018/095784 priority patent/WO2019024674A1/zh
Priority to AU2018310287A priority patent/AU2018310287A1/en
Priority to JP2019524456A priority patent/JP2019536153A/ja
Priority to TW107126301A priority patent/TW201911032A/zh
Priority to US16/460,202 priority patent/US20190324772A1/en
Application granted granted Critical
Publication of CN107392619B publication Critical patent/CN107392619B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/405Establishing or using transaction specific rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种智能合约处理方法及装置。该处理方法包括:对所获得的针对智能合约的调用请求进行合法性检验,以确定合法的调用请求;基于合法的调用请求,确定包含在合法的调用请求中的、用于指示智能合约的标识信息;基于标识信息,确定与合法的调用请求相对应的智能合约的类文件,其中,类文件包括计数器,计数器用于统计指定的指令的执行次数;以及基于类文件和合法的调用请求,执行与合法的调用请求相对应的智能合约。本发明支持Java语言开发智能合约,同时具有确定性计算和有限计算的特点,不需要额外开发编译器、解释器,基本保留了Java语言的所有功能,易于接入使用。

Description

智能合约处理方法及装置
技术领域
本发明属于计算机数据处理领域,尤其涉及一种智能合约处理方法及装置。
背景技术
智能合约是一套以数字形式定义的承诺,合约参与方可以在上面执行这些承诺的协议。智能合约的本身与合约执行过程能够被观察,并且合约执行的过程与判决都能够被验证。智能合约的本身及与合约相关的信息只有相关的合约方才能够接触,当发生冲突的时候才会把相关信息暴露给第三方审查。
区块链技术是基于去中心化的对等网络,将密码学原理与共识机制相结合,来保障分布式各节点的数据连贯和持续,实现信息即时验证、可追溯、难篡改和无法屏蔽,从而创造了一套隐私、高效、安全的共享价值体系。智能合约是指由区块链技术提供的实现复杂功能的去中心化应用技术。智能合约由高级语言编写,经对应的编译器编译之后生成区块链能够识别并执行的编码,部署在区块链之中,提供对应的功能。
用于执行智能合约的系统或者模块,一般称为智能合约的执行引擎。现有的智能合约执行引擎主要通过创建一种脚本语言及其解释器来实现,存在以下问题:(1)学习成本高,开发人员为了使用这类区块链,还需要学习这个对应的脚本语言;(2)不具备普适性,一般来说,一种脚本语言只能在特定的区块链平台上使用;(3)功能有限,这类脚本语言仅能支持简单的运算,难以满足商用、工程级别的需求。
因此,亟需一种能够克服上述缺陷的智能合约处理方法以及对应的装置。
发明内容
本发明针对上述问题,提出一种智能合约处理方法及装置。
本发明的第一方面提出了用于在多节点系统中对智能合约进行处理的方法,该方法包括:对所获得的针对智能合约的调用请求进行合法性检验,以确定合法的调用请求;基于所述合法的调用请求,确定包含在所述合法的调用请求中的、用于指示智能合约的标识信息;基于所述标识信息,确定与所述合法的调用请求相对应的智能合约的类文件,其中,所述类文件包括计数器,所述计数器用于统计指定的指令的执行次数;以及基于所述类文件和所述合法的调用请求,执行与所述合法的调用请求相对应的智能合约。
在一种实施方式中,执行与所述合法的调用请求相对应的智能合约的步骤包括:对所述类文件进行实例化,并且确定所述合法的调用请求中的函数和参数;基于经实例化的所述类文件以及所述合法的调用请求中的函数和参数来执行与所述合法的调用请求相对应的智能合约。
在一种实施方式中,确定合法的调用请求的步骤包括:对所述调用请求的格式进行共识,并基于该共识的结果确定所述调用请求是否为合法的调用请求。
在一种实施方式中,确定与所述合法的调用请求相对应的智能合约的类文件的步骤包括:基于所述标识信息,从类文件库中选择与所述合法的调用请求相对应的智能合约的类文件。
在一种实施方式中,所述类文件库至少通过以下步骤来构建:获取包含待部署类文件的部署请求,并对所述部署请求进行合法性检验,以确定合法的部署请求;如果所述待部署类文件未包括非确定性类和/或非确定性函数,则通过在所述指定的指令后设置所述计数器来修改包含在所述合法的部署请求中的待部署类文件,从而将修改后的待部署类文件部署到所述类文件库中;如果所述待部署类文件包括非确定性类或非确定性函数,则停止对所述待部署类文件进行部署。
在一种实施方式中,确定合法的部署请求的步骤包括:在所述多节点系统中对所述部署请求进行共识,并基于该共识的结果确定所述合法的部署请求。
本发明还提出了一种有形的计算以及计算机可读存储介质,该介质包括指令,当该指令被执行时,引起计算设备至少用于:对所获得的针对智能合约的调用请求进行合法性检验,以确定合法的调用请求;基于所述合法的调用请求,确定包含在所述合法的调用请求中的、用于指示智能合约的标识信息;基于所述标识信息,确定与所述合法的调用请求相对应的智能合约的类文件,其中,所述类文件包括计数器,所述计数器用于统计指定的指令的执行次数;以及基于所述类文件和所述合法的调用请求,执行与所述合法的调用请求相对应的智能合约。
在一种实施方式中,执行与所述合法的调用请求相对应的智能合约的步骤包括:对所述类文件进行实例化,并且确定所述合法的调用请求中的函数和参数;基于经实例化的所述类文件以及所述合法的调用请求中的函数和参数来执行与所述合法的调用请求相对应的智能合约。
在一种实施方式中,确定合法的调用请求的步骤包括:对所述调用请求的格式进行共识,并基于该共识的结果确定所述调用请求是否为合法的调用请求。
在一种实施方式中,确定与所述合法的调用请求相对应的智能合约的类文件的步骤包括:基于所述标识信息,从类文件库中选择与所述合法的调用请求相对应的智能合约的类文件。
在一种实施方式中,所述类文件库至少通过以下步骤来构建:获取包含待部署类文件的部署请求,并对所述部署请求进行合法性检验,以确定合法的部署请求;如果所述待部署类文件未包括非确定性类和/或非确定性函数,则通过在所述指定的指令后设置所述计数器来修改包含在所述合法的部署请求中的待部署类文件,从而将修改后的待部署类文件部署到所述类文件库中;如果所述待部署类文件包括非确定性类或非确定性函数,则停止对所述待部署类文件进行部署。
在一种实施方式中,确定合法的部署请求的步骤包括:在所述多节点系统中对所述部署请求进行共识,并基于该共识的结果确定所述合法的部署请求。
本发明还提出了一种用于在多节点系统中对智能合约进行处理的装置,包括:调用请求接收单元,被配置为接收针对智能合约的调用请求,并对所述调用请求进行合法性检验,以确定合法的调用请求;调用请求分析单元,被配置为对所述合法的调用请求进行分析,以获取所述合法的调用请求中的用于指示对应的智能合约的标识信息;类文件选择单元,被配置为基于所述标识信息来确定与所述合法的调用请求相对应的智能合约的类文件,其中,所述类文件包括计数器,所述计数器用于统计指定的指令的执行次数;执行单元,被配置为基于所述类文件和所述合法的调用请求,执行与所述合法的调用请求相对应的智能合约。
在一种实施方式中,所述执行单元还被配置为:对所获取的类文件进行实例化,并且确定所述合法的调用请求中的函数和参数;基于经实例化的所述类文件以及所述合法的调用请求中的函数和参数来执行与所述合法的调用请求相对应的智能合约。
在一种实施方式中,所述类文件选择单元还被配置为:基于所述标识信息,从类文件库中选择对应于所述合法的调用请求的智能合约的类文件。
本发明还提出了一种在多节点系统中对智能合约进行部署的方法,该方法包括:获取包括智能合约类文件的部署请求,并对所述部署请求进行合法性检验,以确定合法的部署请求;如果所述合法的部署请求中所包含的智能合约类文件未包括非确定性类和/或非确定性函数,则通过在指定的指令后设置计数器来修改包含在所述合法的部署请求中的智能合约类文件,从而将修改后的智能合约类文件部署到类文件库中;如果所述合法的部署请求所包含的智能合约类文件包括非确定性类或非确定性函数,则停止对该智能合约类文件进行部署。
本发明还提出了一种有形的计算机可读存储介质,该介质包括指令,当该指令被执行时,引起计算设备至少用于:获取包括智能合约类文件的部署请求,并对所述部署请求进行合法性检验,以确定合法的部署请求;如果所述合法的部署请求中所包含的智能合约类文件未包括非确定性类和/或非确定性函数,则通过在指定的指令后设置计数器来修改包含在所述合法的部署请求中的智能合约类文件,从而将修改后的智能合约类文件部署到类文件库中;如果所述合法的部署请求所包含的智能合约类文件包括非确定性类或非确定性函数,则停止对该智能合约类文件进行部署。
本发明还提出了一种计算机设备,所述计算机设备包括处理器、存储器,所述存储器包括如上述实施方式中的任一项所述的计算机可读存储介质。
通过实施本发明的技术方案,可以基于Java语言开发智能合约,同时具有确定性计算、有限计算的特点,不需要额外开发编译器、解释器,基本保留了Java语言的所有功能,易于接入使用,适合推广。
附图说明
参考附图示出并阐明实施例。这些附图用于阐明基本原理,从而仅仅示出了对于理解基本原理必要的方面。这些附图不是按比例的。在附图中,相同的附图标记表示相似的特征。
图1a为依据本发明实施例的智能合约的部署方法的流程图;
图1b为依据本发明实施例的类文件中指令的示意图;
图2为依据本发明实施例的智能合约的调用方法的流程图;
图3为依据本发明实施例的智能合约处理装置的架构示意图。
具体实施方式
在以下优选的实施例的具体描述中,将参考构成本发明一部分的所附的附图。所附的附图通过示例的方式示出了能够实现本发明的特定的实施例。示例的实施例并不旨在穷尽根据本发明的所有实施例。可以理解,在不偏离本发明的范围的前提下,可以利用其他实施例,也可以进行结构性或者逻辑性的修改。因此,以下的具体描述并非限制性的,且本发明的范围由所附的权利要求所限定。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。对于附图中的各单元之间的连线,仅仅是为了便于说明,其表示至少连线两端的单元是相互通信的,并非旨在限制未连线的单元之间无法通信。
首先,对本发明所涉及的名词和相关技术进行阐述。Java语言是一种高级程序设计语言,类文件(Class file)是Java源代码经过编译后的产物,承载了具体的程序逻辑。运行Java程序的环境叫做Java虚拟机(JVM)。Java虚拟机提供了类加载(Class Loading)机制,通过该机制,可以对Java运行时的类文件进行管理,实现该机制的功能模块称为类加载器(Class Loader)。确定性函数是指每次使用特定的输入值集来被调用时,确定性函数总是返回相同的值;对应地,如果返回不同的结果,则该函数为非确定性函数。
发明人通过研究发现,当结合区块链技术来实现智能合约时,智能合约需要满足几个要求:(1)在不同的节点上,在不同的时间,相同的输入可以得到相同的输出,或称为确定性计算;(2)计算是有限的,不应该出现死循环和无限递归。
本发明旨在提供一种基于Java虚拟机的智能合约执行系统(执行引擎)以及与该系统相对应的流程和算法。采用该执行系统的区块链平台,能够支持使用Java语言开发智能合约。更进一步地,能够支持运行在Java虚拟机上的所有语言(也称为JVM语言),包括Scala,Groovy,Jython等。
基于上述发明构思,本发明提出了一种基于Java虚拟机的智能合约处理方法。通过基于类加载器和字节码增强器来对智能合约的类文件进行处理,其中,类加载器用于判别加载的类文件是否含有非确定性的函数,并基于此能力拒绝加载含有非确定性函数的类;字节码增强器用于分析和修改类文件,在类文件被执行的过程中,对类文件中各个被调用的指令进行计数。
编写好的智能合约经过编译后,将通过P2P或其它传输方式在多节点系统(譬如,区块链)中扩散,每个节点都会收到该智能合约的类文件。区块链中的节点(譬如,验证节点)会依据指定的规则对收到的类文件进行共识,或者将收到的合约先保存到内存中,等待新一轮的共识时间,触发对该份合约的共识和处理。可以理解的,本发明中的共识可以针对一个或多个类文件。
图1a为依据本发明实施例的智能合约的部署方法的流程图。
步骤S101:获取智能合约的部署请求。
在该步骤中,区块链中的多个节点将接收到智能合约的部署请求。在此实施例中,部署请求具有特定格式并且包括该智能合约的类文件(即,待部署类文件)。可以理解的,部署请求可以先由某个节点接收到,然后由该节点以P2P的方式发送到区块链中的多个节点。
步骤S102,判断部署请求是否具备合法性。
在该步骤中,接收到该部署请求的节点将对该部署请求进行合法性检验,以确定合法的部署请求。在此实施例中,合法性检验是对该部署请求进行形式上的检验,也就说,上述节点将对该部署请求的格式或其它参数进行检测,进而判断该部署请求是否是合法的部署请求,例如,判断该请求的格式是否适用于当前的区块链。可以理解的是,其它判断规则的合法性检验也适用。
对于区块链,步骤S102可以通过共识的机制来执行。具体而言,通过PoW、PoS、PBFT或者其它共识算法,让多个接收到该部署请求的节点对该部署请求进行合法性检验,进而确定该部署请求对于当前的区块链是否为合法的部署请求。
基于步骤S102中的共识的结果,将产生不同的操作。具体而言,如果共识的结果指示该部署请求不是合法的部署请求(譬如,该部署请求的格式不符合要求),则结束该智能合约的部署;如果共识的结果指示该部署请求是合法的部署请求(譬如但不限于,该部署请求的格式符合该区块链对部署请求的格式要求),则执行步骤S103中的操作。
步骤S103:判断该部署请求是否存在非确定性。
由前述可知,该部署请求具有特定格式并且包括待部署的类文件。因此,可以通过例如类加载器来判别该待部署的类文件是否使用了非确定性的函数,如果该类文件中存在任意一个类产生了对非确定性函数的调用,则停止部署该智能合约,进而提示部署失败(步骤S107)。如果类加载器判别出该智能合约的类文件并未使用非确定性的函数(即该类文件中并不包含非确定性类),则执行步骤S104中的操作。本领域的技术人员能够理解的是,在不同的应用中,可以存在不同方式的提示,譬如,将部署失败的结果返回给用户,从而告知(譬如,经由用户可视的界面)其所提交的智能合约无法部署到区块链中。
步骤S104:添加计数器。
在该步骤中,将在指定的指令后面设置计数器,从而可以实现对调用的指令的计数,下面结合图1b对增加计数器后的类文件的执行进行阐述。
如图所示,类文件400在执行过程中将执行指令1的次数为1,执行指令2的次数为3。如前述,假设指令2为指定的指令,则指令2每执行一次,计数器便增加一次。如此,如果将对指令2的执行次数的阈值设置为大于等于4,则类文件400能够完全执行;反之,如果将对指令2的执行次数的阈值设置为2,则类文件400将无法完全执行或是输出提示错误的结果。
在一种实施方式中,还可以为不同指令赋予不同的“权重”。仍以图1b所示的指令为例,通过调整相应的指令的权重,可以对指令的执行次数进行相应地指定。譬如,通过提升指令2的权重,指令2被允许执行的次数将进一步地减少;同样,通过降低指令2的权重,指令2被允许执行的次数将得到提升。
因此,通过对指令的计数来防止某一用户/节点故意或因故障而产生对某一指令的大量重复的调用,保证了区块链的有限计算的特点。例如,在竞标系统中,通过在对应于撤回竞标操作的指令的后面增添计数器,可以防止用户恶意地反复撤回竞标,避免整个竞标系统的因某一个用户的操作而导致瘫痪或无法正常工作。可以理解的,计数器可以根据具体的应用而设置于不同的位置。
步骤105:存储经修改的类文件。
由前一步骤可知,未经修改的待部署类文件不含有计数器,本实施例通过字节码增强技术来对类文件进行修改,从而在所指定的指令后面增添计数器。经修改的待部署类文件,将被存储于指定的位置(譬如,存储在区块链的节点处或存储在与该节点通信连接的存储设备中),从而实现将待部署类文件部署到类文件库中,完成类文件库的构建。
待上述存储步骤完成后,将执行步骤S106:提示部署成功。譬如,将部署成功的结果返回给用户,从而在用户可视的界面上告知其所提交的智能合约已经部署到了区块链中。
通过上述步骤,实现了对智能合约的类文件的部署,并且使得区块链中的类文件均具有确定性和有限性,从而提升了网络的稳定性。具体而言,通过基于类文件是否包括非确定性函数或非确定性类来针对待部署的类文件进行筛选,进而使得筛选后且被保留的类文件均具备确定性。另外,由于经修改后的类文件的指定的指令后设置有计数器,因此,当针对该指令的调用次数设置一阈值时,通过比较计数器的输出值和该调用次数的阈值,则可以限制该指令的调用次数,进而使得该类文件在被调用时具备有限计算的特点。
图2为依据本发明实施例的智能合约的调用方法的流程图。
步骤S201:获取智能合约的调用请求。
在该步骤中,区块链中的多个节点将接收到智能合约的调用请求。在此实施例中,该调用请求具有特定格式。可以理解的,调用请求可以先由某个节点接收到,然后通过该节点以P2P的方式发送到区块链中的多个节点。
步骤S202,判断调用请求是否具备合法性。
在该步骤中,接收到该调用请求的节点将对该调用请求进行合法性检验。在此实施例中,上述节点将对该调用请求的格式或其它参数进行检测,进而判断该调用请求是否是合法的调用请求。例如,判断该请求的格式是否适用于当前的区块链。
与步骤S102类似的,步骤S202也可以通过共识的机制来执行。譬如,可以通过PoW、PoS、PBFT或者其它共识算法,让多个接收到该调用请求的节点对该调用请求进行合法性检验,进而确定该到调用请求对于当前的区块链是否为合法的调用请求。
基于步骤S202中的判断结果,将产生对应的操作。具体而言,如果该调用请求不是合法的调用请求,则结束该智能合约的调用,执行步骤S209的操作,以提示智能合约调用失败。譬如,将调用失败的结果返回给用户,从而在用户可视的界面上告知其欲调用的智能合约缺失或无法调用。如果该调用请求是合法的调用请求(譬如但不限于,该调用请求的格式符合该区块链对调用请求的格式要求),则执行步骤S203中的操作。
步骤S203:确定对应于调用请求的智能合约的标识信息。
在本实施例中,调用请求具备特定的格式,并且还包括所要调用的智能合约的标识信息以及对应的函数和参数。在此步骤中,将对合法的调用请求进行分析,确定包含在该合法的调用请求中的、用于指示智能合约的标识信息。可以理解的,在此步骤中,还可以确定调用请求中所包含的函数和参数。
步骤S204:判断是否存在对应于调用请求的智能合约的类文件。
在该步骤中,将基于调用请求中的标识信息,在类文件库(即,已经部署的智能合约的集合)中进行查找,并且根据该查找的结果来确定对应的操作。如未在类文件库中查找到该标识信息所指向的类文件,则停止调用并提示调用失败(步骤S209)。如果能够在类文件库中查找到标识信息所指示的类文件,则进行后续操作。
可以理解的,在一种实施方式中,也可以根据该调用请求来生成相应的类文件。譬如,在获取该调用请求中所包含的标识信息后,将通过例如图1中所示的部署方法或该部署方法的一部分来生成满足调用请求的类文件。
步骤S205:实例化智能合约。
在该步骤中,将基于步骤S204中所查找到的类文件,来进行智能合约的实例化。
步骤S206:确定调用请求中的函数以及参数。
在该步骤中,通过对调用请求进行分析来确定调用请求中的函数以及参数。可以理解的,还可以使用基于步骤S203的结果来确定调用请求中的函数以及参数。
步骤S207:执行智能合约。
在该步骤中,将结合步骤S205和S206的操作结果,来调用智能合约。具体而言,基于经实例化的类文件以及合法的调用请求中的函数和参数来执行与该合法的调用请求相对应的智能合约,进而输出智能合约的结果(步骤S208)。
可以理解的,虽然上述步骤采用了顺序的编号,但本领域技术人员能够理解的是,上述步骤中的一些步骤的顺序也可以进行变动。譬如,可以先执行实例化智能合约(步骤S205),后执行确定调用请求中的函数以及参数(步骤S206);也可以先执行步骤S206,后执行步骤S205。
本发明还提出了一种用于在多节点系统中对智能合约进行处理的装置。图3为依据本发明实施例的智能合约处理装置的架构示意图。
该处理装置300包括调用请求接收单元301、调用请求分析单元302、类文件选择单元303以及执行单元304。具体地,调用请求接收单元301被配置为被配置为接收针对智能合约的调用请求,并对所述调用请求进行合法性检验,以确定合法的调用请求。调用请求分析单元302与调用请求接收单元301通信连接,并且被配置为对所述合法的调用请求进行分析,以获取所述合法的调用请求中的用于指示对应的智能合约的标识信息。类文件选择单元303被配置为基于所述标识信息来确定与所述合法的调用请求相对应的智能合约的类文件。基于该标识信息,类文件选择单元303将该标识信息与类文件库中的各个类文件的标识信息进行比较,进而选择对应于该合法的调用请求的类文件。执行单元304被配置为基于由类文件选择单元303所确定的类文件和调用请求来执行对应的智能合约。具体地,执行单元304对类文件进行实例化,并结合调用请求中的函数和参数,来实施对应于所述合法的调用请求的智能合约。
图1a、2中的智能合约的处理方法的流程还代表机器可读指令,该机器可读指令包括由处理器执行的程序。该程序可被实体化在被存储于有形计算机可读介质的软件中,该有形计算机可读介质如CD-ROM、软盘、硬盘、数字通用光盘(DVD)、蓝光光盘或其它形式的存储器。替代的,图1中的示例方法中的一些步骤或所有步骤可利用专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程逻辑器件(EPLD)、离散逻辑、硬件、固件等的任意组合被实现。另外,虽然图1所示的流程图描述了该数据处理方法,但可对该处理方法中的步骤进行修改、删除或合并。
如上所述,可利用编码指令(如计算机可读指令)来实现图1a、2的示例过程,该编程指令存储于有形计算机可读介质上,如硬盘、闪存、只读存储器(ROM)、光盘(CD)、数字通用光盘(DVD)、高速缓存器、随机访问存储器(RAM)和/或任何其他存储介质,在该存储介质上信息可以存储任意时间(例如,长时间,永久地,短暂的情况,临时缓冲,和/或信息的缓存)。如在此所用的,该术语有形计算机可读介质被明确定义为包括任意类型的计算机可读存储的信号。附加地或替代地,可利用编码指令(如计算机可读指令)实现图1a、2的示例过程,该编码指令存储于非暂时性计算机可读介质,如硬盘,闪存,只读存储器,光盘,数字通用光盘,高速缓存器,随机访问存储器和/或任何其他存储介质,在该存储介质信息可以存储任意时间(例如,长时间,永久地,短暂的情况,临时缓冲,和/或信息的缓存)。
本发明支持Java语言开发智能合约,同时具有确定性计算、有限计算的特点,不需要额外开发编译器、解释器,基本保留了Java语言的所有功能,易于接入使用。
因此,虽然参照特定的示例来描述了本发明,其中这些特定的示例仅仅旨在是示例性的,而不是对本发明进行限制,但对于本领域普通技术人员来说显而易见的是,在不脱离本发明的精神和保护范围的基础上,可以对所公开的实施例进行改变、增加或者删除。

Claims (18)

1.一种用于在多节点系统中对智能合约进行处理的方法,其特征在于,包括:
对所获得的针对智能合约的调用请求进行合法性检验,以确定合法的调用请求;
基于所述合法的调用请求,确定包含在所述合法的调用请求中的、用于指示智能合约的标识信息;
基于所述标识信息,确定与所述合法的调用请求相对应的智能合约的类文件,其中,所述类文件包括计数器,所述计数器用于统计指定的指令的执行次数;以及
基于所述类文件和所述合法的调用请求,执行与所述合法的调用请求相对应的智能合约。
2.如权利要求1所述的方法,其特征在于,执行与所述合法的调用请求相对应的智能合约的步骤包括:
对所述类文件进行实例化,并且确定所述合法的调用请求中的函数和参数;
基于经实例化的所述类文件以及所述合法的调用请求中的函数和参数来执行与所述合法的调用请求相对应的智能合约。
3.如权利要求1所述的方法,其特征在于,确定合法的调用请求的步骤包括:
对所述调用请求的格式进行共识,并基于该共识的结果确定所述调用请求是否为合法的调用请求。
4.如权利要求1所述的方法,其特征在于,确定与所述合法的调用请求相对应的智能合约的类文件的步骤包括:
基于所述标识信息,从类文件库中选择与所述合法的调用请求相对应的智能合约的类文件。
5.如权利要求4所述的方法,其特征在于,所述类文件库至少通过以下步骤来构建:
获取包含待部署类文件的部署请求,并对所述部署请求进行合法性检验,以确定合法的部署请求;
如果所述待部署类文件未包括非确定性类和/或非确定性函数,则通过在所述指定的指令后设置所述计数器来修改包含在所述合法的部署请求中的待部署类文件,从而将修改后的待部署类文件部署到所述类文件库中;
如果所述待部署类文件包括非确定性类或非确定性函数,则停止对所述待部署类文件进行部署。
6.如权利要求5所述的方法,其特征在于,确定合法的部署请求的步骤包括:
在所述多节点系统中对所述部署请求进行共识,并基于该共识的结果确定所述合法的部署请求。
7.一种有形的计算以及计算机可读存储介质,该介质包括指令,当该指令被执行时,引起计算设备至少用于:
对所获得的针对智能合约的调用请求进行合法性检验,以确定合法的调用请求;
基于所述合法的调用请求,确定包含在所述合法的调用请求中的、用于指示智能合约的标识信息;
基于所述标识信息,确定与所述合法的调用请求相对应的智能合约的类文件,其中,所述类文件包括计数器,所述计数器用于统计指定的指令的执行次数;以及
基于所述类文件和所述合法的调用请求,执行与所述合法的调用请求相对应的智能合约。
8.如权利要求7所述的计算机可读存储介质,其特征在于,执行与所述合法的调用请求相对应的智能合约的步骤包括:
对所述类文件进行实例化,并且确定所述合法的调用请求中的函数和参数;
基于经实例化的所述类文件以及所述合法的调用请求中的函数和参数来执行与所述合法的调用请求相对应的智能合约。
9.如权利要求7所述的计算机可读存储介质,其特征在于,确定合法的调用请求的步骤包括:
对所述调用请求的格式进行共识,并基于该共识的结果确定所述调用请求是否为合法的调用请求。
10.如权利要求7所述的计算机可读存储介质,其特征在于,确定与所述合法的调用请求相对应的智能合约的类文件的步骤包括:
基于所述标识信息,从类文件库中选择与所述合法的调用请求相对应的智能合约的类文件。
11.如权利要求10所述的计算机可读存储介质,其特征在于,所述类文件库至少通过以下步骤来构建:
获取包含待部署类文件的部署请求,并对所述部署请求进行合法性检验,以确定合法的部署请求;
如果所述待部署类文件未包括非确定性类和/或非确定性函数,则通过在所述指定的指令后设置所述计数器来修改包含在所述合法的部署请求中的待部署类文件,从而将修改后的待部署类文件部署到所述类文件库中;
如果所述待部署类文件包括非确定性类或非确定性函数,则停止对所述待部署类文件进行部署。
12.如权利要求11所述的计算机可读存储介质,其特征在于,确定合法的部署请求的步骤包括:
在所述多节点系统中对所述部署请求进行共识,并基于该共识的结果确定所述合法的部署请求。
13.一种用于在多节点系统中对智能合约进行处理的装置,其特征在于,包括:
调用请求接收单元,被配置为接收针对智能合约的调用请求,并对所述调用请求进行合法性检验,以确定合法的调用请求;
调用请求分析单元,被配置为对所述合法的调用请求进行分析,以获取所述合法的调用请求中的用于指示对应的智能合约的标识信息;
类文件选择单元,被配置为基于所述标识信息来确定与所述合法的调用请求相对应的智能合约的类文件,其中,所述类文件包括计数器,所述计数器用于统计指定的指令的执行次数;
执行单元,被配置为基于所述类文件和所述合法的调用请求,执行与所述合法的调用请求相对应的智能合约。
14.如权利要求13所述的装置,其特征在于,所述执行单元还被配置为:
对所获取的类文件进行实例化,并且确定所述合法的调用请求中的函数和参数;
基于经实例化的所述类文件以及所述合法的调用请求中的函数和参数来执行与所述合法的调用请求相对应的智能合约。
15.如权利要求13所述的装置,其特征在于,所述类文件选择单元还被配置为:
基于所述标识信息,从类文件库中选择对应于所述合法的调用请求的智能合约的类文件。
16.一种在多节点系统中对智能合约进行部署的方法,其特征在于,包括:
获取包括智能合约类文件的部署请求,并对所述部署请求进行合法性检验,以确定合法的部署请求;
如果所述合法的部署请求中所包含的智能合约类文件未包括非确定性类和/或非确定性函数,则通过在指定的指令后设置计数器来修改包含在所述合法的部署请求中的智能合约类文件,从而将修改后的智能合约类文件部署到类文件库中;
如果所述合法的部署请求所包含的智能合约类文件包括非确定性类或非确定性函数,则停止对该智能合约类文件进行部署。
17.一种有形的计算机可读存储介质,该介质包括指令,当该指令被执行时,引起计算设备至少用于:
获取包括智能合约类文件的部署请求,并对所述部署请求进行合法性检验,以确定合法的部署请求;
如果所述合法的部署请求中所包含的智能合约类文件未包括非确定性类和/或非确定性函数,则通过在指定的指令后设置计数器来修改包含在所述合法的部署请求中的智能合约类文件,从而将修改后的智能合约类文件部署到类文件库中;
如果所述合法的部署请求所包含的智能合约类文件包括非确定性类或非确定性函数,则停止对该智能合约类文件进行部署。
18.一种计算机设备,所述计算机设备包括处理器、存储器,其特征在于,所述存储器包括如权利要求7-12、17中的任一项所述的计算机可读存储介质。
CN201710638423.XA 2017-07-31 2017-07-31 智能合约处理方法及装置 Active CN107392619B (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN201710638423.XA CN107392619B (zh) 2017-07-31 2017-07-31 智能合约处理方法及装置
AU2018310287A AU2018310287A1 (en) 2017-07-31 2018-07-16 Smart contract processing method and apparatus
KR1020197019035A KR20190107664A (ko) 2017-07-31 2018-07-16 스마트 계약 처리 방법 및 장치
PCT/CN2018/095784 WO2019024674A1 (zh) 2017-07-31 2018-07-16 智能合约处理方法及装置
SG11201907111QA SG11201907111QA (en) 2017-07-31 2018-07-16 Method and device for processing smart contracts
JP2019524456A JP2019536153A (ja) 2017-07-31 2018-07-16 スマート・コントラクト処理方法及び装置
TW107126301A TW201911032A (zh) 2017-07-31 2018-07-30 智慧合約處理方法及裝置
US16/460,202 US20190324772A1 (en) 2017-07-31 2019-07-02 Method and device for processing smart contracts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710638423.XA CN107392619B (zh) 2017-07-31 2017-07-31 智能合约处理方法及装置

Publications (2)

Publication Number Publication Date
CN107392619A true CN107392619A (zh) 2017-11-24
CN107392619B CN107392619B (zh) 2020-12-29

Family

ID=60342494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710638423.XA Active CN107392619B (zh) 2017-07-31 2017-07-31 智能合约处理方法及装置

Country Status (8)

Country Link
US (1) US20190324772A1 (zh)
JP (1) JP2019536153A (zh)
KR (1) KR20190107664A (zh)
CN (1) CN107392619B (zh)
AU (1) AU2018310287A1 (zh)
SG (1) SG11201907111QA (zh)
TW (1) TW201911032A (zh)
WO (1) WO2019024674A1 (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108776936A (zh) * 2018-06-05 2018-11-09 中国平安人寿保险股份有限公司 保险理赔方法、装置、计算机设备和存储介质
CN108916604A (zh) * 2018-07-04 2018-11-30 临沂大学 一种便于维护的智能合约转换器
CN109067759A (zh) * 2018-08-27 2018-12-21 深圳前海益链网络科技有限公司 一种智能合约调用单点执行系统
CN109146679A (zh) * 2018-06-29 2019-01-04 阿里巴巴集团控股有限公司 基于区块链的智能合约调用方法及装置、电子设备
WO2019024674A1 (zh) * 2017-07-31 2019-02-07 众安信息技术服务有限公司 智能合约处理方法及装置
CN109376541A (zh) * 2018-09-21 2019-02-22 上海点融信息科技有限责任公司 用于运行智能合约的方法、装置以及计算机存储介质
WO2019072310A2 (en) 2018-12-29 2019-04-18 Alibaba Group Holding Limited SYSTEM AND METHOD FOR IMPLEMENTING NATIVE CONTRACT ON BLOCK CHAIN
CN109710385A (zh) * 2018-12-29 2019-05-03 杭州趣链科技有限公司 一种基于Java虚拟机的智能合约复杂度限制方法
CN109933404A (zh) * 2018-12-12 2019-06-25 阿里巴巴集团控股有限公司 一种基于区块链智能合约的编解码方法及系统
CN110119428A (zh) * 2019-04-19 2019-08-13 腾讯科技(深圳)有限公司 一种区块链信息管理方法、装置、设备及存储介质
CN110633328A (zh) * 2019-09-25 2019-12-31 腾讯云计算(北京)有限责任公司 一种信息处理方法、装置及计算机可读存储介质
US10733152B2 (en) 2018-12-29 2020-08-04 Alibaba Group Holding Limited System and method for implementing native contract on blockchain
US10860350B2 (en) 2019-03-26 2020-12-08 Advanced New Technologies Co., Ltd. System and method for implementing different types of blockchain contracts
CN112070618A (zh) * 2020-09-02 2020-12-11 中国平安人寿保险股份有限公司 基于区块链的保险核赔方法、装置、设备及介质
CN112335214A (zh) * 2018-08-22 2021-02-05 环球互连及数据中心公司 智能合约解释器
CN112417514A (zh) * 2020-10-30 2021-02-26 迅鳐成都科技有限公司 基于电子合约的多方数据协作方法、系统及存储介质
CN112445543A (zh) * 2020-11-26 2021-03-05 杭州趣链科技有限公司 智能合约的类调用方法、装置及电子设备
JP2022506016A (ja) * 2018-10-12 2022-01-17 アリババ・グループ・ホールディング・リミテッド ブロックチェーンノードサービスの展開方法、装置およびシステム、ならびにコンピューティングデバイスおよび媒体
US11278175B2 (en) 2015-04-09 2022-03-22 Irobot Corporation Wall following robot
CN114422535A (zh) * 2022-01-18 2022-04-29 网易(杭州)网络有限公司 区块链中部署合约的方法、装置、计算机设备及存储介质

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110188097A (zh) * 2019-04-19 2019-08-30 阿里巴巴集团控股有限公司 区块链中智能合约的存储、执行方法及装置和电子设备
WO2019170175A2 (en) * 2019-06-28 2019-09-12 Alibaba Group Holding Limited System and method for executing different types of blockchain contracts
CN110675256B (zh) * 2019-08-30 2020-08-21 阿里巴巴集团控股有限公司 部署和执行智能合约的方法及装置
US10783082B2 (en) 2019-08-30 2020-09-22 Alibaba Group Holding Limited Deploying a smart contract
CN110688428B (zh) * 2019-09-24 2021-01-26 北京海益同展信息科技有限公司 用于发布智能合约的方法和装置
CN111160911B (zh) * 2019-12-31 2023-10-24 杭州趣链科技有限公司 一种面向区块链的智能合约调用频率控制方法
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
US11893002B2 (en) * 2020-05-04 2024-02-06 Salesforce, Inc. System or method to run distributed validation of workflows across a network in a shared distributed ledger in multi-tenant cloud environment
CN111831745B (zh) * 2020-06-05 2023-04-18 广东科学技术职业学院 定时智能合约的调度方法及装置
CN111815330A (zh) * 2020-08-31 2020-10-23 支付宝(杭州)信息技术有限公司 一种部署智能合约的方法、区块链节点和存储介质
CN112162851B (zh) * 2020-09-14 2022-12-13 Oppo(重庆)智能科技有限公司 dex预编译方法、装置、计算机设备及存储介质
CN112346820B (zh) * 2020-11-16 2024-07-30 上海可东网络科技有限公司 区块链jvm应用方法、设备和存储介质
CN112765676B (zh) * 2020-12-03 2024-07-12 杭州趣链科技有限公司 一种智能合约执行方法、智能合约执行装置及节点设备
CN112636981B (zh) * 2020-12-28 2023-02-17 杭州趣链科技有限公司 区块链主机及其代理方法、装置及存储介质
CN112968930B (zh) * 2021-01-29 2022-08-19 东南大学 区块链键值对智能合约及其设计方法
CN112950237B (zh) * 2021-05-12 2021-08-06 常州市市场监管服务中心(常州市特种设备事故调查处置中心) 基于ocr和区块链的气瓶质量安全追溯系统及控制方法
CN113342429B (zh) * 2021-06-09 2023-08-08 网易(杭州)网络有限公司 智能合约数据处理方法、装置、计算机设备及存储介质
CN113805889B (zh) * 2021-08-27 2023-07-28 成都质数斯达克科技有限公司 一种智能合约调用执行方法、装置、设备及可读存储介质
CN113778564B (zh) * 2021-09-03 2023-05-30 杭州复杂美科技有限公司 一种高效执行evm智能合约的方法、设备及储存介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1710536A (zh) * 2005-06-30 2005-12-21 西安交通大学 一种应用服务器平台的实现方法
CN104731708A (zh) * 2015-03-25 2015-06-24 北京信息控制研究所 一种Shellcode的动态检测方法
US20150379510A1 (en) * 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
CN105893042A (zh) * 2016-03-31 2016-08-24 北京航空航天大学 一种基于区块链的智能合约的实现方法
CN106101242A (zh) * 2016-06-24 2016-11-09 深圳前海微众银行股份有限公司 区块链云服务平台的构建方法和装置
CN106295336A (zh) * 2015-06-26 2017-01-04 阿里巴巴集团控股有限公司 恶意程序检测方法及装置
WO2017011601A1 (en) * 2015-07-14 2017-01-19 Fmr Llc Computationally efficient transfer processing, auditing, and search apparatuses, methods and systems
CN106651303A (zh) * 2016-12-02 2017-05-10 北京轻信科技有限公司 一种基于模板的智能合约处理方法和系统
CN106874087A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种区块链智能合约定时任务调度方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645319A (zh) * 2005-01-20 2005-07-27 上海交通大学 优化网络环境下部分计值服务的方法
CN107392619B (zh) * 2017-07-31 2020-12-29 众安信息技术服务有限公司 智能合约处理方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1710536A (zh) * 2005-06-30 2005-12-21 西安交通大学 一种应用服务器平台的实现方法
US20150379510A1 (en) * 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
CN104731708A (zh) * 2015-03-25 2015-06-24 北京信息控制研究所 一种Shellcode的动态检测方法
CN106295336A (zh) * 2015-06-26 2017-01-04 阿里巴巴集团控股有限公司 恶意程序检测方法及装置
WO2017011601A1 (en) * 2015-07-14 2017-01-19 Fmr Llc Computationally efficient transfer processing, auditing, and search apparatuses, methods and systems
CN105893042A (zh) * 2016-03-31 2016-08-24 北京航空航天大学 一种基于区块链的智能合约的实现方法
CN106101242A (zh) * 2016-06-24 2016-11-09 深圳前海微众银行股份有限公司 区块链云服务平台的构建方法和装置
CN106651303A (zh) * 2016-12-02 2017-05-10 北京轻信科技有限公司 一种基于模板的智能合约处理方法和系统
CN106874087A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种区块链智能合约定时任务调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
安立: "区块链在私募股权交易领域的应用", 《上海立信会计金融学院学报》 *

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11278175B2 (en) 2015-04-09 2022-03-22 Irobot Corporation Wall following robot
WO2019024674A1 (zh) * 2017-07-31 2019-02-07 众安信息技术服务有限公司 智能合约处理方法及装置
CN108776936A (zh) * 2018-06-05 2018-11-09 中国平安人寿保险股份有限公司 保险理赔方法、装置、计算机设备和存储介质
US11588653B2 (en) 2018-06-29 2023-02-21 Advanced New Technologies Co., Ltd. Blockchain-based smart contract call methods and apparatus, and electronic device
CN109146679B (zh) * 2018-06-29 2023-11-10 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
US11005844B2 (en) 2018-06-29 2021-05-11 Advanced New Technologies Co., Ltd. Blockchain-based smart contract call methods and apparatus, and electronic device
CN109146679A (zh) * 2018-06-29 2019-01-04 阿里巴巴集团控股有限公司 基于区块链的智能合约调用方法及装置、电子设备
CN108916604A (zh) * 2018-07-04 2018-11-30 临沂大学 一种便于维护的智能合约转换器
US11842322B2 (en) 2018-08-22 2023-12-12 Equinix, Inc. Smart contract interpreter
CN112335214B (zh) * 2018-08-22 2023-06-02 环球互连及数据中心公司 智能合约解释器
CN112335214A (zh) * 2018-08-22 2021-02-05 环球互连及数据中心公司 智能合约解释器
CN109067759A (zh) * 2018-08-27 2018-12-21 深圳前海益链网络科技有限公司 一种智能合约调用单点执行系统
CN109067759B (zh) * 2018-08-27 2020-11-03 深圳前海益链网络科技有限公司 一种智能合约调用单点执行系统
CN109376541A (zh) * 2018-09-21 2019-02-22 上海点融信息科技有限责任公司 用于运行智能合约的方法、装置以及计算机存储介质
JP7442516B2 (ja) 2018-10-12 2024-03-04 アリババ・グループ・ホールディング・リミテッド ブロックチェーンノードサービスの展開方法、装置およびシステム、ならびにコンピューティングデバイスおよび媒体
JP2022506016A (ja) * 2018-10-12 2022-01-17 アリババ・グループ・ホールディング・リミテッド ブロックチェーンノードサービスの展開方法、装置およびシステム、ならびにコンピューティングデバイスおよび媒体
CN109933404A (zh) * 2018-12-12 2019-06-25 阿里巴巴集团控股有限公司 一种基于区块链智能合约的编解码方法及系统
CN109933404B (zh) * 2018-12-12 2020-05-12 阿里巴巴集团控股有限公司 一种基于区块链智能合约的编解码方法及系统
CN110249307A (zh) * 2018-12-29 2019-09-17 阿里巴巴集团控股有限公司 用于在区块链上执行原生合约的系统和方法
US11086847B2 (en) 2018-12-29 2021-08-10 Advanced New Technologies Co., Ltd. System and method for implementing native contract on blockchain
WO2019072310A2 (en) 2018-12-29 2019-04-18 Alibaba Group Holding Limited SYSTEM AND METHOD FOR IMPLEMENTING NATIVE CONTRACT ON BLOCK CHAIN
CN109710385A (zh) * 2018-12-29 2019-05-03 杭州趣链科技有限公司 一种基于Java虚拟机的智能合约复杂度限制方法
EP3542494A4 (en) * 2018-12-29 2020-02-26 Alibaba Group Holding Limited SYSTEM AND METHOD FOR IMPLEMENTING A NATIVE CONTRACT ON BLOCKCHAIN
CN110249307B (zh) * 2018-12-29 2022-05-31 创新先进技术有限公司 用于在区块链上执行原生合约的系统和方法
JP2020509443A (ja) * 2018-12-29 2020-03-26 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ブロックチェーン上のネイティブ契約を実施するためのシステムおよび方法
KR102237015B1 (ko) * 2018-12-29 2021-04-07 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 블록체인 상의 네이티브 계약을 구현하기 위한 시스템 및 방법
US10733152B2 (en) 2018-12-29 2020-08-04 Alibaba Group Holding Limited System and method for implementing native contract on blockchain
KR20200083932A (ko) * 2018-12-29 2020-07-09 알리바바 그룹 홀딩 리미티드 블록체인 상의 네이티브 계약을 구현하기 위한 시스템 및 방법
US10949231B2 (en) 2019-03-26 2021-03-16 Advanced New Technologies Co., Ltd. System and method for implementing different types of blockchain contracts
US11010184B2 (en) 2019-03-26 2021-05-18 Advanced New Technologies Co., Ltd. System and method for implementing different types of blockchain contracts
US10866823B2 (en) 2019-03-26 2020-12-15 Advanced New Technologies Co., Ltd. System and method for implementing different types of blockchain contracts
US10860350B2 (en) 2019-03-26 2020-12-08 Advanced New Technologies Co., Ltd. System and method for implementing different types of blockchain contracts
CN110119428A (zh) * 2019-04-19 2019-08-13 腾讯科技(深圳)有限公司 一种区块链信息管理方法、装置、设备及存储介质
CN110633328A (zh) * 2019-09-25 2019-12-31 腾讯云计算(北京)有限责任公司 一种信息处理方法、装置及计算机可读存储介质
CN110633328B (zh) * 2019-09-25 2024-03-22 腾讯云计算(北京)有限责任公司 一种信息处理方法、装置及计算机可读存储介质
CN112070618A (zh) * 2020-09-02 2020-12-11 中国平安人寿保险股份有限公司 基于区块链的保险核赔方法、装置、设备及介质
CN112417514A (zh) * 2020-10-30 2021-02-26 迅鳐成都科技有限公司 基于电子合约的多方数据协作方法、系统及存储介质
CN112417514B (zh) * 2020-10-30 2024-04-05 迅鳐成都科技有限公司 基于电子合约的多方数据协作方法、系统及存储介质
CN112445543B (zh) * 2020-11-26 2023-03-10 杭州趣链科技有限公司 智能合约的类调用方法、装置及电子设备
CN112445543A (zh) * 2020-11-26 2021-03-05 杭州趣链科技有限公司 智能合约的类调用方法、装置及电子设备
CN114422535A (zh) * 2022-01-18 2022-04-29 网易(杭州)网络有限公司 区块链中部署合约的方法、装置、计算机设备及存储介质
CN114422535B (zh) * 2022-01-18 2024-04-09 网易(杭州)网络有限公司 区块链中部署合约的方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
SG11201907111QA (en) 2019-09-27
KR20190107664A (ko) 2019-09-20
US20190324772A1 (en) 2019-10-24
WO2019024674A1 (zh) 2019-02-07
CN107392619B (zh) 2020-12-29
JP2019536153A (ja) 2019-12-12
AU2018310287A1 (en) 2019-09-05
TW201911032A (zh) 2019-03-16

Similar Documents

Publication Publication Date Title
CN107392619A (zh) 智能合约处理方法及装置
AU2015213797B2 (en) Application execution control utilizing ensemble machine learning for discernment
CN109255234B (zh) 机器学习模型的处理方法、装置、介质及电子设备
CN105574411B (zh) 一种动态脱壳方法、装置和设备
CN103632096B (zh) 一种对设备进行安全检测的方法和装置
JP2009529720A5 (zh)
CN114266050B (zh) 一种跨平台恶意软件对抗样本生成方法及系统
CN111259395A (zh) 智能合约的利用程序获取方法、装置及存储介质
CN111338622B (zh) 供应链代码识别方法、装置、服务器及可读存储介质
US9477444B1 (en) Method and apparatus for validating and recommending software architectures
US9058427B2 (en) Iterative generation of symbolic test drivers for object-oriented languages
CN105787365A (zh) 一种恶意应用程序的检测方法及装置
CN116204882A (zh) 基于异构图的Android恶意软件检测方法及装置
CN115168861A (zh) 数据安全验证方法、装置、设备及存储介质
CN110825451A (zh) 一种小程序页面地址的配置、校验方法及装置
CN113010892B (zh) 小程序恶意行为检测方法和装置
CN108334935B (zh) 精简输入的深度学习神经网络方法、装置和机器人系统
JP5700675B2 (ja) コンピュータ・プログラムのメソッドがバリデータであるかどうかを判断する方法、システム、及びコンピュータ・プログラム
US11966851B2 (en) Construction of a machine learning model
US20140068339A1 (en) Systems and Methods for State Based Test Case Generation for Software Validation
CN115203061A (zh) 接口自动化测试方法、装置、电子设备及存储介质
US9092723B2 (en) Using a heuristically-generated policy to dynamically select string analysis algorithms for client queries
CN112306496A (zh) 区块链运行信息分析方法、装置、设备及计算机存储介质
CA2543989C (en) System and method for generating safe and efficient component relationships in wireless applications
Kokkinakos Defense implementation for website fingerprinting attacks on nginx web server

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1247402

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240320

Address after: Room 1179, W Zone, 11th Floor, Building 1, No. 158 Shuanglian Road, Qingpu District, Shanghai, 201702

Patentee after: Shanghai Zhongan Information Technology Service Co.,Ltd.

Country or region after: China

Address before: 518052 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong

Patentee before: ZHONGAN INFORMATION TECHNOLOGY SERVICE Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right