CN109035024A - 电子签约的方法、系统和存储介质 - Google Patents
电子签约的方法、系统和存储介质 Download PDFInfo
- Publication number
- CN109035024A CN109035024A CN201810932894.6A CN201810932894A CN109035024A CN 109035024 A CN109035024 A CN 109035024A CN 201810932894 A CN201810932894 A CN 201810932894A CN 109035024 A CN109035024 A CN 109035024A
- Authority
- CN
- China
- Prior art keywords
- contract
- signing
- equipment
- signing equipment
- block chain
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Development Economics (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种电子签约的方法、系统和存储介质,包括如下步骤:第一签约设备根据用户操作创建电子合约,并根据第一算法得到电子合约的哈希值;第一签约设备将哈希值和电子合约上传至区块链,以使得区块链根据电子合约、哈希值、第一签约设备的公钥和第二签约设备的公钥生成对应的合约指纹;第一签约设备和第二签约设备获取区块链上的合约指纹,并对合约指纹进行验证;若验证成功,则第一签约设备和第二签约设备分别使用私钥对合约指纹签名,并分别将签名后的合约指纹上传至区块链,完成电子签约。本发明旨在解决现有的电子签约技术中无法保证签约的真实性,且签约设备的合约信息和个人信息容易被盗用的问题。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种电子签约的方法、系统和存储介质。
背景技术
电子签约是指在网络条件下双方或多方当事人之间为了实现一定的目的,通过电子信息网络以电子数据的形式签订的明确双方权利义务关系的一种签约技术。电子签约作为一种新型的签约技术,通过加密技术以电子文档的形式形成具有法律效力的合约或协议,具有不可篡改性、可信性和便捷性等优点,因此,在目前的网络经济活动中,电子签约的商务模式已经逐渐取代传统的人工签约方式。
目前大多数电子签约过程都是在网络上通过第三方平台签署,解决了签约合同的存证问题,在需要举证的时候从网络存证中心直接调取合约,用来做司法举证,无需调取纸质合同。但是现有的电子签约技术无法确定合约的签订是否是签约设备的真实签约行为,签约的真实性得不到保证;且签约设备的个人信息存储在第三方平台的数据库中,一旦签约设备的个人信息被第三方平台盗用进行签约的话,将严重损害用户的权益。
发明内容
本发明的主要目的在于提供一种电子签约的方法、系统和存储介质。旨在解决现有的电子签约技术中无法保证签约的真实性,且签约设备的合约信息和个人信息容易被盗用的问题。
为实现上述目的,本发明提供一种电子签约的方法,包括如下步骤:
第一签约设备根据用户操作创建对应的电子合约,并根据第一算法计算得到所述电子合约的哈希值;
第一签约设备将所述哈希值和所述电子合约上传至区块链,以使得区块链根据所述电子合约、所述哈希值、第一签约设备对应的预存的公钥和第二签约设备对应的预存的公钥生成对应的合约指纹;
第一签约设备和第二签约设备获取区块链上存储的所述合约指纹,并对获取到的合约指纹进行验证;
若验证成功,则第一签约设备和第二签约设备分别使用对应的预存的私钥对所述合约指纹签名,并分别将所述签名后的合约指纹上传至区块链,完成电子签约。
可选地,所述第一签约设备和第二签约设备获取区块链上存储的所述合约指纹,并对获取到的所述合约指纹进行验证的步骤包括:
第一签约设备获取区块链上存储的所述合约指纹,并根据所述第一算法计算得到所述合约指纹的哈希值,当所述合约指纹的哈希值与所述合约的哈希值一致时,即为验证成功;
第二签约设备获取区块链上存储的所述合约指纹,并根据所述第一算法计算得到所述合约指纹的哈希值,当所述合约指纹的哈希值与所述合约的哈希值一致时,即为验证成功。
可选地,所述若验证成功,则第一签约设备和第二签约设备分别使用对应的预存的私钥对所述合约指纹签名,并分别将所述签名后的合约指纹上传至区块链的步骤之后包括:
第一签约设备和第二签约设备使得区块链接收被第一签约设备的私钥签名后的合约指纹和被第二签约设备的私钥签名的合约指纹,并分别验证所述签名是否与所述合约指纹相匹配;
若所述签名与所述合约指纹相匹配,则第一签约设备和第二签约设备完成电子签约。
可选地,所述第一签约设备根据用户操作创建对应的电子合约,并根据第一算法计算得到所述电子合约的哈希值的步骤之前还包括:
第一签约设备将与第一签约设备对应的个人签约信息上传至区块链。
可选地,所述第一签约设备将与第一签约设备对应的个人签约信息上传至区块链的步骤包括:
第一签约设备根据第二算法计算得到第一签约设备对应的私钥和公钥;
第一签约设备读取与所述第一签约设备对应的用户信息,并对所述用户信息进行验证;
若验证成功,则第一签约设备根据所述第一签约设备的公钥和所述第一签约设备的用户信息生成对应的个人签约信息,并将所述个人签约信息上传至区块链。
可选地,所述第一签约设备将所述哈希值和所述电子合约上传至区块链的步骤包括:
第一签约设备将所述哈希值、所述电子合约及所述电子合约中对应的合约关键信息上传至区块链。
可选地,所述第一算法包括MD5码哈希算法,所述第二算法包括椭圆加密算法。
可选地,所述合约关键信息包括合约MD5码及数据变动信息。
此外,为实现上述目的,本发明还提供一种电子签约系统,所述电子签约系统包括:区块链、包括存储器和处理器的第一签约设备、包括存储器和处理器的第二签约设备及存储在所述第一签约设备的存储器和所述第二签约存储器上并可被所述第一签约设备的处理器和所述第二签约处理器运行的电子签约程序,所述电子签约程序被执行时实现如上所述的电子签约方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有电子签约程序,所述电子签约程序被处理器执行时实现如上所述的电子签约方法的步骤。
本发明提供了一种电子签约的方法、系统和存储介质,包括如下步骤:第一签约设备根据用户操作创建对应的电子合约,并根据第一算法计算得到电子合约的哈希值;第一签约设备将哈希值和电子合约上传至区块链,以使得区块链根据电子合约、哈希值、第一签约设备对应的预存的公钥和第二签约设备对应的预存的公钥生成对应的合约指纹;第一签约设备和第二签约设备获取区块链上存储的合约指纹,并对获取到的合约指纹进行验证;若验证成功,则第一签约设备和第二签约设备分别使用对应的预存的私钥对合约指纹签名,并分别将签名后的合约指纹上传至区块链,完成电子签约。通过上述方式,本发明先是根据电子合约和哈希值得到合约指纹,由于哈希值能起到错误矫正的作用,即合约指纹一旦改变,哈希值也随之变化,通过比较哈希值的方式验证合约指纹,防止合约指纹被篡改;第一签约设备和第二签约设备分别使用对应的预存的私钥对合约指纹签名,由于私钥具有唯一性和不可篡改性,即一个私钥代表一台签约设备,在提高签约真实性的同时还提高了电子签约的安全性;第一签约设备和第二签约设备分别将用各自私钥签名后的合约指纹上传至区块链,由于区块链具有存储信息不可更改特点,因此将双方签名后的合约存储在区块链比存储在第三方平台中的数据库更为安全,也能防止合约信息被盗用。
此外,将第一签约设备的验证后的用户信息和第一签约设备的公钥作为第一签约设备对应的个人签约信息传送至区块链上,由于区块链本质上是一个去中心化的数据库,因此签约设备的个人信息无需存储在第三方平台中的数据库,避免签约设备的个人信息被第三方平台盗用进行签约。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;
图2为本发明电子签约方法一实施例的流程示意图;
图3为本发明实施例中所述第一签约设备和第二签约设备获取区块链上存储的合约指纹,并对合约指纹进行验证的步骤细化流程示意图;
图4为本发明电子签约方法又一实施例的流程示意图;
图5为本发明电子签约方法另一实施例的流程示意图;
图6为本发明实施例中所述第一签约设备将与第一签约设备对应的个人签约信息上传至区块链的步骤细化流程示意图;
图7为本发明实施例中所述第一签约设备将哈希值和电子合约上传至区块链的步骤细化流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端可以是电脑,也可以是智能手机、平板电脑、便携计算机等具有显示功能和输入功能的可移动式终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、WiFi模块等等,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及网络操作控制应用程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要包括输入单元比如键盘,键盘包括无线键盘和有线键盘,用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的电子签约程序,并执行以下操作:
第一签约设备根据用户操作创建对应的电子合约,并根据第一算法计算得到所述电子合约的哈希值;
第一签约设备将所述哈希值和所述电子合约上传至区块链,以使得区块链根据所述电子合约、所述哈希值、第一签约设备对应的预存的公钥和第二签约设备对应的预存的公钥生成对应的合约指纹;
第一签约设备和第二签约设备获取区块链上存储的所述合约指纹,并对获取到的所述合约指纹进行验证;
若验证成功,则第一签约设备和第二签约设备分别使用对应的预存的私钥对所述合约指纹签名,并分别将所述签名后的合约指纹上传至区块链,完成电子签约。
进一步地,处理器1001可以调用存储器1005中存储的电子签约程序,还执行以下操作:
所述第一签约设备和第二签约设备获取区块链上存储的所述合约指纹,并对获取到的所述合约指纹进行验证的步骤包括:
第一签约设备获取区块链上存储的所述合约指纹,并根据所述第一算法计算得到所述合约指纹的哈希值,当所述合约指纹的哈希值与所述合约的哈希值一致时,即为验证成功;
第二签约设备获取区块链上存储的所述合约指纹,并根据所述第一算法计算得到所述合约指纹的哈希值,当所述合约指纹的哈希值与所述合约的哈希值一致时,即为验证成功。
进一步地,处理器1001可以调用存储器1005中存储的电子签约程序,还执行以下操作:
所述若验证成功,则第一签约设备和第二签约设备分别使用对应的预存的私钥对所述合约指纹签名,并分别将所述签名后的合约指纹上传至区块链的步骤之后包括:
第一签约设备和第二签约设备使得区块链接收被第一签约设备的私钥签名的合约指纹和被第二签约设备的私钥签名的合约指纹,并分别验证所述签名是否与所述合约指纹相匹配;
若所述签名与所述合约指纹相匹配,则第一签约设备和第二签约设备完成电子签约。
进一步地,处理器1001可以调用存储器1005中存储的电子签约程序,还执行以下操作:
所述第一签约设备根据用户操作创建对应的电子合约,并根据第一算法计算得到所述电子合约的哈希值的步骤之前还包括:
第一签约设备将与第一签约设备对应的个人签约信息上传至区块链。
进一步地,处理器1001可以调用存储器1005中存储的电子签约程序,还执行以下操作:
所述第一签约设备将与第一签约设备对应的个人签约信息上传至区块链的步骤包括:
第一签约设备根据第二算法计算得到第一签约设备对应的私钥和公钥;
第一签约设备读取与所述第一签约设备对应的用户信息,并对所述用户信息进行验证;
若验证成功,则第一签约设备根据所述第一签约设备的公钥和所述第一签约设备的用户信息生成对应的个人签约信息,并将所述个人签约信息上传至区块链。
进一步地,处理器1001可以调用存储器1005中存储的电子签约程序,还执行以下操作:
所述第一签约设备将所述哈希值和所述电子合约上传至区块链的步骤包括:
第一签约设备将所述哈希值、所述电子合约及所述电子合约中对应的合约关键信息上传至区块链。
基于上述硬件结构,提出本发明电子签约方法的各个实施例。
请参阅图2,图2为本发明电子签约方法一实施例的流程示意图,本实施例提供的电子签约方法包括如下步骤:
步骤S10,第一签约设备根据用户操作创建对应的电子合约,并根据第一算法计算得到所述电子合约的哈希值;
在本发明实施例中,以该电子签约方法在手机上的APP(计算机应用程序)应用为例,应当理解的是,本发明公开的电子签约方法可以应用在电脑、智能手机、平板电脑、便携计算机等具有显示功能和输入功能的可移动式终端设备上。应当理解的是,由于一份合同的乙方可以为另一份合同的甲方,因此第一签约设备为泛指,可以为本实施例中的第一签约设备或第二签约设备。
为满足用户的不同签约需求,本实施例应用程序中预先设置有可定制化的合约模板,从而可提升用户的使用体验。预先设置的合约模板中包括多种类型,例如买卖合约模板、服务合约模板、租赁合约模板、借款合约模板等多种种类,可满足用户的不同签约需求;当然用户也可以根据自己的需求在应用程序界面自定义合约。合约包括签约参与方的名称或者姓名和住所,数量,价款或报酬,履行期限、地点和方式,违约责任等基本信息。
根据用户操作创建对应的电子合约后,第一签约设备根据第一算法计算电子合约的哈希值。第一算法包括MD5码哈希算法,哈希算法就是把任意长度的输入通过散列算法变换成固定长度的输出的一种算法。哈希算法包括SHA-1哈希算法、MD4码哈希算法和MD5码哈希算法等哈希算法。由于MD5码哈希算法具有安全性高,在抗分析和抗差分方面表现更好的特点,本实施例使用MD5码哈希算法,当然也可以使用其他哈希算法。使用第一算法计算电子合约的哈希值,哈希值把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来,能确保传递信息的真实性和起到错误矫正的作用。
步骤S20,第一签约设备将所述哈希值和所述电子合约上传至区块链,以使得区块链根据所述电子合约、所述哈希值、第一签约设备对应的预存的公钥和第二签约设备对应的预存的公钥生成对应的合约指纹;
本实施例中,第一签约设备将通过第一算法得到的哈希值和创建的电子合约上传至区块链,第一签约设备的公钥与私钥同时产生且优先于电子合约上传至区块链。区块链上存储有第一签约设备对应的公钥和第二签约设备对应的公钥,公钥是密钥对中公开的部分,公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。区块链根据第一签约设备上传的电子合约、哈希值、存储在区块链上的第一签约设备对应的公钥和存储在区块链上的第二签约设备对应的公钥生成的对应的合约指纹。由于用公钥加密的数据也必须用私钥解密,通过这种方式,保证了签约的真实性。其中,第一签约设备通常包括一台设备,第二签约设备可以是一台或者多台设备,即该签约方法,第一签约设备可以同时与一个或多个第二签约设备进行签约,从而可支持双方或多方签约。
步骤S30,第一签约设备和第二签约设备获取区块链上存储的所述合约指纹,并对获取到的所述合约指纹进行验证;
第一签约设备和第二签约设备分别获取区块链上存储的合约指纹,并根据第一算法得到合约指纹的MD5码哈希值。MD5码是根据公开的MD5算法对原信息进行数学变换后得到的一个128位的特征码,具有唯一性,MD5码更改则表示合约发生变动。根据合约指纹的MD5码的特征,验证合约是否被更改。若合约指纹的MD5码哈希值与上述得到的电子合约的哈希值一致,表示合约内容未有更改,则为验证成功。应当理解的是,第一签约设备需要对得到的合约指纹进行验证,第二签约设备也需要对得到的合约指纹进行验证。当双方均验证成功后,进行电子签约方法的下一操作。通过这种验证合约内容是否更改的方式,加强了电子签约的真实性。
步骤S40,若验证成功,则第一签约设备和第二签约设备分别使用对应的预存的私钥对所述合约指纹签名,并分别将所述签名后的合约指纹上传至区块链,完成电子签约。
当第一签约设备和第二签约设备均验证成功后,即均确定合约的内容未有更改,则第一签约设备和第二签约设备分别使用对应的预存的私钥对所述合约指纹签名,并将各自签名后的合约指纹上传至区块链,即代表第一签约设备合第二签约设备同意合约并签署合约。
私钥与公钥同时产生,与公钥不同的是,私钥存储在签约设备的存储器内,与用户所使用的签约设备一一对应,即一台签约设备对应一个唯一的私钥,从而保证签约活动的真实性。
应当理解的是,本实施例中第二签约设备是泛指,其可以是一台也可以是多台设备,因此第二签约设备的合约指纹上可以包括两位和/或多位用户的签名。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,它本质上是一个去中心化的数据库。由于区块链具有去中心化的特点,因此被签约双方私钥签名后的合约无需存储在第三方平台中的数据库,从而防止第三方平台盗用合约信息,解决合约信息容易被盗用的问题。
此外,将双方各自签名后的合约指纹上传到区块链,当签约一方的权益受到损害,需要司法举证时,也能使司法举证的过程更简单。例如,当签约一方需要司法举证时,可以在区块链上获取签约双方的公钥验证来合同的真实性,即合约上有与签约双方的公钥对应的私钥时,确定合约是由签约双方签订。举证方也可以将保存的具有签约双方私钥签名的PDF合约与存储在区块链中的合约进行对比,验证合约真实性,达到简化举证流程的目的。
本实施例中的电子签约的方法包括如下步骤:第一签约设备根据用户操作创建对应的电子合约,并根据第一算法计算得到电子合约的哈希值;第一签约设备将哈希值和电子合约上传至区块链,以使得区块链根据电子合约、哈希值、第一签约设备对应的预存的公钥和第二签约设备对应的预存的公钥生成对应的合约指纹;第一签约设备和第二签约设备获取区块链上存储的合约指纹,并对获取到的合约指纹进行验证;若验证成功,则第一签约设备和第二签约设备分别使用对应的预存的私钥对合约指纹签名,并分别将签名后的合约指纹上传至区块链,完成电子签约。通过上述方式,本发明先是根据电子合约的哈希值得到合约指纹,由于哈希值能起到错误矫正的作用,即合约指纹一旦改变,哈希值也随之变化,通过比较哈希值的方式验证合约指纹,防止合约指纹被篡改;第一签约设备和第二签约设备分别使用对应的预存的私钥对合约指纹签名,由于私钥具有唯一性和不可篡改性,即一个私钥代表一台签约设备,在提高签约真实性的同时还提高了电子签约的安全性;第一签约设备和第二签约设备分别将用各自私钥签名后的合约指纹上传至区块链,由于区块链具有存储信息不可更改特点,因此将双方签名后的合约存储在区块链比存储在第三方平台中的数据库更为安全,也能防止合约信息被盗用。此外,将第一签约设备的验证后的用户信息和第一签约设备的公钥作为第一签约设备对应的个人签约信息传送至区块链上,由于区块链本质上是一个去中心化的数据库,因此签约设备的个人信息无需存储在第三方平台中的数据库,避免签约设备的个人信息被第三方平台盗用进行签约。
进一步的,参照图3,图3为本发明实施例中所述第一签约设备和第二签约设备获取区块链上存储的合约指纹,并对合约指纹进行验证的步骤细化流程示意图。上述第一签约设备和第二签约设备获取区块链上存储的合约指纹,并对合约指纹进行验证的步骤包括:
步骤S31,第一签约设备获取区块链上存储的所述合约指纹,并根据所述第一算法计算得到所述合约指纹的哈希值,当所述合约指纹的哈希值与所述合约的哈希值一致时,即为验证成功;
步骤S32,第二签约设备获取区块链上存储的所述合约指纹,并根据所述第一算法计算得到所述合约指纹的哈希值,当所述合约指纹的哈希值与所述合约的哈希值一致时,即为验证成功。
第一签约设备和第二签约设备获取区块链上存储的合约指纹,即区块链分别向第一签约设备和第二签约设备发送存储的合约指纹。第一签约设备和第二签约设备获取到合约指纹后,根据第一算法计算电子合约的哈希值。第一算法包括MD5码哈希算法,哈希算法就是把任意长度的输入通过散列算法变换成固定长度的输出的一种算法。哈希算法包括SHA-1哈希算法、MD4码哈希算法和MD5码哈希算法等哈希算法。由于MD5码哈希算法具有安全性高,在抗分析和抗差分方面表现更好的特点,本实施例使用MD5码哈希算法,当然也可以使用其他哈希算法。使用第一算法计算合约的哈希值,哈希值把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来,能确保传递信息的真实性和起到错误矫正的作用。
计算得到哈希值后,对合约指纹的哈希值进行验证,第一签约设备和第二签约设备比较得到的合约指纹的哈希值与上述电子合约的哈希值,当合约指纹的哈希值与电子合约的哈希值一致时,表明合约未被更改。当第一签约设备得到的合约指纹的哈希值与上述电子合约的哈希值一致时,且第二签约设备得到的合约指纹的哈希值与上述电子合约的哈希值也一致时,此时即为验证成功。
进一步的,参照图4,图4为本发明电子签约方法又一实施例的流程示意图。上述步骤S40第一签约设备和第二签约设备分别对获取到的合约指纹进行验证,若验证成功,则第一签约设备和第二签约设备分别使用对应的预存的私钥对所述合约指纹签名,并分别将所述签名后的合约指纹上传至区块链之后包括:
步骤S50,第一签约设备和第二签约设备使得区块链接收被第一签约设备的私钥签名的合约指纹和被第二签约设备的私钥签名的合约指纹,并分别验证所述签名是否与所述合约指纹相匹配;
步骤S60,若所述签名与所述合约指纹相匹配,则第一签约设备和第二签约设备完成电子签约。
第一签约设备和第二签约设备分别对获取到的合约指纹用各自对应的私钥进行签名后,将签名后的合约指纹上传至区块链。区块链接收到签名后的合约指纹,对第一签约设备发送的合约指纹和第二签约设备发送的合约指纹进行验证。公钥是密钥对中公开的部分,公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。由于用公钥加密的数据也必须用私钥解密,因此第一签约设备接收的合约指纹要使用第一签约设备的私钥进行解密,第二签约设备接收的合约指纹要使用第二签约设备的私钥进行解密。区块链具有检验私钥与公钥是否匹配的功能,区块链获取到签名后的合约指纹后,检验合约指纹上存储的公钥和签名上存储的私钥是否为一对密钥对,是否相互匹配。
当区块链接收到的第一签约设备的合约指纹与签名相匹配,且区块链接收到的第二签约设备的合约指纹与签名也相匹配时,即为匹配成功。匹配成功后,将被第一签约设备签名后的合约指纹和被第二签约设备签名后的合约指纹存储在区块链上,完成此次电子签约。
进一步的,参照图5,图5为本发明电子签约方法另一实施例的流程示意图。上述步骤S10第一签约设备根据用户操作创建对应的电子合约,并根据所述电子合约和第一签约设备的私钥生成对应的合约指纹之前包括:
步骤S70,第一签约设备将与第一签约设备对应的个人签约信息上传至区块链。
将第一签约设备的个人签约信息上传至区块链,应当理解的是,由于一份合同的乙方可以为另一份合同的甲方,因此上述第一签约设备为泛指,可以为本实施例中的第一签约设备或第二签约设备。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,它本质上是一个去中心化的数据库。由于区块链具有去中心化的特点,因此签约设备对应的个人签约信息无需存储在第三方平台中的数据库,从而防止第三方平台盗用签约设备的合约信息,避免个人信息被第三方平台盗用进行签约。
进一步的,参照图6,图6为本发明实施例中所述第一签约设备将与第一签约设备对应的个人签约信息上传至区块链的步骤细化流程示意图。上述第一签约设备将与第一签约设备对应的个人签约信息上传至区块链的步骤包括:
步骤S71,第一签约设备根据第二算法计算得到与第一签约设备对应的私钥和公钥;
步骤S72,第一签约设备读取与所述第一签约设备对应的用户信息,并对所述用户信息进行验证;
步骤S73,若验证成功,则第一签约设备根据所述第一签约设备的公钥和所述第一签约设备的用户信息生成对应的个人签约信息,并将所述个人签约信息上传至区块链。
第二算法包括椭圆加密算法,椭圆加密算法是一种公钥加密体制,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性,是一种建立公开密钥加密的算法,也就是非对称加密。基于椭圆加密算法生成用户所使用的签约设备的公钥和私钥,其中私钥与设备一一对应,一台设备只能生成对应的一个私钥。
对用户的身份进行身份认证,以确保身份的真实性,进而保证其签署的协议或合同真实并具有法律效力。第一签约设备的用户在第一签约设备的终端界面上输入自己的个人信息,应用程序可以联合公安部公民网络身份识别系统等机构对使用第一签约设备的用户的身份进行认证,认证方式可以包括手机验证、银行卡验证、身份证验证、人脸识别验证等。
当验证成功后,对用户的身份认证完成时,将记录第一签约设备的用户信息及第一签约设备对应的公钥生成个人签约信息,并向区块链上传第一签约设备对应的个人签约信息,其中个人签约信息包括第一签约设备对应的公钥。
区块链在获取到该个人签约信息时,将会公示该公钥,以说明该公钥是经过认证,是可信的。由于合约指纹上存储有第一签约设备的公钥和第二签约设备的公钥,因此区块链使用合约指纹上存储的公钥将合约指纹发送至第一签约设备和第二签约设备,方便第一签约设备和第二签约设备对各自接收到的合约指纹进行签名,通过这种方式,加快了签约的速度。
进一步的,参照图7,图7为本发明实施例中所述第一签约设备将哈希值和电子合约上传至区块链的步骤细化流程示意图。上述第一签约设备将所述哈希值和所述电子合约上传至区块链包括:
步骤S21,第一签约设备将所述哈希值、所述电子合约及所述电子合约中对应的合约关键信息上传至区块链。
第一签约设备得到电子合约的哈希值后,将合约中对应的合约关键信息上传至区块链,合约关键信息包括合约MD5码及数据变动信息,也可以包括模板编号等能特定标识合约的信息。第一签约设备将合约关键信息上传至区块链后,当第一签约设备需要在区块链上提取存储的电子合约时,可根据合约关键信息在区块链中快速提取。通过这种方式对存储在区块链中的电子合约进行了备份,避免了第一签约设备和第二签约设备丢失电子合约,无法完成电子签约的情况。
进一步的,所述第一算法包括MD5码哈希算法,所述第二算法包括椭圆加密算法。
第一算法包括MD5码哈希算法,哈希算法就是把任意长度的输入通过散列算法变换成固定长度的输出的一种算法。哈希算法包括SHA-1哈希算法、MD4码哈希算法和MD5码哈希算法等哈希算法。由于MD5码哈希算法具有安全性高,在抗分析和抗差分方面表现更好的特点,本实施例使用MD5码哈希算法,当然也可以使用其他哈希算法。
第二算法包括椭圆加密算法,椭圆加密算法是一种公钥加密体制,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性,是一种建立公开密钥加密的算法,也就是非对称加密。
进一步的,所述合约关键信息包括合约MD5码及数据变动信息。
合约关键信息包括合约MD5码及数据变动信息,也可以包括模板编号等能特定标识合约的信息。数据变动信息记载电子合约的变动记录,即使第一签约设备对电子合约进行了变动。也不妨碍对存储在区块链中的电子合约进行提取。其中,MD5码是根据公开的MD5算法对原信息进行数学变换后得到的一个128位的特征码,具有唯一性。根据合约的MD5码的特征,验证合约是否被更改。通过这种验证的,加强对于电子签约真实的验证,从而保证签约的真实性。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有电子签约程序,所述电子签约程序被处理器执行时实现如下操作:
第一签约设备根据用户操作创建对应的电子合约,并根据第一算法计算得到所述电子合约的哈希值;
第一签约设备将所述哈希值和所述电子合约上传至区块链,以使得区块链根据所述电子合约、所述哈希值、第一签约设备对应的预存的公钥和第二签约设备对应的预存的公钥生成对应的合约指纹;
第一签约设备和第二签约设备获取区块链上存储的所述合约指纹,并对获取到的所述合约指纹进行验证;
若验证成功,则第一签约设备和第二签约设备分别使用对应的预存的私钥对所述合约指纹签名,并分别将所述签名后的合约指纹上传至区块链,完成电子签约。
进一步地,所述电子签约程序被处理器执行时还实现如下操作:
所述第一签约设备和第二签约设备获取区块链上存储的所述合约指纹,并对获取到的所述合约指纹进行验证的步骤包括:
第一签约设备获取区块链上存储的所述合约指纹,并根据所述第一算法计算得到所述合约指纹的哈希值,当所述合约指纹的哈希值与所述合约的哈希值一致时,即为验证成功;
第二签约设备获取区块链上存储的所述合约指纹,并根据所述第一算法计算得到所述合约指纹的哈希值,当所述合约指纹的哈希值与所述合约的哈希值一致时,即为验证成功。
进一步地,所述电子签约程序被处理器执行时还实现如下操作:
所述第一签约设备和第二签约设备分别对获取到的合约指纹进行验证,若验证成功,则第一签约设备和第二签约设备分别使用对应的预存的私钥对所述合约指纹签名,并分别将所述签名后的合约指纹上传至区块链的步骤之后包括:
第一签约设备和第二签约设备使得区块链接收被第一签约设备的私钥签名的合约指纹和被第二签约设备的私钥签名的合约指纹,并分别验证所述签名是否与所述合约指纹相匹配;
若所述签名与所述合约指纹相匹配,则第一签约设备和第二签约设备完成电子签约。
进一步地,所述电子签约程序被处理器执行时还实现如下操作:
所述第一签约设备根据用户操作创建对应的电子合约,并根据第一算法计算得到所述电子合约的哈希值的步骤之前还包括:
第一签约设备将与第一签约设备对应的个人签约信息上传至区块链。
进一步地,所述电子签约程序被处理器执行时还实现如下操作:
所述第一签约设备将与第一签约设备对应的个人签约信息上传至区块链的步骤包括:
第一签约设备根据第二算法计算得到第一签约设备对应的私钥和公钥;
第一签约设备读取与所述第一签约设备对应的用户信息,并对所述用户信息进行验证;
若验证成功,则第一签约设备根据所述第一签约设备的公钥和所述第一签约设备的用户信息生成对应的个人签约信息,并将所述个人签约信息上传至区块链。
进一步地,所述电子签约程序被处理器执行时还实现如下操作:
所述第一签约设备将所述哈希值和所述电子合约上传至区块链的步骤包括:
第一签约设备将所述哈希值、所述电子合约及所述电子合约中对应的合约关键信息上传至区块链。
本发明计算机可读存储介质的具体实施例与上述电子签约方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种电子签约的方法,其特征在于,包括以下步骤:
第一签约设备根据用户操作创建对应的电子合约,并根据第一算法计算得到所述电子合约的哈希值;
第一签约设备将所述哈希值和所述电子合约上传至区块链,以使得区块链根据所述电子合约、所述哈希值、第一签约设备对应的预存的公钥和第二签约设备对应的预存的公钥生成对应的合约指纹;
第一签约设备和第二签约设备获取区块链上存储的所述合约指纹,并对获取到的所述合约指纹进行验证;
若验证成功,则第一签约设备和第二签约设备分别使用对应的预存的私钥对所述合约指纹签名,并分别将所述签名后的合约指纹上传至区块链,完成电子签约。
2.如权利要求1所述的电子签约的方法,其特征在于,所述第一签约设备和第二签约设备获取区块链上存储的所述合约指纹,并对获取到的所述合约指纹进行验证的步骤包括:
第一签约设备获取区块链上存储的所述合约指纹,并根据所述第一算法计算得到所述合约指纹的哈希值,当所述合约指纹的哈希值与所述合约的哈希值一致时,即为验证成功;
第二签约设备获取区块链上存储的所述合约指纹,并根据所述第一算法计算得到所述合约指纹的哈希值,当所述合约指纹的哈希值与所述合约的哈希值一致时,即为验证成功。
3.如权利要求1所述的电子签约的方法,其特征在于,所述若验证成功,则第一签约设备和第二签约设备分别使用对应的预存的私钥对所述合约指纹签名,并分别将所述签名后的合约指纹上传至区块链的步骤之后包括:
第一签约设备和第二签约设备使得区块链接收被第一签约设备的私钥签名的合约指纹和被第二签约设备的私钥签名的合约指纹,并分别验证所述签名是否与所述合约指纹相匹配;
若所述签名与所述合约指纹相匹配,则第一签约设备和第二签约设备完成电子签约。
4.如权利要求1所述的电子签约的方法,其特征在于,所述第一签约设备根据用户操作创建对应的电子合约,并根据第一算法计算得到所述电子合约的哈希值的步骤之前包括:
第一签约设备将与第一签约设备对应的个人签约信息上传至区块链。
5.如权利要求4所述的电子签约的方法,其特征在于,所述第一签约设备将与第一签约设备对应的个人签约信息上传至区块链的步骤包括:
第一签约设备根据第二算法计算得到第一签约设备对应的私钥和公钥;
第一签约设备读取与所述第一签约设备对应的用户信息,并对所述用户信息进行验证;
若验证成功,则第一签约设备根据所述第一签约设备的公钥和所述第一签约设备的用户信息生成对应的个人签约信息,并将所述个人签约信息上传至区块链。
6.如权利要求1所述的电子签约的方法,其特征在于,所述第一签约设备将所述哈希值和所述电子合约上传至区块链的步骤包括:
第一签约设备将所述哈希值、所述电子合约及所述电子合约中对应的合约关键信息上传至区块链。
7.如权利要求1-6任意一项所述的一种电子签约的方法,其特征在于,所述第一算法包括MD5码哈希算法,所述第二算法包括椭圆加密算法。
8.如权利要求1-6任意一项所述的一种电子签约的方法,其特征在于,所述合约关键信息包括合约MD5码及变动数据信息。
9.一种电子签约系统,其特征在于,所述电子签约系统包括:区块链、包括存储器和处理器的第一签约设备、包括存储器和处理器的第二签约设备及存储在所述第一签约设备的存储器和所述第二签约存储器上并可被所述第一签约设备的处理器和所述第二签约处理器运行的电子签约程序,所述电子签约程序被执行时实现如权利要求1至8中任意一项所述的电子签约方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有电子签约程序,所述电子签约程序被处理器执行时实现如权利要求1至8中任意一项所述的电子签约方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810932894.6A CN109035024A (zh) | 2018-08-15 | 2018-08-15 | 电子签约的方法、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810932894.6A CN109035024A (zh) | 2018-08-15 | 2018-08-15 | 电子签约的方法、系统和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109035024A true CN109035024A (zh) | 2018-12-18 |
Family
ID=64630584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810932894.6A Pending CN109035024A (zh) | 2018-08-15 | 2018-08-15 | 电子签约的方法、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109035024A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109740317A (zh) * | 2018-12-29 | 2019-05-10 | 北京奇虎科技有限公司 | 一种基于区块链的数字指纹存证方法及装置 |
CN109741056A (zh) * | 2018-12-26 | 2019-05-10 | 中国银联股份有限公司 | 一种电子凭证上传的方法及装置 |
CN109767222A (zh) * | 2019-01-21 | 2019-05-17 | 中国联合网络通信集团有限公司 | 基于区块链的航班延误险投保方法及系统 |
CN110084072A (zh) * | 2019-04-30 | 2019-08-02 | 北京智签科技有限公司 | 一种基于区块链网络的电子合同在线验证方法 |
CN110782347A (zh) * | 2019-10-22 | 2020-02-11 | 全链通有限公司 | 基于区块链的智能合约签署方法、发起节点及介质 |
CN110851877A (zh) * | 2019-11-19 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及区块链节点设备、存储介质 |
CN111311172A (zh) * | 2019-12-12 | 2020-06-19 | 曾广君 | 电子签约的方法、系统和存储介质 |
CN111314644A (zh) * | 2020-03-16 | 2020-06-19 | 郭磊 | 一种基于模拟视频压缩器的视频压缩方法及系统 |
CN111444479A (zh) * | 2018-12-29 | 2020-07-24 | 北京奇虎科技有限公司 | 一种数字指纹所有权的验证方法及系统 |
CN111756543A (zh) * | 2019-03-29 | 2020-10-09 | 区块科技股份有限公司 | 基于区块链的合约签核与验证系统及其实施方法 |
CN111885586A (zh) * | 2020-07-22 | 2020-11-03 | 中国联合网络通信集团有限公司 | 基于区块链的漫游管理方法及网络接入节点 |
CN117336099A (zh) * | 2023-11-22 | 2024-01-02 | 成都天府通数字科技有限公司 | 基于区块链技术的智能合约的签署方法和签署系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936566A (zh) * | 2017-03-09 | 2017-07-07 | 江苏省南京市南京公证处 | 一种基于区块链技术的可外包的文书签署方法 |
CN107579827A (zh) * | 2017-06-06 | 2018-01-12 | 江苏慧世联网络科技有限公司 | 一种基于可信第三方和面部识别技术的电子文书签署方法 |
-
2018
- 2018-08-15 CN CN201810932894.6A patent/CN109035024A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936566A (zh) * | 2017-03-09 | 2017-07-07 | 江苏省南京市南京公证处 | 一种基于区块链技术的可外包的文书签署方法 |
CN107579827A (zh) * | 2017-06-06 | 2018-01-12 | 江苏慧世联网络科技有限公司 | 一种基于可信第三方和面部识别技术的电子文书签署方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109741056B (zh) * | 2018-12-26 | 2023-06-16 | 中国银联股份有限公司 | 一种电子凭证上传的方法及装置 |
CN109741056A (zh) * | 2018-12-26 | 2019-05-10 | 中国银联股份有限公司 | 一种电子凭证上传的方法及装置 |
CN111444479A (zh) * | 2018-12-29 | 2020-07-24 | 北京奇虎科技有限公司 | 一种数字指纹所有权的验证方法及系统 |
CN109740317A (zh) * | 2018-12-29 | 2019-05-10 | 北京奇虎科技有限公司 | 一种基于区块链的数字指纹存证方法及装置 |
CN111444479B (zh) * | 2018-12-29 | 2024-05-14 | 北京奇虎科技有限公司 | 一种数字指纹所有权的验证方法及系统 |
CN109767222A (zh) * | 2019-01-21 | 2019-05-17 | 中国联合网络通信集团有限公司 | 基于区块链的航班延误险投保方法及系统 |
CN111756543A (zh) * | 2019-03-29 | 2020-10-09 | 区块科技股份有限公司 | 基于区块链的合约签核与验证系统及其实施方法 |
CN110084072A (zh) * | 2019-04-30 | 2019-08-02 | 北京智签科技有限公司 | 一种基于区块链网络的电子合同在线验证方法 |
CN110782347B (zh) * | 2019-10-22 | 2023-02-03 | 全链通有限公司 | 基于区块链的智能合约签署方法、装置及介质 |
CN110782347A (zh) * | 2019-10-22 | 2020-02-11 | 全链通有限公司 | 基于区块链的智能合约签署方法、发起节点及介质 |
CN110851877A (zh) * | 2019-11-19 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及区块链节点设备、存储介质 |
CN110851877B (zh) * | 2019-11-19 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及区块链节点设备、存储介质 |
CN111311172A (zh) * | 2019-12-12 | 2020-06-19 | 曾广君 | 电子签约的方法、系统和存储介质 |
CN111314644A (zh) * | 2020-03-16 | 2020-06-19 | 郭磊 | 一种基于模拟视频压缩器的视频压缩方法及系统 |
CN111885586A (zh) * | 2020-07-22 | 2020-11-03 | 中国联合网络通信集团有限公司 | 基于区块链的漫游管理方法及网络接入节点 |
CN117336099A (zh) * | 2023-11-22 | 2024-01-02 | 成都天府通数字科技有限公司 | 基于区块链技术的智能合约的签署方法和签署系统 |
CN117336099B (zh) * | 2023-11-22 | 2024-02-09 | 成都天府通数字科技有限公司 | 基于区块链技术的智能合约的签署方法和签署系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109035024A (zh) | 电子签约的方法、系统和存储介质 | |
US11743038B2 (en) | Methods and systems of providing verification of information using a centralized or distributed ledger | |
CN109756485B (zh) | 电子合同签署方法、装置、计算机设备及存储介质 | |
CN111970129B (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN107403303B (zh) | 一种基于区块链存证的电子合同系统的签署方法 | |
CN108768992B (zh) | 基于区块链的信息匿名传输方法、设备及可读存储介质 | |
US20190319948A1 (en) | Remote authentication and identification proofing systems and methods | |
CN112073440B (zh) | 一种物联网信息记录方法和系统 | |
US11531746B2 (en) | Method for electronic signing of a document by a plurality of signatories | |
CN114266681A (zh) | 电子合同签署方法、系统、存储介质及计算设备 | |
CN114003925A (zh) | 一种基于区块链的签名结合在线申报方法及系统 | |
CN108833431A (zh) | 一种密码重置的方法、装置、设备及存储介质 | |
KR20200055178A (ko) | 전자문서를 위한 전자서명 관리서버 및 관리방법 | |
CN109978543B (zh) | 一种合同签署的方法、装置、电子设备及存储介质 | |
CN111311172A (zh) | 电子签约的方法、系统和存储介质 | |
CN114900312B (zh) | 一种保护隐私的身份凭证背书生成和验证方法 | |
CN108833105A (zh) | 电子签名方法及装置 | |
ES2681873T3 (es) | Procedimiento y dispositivo para la signatura electrónica personalizada de un documento y producto de programa informático | |
CN113051623B (zh) | 一种数据处理方法、装置和电子设备 | |
CN111046406B (zh) | 一种文档结构的存储系统及方法 | |
CN114493730A (zh) | 一种基于区块链技术的电子票据的开具方法和装置 | |
CN113051623A (zh) | 一种数据处理方法、装置和电子设备 | |
WO2023239760A1 (en) | Computer-implemented user identity verification method | |
CN117556401A (zh) | 一种基于第三方平台的电子签名方法和装置 | |
CN117057800A (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: 20181218 |
|
WD01 | Invention patent application deemed withdrawn after publication |