CN109255210A - 在区块链网络中提供智能合约的方法、装置及存储介质 - Google Patents

在区块链网络中提供智能合约的方法、装置及存储介质 Download PDF

Info

Publication number
CN109255210A
CN109255210A CN201811128483.8A CN201811128483A CN109255210A CN 109255210 A CN109255210 A CN 109255210A CN 201811128483 A CN201811128483 A CN 201811128483A CN 109255210 A CN109255210 A CN 109255210A
Authority
CN
China
Prior art keywords
intelligent contract
key
block chain
source code
encryption
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
Application number
CN201811128483.8A
Other languages
English (en)
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 Point Information Technology Co Ltd
Original Assignee
Shanghai Point Information Technology 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 Shanghai Point Information Technology Co Ltd filed Critical Shanghai Point Information Technology Co Ltd
Priority to CN201811128483.8A priority Critical patent/CN109255210A/zh
Publication of CN109255210A publication Critical patent/CN109255210A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Abstract

本发明的实施例提供了一种用于在区块链网络中提供智能合约的方法,包括:接收针对智能合约的安装请求,安装请求包括所述智能合约的安装目的地;生成加密的智能合约源代码;生成与加密的智能合约源代码相关联的密钥获取信息,密钥获取信息用于获取密钥,密钥用于解密所述加密的智能合约源代码;以及将所述加密的智能合约源代码和所述密钥获取信息提供至所述安装目的地。通过依据本发明的实施例所提供的用于在区块链网络中提供智能合约的方法能够有效地保证区块链上的智能合约的源代码的传输安全,保证源代码不被未授权方获取,从而使得区块链上的智能合约的源代码的隐私性得到保护。

Description

在区块链网络中提供智能合约的方法、装置及存储介质
技术领域
本发明的实施例涉及区块链技术,更为具体地涉及一种的用于在区块链网络中提供智能合约的方法、一种用于在区块链网络中安装智能合约的方法、用于执行上述方法的装置以及一种相应的计算机可读存储介质。
背景技术
区块链(Blockchain)作为近几年兴起的新兴技术,得到了广泛的讨论和研究。区块链是用分布式数据库识别、传播和记载信息的智能化对等网络,也称为价值互联网。区块链技术包括以块结构存储数据,使用密码学保证传输和访问安全等,其能够实现数据一致性存储、反篡改、去中心的技术体系。
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,其能够表现为在区块链上准确运行的计算机程序。用户终端可通过使用智能合约进行交易、共享数据、建立信任、并由区块链技术的特性保障数据的存储、读取、执行整个过程透明可跟踪、不可篡改。
目前,在大多数情况下将智能合约的源代码直接传输给各个需要安装该智能合约的区块链节点,尚不存在一种对智能合约的提供者所提供的源代码进行保护的技术方案。
发明内容
针对现有技术中所存在的技术问题,本发明的实施例的第一方面提供了一种用于在区块链网络中提供智能合约的方法,所述方法包括:
接收针对智能合约的安装请求,所述安装请求包括所述智能合约的安装目的地;
生成加密的智能合约源代码;
生成与所述加密的智能合约源代码相关联的密钥获取信息,其中,所述密钥获取信息用于获取密钥,并且其中,所述密钥用于解密所述加密的智能合约源代码;以及
将所述加密的智能合约源代码和所述密钥获取信息提供至所述安装目的地。
此外,本发明的实施例的第二方面提供了一种用于在区块链网络中安装智能合约的方法,所述方法包括:
接收针对所述智能合约的安装请求,所述安装请求包括所述智能合约的安装目的地;
生成加密的智能合约源代码;
生成与所述加密的智能合约源代码相关联的密钥获取信息,其中,所述密钥获取信息用于获取密钥,并且其中,所述密钥用于解密所述加密的智能合约源代码;
将所述加密的智能合约源代码和所述密钥获取信息提供至所述安装目的地;
接收密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名和密钥获取信息;
对所述区块链节点的签名进行身份验证;以及
在所述身份验证通过的情况下,向所述安装目的地提供与所述密钥获取信息相关联的密钥。
此外,本发明的实施例的第三方面提供了一种用于在区块链网络中安装智能合约的方法,所述方法包括:
接收加密的智能合约源代码和密钥获取信息;
基于所述密钥获取信息发送密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名,并且其中,所述密钥用于解密所述加密的智能合约源代码;
接收所述密钥;
通过使用所述密钥来解密所述加密的智能合约源代码来获取所述智能合约源代码;
通过对解密后的所述智能合约源代码进行编译获得所述智能合约的可执行安装文件;以及
通过运行所述可执行安装文件来安装所述智能合约。
再者,本发明的实施例的第四方面提供了一种用于在区块链网络中提供智能合约的装置,所述装置包括:
处理器;以及
存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
接收针对所述智能合约的安装请求,所述安装请求包括所述智能合约的安装目的地;
生成加密的智能合约源代码;
生成与所述加密的智能合约源代码相关联的密钥获取信息,其中,所述密钥获取信息用于获取密钥,并且其中,所述密钥用于解密所述加密的智能合约源代码;以及
将所述加密的智能合约源代码和所述密钥获取信息提供至所述安装目的地。
本发明的实施例的第五方面提供了一种用于在区块链网络中安装智能合约的装置,所述装置包括:
处理器;以及
存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
接收针对所述智能合约的安装请求,所述安装请求包括所述智能合约的安装目的地;
生成加密的智能合约源代码;
生成与所述加密的智能合约源代码相关联的密钥获取信息,其中,所述密钥获取信息用于获取密钥,并且其中,所述密钥用于解密所述加密的智能合约源代码;
将所述加密的智能合约源代码和所述密钥获取信息提供至所述安装目的地;
接收密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名和密钥获取信息;
对所述区块链节点的签名进行身份验证;以及
在所述身份验证通过的情况下,向所述安装目的地提供与所述密钥获取信息相关联的密钥。
接下来,本发明的实施例的第六方面提供了一种用于在区块链网络中安装智能合约的装置,所述装置包括:
处理器;以及
存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
接收加密的智能合约源代码和密钥获取信息;
基于所述密钥获取信息发送密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名,并且其中,所述密钥用于解密所述加密的智能合约源代码;
接收所述密钥;
通过使用所述密钥来解密所述加密的智能合约源代码来获取所述智能合约源代码;
通过对解密后的所述智能合约源代码进行编译获得所述智能合约的可执行安装文件;以及
通过运行所述可执行安装文件来安装所述智能合约。
本发明的实施例的第七方面还提供了一种计算机可读存储介质,其具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据本发明的第一方面所述的用于在区块链网络中提供智能合约的方法。
本发明的实施例的第八方面还提供了一种计算机可读存储介质,其具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据本发明的第二方面所述的用于在区块链网络中安装智能合约的方法。
最后,本发明的实施例的第九方面还提供了一种计算机可读存储介质,其具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据本发明的第三方面所述的用于在区块链网络中安装智能合约的方法。
通过依据本发明的实施例所提供的用于在区块链网络中提供智能合约的方法、用于在区块链网络中安装智能合约的方法、装置以及相应的计算机可读存储介质能够有效地保证区块链上的智能合约的源代码的传输安全,保证源代码不被未授权方获取,从而使得区块链上的智能合约的源代码的隐私性得到保护。本发明的其他优势将在下文中进一步说明。
附图说明
结合附图并参考以下详细说明,本发明的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本发明的若干实施例,在附图中:
图1示出了根据本发明的实施例的授权服务中心系统100的架构图;
图2示出了根据本发明的实施例的对智能合约进行操作的过程200的示意图;
图3示出了根据本发明的实施例的用于在区块链网络中提供智能合约的方法300的示意流程图;
图4示出了根据本发明的实施例的用于在区块链网络中安装智能合约的方法400的示意流程图;
图5示出了根据本发明的一个实施例的装置500的示意方框图;以及
图6示出了根据本发明的另一个实施例的装置600的示意方框图。
具体实施方式
以下参考附图详细描述本发明的各个示例性实施例。虽然以下所描述的示例性方法、装置包括在其它组件当中的硬件上执行的软件和/或固件,但是应当注意,这些示例仅仅是说明性的,而不应看作是限制性的。例如,考虑在硬件中独占地、在软件中独占地、或在硬件和软件的任何组合中可以实施任何或所有硬件、软件和固件组件。因此,虽然以下已经描述了示例性的方法和装置,但是本领域的技术人员应容易理解,所提供的示例并不用于限制用于实现这些方法和装置的方式。
此外,附图中的流程图和框图示出了根据本发明的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
在详细介绍依据本发明的具体实施方式之前,首先对本发明中用到的一些术语进行说明。
在本发明中,术语“智能合约的提供者”是具有许可他人使用智能合约的权利的人或单位,例如,其能够是智能合约的作者。
在本发明中,术语“智能合约的安装目的地”是指由针对智能合约的安装请求指定的、该智能合约将被安装至的区块链节点,例如,智能合约的目的地能够是由安装请求指定的区块链网络中的某个区块链节点的地址。
在本发明中,术语“授权服务中心”是指智能合约发行平台。例如,智能合约的提供者能够在授权服务中心中发布、许可使用智能合约,而用户能够在授权服务中心中浏览、查看、下载智能合约。
在本发明中,术语“密钥获取信息”是指能够通过其获取对智能合约的源代码进行加密的密钥的信息,其例如能够是密钥的存储地址信息、生成密钥的方法信息或者密码本中所对应的密钥的位置信息等。
在展开具体的解决方案之前,本发明的申请人首先介绍一下本发明所基于的应用场景及本发明所基于的技术问题。
总体上,本发明的实施例提供了一种用于在区块链网络中提供智能合约的方法,其通过授权服务中心为区块链节点提供经加密的智能合约源代码,并在区块链节点上能够通过对于该加密的智能合约源代码的解析、编译等操作来安装该智能合约。在本发明的实施例的方案中,授权服务中心基于用户的安装请求,向区块链节点提供经加密保护的智能合约源代码以及与该经加密的智能合约源代码相关联的密钥获取信息。采用本发明的实施例的方案,能够对智能合约及其密钥获取信息进行唯一地标识,并通过对智能合约的源代码进行加密来保护智能合约源代码,因此能够控制区块链节点或者用户对智能合约源代码的访问,例如能够仅对授权的区块链节点或者用户开放源代码获取权限。在本发明的一些实施例中,还提出了基于云的区块链即服务(Blockchain as a Service:BaaS)平台来针对联盟链提供智能合约源代码的授权获取方案。因此,本发明的方案构建了区块链智能合约生态平台,大大保护了智能合约的提供者对于智能合约源代码的控制。
下面,结合附图来详细说明本发明的各个实施例。
现参见图1,其示出了根据本发明的实施例的授权服务中心系统架构图。图1所示的授权服务中心系统100用于为智能合约提供授权许可的服务。如图1所示,授权服务中心系统100包括授权服务中心120。在一些实施例中,授权服务中心120可以实现为基于云的区块链即服务平台。授权服务中心系统100还包括与授权服务中心120连接的多个区块链网络140、150、160。区块链网络140、150、160中的每一个都包括多个区块链节点。例如,区块链网络140包括区块链节点1401、1402、1403。区块链网络150包括区块链节点1501、1502、1503。区块链网络160包括区块链节点1601、1602、1603。
在云应用环境中,各区块链节点可以对应于虚拟机实例,在虚拟机实例中运行相应的节点应用程序。应当理解,虽然区块链网络140、150、160被示意为各自独立,但各区块链网络也可以包括共同的区块链节点。例如,某个区块链节点既可以属于区块链网络140又可以属于区块链网络150。在图1中,区块链网络数量和区块链节点的数量是示意性的,其可以是任意数量。
继续参见图1,智能合约的提供者110向授权服务中心120提供可安装的智能合约。智能合约的提供者110具有许可他人获取其智能合约源代码的权利。在一些实施例中,智能合约的提供者110是智能合约的作者。在一些实施例中,智能合约的提供者110可以从智能合约的作者获得许可他人获取其智能合约源代码的权利,从而智能合约的提供者110具有许可他人使用其智能合约源代码的权利。用户130通过授权服务中心120为特定的区块链节点安装某个智能合约。接着,授权服务中心120根据用户130的需求将加密的智能合约源代码和与之相关联的密钥获取信息提供至区块链节点用于安装该智能合约。
在一些实施例中,在系统构架100中的通信以及智能合约的提供者110、用户130与授权服务中心120之间的通信可以基于任何有线和/或无线网络,包括但不限于因特网、广域网、城域网、局域网、虚拟专用网络(VPN)、无线网络等等。
在一些实施例中,用户130以及区块链网络140-160中的每个区块链节点1401-1403、1501-1503、1601-1603可以是电子设备,例如固定设备(例如服务器或台式计算机),或移动设备(例如智能手机、平板电脑、便携式计算机等)。
接着,参见图2,其示出了根据本发明的实施例的对智能合约源代码进行操作的过程200的示意图。在图2中示出了用户130、授权服务中心120和区块链节点1401。应当理解,仅为了促进描述而将每个对象或功能模块示出,其中某些对象或功能模块可以存在于同一个物理实体中,或者某些对象或功能模块可以存在于基于云的虚拟环境中。例如,授权服务中心120和区块链节点1401可以均在基于云的虚拟环境中。因此,图2所示的分立对象或模块仅是示意性的,本发明在此方面不做限制。
以上描述了整个完成的查询过程,以下将接上附图2来描述区块链节点在安装和控制智能合约时的具体步骤。
如图2所示,授权服务中心120可选地能够从智能合约的提供者110处接收(202)可安装的智能合约,接下来,该授权服务中心120可选地能够发布(204)智能合约的基本信息,用户130能够通过例如浏览这些基本信息或者通过其他渠道获取这些基本信息,然后决定给某个或者某些区块链节点安装一个智能合约,此时,用户130能够向授权服务中心120发送(306)安装请求,该安装请求中例如包含所述智能合约的安装目的地,例如其指定将某个智能合约安装在区块链节点1401上,授权服务中心120在接收到这样的安装请求之后,将会对智能合约的源代码进行加密处理,然后生成(208)生成加密的智能合约源代码;相应地,授权服务中心120也会生成(210)与加密的智能合约源代码相关联的密钥获取信息,其中,密钥获取信息用于获取密钥,密钥用于解密所述加密的智能合约源代码。在生成了这两部分数据之后,授权服务中心120会将所述加密的智能合约源代码和所述密钥获取信息提供至所述安装目的地,例如区块链节点1401。通过依据本发明的实施例所提供的用于在区块链网络中提供智能合约的方法能够有效地保证区块链上的智能合约的源代码的传输安全,保证源代码不被未授权方获取,从而使得区块链上的智能合约的源代码的隐私性得到保护。
在此,加密的智能合约源代码和密钥获取信息既可以在一个数据包中发送给安装目的地的区块链节点,安装的时候仅利用这个数据包即可。此时,该数据包不是整个都是加密的,该数据包有特定的格式,要不要加密要看其中的内容,例如其中的源代码部分一定是加密的,而其余部分可以是不加密的。例如密钥获取信息。再比如该数据包还能够包含不加密的以下内容:智能合约唯一标识、该智能合约源代码的哈希值(HASH值)、该智能合约源代码的一个或多个签名、该智能合约的其他相关数据等,其中,该智能合约源代码的哈希值(HASH值)用于对于智能合约的源代码是否被修改过做校验,智能合约唯一标识用于表示该智能合约的名称或者编号等,而智能合约源代码的一个或多个签名用于表明该智能合约由哪些组织许可。
本领域的技术人员也应当理解,也可以将加密的智能合约源代码和密钥获取信息独立开,即分别作为独立的数据包发送给安装目的地的区块链节点。
接下来,区块链节点(例如区块链节点1401)在接收到由诸如区块链即服务平台的授权服务中心120所提供的加密的智能合约源代码和密钥获取信息之后,将会向授权服务中心120发送(402)密钥获取请求,与之相对应地,授权服务中心120在接收到密钥获取请求之后,将会对区块链节点1401的签名进行身份验证(214),如果身份验证通过,则会将相应的密钥例如通过链路级的SSL加密方式来提供(216)给区块链节点1401,接下来,区块链节点1401会接收所述密钥并且通过使用所述密钥来解密(404)所述加密的智能合约源代码来获取所述智能合约源代码,再接下来,区块链节点1401通过对解密后的所述智能合约源代码进行编译来获得(406)所述智能合约的可执行安装文件;以及最后区块链节点1401通过运行所述可执行安装文件来安装(408)所述智能合约。至此,由用户130所指定的智能合约在用户130所指定的区块链节点1401上得以安装,而且在源代码的传输过程中始终处于加密的状态,从而使得区块链上的智能合约的源代码的隐私性得到保护。
以上从整个系统的角度阐述了依据本发明的一个实施例的整个智能合约的提供和安装过程。接下来,本申请将从诸如区块链即服务平台BaaS的授权服务中心120和具体最终安装特定的智能合约的区块链节点1401的角度来阐述依据本发明的一个实施例的用于在区块链网络中提供智能合约的方法300和用于在区块链网络中安装智能合约的方法400。
图3示出了根据本发明的实施例的用于在区块链网络中提供智能合约的方法300的示意流程图。从图3中可以看出,依据本发明的一个实施例的用于在区块链网络中提供智能合约的方法300至少包括以下四个步骤,首先,在方法步骤310中,将会接收针对智能合约的安装请求,所述安装请求包括所述智能合约的安装目的地,例如由授权服务中心120从用户130处接收该安装请求,该安装请求包括了该智能合约的安装目的地,例如区块链节点1401的地址;接下来,在方法步骤320中,生成加密的智能合约源代码;再接下来,在方法步骤330中,生成与所述加密的智能合约源代码相关联的密钥获取信息,其中,所述密钥获取信息用于获取密钥,并且其中,所述密钥用于解密所述加密的智能合约源代码。最后,在方法步骤340中将所述加密的智能合约源代码和所述密钥获取信息提供至所述安装目的地。由此能够使得智能合约的源代码在授权服务中心120和区块链节点1401之间的传输得以加密,从而保证了智能合约的源代码的隐私性。
虽然图3中未示出,该方法还能够包括以下步骤,即授权服务中心120能够从诸如区块链节点1401的区块链节点接收密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名和密钥获取信息,然后,授权服务中心120对所述区块链节点的签名进行身份验证并且仅在在所述身份验证通过的情况下,才向所述安装目的地提供与所述密钥获取信息相关联的密钥。由此能够通过仅对授权的区块链节点提供密钥的方式防止其他未被授权的区块链节点获取该密钥,也就使得这些未被授权的区块链节点无法获取该智能合约的源代码。当然,在所述身份验证不通过的情况下,授权服务中心120会拒绝向所述安装目的地(例如区块链节点1401)提供与所述密钥获取信息相关联的密钥。
在依据本发明的一个实施例中,能够根据所述安装请求生成目标区块链节点列表,例如用户130可能不只是指定了为区块链节点1401安装该智能合约,也能够例如同时为区块链节点1501也安装该智能合约,此时该目标区块链节点列表例如能够包括区块链节点1401和区块链节点1501。此时,对所述区块链节点的签名进行身份验证进一步包括:判断所述区块链节点的签名所表示的区块链节点是否属于所述目标区块链节点列表。由此提供了一种切实可行的验证方案,其验证方式可靠,操作简单。
在依据本发明的一个实施例中,接收针对所述智能合约的安装请求进一步包括:由区块链即服务平台接收针对所述智能合约的安装请求。
图4示出了根据本发明的实施例的用于在区块链网络中安装智能合约的方法400的示意流程图。从图4中可以看出,依据本发明的一个实施例的用于在区块链网络中安装智能合约的方法400至少包括以下六个步骤,首先,在方法步骤410中,接收加密的智能合约源代码和密钥获取信息;然后,在方法步骤420中,基于所述密钥获取信息发送密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名,并且其中,所述密钥用于解密所述加密的智能合约源代码;接下来,在方法步骤430中接收所述密钥并且在方法步骤440中通过使用所述密钥来解密所述加密的智能合约源代码来获取所述智能合约源代码。再接下来,在方法步骤450中通过对解密后的所述智能合约源代码进行编译获得所述智能合约的可执行安装文件以及最后在方法步骤460中通过运行所述可执行安装文件来安装所述智能合约。依据本发明的方法能够确保智能合约的源代码在授权服务中心120和具体的安装区块链节点之间以加密的方式进行传输,进而保证了对于智能合约源代码的保护。
在依据本发明的一个实施例中,所述方法还能够包括以下步骤:即对所述加密的智能合约源代码做完整性校验;以及在所述完整性校验未通过的情况下,发送针对所述加密的智能合约源代码的源代码包获取请求并且重新接收所述加密的智能合约源代码。由此能够在所接收到的加密的智能合约源代码不完整的情况下再次获取相应的智能合约源代码,提高安装智能合约的成功率。
在依据本发明的一个实施例中,所述完整性校验包括哈希值校验或GPG(GNUPrivacy Guard:GNU隐私卫士)签名校验。本领域的技术人员应当了解,其他可行的校验方法也包括在依据本发明的权利要求所要求的保护范围之内。
图5示出了依据本发明内容的一个实施例所提出的用于在区块链网络中提供智能合约的装置500或者用于在区块链网络中运行智能合约的装置500。从图5中可以看出,该装置500包括处理器510和与处理器510耦接的存储器520。
存储器520存储有指令。指令在由处理器510执行时使得处理器510执行以下动作:
接收针对所述智能合约的安装请求,所述安装请求包括所述智能合约的安装目的地;
生成加密的智能合约源代码;
生成与所述加密的智能合约源代码相关联的密钥获取信息,其中,所述密钥获取信息用于获取密钥,并且其中,所述密钥用于解密所述加密的智能合约源代码;以及
将所述加密的智能合约源代码和所述密钥获取信息提供至所述安装目的地。
在依据本发明的一个实施例中,当所述指令执行时还使得所述处理器执行以下操作:
接收密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名和密钥获取信息;
对所述区块链节点的签名进行身份验证;以及
在所述身份验证通过的情况下,向所述安装目的地提供与所述密钥获取信息相关联的密钥。
在依据本发明的一个实施例中,当所述指令执行时还使得所述处理器执行以下操作:
在所述身份验证不通过的情况下,拒绝向所述安装目的地提供与所述密钥获取信息相关联的密钥。
在依据本发明的一个实施例中,当所述指令执行时还使得所述处理器执行以下操作:
根据所述安装请求生成目标区块链节点列表,并且其中对所述区块链节点的签名进行身份验证进一步包括:
判断所述区块链节点的签名所表示的区块链节点是否属于所述目标区块链节点列表。
在依据本发明的一个实施例中,接收针对所述智能合约的安装请求进一步包括:
由区块链即服务平台接收针对所述智能合约的安装请求。
存储器520也能够存储有其他指令。这些指令在由处理器510执行时使得处理器510执行以下动作:
接收针对所述智能合约的安装请求,所述安装请求包括所述智能合约的安装目的地;
生成加密的智能合约源代码;
生成与所述加密的智能合约源代码相关联的密钥获取信息,其中,所述密钥获取信息用于获取密钥,并且其中,所述密钥用于解密所述加密的智能合约源代码;
将所述加密的智能合约源代码和所述密钥获取信息提供至所述安装目的地;
接收密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名和密钥获取信息;
对所述区块链节点的签名进行身份验证;以及
在所述身份验证通过的情况下,向所述安装目的地提供与所述密钥获取信息相关联的密钥。
存储器520也能够存储有其他指令。这些指令在由处理器510执行时使得处理器510执行以下动作:
接收加密的智能合约源代码和密钥获取信息;
基于所述密钥获取信息发送密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名,并且其中,所述密钥用于解密所述加密的智能合约源代码;
接收所述密钥;
通过使用所述密钥来解密所述加密的智能合约源代码来获取所述智能合约源代码;
通过对解密后的所述智能合约源代码进行编译获得所述智能合约的可执行安装文件;以及
通过运行所述可执行安装文件来安装所述智能合约。
在依据本发明的一个实施例中,当所述指令执行时还使得所述处理器执行以下操作:
对所述加密的智能合约源代码做完整性校验;
在所述完整性校验未通过的情况下,发送针对所述加密的智能合约源代码的源代码包获取请求并且重新接收所述加密的智能合约源代码。
在依据本发明的一个实施例中,所述完整性校验包括哈希值校验或GPG签名校验。
此外,替代地,上述方法能够通过计算机程序产品,即计算机可读存储介质来实现。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明内容的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
图6示出了依据本发明内容的一个实施例所提出的装置600的示意性框图。应当理解,装置600可以被实现为实现图3中的用于在区块链网络中提供智能合约的方法300或者图4中的用于在区块链网络中安装智能合约的方法400的功能。从图6中可以看出该装置600包括中央处理单元(CPU)601(例如处理器),其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储该装置600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
装置600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许该装置600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各种方法,例如用于在区块链网络中提供智能合约的方法300或者用于在区块链网络中安装智能合约的方法400可由处理单元601执行。例如,在一些实施例中,用于在区块链网络中提供智能合约的方法300或者用于在区块链网络中安装智能合约的方法400可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到装置600上。当计算机程序被加载到RAM 603并由处理器CPU 601执行时,可以执行上文描述的用于在区块链网络中提供智能合约的方法300或者用于在区块链网络中安装智能合约的方法400中的一个或多个动作或步骤。
一般而言,本发明的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本发明的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
虽然上面描述了本发明的各种示例实施例可以在硬件或专用电路中实现,但是上述用于区块链的数据处理设备既可以以硬件的形式来实现,也可以通过软件的形式来实现,这是因为:在20世纪90年代,一个技术改进能够很容易地对该改进属于硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是属于软件上的改进(例如对于方法流程的改进)。然而,随着技术的持续发展,如今的很多方法流程的改进几乎都能够通过将改进的方法流程编程到硬件电路中来实现,换句话说,通过对于硬件电路编程不同的程序从而得到相应的硬件电路结构,即实现了硬件电路结构的改变,故这样的方法流程的改进也可以被视为硬件电路结构的直接改进。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device:PLD)(例如现场可编程门阵列(Field Programmable Gate Array:FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片可编程逻辑器件上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compi1er)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language:HDL),而HDL也并非仅有—种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell UniversityProgramming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
用于执行本发明内容的各个方面的计算机可读程序指令或者计算机程序产品也能够存储在云端,在需要调用时,用户能够通过移动互联网、固网或者其他网络访问存储在云端上的用于执行本发明内容的一方面的计算机可读程序指令,从而实施依据本发明内容的各个方面所公开的技术方案。
以上所述仅为本发明内容的实施例可选实施例,并不用于限制本发明的实施例,对于本领域的技术人员来说,本发明的实施例可以有各种更改和变化。凡在本发明的实施例的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本发明的实施例的保护范围之内。
虽然已经参考若干具体实施例描述了本发明的实施例,但是应当理解,本发明的实施例并不限于所公开的具体实施例。本发明的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。

Claims (21)

1.一种用于在区块链网络中提供智能合约的方法,所述方法包括:
接收针对所述智能合约的安装请求,所述安装请求包括所述智能合约的安装目的地;
生成加密的智能合约源代码;
生成与所述加密的智能合约源代码相关联的密钥获取信息,其中,所述密钥获取信息用于获取密钥,并且其中,所述密钥用于解密所述加密的智能合约源代码;以及
将所述加密的智能合约源代码和所述密钥获取信息提供至所述安装目的地。
2.根据权利要求1所述的方法,所述方法还包括:
接收密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名和密钥获取信息;
对所述区块链节点的签名进行身份验证;以及
在所述身份验证通过的情况下,向所述安装目的地提供与所述密钥获取信息相关联的密钥。
3.根据权利要求2所述的方法,所述方法还包括:
在所述身份验证不通过的情况下,拒绝向所述安装目的地提供与所述密钥获取信息相关联的密钥。
4.根据权利要求2或3所述的方法,所述方法还包括:
根据所述安装请求生成目标区块链节点列表,并且其中对所述区块链节点的签名进行身份验证进一步包括:
判断所述区块链节点的签名所表示的区块链节点是否属于所述目标区块链节点列表。
5.根据权利要求1所述的方法,其中,接收针对所述智能合约的安装请求进一步包括:
由区块链即服务平台接收针对所述智能合约的安装请求。
6.一种用于在区块链网络中安装智能合约的方法,所述方法包括:
接收针对所述智能合约的安装请求,所述安装请求包括所述智能合约的安装目的地;
生成加密的智能合约源代码;
生成与所述加密的智能合约源代码相关联的密钥获取信息,其中,所述密钥获取信息用于获取密钥,并且其中,所述密钥用于解密所述加密的智能合约源代码;
将所述加密的智能合约源代码和所述密钥获取信息提供至所述安装目的地;
接收密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名和密钥获取信息;
对所述区块链节点的签名进行身份验证;以及
在所述身份验证通过的情况下,向所述安装目的地提供与所述密钥获取信息相关联的密钥。
7.一种用于在区块链网络中安装智能合约的方法,所述方法包括:
接收加密的智能合约源代码和密钥获取信息;
基于所述密钥获取信息发送密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名,并且其中,所述密钥用于解密所述加密的智能合约源代码;
接收所述密钥;
通过使用所述密钥来解密所述加密的智能合约源代码来获取所述智能合约源代码;
通过对解密后的所述智能合约源代码进行编译获得所述智能合约的可执行安装文件;以及
通过运行所述可执行安装文件来安装所述智能合约。
8.根据权利要求7所述的方法,所述方法还包括:
对所述加密的智能合约源代码做完整性校验;
在所述完整性校验未通过的情况下,发送针对所述加密的智能合约源代码的源代码包获取请求并且重新接收所述加密的智能合约源代码。
9.根据权利要求8所述的方法,其中,所述完整性校验包括哈希值校验或GPG签名校验。
10.一种用于在区块链网络中提供智能合约的装置,所述装置包括:
处理器;以及
存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
接收针对所述智能合约的安装请求,所述安装请求包括所述智能合约的安装目的地;
生成加密的智能合约源代码;
生成与所述加密的智能合约源代码相关联的密钥获取信息,其中,所述密钥获取信息用于获取密钥,并且其中,所述密钥用于解密所述加密的智能合约源代码;以及
将所述加密的智能合约源代码和所述密钥获取信息提供至所述安装目的地。
11.根据权利要求10所述的装置,当所述指令执行时还使得所述处理器执行以下操作:
接收密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名和密钥获取信息;
对所述区块链节点的签名进行身份验证;以及
在所述身份验证通过的情况下,向所述安装目的地提供与所述密钥获取信息相关联的密钥。
12.根据权利要求11所述的装置,当所述指令执行时还使得所述处理器执行以下操作:
在所述身份验证不通过的情况下,拒绝向所述安装目的地提供与所述密钥获取信息相关联的密钥。
13.根据权利要求11或12所述的装置,当所述指令执行时还使得所述处理器执行以下操作:
根据所述安装请求生成目标区块链节点列表,并且其中对所述区块链节点的签名进行身份验证进一步包括:
判断所述区块链节点的签名所表示的区块链节点是否属于所述目标区块链节点列表。
14.根据权利要求10所述的装置,其中,接收针对所述智能合约的安装请求进一步包括:
由区块链即服务平台接收针对所述智能合约的安装请求。
15.一种用于在区块链网络中安装智能合约的装置,所述装置包括:
处理器;以及
存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
接收针对所述智能合约的安装请求,所述安装请求包括所述智能合约的安装目的地;
生成加密的智能合约源代码;
生成与所述加密的智能合约源代码相关联的密钥获取信息,其中,所述密钥获取信息用于获取密钥,并且其中,所述密钥用于解密所述加密的智能合约源代码;
将所述加密的智能合约源代码和所述密钥获取信息提供至所述安装目的地;
接收密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名和密钥获取信息;
对所述区块链节点的签名进行身份验证;以及
在所述身份验证通过的情况下,向所述安装目的地提供与所述密钥获取信息相关联的密钥。
16.一种用于在区块链网络中安装智能合约的装置,所述装置包括:
处理器;以及
存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
接收加密的智能合约源代码和密钥获取信息;
基于所述密钥获取信息发送密钥获取请求,其中,所述密钥获取请求中包括区块链节点的签名,并且其中,所述密钥用于解密所述加密的智能合约源代码;
接收所述密钥;
通过使用所述密钥来解密所述加密的智能合约源代码来获取所述智能合约源代码;
通过对解密后的所述智能合约源代码进行编译获得所述智能合约的可执行安装文件;以及
通过运行所述可执行安装文件来安装所述智能合约。
17.根据权利要求16所述的装置,当所述指令执行时还使得所述处理器执行以下操作:
对所述加密的智能合约源代码做完整性校验;
在所述完整性校验未通过的情况下,发送针对所述加密的智能合约源代码的源代码包获取请求并且重新接收所述加密的智能合约源代码。
18.根据权利要求17所述的装置,其中,所述完整性校验包括哈希值校验或GPG签名校验。
19.一种计算机可读存储介质,其具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据权利要求1至5中任一项所述的用于在区块链网络中提供智能合约的方法。
20.一种计算机可读存储介质,其具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据权利要求6所述的用于在区块链网络中提供智能合约的方法。
21.一种计算机可读存储介质,其具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据权利要求7至9中任一项所述的用于在区块链网络中安装智能合约的方法。
CN201811128483.8A 2018-09-27 2018-09-27 在区块链网络中提供智能合约的方法、装置及存储介质 Pending CN109255210A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811128483.8A CN109255210A (zh) 2018-09-27 2018-09-27 在区块链网络中提供智能合约的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811128483.8A CN109255210A (zh) 2018-09-27 2018-09-27 在区块链网络中提供智能合约的方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN109255210A true CN109255210A (zh) 2019-01-22

Family

ID=65047939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811128483.8A Pending CN109255210A (zh) 2018-09-27 2018-09-27 在区块链网络中提供智能合约的方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN109255210A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109615378A (zh) * 2019-01-24 2019-04-12 上海点融信息科技有限责任公司 基于区块链的安全多方计算方法、装置及可读存储介质
CN110109684A (zh) * 2019-04-04 2019-08-09 平安科技(深圳)有限公司 区块链节点管理代理服务安装方法、电子装置及存储介质
CN110264195A (zh) * 2019-05-20 2019-09-20 阿里巴巴集团控股有限公司 结合代码标注与交易、用户类型的收据存储方法和节点
CN111523110A (zh) * 2019-11-08 2020-08-11 支付宝(杭州)信息技术有限公司 基于链代码的权限查询配置方法及装置
WO2020233610A1 (zh) * 2019-05-20 2020-11-26 创新先进技术有限公司 结合代码标注与用户、事件类型的收据存储方法和节点
CN112751807A (zh) * 2019-10-31 2021-05-04 中国电信股份有限公司 安全通信方法、装置、系统和存储介质
CN113468489A (zh) * 2021-07-27 2021-10-01 浙江欣奕华智能科技有限公司 一种设备授权方法、授权码生成方法及相关装置
CN113765875A (zh) * 2020-11-17 2021-12-07 北京京东乾石科技有限公司 一种数据验证信息的反馈方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273759A (zh) * 2017-05-08 2017-10-20 上海点融信息科技有限责任公司 用于保护区块链数据的方法、设备以及计算机可读存储介质
CN107425982A (zh) * 2017-07-07 2017-12-01 众安信息技术服务有限公司 一种实现智能合约数据加密的方法和区块链
CN107464118A (zh) * 2017-08-16 2017-12-12 济南浪潮高新科技投资发展有限公司 一种基于区块链智能合约的数据交易方法
CN108234442A (zh) * 2017-10-26 2018-06-29 招商银行股份有限公司 获取合约的方法、系统及可读存储介质
CN108462568A (zh) * 2018-02-11 2018-08-28 西安电子科技大学 一种基于区块链的安全文件存储和共享方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273759A (zh) * 2017-05-08 2017-10-20 上海点融信息科技有限责任公司 用于保护区块链数据的方法、设备以及计算机可读存储介质
CN107425982A (zh) * 2017-07-07 2017-12-01 众安信息技术服务有限公司 一种实现智能合约数据加密的方法和区块链
CN107464118A (zh) * 2017-08-16 2017-12-12 济南浪潮高新科技投资发展有限公司 一种基于区块链智能合约的数据交易方法
CN108234442A (zh) * 2017-10-26 2018-06-29 招商银行股份有限公司 获取合约的方法、系统及可读存储介质
CN108462568A (zh) * 2018-02-11 2018-08-28 西安电子科技大学 一种基于区块链的安全文件存储和共享方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109615378A (zh) * 2019-01-24 2019-04-12 上海点融信息科技有限责任公司 基于区块链的安全多方计算方法、装置及可读存储介质
CN110109684A (zh) * 2019-04-04 2019-08-09 平安科技(深圳)有限公司 区块链节点管理代理服务安装方法、电子装置及存储介质
CN110264195A (zh) * 2019-05-20 2019-09-20 阿里巴巴集团控股有限公司 结合代码标注与交易、用户类型的收据存储方法和节点
WO2020233610A1 (zh) * 2019-05-20 2020-11-26 创新先进技术有限公司 结合代码标注与用户、事件类型的收据存储方法和节点
WO2020233616A1 (zh) * 2019-05-20 2020-11-26 创新先进技术有限公司 结合代码标注与交易、用户类型的收据存储方法和节点
CN110264195B (zh) * 2019-05-20 2021-03-16 创新先进技术有限公司 结合代码标注与交易、用户类型的收据存储方法和节点
CN112751807B (zh) * 2019-10-31 2023-02-03 中国电信股份有限公司 安全通信方法、装置、系统和存储介质
CN112751807A (zh) * 2019-10-31 2021-05-04 中国电信股份有限公司 安全通信方法、装置、系统和存储介质
CN111523110A (zh) * 2019-11-08 2020-08-11 支付宝(杭州)信息技术有限公司 基于链代码的权限查询配置方法及装置
CN111523110B (zh) * 2019-11-08 2023-05-02 支付宝(杭州)信息技术有限公司 基于链代码的权限查询配置方法及装置
CN113765875A (zh) * 2020-11-17 2021-12-07 北京京东乾石科技有限公司 一种数据验证信息的反馈方法和装置
CN113765875B (zh) * 2020-11-17 2023-09-26 北京京东振世信息技术有限公司 一种数据验证信息的反馈方法和装置
CN113468489A (zh) * 2021-07-27 2021-10-01 浙江欣奕华智能科技有限公司 一种设备授权方法、授权码生成方法及相关装置

Similar Documents

Publication Publication Date Title
CN109040133A (zh) 在区块链网络中安装智能合约的方法、装置及存储介质
CN109255210A (zh) 在区块链网络中提供智能合约的方法、装置及存储介质
CN105391840B (zh) 自动创建目标应用程序
US10917394B2 (en) Data operations using a proxy encryption key
US10389727B2 (en) Multi-level security enforcement utilizing data typing
CN109741063A (zh) 基于区块链的数字签名方法和装置
CN103503366B (zh) 管理针对认证设备的数据
CN109118223A (zh) 用于在区块链中管理电子数据的方法、装置及介质
CN110088742A (zh) 使用加密配置数据的逻辑储存库服务
CN109358859A (zh) 在区块链网络中安装智能合约的方法、装置及存储介质
CN110199288A (zh) 交叉平台包围区数据密封
CN109740384A (zh) 基于区块链的数据存证方法和装置
CN109074449A (zh) 在安全飞地中灵活地供应证明密钥
CN109074466A (zh) 用于服务器的平台证明和注册
CN108140093A (zh) 使用用于设备的硬件信任根来迁移秘密
CN107851167A (zh) 在计算环境中保护计算数据的技术
CN110199284A (zh) 交叉平台包围区身份
CN109213501A (zh) 在区块链网络中安装智能合约的方法、装置及存储介质
CN110214324A (zh) 密钥保管库包围区
US20080148062A1 (en) Method for the secure storing of program state data in an electronic device
CN105408912A (zh) 处理认证和资源许可
CN110214323A (zh) 包围区抽象模型
CN107404472A (zh) 用户发起的加密密钥的迁移
CN111885196B (zh) 用于访问物联网云平台的设备数据的方法、装置及系统
CN109086578A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190122

WD01 Invention patent application deemed withdrawn after publication