基于区块链智能合约的电子印章签署方法和装置与流程

文档序号:17147855发布日期:2019-03-19 23:08阅读:209来源:国知局
基于区块链智能合约的电子印章签署方法和装置与流程

本申请涉及区块链技术领域,特别是涉及一种基于区块链智能合约的电子印章签署方法和装置。



背景技术:

两方或多方签署合同时,经常需要在合同上加盖印章,以确保合同的真实性及有效性。而随着计算机技术的飞速发展,传统的纸质合同逐渐被电子合同取代,传统技术中,对电子合同加盖印章,通常是直接调用签署电子印章的接口,这种方式存在安全风险,当接口被恶意攻击时,很容易引起错误电子印章的错误签署。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够防止电子印章错误签署的基于区块链智能合约的电子印章签署方法和装置。

一种基于区块链智能合约的电子印章签署方法,所述方法包括:获取合同信息及所述合同信息对应的机构标识,根据所述合同信息及所述机构标识生成智能合约,所述智能合约中包括电子印章密钥;将所述智能合约写入区块链中;接收终端发送的电子印章签署请求,对所述电子印章签署请求进行共识校验;当共识校验通过后,获取目标电子印章密钥,当所述目标电子印章密钥与所述智能合约中的电子印章密钥一致时,执行所述智能合约,得到已签署电子印章的电子合同。

在其中一个实施例中,所述电子印章签署请求携带当前机构标识,所述获取目标电子印章密钥之前,包括:根据所述当前机构标识查找对应的第一电子印章子密钥,并接收区块链节点返回的所述当前机构标识对应的第二电子印章子密钥;所述获取目标电子印章密钥,包括:将所述第一电子印章子密钥与所述第二电子印章子密钥按照预设的顺序进行组合,得到所述目标电子印章密钥。

在其中一个实施例中,所述接收终端发送的电子印章签署请求之前,包括:接收终端发送的电子合同生成请求,所述电子合同生成请求中携带场景标识、用户标识;根据所述场景标识查找对应的合同模板及合同要素;根据所述用户标识查找所述合同要素对应的字段信息;根据所述合同模板、所述合同要素及所述字段信息生成电子合同。

在其中一个实施例中,所述根据所述合同信息及所述机构标识生成智能合约,包括:根据所述合同信息和所述机构标识生成智能合约文本;根据所述智能合约文本生成初始智能合约,并对所述初始智能合约进行形式化验证,当验证通过时,得到所述智能合约。

在其中一个实施例中,所述将所述智能合约写入区块链中,包括:通过对等网络的方式将所述智能合约扩散到所述区块链中,所述区块链用于对所述智能合约进行共识;当所述区块链在预设时间内对所述智能合约共识通过时,根据所述智能合约生成区块;将所述区块扩散到区块链中,所述区块链用于对所述区块进行验证,当验证通过时,将所述区块写入区块链。

在其中一个实施例中,所述根据所述合同信息及所述机构标识生成智能合约之前,所述方法包括:建立预设智能合约模板;所述根据所述合同信息及所述机构标识生成智能合约,包括:根据所述智能合约模板、所述合同信息及所述机构标识生成智能合约。

一种基于区块链智能合约的电子印章签署装置,所述装置包括:智能合约生成模块,用于获取合同信息及所述合同信息对应的机构标识,根据所述合同信息及所述机构标识生成智能合约,所述智能合约中包括电子印章密钥;写入模块,用于将所述智能合约写入区块链中;电子印章签署请求接收模块,用于接收终端发送的电子印章签署请求,对所述电子印章签署请求进行共识校验;智能合约执行模块,用于当共识校验通过后,获取目标电子印章密钥,当所述目标电子印章密钥与所述智能合约中的电子印章密钥一致时,执行所述智能合约,得到已签署电子印章的电子合同。

在其中一个实施例中,所述电子印章签署请求携带当前机构标识,所述装置还包括电子印章子密钥获取模块,用于根据所述当前机构标识查找对应的第一电子印章子密钥,并接收区块链节点返回的所述当前机构标识对应的第二电子印章子密钥;所述智能合约执行模块还用于将所述第一电子印章子密钥与所述第二电子印章子密钥按照预设的顺序进行组合,得到所述目标电子印章密钥。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链智能合约的电子印章签署方法所述的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于区块链智能合约的电子印章签署方法所述的步骤。

上述基于区块链智能合约的电子印章签署方法、装置、计算机设备和存储介质,首先获取合同信息及所述合同信息对应的机构标识,根据所述合同信息及所述机构标识生成智能合约,所述智能合约中包括电子印章密钥,将所述智能合约写入区块链中,在接收终端发送的电子印章签署请求时,将所述电子印章签署请求在所述区块链中进行扩散,所述区块链用于对所述电子印章签署请求进行共识,当共识通过后,获取目标电子印章密钥,当所述目标电子印章密钥与所述智能合约中的电子印章密钥一致时,执行所述智能合约,得到已签署电子印章的电子合同,本申请中,由于区块链中的信息是不可篡改的,因此将合同信息与机构标识写入区块链智能合约中,可以保证数据安全,从而防止电子印章的错误签署。

附图说明

图1为一个实施例中基于区块链智能合约的电子印章签署方法的应用场景图;

图2为一个实施例中基于区块链智能合约的电子印章签署方法的流程示意图;

图3为一个实施例中步骤s204的流程示意图;

图4为一个实施例中基于区块链智能合约的电子印章签署装置的结构框图;

图5为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的基于区块链智能合约的电子印章签署方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104首先获取合同信息及合同信息对应的机构标识,根据合同信息及机构标识生成智能合约,该智能合约中存储有电子印章密钥,然后将智能合约写入区块链中,当接收到终端102发送的电子印章签署请求时,将该电子印章签署请求加入待验证队列,并将该电子印章签署请求在区块链中扩散,区块链中的节点对电子印章签署请求进行共识,当共识通过后,服务器104获取目标电子印章密钥,当该目标电子印章密钥与智能合约中的电子印章密钥一致时,执行智能合约,以得到已签署电子印章的电子合同。

其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种基于区块链智能合约的电子印章签署方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

步骤s202,获取合同信息及合同信息对应的机构标识,根据合同信息及机构标识生成智能合约,智能合约中包括电子印章密钥。

其中,合同信息包括合同模板标识、合同要素、合同要素对应的字段信息以及该合同对应的电子印章密钥、电子印章的有限期限等数据;机构标识用于标识电子印章对应的签署机构。合同模板、合同要素及合同要素对应的字段信息可构成一份完整的电子合同,其中,合同模板、合同要素与业务场景对应,合同要素对应的字段信息与合同签署用户对应,其中的业务场景例如租赁场景、贷款场景等,合同要素指的是组成合同信息的字段类型,例如,借款人、身份证号、住址、贷款人等等。

在本实施例中,服务器在获取到合同信息及合同信息对应的机构标识后,可根据合同信息及机构标识生成智能合约,生成的智能合约中存储了合同信息和机构标识等数据。其中,智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约是代码和数据的集合。

步骤s204,将智能合约写入区块链中。

具体地,签订合同的双方,包括合同签署用户及签署机构,首先需要注册成为区块链的用户,注册成功时,区块链会分别返回合同签署用户及签署机构一对公钥和私钥,当服务器生成智能合约后,合同签署用户及签署机构分别采用各自的私钥对智能合约进行签名,以保证合约的有效性,然后将签名后的智能合约写入区块链中。

在一个实施例中,服务器将智能合约写入区块链中,具体包括以下步骤:服务器首先通过对等网络的方式将智能合约扩散到区块链中,区块链中的节点对智能合约进行共识;当在预设时间内对智能合约共识通过时,根据智能合约生成区块;将区块扩散到区块链中,区块链中的节点对区块进行验证,当验证通过时,将区块写入区块链。

步骤s206,接收终端发送的电子印章签署请求,对该电子印章签署请求进行共识校验。

具体地,电子印章签署请求中携带待签署电子合同对应的当前合同信息及当前机构标识,其中,当前合同信息包括待签署电子合同对应的合同模板标识、合同要素、合同要素对应的字段信息。在一个实施例中,终端向服务器发送电子印章签署请求之前,服务器需要先生成一份电子合同,将电子合同发送至终端,终端对应的合同签署用户对电子合同进行签名,签名完后,终端将该签好名的电子合同发送至服务器,同时向服务器发送电子印章签署请求,电子印章签署请求用于指示服务器对电子合同加盖合同签署机构的电子印章。

进一步,服务器接收到电子印章签署请求后,将该电子印章签署请求在区块链中进行扩散,区块链中各个节点对该电子印章签署请求进行校验,包括验证待签署电子合同对应的合同信息与智能合约中的合同信息是否相同、待签署电子合同对应的机构标识与只能合约中的机构标识是否相同、电子印章签署请求对应的时间戳是否在在智能合约中约定的有效期限内等。当大部分节点对电子印章签署请求的校验通过后,则确定为共识校验通过。

步骤s208,当共识校验通过后,获取目标电子印章密钥,当目标电子印章密钥与智能合约中的电子印章密钥一致时,执行智能合约,得到已签署电子印章的电子合同。

具体地,当共识通过后,服务器根据电子印章签署请求中携带的当前机构标识获取对应的目标电子印章密钥,当获取到的目标电子印章密钥与只能合约中的电子印章密钥一致时,执行智能合约,得到已签署电子印章的电子合同。

在一个实施例中,目标电子印章密钥存储在服务器的内存中,服务器可根据当前电子印章密钥直接查到目标电子印章密钥,查找到电子印章密钥后,服务器将获取的电子印章密钥在区块链中扩散,当区块链中大多数节点对该目标电子印章密钥校验通过时,则确定该目标电子印章密钥与智能合约中的电子印章密钥一致,此时,智能合约自动执行,对电子合同加盖印章,得到已签署电子印章的电子合同。

上述基于区块链智能合约的电子印章签署方法中,服务器首先获取合同信息及合同信息对应的机构标识,根据合同信息及机构标识生成智能合约,智能合约中包括电子印章密钥,将智能合约写入区块链中,在接收终端发送的电子印章签署请求时,将电子印章签署请求在区块链中进行扩散,区块链用于对电子印章签署请求进行共识,当共识通过后,获取目标电子印章密钥,当目标电子印章密钥与智能合约中的电子印章密钥一致时,执行智能合约,得到已签署电子印章的电子合同,本申请中,由于区块链中的信息是不可篡改的,因此将合同信息与机构标识写入区块链智能合约中,可以保证数据安全,从而防止电子印章的错误签署。

在一个实施例中,电子印章签署请求携带当前机构标识,获取目标电子印章密钥之前,包括:根据当前机构标识查找对应的第一电子印章子密钥,并接收区块链节点返回的当前机构标识对应的第二电子印章子密钥;获取目标电子印章密钥,包括:将第一电子印章子密钥与第二电子印章子密钥按照预设的顺序进行组合,得到目标电子印章密钥。

在本实施例中,为进一步保证电子印章密钥的安全性和合规性,将合同对应的电子印章密钥分布式存储在区块链的各个节点上,服务器在接收到电子印章签署请求后,会对电子印章签署请求进行校验,校验通过后,根据电子印章签署请求中携带的当前机构标识查找对应的第一电子印章子密钥,同时,将电子印章签署请求在区块链中扩散,区块链中的各个节点对该电子印章签署请求进行校验,当任意一个区块链节点对电子印章签署请求校验通过时,该区块链节点可根据电子印章签署请求中携带的当前机构标识查找对应的第二电子印章子密钥,将第二电子印章子密钥返回给服务器,当共识通过后,服务器获取到多个电子印章子密钥,首先对这些电子印章子密钥进行去重操作,然后按照预设的顺序进行组合,从而得到电子印章密钥。

本实施例中,通过将电子印章密钥进行分布式存储,服务器只有获取到多个电子印章子密钥才能组合得到电子印章密钥,从而进一步保证了电子印章密钥存在的安全性。

在一个实施例中,接收终端发送的电子印章签署请求之前,包括:接收终端发送的电子合同生成请求,电子合同生成请求中携带场景标识、用户标识;根据场景标识查找对应的合同模板及合同要素;根据用户标识查找合同要素对应的字段信息;根据合同模板、合同要素及字段信息生成电子合同。

其中,场景标识用于标识业务场景,业务场景例如与贷款、租赁等业务相关的场景;用户标识用于唯一标识合同签署用户的身份。服务器接收到电子合同生成请求后,对该请求进行解析,得到其中携带的场景标识和用户标识,然后可以根据场景标识查找对应的合同模板及合同要素,其中,合同模板指的是抽取已有合同的固定格式和/或固定字段得到的模板,合同要素指的是组成合同的变量字段类型,例如,借款人、身份证号、住址、贷款人等等。

进一步,服务器根据用户标识可以从数据库中查找到各个合同要素对应的字段信息,例如,借款人的字段信息;张三。在获取到合同模板、合同要素及合同要素对应的字段信息后,将合同要素及字段信息写入到合同模板中,从而得到电子合同。

本实施例中,通过设置合同模板、合同要素,可以快速生成电子合同,提高了电子合同的生成效率。

在一个实施例中,根据合同信息及机构标识生成智能合约,包括:根据合同信息和机构标识生成智能合约文本;根据该智能合约文本生成初始智能合约,并对该初始智能合约进行形式化验证,当验证通过时,即得到智能合约。

其中,智能合约文本是将自然语言描述的合同信息和机构标识通过形式化的描述,转化为形式化的规格说明得到的文本。形式化验证是指是验证已有的程序是否满足其规约的要求。一般分为模型检测和演绎验证,分别基于状态搜索和定理证明两种思想。

具体地,服务器将合同信息和机构标识转化为规则的自然语言描述,即命题逻辑,就得到了智能合约文本,根据智能合约文本通过智能合约语言(比如solidity语言,一种智能合约高级语言)建立智能合约的可执行代码,得到了初始智能合约,然后对初始智能合约进行形式化验证,即验证初始智能合约是否满足规约的要求,使用spin(simplepromelainterpreter,适合于并行系统,尤其是协议一致性的辅助分析检测工具))工具进行验证,首先使用并行进程建立初始智能合约的promela(spin的建模语言)模型,使用spin工具验证promela模型是否满足线性时序逻辑(ltl)公式描述的安全性,通过验证结果来判断执行合约是否满足规约的要求,当验证结果出现反例时,说明智能合约存在缺陷,修改智能合约中的缺陷。当验证结果全部正确时,得到智能合约。其中,智能合约的代码结构分为结构体和函数两部分,结构体记录了合同信息和机构标识的相关数据,函数提供了对外操作的应用程序接口代码。

上述实施例中,通过对智能合约进行形式化验证可以保证智能合约的安全无漏洞。

在一个实施例中,如图3所示,步骤s204中,将智能合约写入区块链中,包括:

步骤s302,通过对等网络的方式将智能合约扩散到区块链中,区块链用于对智能合约进行共识。

其中,对等网络,即p2p(peertopeer),是指对等计算机网络,是一种在对等者之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式,其特点包括非中心化、可扩展性和高性价比等。

具体地,智能合约通过p2p的方式在区块链全网中扩散,区块链节点都会收到该智能合约,并将该智能合约保存到内存中,等待共识。其中共识是实现不同节点之间建立信任、获取权益的过程。

步骤s304,当区块链在预设时间内对智能合约共识通过时,根据智能合约生成区块。

具体地,当共识时间到时,区块链节点会计算保存在内存中的智能合约的哈希值,并通过该哈希值和智能合约组成区块结构,将该区块结构扩散到其他区块链节点中,其他区块链节点获取到区块结构中智能合约对应的哈希值,并将该哈希值与自己保存的智能合约的哈希值进行比较,同时每个区块链节点都将自己保存的智能合约发送到其它的区块链节点中进行比较,最后,所有区块链节点在预设时间内对智能合约达成一致时,表示区块链对该智能合约的共识通过,服务器根据该智能合约生成区块,区块中包括以下信息:当前区块的哈希值、前一区块的哈希值、达成共识时的时间戳、描述信息和智能合约。

s306,将区块扩散到区块链中,区块链用于对区块进行验证,当验证通过时,将区块写入区块链。

具体地,共识通过的智能合约以区块的形式扩散到区块链节点中,当区块链节点接收到该智能合约时,对该智能合约进行验证,验证该智能合约中合同签署用户和合同签署机构的私钥签名是否与区块链节点的账户匹配,当验证通过时,将智能合约写入区块链中。

上述实施例中,通过共识的方式将智能合约写入区块链中,保证了智能合约的不可篡改。

在一个实施例中,根据合同信息及机构标识生成智能合约之前,方法包括:建立预设智能合约模板;根据合同信息及机构标识生成智能合约,包括:根据智能合约模板、合同信息及机构标识生成智能合约。

其中,预设智能合约模板是根据智能合约中具有固定特征的代码建立的,具有固定特征的代码是指根据合同信息和机构标识建立的智能合约中具有相同功能、相同属性和相同方法的代码段。

具体地,生成智能合约时,将智能合约中具有固定特征的代码抽取出来,将抽取出来的代码保存在数据库中,得到预设智能合约模板,每次在生成智能合约时都将智能合约中具有固定特征的代码抽取出来,将抽取出来的代码保存在数据库中,就会形成智能合约模板库。当服务器需要生成智能合约时,从数据库中查找智能合约模板,然后根据智能合约模板、合同信息及机构标识生成智能合约。例如,根据机构标识生成的代码,是具有相同的功能的代码,将该部分的代码保存到数据库中。在生成智能合约时,获取到该部分的代码,只要修改机构标识对应的参数,就可以生成智能合约中该机构标识对应的代码,从而能够提高智能合约的生成效率。

应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图4所示,提供了一种基于区块链智能合约的电子印章签署装置400,包括:智能合约生成模块402、写入模块404、电子印章签署请求接收模块406和智能合约执行模块408,其中:

智能合约生成模块402用于获取合同信息及合同信息对应的机构标识,根据合同信息及机构标识生成智能合约,智能合约中包括电子印章密钥;

写入模块404用于将智能合约写入区块链中;

电子印章签署请求接收模块406用于接收终端发送的电子印章签署请求,对电子印章签署请求进行共识校验;

智能合约执行模块408用于当共识校验通过后,获取目标电子印章密钥,当目标电子印章密钥与智能合约中的电子印章密钥一致时,执行智能合约,得到已签署电子印章的电子合同。

在一个实施例中,电子印章签署请求携带当前机构标识,上述装置还包括电子印章子密钥获取模块,用于根据当前机构标识查找对应的第一电子印章子密钥,并接收区块链节点返回的当前机构标识对应的第二电子印章子密钥;智能合约执行模块还用于将第一电子印章子密钥与第二电子印章子密钥按照预设的顺序进行组合,得到目标电子印章密钥。

在一个实施例中,上述装置还包括:电子合同生成模块,用于接收终端发送的电子合同生成请求,电子合同生成请求中携带场景标识、用户标识;根据场景标识查找对应的合同模板及合同要素;根据用户标识查找合同要素对应的字段信息;根据合同模板、合同要素及字段信息生成电子合同。

在一个实施例中,智能合约生成模块还用于根据合同信息和机构标识生成智能合约文本;根据智能合约文本生成初始智能合约,并对初始智能合约进行形式化验证,当验证通过时,得到智能合约。

在一个实施例中,写入模块还用于通过对等网络的方式将智能合约扩散到区块链中,区块链用于对智能合约进行共识;当区块链在预设时间内对智能合约共识通过时,根据智能合约生成区块;将区块扩散到区块链中,区块链用于对区块进行验证,当验证通过时,将区块写入区块链。

在一个实施例中,上述装置还包括;模板建立模块,用于建立预设智能合约模板;智能合约生成模块用于根据智能合约模板、合同信息及机构标识生成智能合约。

关于基于区块链智能合约的电子印章签署装置的具体限定可以参见上文中对于基于区块链智能合约的电子印章签署方法的限定,在此不再赘述。上述基于区块链智能合约的电子印章签署装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于合同信息、机构标识、电子印章秘钥等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链智能合约的电子印章签署方法。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取合同信息及合同信息对应的机构标识,根据合同信息及机构标识生成智能合约,智能合约中包括电子印章密钥;将智能合约写入区块链中;接收终端发送的电子印章签署请求,对电子印章签署请求进行共识校验;当共识校验通过后,获取目标电子印章密钥,当目标电子印章密钥与智能合约中的电子印章密钥一致时,执行智能合约,得到已签署电子印章的电子合同。

在一个实施例中,电子印章签署请求携带当前机构标识,获取目标电子印章密钥之前,处理器执行计算机程序时还实现以下步骤:根据当前机构标识查找对应的第一电子印章子密钥,并接收区块链节点返回的当前机构标识对应的第二电子印章子密钥;获取目标电子印章密钥,包括:将第一电子印章子密钥与第二电子印章子密钥按照预设的顺序进行组合,得到目标电子印章密钥。

在一个实施例中,接收终端发送的电子印章签署请求之前,处理器执行计算机程序时还实现以下步骤:接收终端发送的电子合同生成请求,电子合同生成请求中携带场景标识、用户标识;根据场景标识查找对应的合同模板及合同要素;根据用户标识查找合同要素对应的字段信息;根据合同模板、合同要素及字段信息生成电子合同。

在一个实施例中,根据合同信息及机构标识生成智能合约,包括:根据合同信息和机构标识生成智能合约文本;根据智能合约文本生成初始智能合约,并对初始智能合约进行形式化验证,当验证通过时,得到智能合约。

在一个实施例中,将智能合约写入区块链中,包括:通过对等网络的方式将智能合约扩散到区块链中,区块链用于对智能合约进行共识;当区块链在预设时间内对智能合约共识通过时,根据智能合约生成区块;将区块扩散到区块链中,区块链用于对区块进行验证,当验证通过时,将区块写入区块链。

在一个实施例中,根据合同信息及机构标识生成智能合约之前,处理器执行计算机程序时还实现以下步骤:建立预设智能合约模板;根据合同信息及机构标识生成智能合约,包括:根据智能合约模板、合同信息及机构标识生成智能合约。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取合同信息及合同信息对应的机构标识,根据合同信息及机构标识生成智能合约,智能合约中包括电子印章密钥;将智能合约写入区块链中;接收终端发送的电子印章签署请求,对电子印章签署请求进行共识校验;当共识校验通过后,获取目标电子印章密钥,当目标电子印章密钥与智能合约中的电子印章密钥一致时,执行智能合约,得到已签署电子印章的电子合同。

在一个实施例中,电子印章签署请求携带当前机构标识,获取目标电子印章密钥之前,计算机程序被处理器执行时还实现以下步骤:根据当前机构标识查找对应的第一电子印章子密钥,并接收区块链节点返回的当前机构标识对应的第二电子印章子密钥;获取目标电子印章密钥,包括:将第一电子印章子密钥与第二电子印章子密钥按照预设的顺序进行组合,得到目标电子印章密钥。

在一个实施例中,接收终端发送的电子印章签署请求之前,计算机程序被处理器执行时还实现以下步骤:接收终端发送的电子合同生成请求,电子合同生成请求中携带场景标识、用户标识;根据场景标识查找对应的合同模板及合同要素;根据用户标识查找合同要素对应的字段信息;根据合同模板、合同要素及字段信息生成电子合同。

在一个实施例中,根据合同信息及机构标识生成智能合约,包括:根据合同信息和机构标识生成智能合约文本;根据智能合约文本生成初始智能合约,并对初始智能合约进行形式化验证,当验证通过时,得到智能合约。

在一个实施例中,将智能合约写入区块链中,包括:通过对等网络的方式将智能合约扩散到区块链中,区块链用于对智能合约进行共识;当区块链在预设时间内对智能合约共识通过时,根据智能合约生成区块;将区块扩散到区块链中,区块链用于对区块进行验证,当验证通过时,将区块写入区块链。

在一个实施例中,根据合同信息及机构标识生成智能合约之前,计算机程序被处理器执行时还实现以下步骤:建立预设智能合约模板;根据合同信息及机构标识生成智能合约,包括:根据智能合约模板、合同信息及机构标识生成智能合约。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1