首页> 中国专利> 一种基于企业链码的电子合同管理方法及系统

一种基于企业链码的电子合同管理方法及系统

摘要

本发明公开的一种基于企业链码的电子合同管理方法及系统,包括以下步骤:企业用户登录时经过企业法人身份认证登录后,获取企业信息,根据当前企业的信息进行电子合同的创建以及签订;电子合同签订成功后会永久的保存在联盟链上。用既定生成的企业链码账户将合同信息以及相应的签章申请规则记录并保存于联盟链上,已经保存的记录数据不可篡改,从而达到数据的透明、公正,且不可篡改。本发明采用区块链技术,基于企业链码实现电子合同的全生命周期的认证信息的上链管理,区块链签订的电子上链的合同信息将永久保存且不可篡改,可追溯,更加安全、可信。

著录项

  • 公开/公告号CN113128951A

    专利类型发明专利

  • 公开/公告日2021-07-16

    原文格式PDF

  • 申请/专利权人 广州智投链码科技有限公司;

    申请/专利号CN202110314240.9

  • 发明设计人 任豪;余梓平;张广明;唐国强;

    申请日2021-03-24

  • 分类号G06Q10/10(20120101);G06Q20/38(20120101);G06Q50/18(20120101);G06F40/166(20200101);

  • 代理机构44749 广州君策达知识产权代理事务所(普通合伙);

  • 代理人陈宏升

  • 地址 510000 广东省广州市黄埔区科学大道191号商业广场A1栋第二层201、202、203单元;第三层301、302、303单元印客时光(InkTime)众创空间办公卡位20347

  • 入库时间 2023-06-19 11:52:33

说明书

技术领域

本发明涉及区块链领域,特别涉及一种基于企业链码的电子合同管理方法及系统。

背景技术

企业合同管理流程大致分为合同准备阶段、合同签署阶段、合同履行阶段、合同归档阶段四大类。合同准备阶段的风险主要在于合同文本的拟定,易出现合同内容和条款不完整、表达不严谨,或存在重大疏漏和欺诈等现象;合同签署阶段易存在超越权限签订合同,合同被代签、冒签、合同印章管理不当,签署后合同被篡改、遭泄露等隐患。合同履行阶段易出现单方违约、质量问题、不履行等问题。合同归档阶段手工合同归档工作量大,存储期限间合同易被人偷窃、篡改。

发明内容

本发明的目的在于克服现有技术的缺点与不足,提供一种基于企业链码的电子合同管理方法,该方法增加了合同签署的安全,使其在法律上更有保障,可以随时调取查用合同,可以在线发起合同签署,签署完成的合同,会使用pdf格式进行固化数据内容,并通过区块链技术将文件内容数据上链,利用哈希值存储在区块链浏览器,有效防止篡改等情况发生。因此,使用基于企业链码的电子合同最大的优势是防篡改,解决了纸质合同签署的一大痛点,电子合同利用区块链技术有效规避了这个问题,保障了合同签署安全,更具备法律效力。本发明的另一目的在于一种基于企业链码的电子合同管理系统。

本发明的目的通过以下的技术方案实现:

一种基于企业链码的电子合同管理方法,包括以下步骤:

企业用户登录时经过企业法人身份认证登录后,获取企业信息,根据当前企业的信息进行合同的创建以及签订;用既定生成的企业链码账户将合同信息以及相应的签章申请规则记录并保存于联盟链上,已经保存的记录数据不可篡改,从而达到电子合同管理的安全、可信,不可伪造、不可篡改。

所述基于企业链码的电子合同管理方法,还包括以下步骤,在创建合同时:

首先,用户需要在线下拟定合同,合同确定后生成合同扫描件;

然后,选择自己在本次合同中所扮演的角色,也就是确定自己在本次合同是担任甲方还是乙方;

之后,用户要确定合同的对方企业,若自己是甲方,则需确认乙方企业;若自己是乙方,则需确认甲方企业;

之后,确定合同的名称、签订时间签署期限以及签订地点,并选择响应的合同扫描件(图片类型)即可生成一份完整的电子合同;并将创建完成的合同文件上传至OSS对象存储服务中;由于合同文件的类型是pdf格式,所以需将合同扫描件转成pdf。

所述将合同扫描件转成pdf,是将图片写入pdf中,具体操作依次为创建文档,设置文档页边距,创建图片对象,获取图片尺寸,设置pdf页得尺寸与图片一样,将图片添加到文档,关闭文档,即可将图片转为pdf。

所述基于企业链码的电子合同管理方法,还包括以下步骤:创建合同过程中,会生成合同生命周期,并将合同的每一个生命周期的信息保存到联盟链,保存到联盟链的生命周期不可篡改,从而达到合同生命周期信息的透明,公正,不可篡改;所述合同生命周期为:新建合同——一方已申请——双方已申请。

所述合同生命周期的上链过程为:

(1)获取生命周期为新建的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;

(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:LIFE_+当前时间(yyyyMMdd)+生命周期id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由enterpriseId(企业id),enterpriseName(企业名称),sid(合同编号),movement(生命周期环节状态,新建合同——一方已申请——双方已申请),receiver(发送单位名称),senderOpinion(发送人意见),createTime(环节发生时间),contractMD5(合同文件的加密摘要)组成;其中sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;

(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用;所述交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多;序列化存证交易后会得到一个transactionBlob(交易元数据);

(4)序列化之后,交易发起人需要对交易数据进行身份确权,该过程称为数据的签名,签名结果包括签名数据和公钥;该过程用私钥对数据进行签名,即用transactionBlob进行签名;所述交易发起人为发起交易的企业链码账户;

(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到BCS系统里;至此合同的生命周期存证交易成功。

所述基于企业链码的电子合同管理方法,还包括以下步骤:创建合同时还会将申请完成状态下合同基本信息保存到联盟链(合同状态:待他人申请、待我申请、申请完成),保存到联盟链的合同基本信息不可篡改,从而达到合同信息的透明、公正、不可篡改。

所述合同基本信息的上链过程如下:

(1)获取申请完成状态下的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;

(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:CONTRACT_+当前时间(yyyyMMdd)+合同id,之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由enterpriseId(企业id),enterpriseName(企业名称),sid(合同编号),title(合同标题),status(合同状态),createTime(合同创建时间),contractMD5(合同文件的加密摘要)组成;其中sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;

(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用;交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多;序列化存证交易后会得到一个transactionBlob(交易元数据);

(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权(用私钥对数据进行签名,即用transactionBlob进行签名),通常称为数据的签名,签名结果包括签名数据和公钥;

(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到BCS系统里;至此合同的生命周期存证交易成功。

所述基于企业链码的电子合同管理方法,还包括以下步骤:合同创建完成后,合同甲乙双方企业便可在电子合同待申请列表看到属于自己待申请的合同列表,找到待我申请的指定合同,便可进行申请盖章操作;申请盖章还需选择指定的印章类型;所述的印章需要接入统一电子印章平台,所述统一电子印章平台接入流程如下:

用章单位向管理部门和运营平台咨询对接沟通,明确需求;之后用章单位需提交申请资料给管理部门审查,审查通过后管理部门将结果通知用用章单位,若审查不通过则告知用章单位进行修改,若通过则告知运营平台进行业务办理;之后用章单位和运营平台进行系统对接,运营平台提供技术支持协助用章单位进行集成开发和测试;之后上线运行后运营平台提供运营保障。

所述统一电子印章平台的调用方式如下:

统一电子印章平台(被调用方)在公共支撑平台管理系统(公共支撑平台)注册应用并申请服务,客户业务(调用方)在公共支撑平台注册应用并申请服务之后公共支撑平台会审核被调用方的服务申请;之后调用方向公共支撑平台发起请求并带上签名信息(使用API网关签名算法),网关向业务请求,请求头带上签名信息(使用API网关签名算法),被调用方响应请求,带上签名(使用响应头、API网关签名算法),API网关收到响应将响应请求给调用方(使用响应头、API网关签名算法)。

所述基于企业链码的电子合同管理方法,还包括以下步骤,申请电子印章流程如下:

获取电子印章,会根据企业的统一社会信用代码来获取指定的印章信息,若之前的数据库中没有印章信息记录则将获取到的证件信息,印章列表进行新增保存;若有数据则要看是否增加了新得服务商,若有新增的服务商则删除原有的服务商信息保存现有的服务商信息;之后便是将印章信息进行遍历处理,反馈给用户进行选择。

所述基于企业链码的电子合同管理方法,还包括以下步骤:当甲方选择好指定的印章后,便可进行申请盖章操作,申请成功后,系统会将甲方的申请请求记录保存,并将合同状态进行修改,此时甲方的合同状态为待他人申请,乙方的合同状态则为待我申请;并生成合同的生命周期(一方已申请),以及生成申请盖章记录,并将生命周期和申请记录进行上链。

所述基于企业链码的电子合同管理方法,还包括以下步骤,一方已申请的合同信息上链步骤如下:

(1)获取生命周期为一方已申请的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号;每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;

(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:LIFE_+当前时间(yyyyMMdd)+生命周期id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value包括enterpriseId(企业id),enterpriseName(企业名称),sid(合同编号),movement(生命周期环节状态,新建合同——一方已申请——双方已申请),receiver(发送单位名称),senderOpinion(发送人意见),createTime(环节发生时间),contractMD5(合同文件的加密摘要);其中sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;

(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用(交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多);序列化存证交易后会得到一个transactionBlob(交易元数据);

(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称为数据的签名,签名结果包括签名数据和公钥;

(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此一方已申请的合同的生命周期存证交易成功。

所述基于企业链码的电子合同管理方法,还包括以下步骤,申请签章记录的上链过程为:

(1)获取甲方申请签章记录数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;

(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易。因此这里合同的生命周期的key的生成格式为:SEAL_+当前时间(yyyyMMdd)+签章记录id,之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value包括sid(合同编号),title(合同标题),docType(文件类型0为pdf,1为ofd),sealsTotal(签章的数量),beforeMD5(合同签章前的MD5值),afterMD5(合同签章后的MD5值),beforeContractPosition(合同签章前保存的位置地址),afterContractPosition(合同签章后保存的位置地址)组成;其中,sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;

(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用(交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多);序列化存证交易后会得到一个transactionBlob(交易元数据);

(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称为数据的签名,签名结果包括签名数据和公钥;

(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此甲方申请签章记录信息存证交易成功。

所述基于企业链码的电子合同管理方法,还包括以下步骤:当乙方选择甲方申请过的合同进行签章申请时,系统会查找对应甲方的申请信息,将甲乙双方的申请信息共同打包发送;这时甲乙双方的合同状态会分别从待他人申请,待我申请统一变成申请完成;同时也会生成双方已申请的合同生命周期以及乙方的申请签章记录;双方已申请的生命周期的上链步骤如下:

(1)获取生命周期为双方已申请的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;

(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:LIFE_+当前时间(yyyyMMdd)+生命周期id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由enterpriseId(企业id),enterpriseName(企业名称),sid(合同编号),movement(生命周期环节状态,新建合同——一方已申请——双方已申请),receiver(发送单位名称),senderOpinion(发送人意见),createTime(环节发生时间),contractMD5(合同文件的加密摘要)组成;其中,sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;

(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用(交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多);序列化存证交易后会得到一个transactionBlob(交易元数据);

(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称为数据的签名,签名结果包括签名数据和公钥;

(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此双方已申请的合同的生命周期存证交易成功。

所述基于企业链码的电子合同管理方法,还包括以下步骤:乙方的申请签章信息上链过程为:

(1)获取乙方申请签章记录数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号;每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;

(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:SEAL_+当前时间(yyyyMMdd)+签章记录id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由sid(合同编号),title(合同标题),docType(文件类型0为pdf,1为ofd),sealsTotal(签章的数量),beforeMD5(合同签章前的MD5值),afterMD5(合同签章后的MD5值),beforeContractPosition(合同签章前保存的位置地址),afterContractPosition(合同签章后保存的位置地址)组成;其中,sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;

(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用(交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多);序列化存证交易后会得到一个transactionBlob(交易元数据);

(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称之为数据的签名,签名结果包括签名数据和公钥;

(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此申请乙方申请签章记录信息存证交易成功。

所述基于企业链码的电子合同管理方法,还包括以下步骤:当双方签章申请发送完成后就可以在电子卡包中看到属于自己的合同,找到对应的合同即可盖章签署,之后返回电子合同模块即可看到签署后的合同文件;至此一份完整的合同签署完成。

本发明的另一目的通过以下的技术方案实现:

一种基于企业链码的电子合同管理系统,包括法人验证登录模块、电子合同管理模块:其中,

法人验证登录模块用于经过人脸识别后企业用户登录;

电子合同管理模块用于登录后获取企业信息,根据当前企业的信息进行合同的创建以及签订;用既定生成的企业链码账户将合同信息以及相应的签章申请规则记录并保存于联盟链上,已经保存的记录数据不可篡改,不可伪造,安全可信。

本发明与现有技术相比,具有如下优点和有益效果:

本发明的电子合同准备阶段,合同的创建为合同的扫描件,在合同未签署之前若发现合同有问题,可以随时终止合同。电子合同签署阶段,签章需要进行身份认证,没有授权的企业用户无法进行签章,避免代签、冒签,且签章记录信息会上链,上链后的签章记录信息将永久保存且不可篡改,使签章记录有据可查。电子合同归档阶段,合同的整个生命周期的信息都会上链,上链的合同信息将永久保存且不可篡改,不可伪造,全生命周期追溯管理,更安全、更可信。

附图说明

图1为统一电子印章平台技术对接流程图。

图2为电子印章平台调用方式的流程图。

图3为申请电子印章的流程图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

一种基于企业链码的电子合同管理方法,包括以下步骤:

企业用户登录时经过人脸识别、法人验证登录后,获取企业信息,根据当前企业的信息进行合同的创建以及签订;用既定生成的企业链码账户将合同信息以及相应的签章申请规则记录并保存于联盟链上,已经保存的记录数据不可篡改,从而达到数据的透明、公正,且不可篡改。

所述基于企业链码的电子合同管理方法,还包括以下步骤,在创建合同时:

首先,用户需要在线下拟定合同,合同确定后生成合同扫描件;

然后,选择自己在本次合同中所扮演的角色,也就是确定自己在本次合同是担任甲方还是乙方;

之后,用户要确定合同的对方企业,若自己是甲方,则需确认乙方企业;若自己是乙方,则需确认甲方企业;

之后,确定合同的名称、签订时间签署期限以及签订地点,并选择响应的合同扫描件(图片类型)即可生成一份完整的电子合同;并将创建完成的合同文件上传至OSS对象存储服务中;由于合同文件的类型是pdf格式,所以需将合同扫描件转成pdf。

所述将合同扫描件转成pdf,是将图片写入pdf中,具体操作依次为创建文档,设置文档页边距,创建图片对象,获取图片尺寸,设置pdf页得尺寸与图片一样,将图片添加到文档,关闭文档,即可将图片转为pdf。

所述基于企业链码的电子合同管理方法,还包括以下步骤:创建合同过程中,会生成合同生命周期,并将合同的每一个生命周期的信息保存到联盟链,保存到联盟链的生命周期不可篡改,从而达到合同生命周期信息的透明,公正,不可篡改;所述合同生命周期为:新建合同——一方已申请——双方已申请。

所述合同生命周期的上链过程为:

(1)获取生命周期为新建的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;

(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:LIFE_+当前时间(yyyyMMdd)+生命周期id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由enterpriseId(企业id),enterpriseName(企业名称),sid(合同编号),movement(生命周期环节状态,新建合同——一方已申请——双方已申请),receiver(发送单位名称),senderOpinion(发送人意见),createTime(环节发生时间),contractMD5(合同文件的加密摘要)组成;其中sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;

(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用;所述交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多;序列化存证交易后会得到一个transactionBlob(交易元数据);

(4)序列化之后,交易发起人需要对交易数据进行身份确权,该过程称为数据的签名,签名结果包括签名数据和公钥;该过程用私钥对数据进行签名,即用transactionBlob进行签名;所述交易发起人为发起交易的企业链码账户;

(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到BCS系统里;至此合同的生命周期存证交易成功。

所述基于企业链码的电子合同管理方法,还包括以下步骤:创建合同时还会将申请完成状态下合同基本信息保存到联盟链(合同状态:待他人申请、待我申请、申请完成),保存到联盟链的合同基本信息不可篡改,从而达到合同信息的透明、公正、不可篡改。

所述合同基本信息的上链过程如下:

(1)获取申请完成状态下的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;

(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:CONTRACT_+当前时间(yyyyMMdd)+合同id,之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由enterpriseId(企业id),enterpriseName(企业名称),sid(合同编号),title(合同标题),status(合同状态),createTime(合同创建时间),contractMD5(合同文件的加密摘要)组成;其中sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;

(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用;交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多;序列化存证交易后会得到一个transactionBlob(交易元数据);

(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权(用私钥对数据进行签名,即用transactionBlob进行签名),通常称为数据的签名,签名结果包括签名数据和公钥;

(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到BCS系统里;至此合同的生命周期存证交易成功。

所述基于企业链码的电子合同管理方法,还包括以下步骤:合同创建完成后,合同甲乙双方企业便可在电子合同待申请列表看到属于自己待申请的合同列表,找到待我申请的指定合同,便可进行申请盖章操作;申请盖章还需选择指定的印章类型;所述的印章需要接入统一电子印章平台,如图1,所述统一电子印章平台接入流程如下:

用章单位向管理部门和运营平台咨询对接沟通,明确需求;之后用章单位需提交申请资料给管理部门审查,审查通过后管理部门将结果通知用用章单位,若审查不通过则告知用章单位进行修改,若通过则告知运营平台进行业务办理;之后用章单位和运营平台进行系统对接,运营平台提供技术支持协助用章单位进行集成开发和测试;之后上线运行后运营平台提供运营保障。

如图2,所述统一电子印章平台的调用方式如下:

统一电子印章平台(被调用方)在公共支撑平台管理系统(公共支撑平台)注册应用并申请服务,客户业务(调用方)在公共支撑平台注册应用并申请服务之后公共支撑平台会审核被调用方的服务申请;之后调用方向公共支撑平台发起请求并带上签名信息(使用API网关签名算法),网关向业务请求,请求头带上签名信息(使用API网关签名算法),被调用方响应请求,带上签名(使用响应头、API网关签名算法),API网关收到响应将响应请求给调用方(使用响应头、API网关签名算法)。

如图3,所述基于企业链码的电子合同管理方法,还包括以下步骤,申请电子印章流程如下:

获取电子印章,会根据企业的统一社会信用代码来获取指定的印章信息,若之前的数据库中没有印章信息记录则将获取到的证件信息,印章列表进行新增保存;若有数据则要看是否增加了新得服务商,若有新增的服务商则删除原有的服务商信息保存现有的服务商信息;之后便是将印章信息进行遍历处理,反馈给用户进行选择。

所述基于企业链码的电子合同管理方法,还包括以下步骤:当甲方选择好指定的印章后,便可进行申请盖章操作,申请成功后,系统会将甲方的申请请求记录保存,并将合同状态进行修改,此时甲方的合同状态为待他人申请,乙方的合同状态则为待我申请;并生成合同的生命周期(一方已申请),以及生成申请盖章记录,并将生命周期和申请记录进行上链。

所述基于企业链码的电子合同管理方法,还包括以下步骤,一方已申请的合同信息上链步骤如下:

(1)获取生命周期为一方已申请的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号;每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;

(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:LIFE_+当前时间(yyyyMMdd)+生命周期id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value包括enterpriseId(企业id),enterpriseName(企业名称),sid(合同编号),movement(生命周期环节状态,新建合同——一方已申请——双方已申请),receiver(发送单位名称),senderOpinion(发送人意见),createTime(环节发生时间),contractMD5(合同文件的加密摘要);其中sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;

具体存证key-value如表1:

表1

(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用(交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多);序列化存证交易后会得到一个transactionBlob(交易元数据);

(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称为数据的签名,签名结果包括签名数据和公钥;

(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此一方已申请的合同的生命周期存证交易成功。

BCS是区块链服务系统,实现上层应用与区块链的对接的中间服务,BCS降低了接入区块链的业务复杂读,降低了区块链接入的开发难度和成本,丰富了区块链信息查询。

所述基于企业链码的电子合同管理方法,还包括以下步骤,申请签章记录的上链过程为:

(1)获取甲方申请签章记录数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;

(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易。因此这里合同的生命周期的key的生成格式为:SEAL_+当前时间(yyyyMMdd)+签章记录id,之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value包括sid(合同编号),title(合同标题),docType(文件类型0为pdf,1为ofd),sealsTotal(签章的数量),beforeMD5(合同签章前的MD5值),afterMD5(合同签章后的MD5值),beforeContractPosition(合同签章前保存的位置地址),afterContractPosition(合同签章后保存的位置地址)组成;其中,sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;

具体存证key-value如表2:

表2

(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用(交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多);序列化存证交易后会得到一个transactionBlob(交易元数据);

(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称为数据的签名,签名结果包括签名数据和公钥;

(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此甲方申请签章记录信息存证交易成功。

BCS是区块链服务系统,实现上层应用与区块链的对接的中间服务,BCS降低了接入区块链的业务复杂读,降低了区块链接入的开发难度和成本,丰富了区块链信息查询。

所述基于企业链码的电子合同管理方法,还包括以下步骤:当乙方选择甲方申请过的合同进行签章申请时,系统会查找对应甲方的申请信息,将甲乙双方的申请信息共同打包发送;这时甲乙双方的合同状态会分别从待他人申请,待我申请统一变成申请完成;同时也会生成双方已申请的合同生命周期以及乙方的申请签章记录;双方已申请的生命周期的上链步骤如下:

(1)获取生命周期为双方已申请的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;

(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:LIFE_+当前时间(yyyyMMdd)+生命周期id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由enterpriseId(企业id),enterpriseName(企业名称),sid(合同编号),movement(生命周期环节状态,新建合同——一方已申请——双方已申请),receiver(发送单位名称),senderOpinion(发送人意见),createTime(环节发生时间),contractMD5(合同文件的加密摘要)组成;其中,sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;具体存证key-value如表3:

表3

(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用(交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多);序列化存证交易后会得到一个transactionBlob(交易元数据);

(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称为数据的签名,签名结果包括签名数据和公钥;

(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此双方已申请的合同的生命周期存证交易成功。

BCS是区块链服务系统,实现上层应用与区块链的对接的中间服务,BCS降低了接入区块链的业务复杂读,降低了区块链接入的开发难度和成本,丰富了区块链信息查询。

所述基于企业链码的电子合同管理方法,还包括以下步骤:乙方的申请签章信息上链过程为:

(1)获取乙方申请签章记录数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号;每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;

(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:SEAL_+当前时间(yyyyMMdd)+签章记录id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由sid(合同编号),title(合同标题),docType(文件类型0为pdf,1为ofd),sealsTotal(签章的数量),beforeMD5(合同签章前的MD5值),afterMD5(合同签章后的MD5值),beforeContractPosition(合同签章前保存的位置地址),afterContractPosition(合同签章后保存的位置地址)组成;其中,sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;

具体存证key-value如表4:

表4

(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用(交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多);序列化存证交易后会得到一个transactionBlob(交易元数据);

(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称之为数据的签名,签名结果包括签名数据和公钥;

(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此申请乙方申请签章记录信息存证交易成功。

BCS是区块链服务系统,实现上层应用与区块链的对接的中间服务,BCS降低了接入区块链的业务复杂读,降低了区块链接入的开发难度和成本,丰富了区块链信息查询。

所述基于企业链码的电子合同管理方法,还包括以下步骤:当双方签章申请发送完成后就可以在电子卡包中看到属于自己的合同,找到对应的合同即可盖章签署,之后返回电子合同模块即可看到签署后的合同文件;至此一份完整的合同签署完成。这时用户便可为自己的信用积分累积5分,每个企业账户都拥有属于自己的企业链码账户,同时也都拥有对应得信息用积分。积分累计说明如下:每一条银行流水上联记录可积累1分,每一条电子证照使用上链记录可积累20分,每一条电子合同签约上链记录可积累5分,每一条电子发票上链记录可积累2分。此处涉及到区块链的资产发行交易,即每次记录申请记录时使用相应的企业链码账户发行对应的资产信用积分。系统发行了积分资产并将数据记录保存于联盟链上并可查证,便于将已经在联盟链上的数字资产实现快速,透明,可信,不可篡改的流转。实现数字资产的自由流通,数字资产一旦被登记到联盟链网络上以后,持有对应私钥的用户是资产拥有者,可以在整个区块链网络上自由地转移数字资产,因为流动过程中的资产权属记账是由区块链网络实现地,资产权属在流动过程中,既不能多也不能少,既不能伪造也不能篡改。所谓不可篡改就是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。系统管理员在管理后台系统收到积分资产发行后对发行请求进行资料审核,审核通过后,将资产发行数据上链,客户端向区块链服务系统发送存证请求,区块链服务系统响应请求并将数据记录于关系型数据库中,之后定时任务,存证任务调度中心进行定时调度,从关系型数据库中取指定的交易与链进行交互,将数据上链。审核不通过,则需用户重新申请资产发行。该技术方案让参与系统中的任意多个节点,把一段时间系统内全部信息交流的数据,通过密码学算法计算和记录到一个数据块(block),并且生成该数据块的唯一标识用于链接下个数据块和校验,系统所有参与节点来共同认定记录是否为真。从而来保证资产地可信。从而确保信誉积分的公正、透明、可信。资产发行主要的发行方式是基于账户的通证协议,通过少量接口实现Token发行,Token转移等操作,Token数据的变化会在账户状态中实时体现出来,用户若拥有多种资产类型,可以通过账号索引快速查询。Token的唯一标识为发行人账户地址(Issue),和资产代码(Code),同一个发行发可以发行多种Token,如果Code与已发行的相同,则Token会累加。通证发行本质上是给Token树增加一个节点。转移资产是对原账户和目标账户Token树状态的修改,当目标账户没有此Token时,相同与增加默克尔树叶子节点,否则其意义就是修改叶子节点状态。此方式适用于对于发行和流通需求比较固定的场景。这就是基于账户的通证协议。

所述企业链码,是一种由区块链+二维码建立的企业身份的扫识码,其生成与管理方法,包括以下顺序的步骤:

S1、当扫码用户请求扫描企业链码后,由企业链码用户向其出示企业链码,企业链码前端向后端请求企业链码的生成参数,后端根据企业链码用户的账户地址,去区块链查询其对应的公钥信息,并通过私钥对更新时间,然后通过公钥进行数字签名,企业链码后端以模块标识+UUID作为key值,以公钥、更新时间、数字签名作为value值存入redis数据库中,同时返回key值给企业链码前端,作为企业链码的生成参数,企业链码前端根据企业链码后端返回的参数拼接链接并生成企业链码;

S2、扫码用户在扫描企业链码后,企业链码前端向企业链码后端请求扫码结果,企业链码后端根据参数去redis数据库中查询,返回对应的公钥,更新时间和数字签名并返回给企业链码前端,企业链码前端根据返回的数据重新拼接新的链接并请求企业链码后端,企业链码后端根据请求参数向区块链验证数字签名是否被篡改,如果验证通过,返回企业链码的扫码结果,所述扫码结果包括企业名片,企业链码前端向扫码用户展示相关的企业信息。

所述企业连码采用双层设计,包括扫码层以及翻译层;其中,所述扫码层用于跟普通的二维码一样的生成与解析过程,所述翻译层用于在二维码的解析的过程中,对其进行更深一步的加解密的过程;所述扫码层中的Key值作为关联扫码层与翻译层的关键参数,当扫码成功后,通过这个key作为翻译层的翻译钥匙,获取最后的翻译结果。

普通的二维码生成与扫描是一步走完的,即用户在扫码成功后即可获得扫码结果,而企业链码在原本二维码的基础增加了一步,为了保证二维码的安全性以及高效性,企业链码采用了双层的设计,分别为扫码层以及翻译层;而且企业链码的生成与扫码与普通的二维码都有一定的区别。

所述key值设定为Token,在对Token进行设计时,将Token存放于redis数据库,以token作为key,实际翻译后的地址作为value保存在redis数据库中,在token作为key存在redis中的时候,需要加上项目前缀,以防止不同项目的key重复。Token从扫码层出来的,将Token作为企业连码生成的唯一标识,上述方式能够确保时效性,在规定的时间后会失效,同时确保唯一,它应该是在整个系统里唯一的,确保不会跟其他模块的token重复。Token作为连接扫码层与翻译层的关键参数。

所述企业链码的时效性分为三个阶段:示码阶段、扫码阶段、执行阶段;其中,在示码阶段的有效期内,客户不限次数的扫码获取结果,有效期过后客户端自动更新令牌,生成新的企业链码;在扫码阶段的有效期内,客户仅能扫码一次获取结果,同时该令牌会作废,再次扫码的结果为扫码失败,令牌已过期;在执行阶段,这是在进行扫码后执行结果,即展示企业链码的企业名片页面,在这个阶段,仅显示可公开内容。所述可公开内容包括营业执照、工商信息,不显示上链的数字资产。

所述企业链码被专用工具扫码时,可补充工具使用者的参数,方便控制扫码者的查看数据的权限;当使用专门的企业链码扫码工具扫码时,会新增扫码者的用户标识跟用户的账户地址,即扫码过程中多了两个参数,只是作为扫码者的记录,不参与翻译层。

所述企业链码的生成规则采用网址+路由+令牌的生成方式。此种做法能够提高扫码效果,减少企业链码的内容数据量。

所述扫码用户在扫描企业链码后,通过令牌可以获取被扫码者的公钥,更新时间和经过ED25519算法签名的签名数据。ED25519算法作为区块链的签名加密算法,签名跟验证性能都极高,安全性极高,签名数据小,非常适合作为二维码的签名验证算法,用户扫码后,后端确认签名数据正确后,会进入企业名片的页面,展示企业的可信信息。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号