[发明专利]一种基于区块链的电力交易合同管理方法及系统有效
申请号: | 201910711213.8 | 申请日: | 2019-08-02 |
公开(公告)号: | CN110647553B | 公开(公告)日: | 2022-05-24 |
发明(设计)人: | 劳卫伦;王柏勇;洪梓铭;黄士超;索智鑫;王嘉延;张锐;肖禹亭 | 申请(专利权)人: | 广州供电局有限公司;中国科学院信息工程研究所 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/27;G06Q30/00;G06Q40/04;G06Q50/18 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 陈艳 |
地址: | 510620 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 电力 交易 合同 管理 方法 系统 | ||
1.一种基于区块链的电力交易合同录入方法,包括以下步骤:
(1)电力合同甲方或者乙方在区块链任一节点上输入电力交易合同信息,包括合同版本号、序列号、起始时间、终止时间、甲方证书、乙方证书和合同详细内容在内的字段,以及其对上述所有字段的签名;
(2)验证输入的合法性,包括各字段的格式是否正确、起始时间是否早于终止时间、证书是否有效以及附上的签名是否为甲方或乙方对指定字段的有效签名;若验证均能通过,则输入合法,继续下一步;否则重新获取输入;
(3)调用以太坊平台的sendTansaction()方法基于该交易合同生成一笔新的以太坊交易,该交易的data字段被赋值为上述所有合法输入的哈希值;
(4)通过以下步骤将上述所有合法输入及步骤(3)中生成的交易哈希值存入部署在区块链节点上的分布式数据库中:
(4-1)将从步骤(1)获取的合同序列号作为键值搜索分布式数据库;
(4-2)若无返回结果,则将从步骤(1)获取的合法的版本号、起始时间、终止时间、甲方证书、乙方证书、合同详细内容、甲方或乙方签名及步骤(3)中生成的甲方或乙方交易哈希值直接插入分布式数据库中该合同序列号对应的记录的相应字段;
(4-3)若有返回结果,则将从步骤(1)获取的合法的合同版本号、起始时间、终止时间、甲方证书、乙方证书以及详细内容与返回结果中的相应字段进行对比,若其中存在一个字段不同,则终止运行;否则将从步骤(1)获取的甲方或乙方签名及步骤(3)中生成的甲方或乙方交易哈希值直接插入数据库中由该合同序列号对应的记录的相应字段。
2.如权利要求1所述录入方法,其特征在于,步骤(1)中所述甲方证书和乙方证书由第三方认证机构颁发;所述证书中包含交易实体的身份及公钥信息。
3.一种基于权利要求1所述电力交易合同录入方法的合同查询方法,包括以下步骤:
(1)输入合同检索关键词或者完整的检索语句;
(2)判断输入的合法性,包括输入的格式以及检索语句的有效性;
(3)生成相应的检索语句并检索所述分布式数据库,得到合同查询结果。
4.一种基于权利要求1所述电力交易合同录入方法的合同有效性验证方法,包括以下步骤:
(1)输入待验证的电力交易合同,包含合同版本号、序列号、起始时间、终止时间、甲方证书、乙方证书、合同详细内容,以及甲方和乙方分别对上述所有字段的签名;
(2)从分布式数据库中获取该合同的甲方及乙方交易哈希值;
(3)调用以太坊平台的getTansaction()方法,输入步骤(2)获取的两笔交易哈希值,分别获取该合同在两次录入时生成的两笔交易,根据返回交易的input字段是否与步骤(2)生成的哈希值相等进行验证。
5.一种基于区块链的电力交易合同管理方法,包括:在存在由多个节点服务器共同运行维护的以太坊网络的基础上,用户实体在任意区块链节点上采用权利要求1所述合同录入方法实现合同录入功能,采用权利要求3所述合同查询方法实现合同查询功能及采用权利要求4所述合同有效性验证方法实现合同有效性验证功能。
6.一种基于区块链的电力交易合同管理系统,包括:
合同录入模块,将电力合同甲方或者乙方在区块链任一节点上输入电力交易合同信息,包括合同版本号、序列号、起始时间、终止时间、甲方证书、乙方证书和合同详细内容在内的字段,以及其对上述所有字段的签名;验证输入的合法性,包括各字段的格式是否正确、起始时间是否早于终止时间、证书是否有效以及附上的签名是否为甲方或乙方对指定字段的有效签名;若验证均能通过,则输入合法,继续下一步;否则重新获取输入;调用以太坊平台的sendTansaction()方法基于该交易合同生成一笔新的以太坊交易,该交易的data字段被赋值为上述所有合法输入的哈希值;通过以下步骤将上述所有合法输入及步骤(3)中生成的交易哈希值存入部署在区块链节点上的分布式数据库中:
(1)将获取的合同序列号作为键值搜索分布式数据库;
(2)若无返回结果,则将获取的合法的版本号、起始时间、终止时间、甲方证书、乙方证书、合同详细内容、甲方或乙方签名及生成的甲方或乙方交易哈希值直接插入分布式数据库中该合同序列号对应的记录的相应字段;
(3)若有返回结果,则将获取的合法的合同版本号、起始时间、终止时间、甲方证书、乙方证书以及详细内容与返回结果中的相应字段进行对比,若其中存在一个字段不同,则终止运行;否则将获取的甲方或乙方签名及生成的甲方或乙方交易哈希值直接插入数据库中由该合同序列号对应的记录的相应字段;合同查询模块,该模块根据检索语句检索分布式数据库,得到合同查询结果;合同有效性验证模块,该模块调用以太坊平台的getTansaction()方法,分别获取待验证合同在两次录入时生成的两笔交易,根据返回交易的input字段是否与以太坊交易生成的待验证合同哈希值相等进行验证。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州供电局有限公司;中国科学院信息工程研究所,未经广州供电局有限公司;中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910711213.8/1.html,转载请声明来源钻瓜专利网。