一种区块链能源交易系统的交易方法技术方案

技术编号:36701560 阅读:13 留言:0更新日期:2023-03-01 09:18
本发明专利技术提供一种区块链能源交易系统的交易方法,包括:接收到交易请求后,Node.js SDK将交易背书提案发送至背书节点;背书节点向Java SDK发送安全计算请求;Java SDK根据安全计算请求进行同态安全计算,并将对应的计算结果返回给背书节点;Node.js SDK收到的提案响应达到设定值后,根据提案响应构造一个合法的交易并发送至排序节点;排序节点向确认节点发送一个区块;确认节点提将本次交易对应的区块信息提交到应用层;应用层执行交易动作并展示区块信息。本发明专利技术使用同态加密安全计算方案保证用户可以进行正常的转账交易,在保护用户隐私的同时,让用户可以完成正常的交易操作,提高交易的效率与安全性。高交易的效率与安全性。高交易的效率与安全性。

【技术实现步骤摘要】
一种区块链能源交易系统的交易方法


[0001]本专利技术涉及区块链
,具体涉及一种区块链能源交易系统的交易方法。

技术介绍

[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其去中心化、安全可靠、防篡改、可溯源等特性,使其受到广泛的关注并应用于各领域,例如,目前区块链可以应用于能源交易。
[0003]但是区块链作为一种分布式账本技术,为了全网节点快速达成共识,其交易是公开透明的,这会对用户的隐私造成严重威胁。一方面,大多数现有工作不支持隐私保护安全计算方案运用于区块链中,许多现有隐私保护安全计算方案都是依赖云计算中的一个或多个中心服务器构成云计算系统模型,容易遭受数据泄露,数据篡改,遭受拒绝服务攻击等安全问题。另一方面,大多数基于区块链的方案在区块链进行明文信息存储,传输到服务器的数据通常是未加密的,或者服务器(或计算节点)可以解密传输的数据,这将导致释放敏感信息的风险。

技术实现思路

[0004]本专利技术为解决上述技术问题,本专利技术的目的提出了一种区块链能源交易系统的交易方法。
[0005]本专利技术采用的技术方案如下:
[0006]本专利技术的实施例提出了一种区块链能源交易系统的交易方法,所述系统包括:节点网络层、SDK(Software Development Kit,软件开发工具包)层和应用层,所述节点网络层包括:背书节点、确认节点、排序节点和证书节点以及负责节点间通信的底层链码,SDK层包括:Node.js SDK(运行于服务端的JavaScript解释器)和Java SDK(Java软件开发工具包),所述应用层包括:Web(全球广域网)前端和Web后端;所述方法包括以下步骤:所述应用层接收到交易请求后,根据所述交易请求向Node.js SDK发送一个交易背书提案;所述Node.js SDK将所述交易背书提案发送至所述背书节点;所述背书节点对所述交易背书提案进行背书处理,在背书的过程中向所述Java SDK发送安全计算请求,所述安全计算请求包括交易信息[m
i
]以及所需执行的安全计算函数参数f;所述Java SDK根据所述安全计算请求进行同态安全计算,并将对应的计算结果返回给背书节点,所述计算结果包括:密文和密钥;所述背书节点对所述计算结果进行正确性检验,并在检验正确后向Node.js SDK回复提案响应,所述提案响应包括:背书节点签名以及当前背书状态;所述Node.js SDK收到的提案响应达到设定值后,根据所述提案响应构造一个合法的交易并发送至排序节点;所述排序节点接收交易并进行排序后向确认节点发送一个区块;确认节点提将区块对应的区块信息提交到所述应用层;所述应用层执行交易动作并展示所述区块信息。
[0007]本专利技术上述提出的区块链能源交易系统的交易方法还可以具有如下附加技术特征:
[0008]根据本专利技术的一个实施例,所述交易请求为管理员提出时,所述管理员通过证书节点注册后登录;管理员通过交Web前端提出所述交易请求;所述Web前端根据所述交易请求向所述Web后端发送Websocket(一种在单个TCP连接上进行全双工通信的协议)消息,所述Web后端根据Websocket消息向所述Node.js SDK发送一个交易背书提案;交易请求为用户提出时,客户端将交易请求提交至所述Web后端,所述Web后端根据所述交易请求向所述Node.js SDK发送一个交易背书提案。
[0009]根据本专利技术的一个实施例,交易背书提案包括:数据包ID、链码以及证书节点统一发放的签名。
[0010]根据本专利技术的一个实施例,所述交易信息[m
i
]包括:交易金额,所述安全计算函数参数f包括:0、1和2,所述安全计算函数参数f为0时,不执行任何计算;所述安全计算函数参数f为1时,执行加法安全计算;所述安全计算函数参数f为为2时,执行减法安全计算。
[0011]根据本专利技术的一个实施例,所述Java SDK根据所述安全计算请求进行同态安全计算,具体用于:调用算法KeyGen(密钥生成算法)完成系统初始化;调用EncTK(加密算法)算法加密所述交易信息,以获取加密数据[m
i
];DSP(Digital Signal Processing,数字信号处理)根据加密数据[m
i
]和安全计算函数参数f通过同态计算获取加密交易信息[m];DSP选择随机数r1和第一部分密钥ck1进行加密和部分解密,生成第一部分加密数据并发送至CP(Central Processor,中央处理器);所述CP对第一部分加密数据进行解密,以获取第一部分密文c1(m+r1),所述CP选择第二部分密钥ck2和随机数r来加密一部分密文c1(m+r1),以获取第二部分加密数据所述CP对所述第一部分密文c1(m+r1)采用第二部分密钥ck2和一个随机数r进行加密,以获取第二部分加密数据并加密第二部分密钥ck2得到加密的第二部分密钥CK2,将所述第二部分加密数据和加密的第二部分密钥CK2传递回DSP;所述DSP对所述加密的第二部分密钥CK2进行解密以获取第二部分密钥ck2,所述DSP根据r1和ck1计算获得所述密文并根据第一部分密钥ck1和第二部分密钥ck2采用ABE(Attribute

Based Encryption,基于属性加密)算法获取所述密钥CK。
[0012]本专利技术的有益效果:
[0013]本专利技术通过链上密文存储的方式实现了区块链能源交易系统用户数据的隐私保护,并使用同态加密安全计算方案保证用户可以进行正常的转账交易,在保护用户隐私的同时,让用户可以完成正常的交易操作,提高交易的效率与安全性。同时,使用基于密钥策略的属性加密算法保证各背书节点之间的访问控制,设计采用SDK作为链码管理层的结构来隔离加解密过程与链码的交互,优化了区块链系统中的链码管理,提高加解密的效率。
附图说明
[0014]图1是根据本专利技术一个实施例的区块链能源交易系统的方框示意图;
[0015]图2是根据本专利技术一个实施例的区块链能源交易系统的交易方法的流程图。
具体实施方式
[0016]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0017]根据本专利技术的一个实施例,如图1所示,区块链能源交易系统包括:节点网络层、SDK层和应用层,节点网络层包括:背书节点、确认节点、排序节点和证书节点以及负责节点间通信的底层链码(图中未具体示出),SDK层包括:Node.js SDK和Java SDK,应用层包括:Web前端和Web后端。
[0018]具体地,节点网络层主要包括Fabric区块链网络中的背书、确认、排序、证书四种节点以及负责节点本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链能源交易系统的交易方法,其特征在于,所述系统包括:节点网络层、SDK层和应用层,所述节点网络层包括:背书节点、确认节点、排序节点和证书节点以及负责节点间通信的底层链码,SDK层包括:Node.js SDK和Java SDK,所述应用层包括:Web前端和Web后端;所述方法包括以下步骤:所述应用层接收到交易请求后,根据所述交易请求向Node.js SDK发送一个交易背书提案;所述Node.js SDK将所述交易背书提案发送至所述背书节点;所述背书节点对所述交易背书提案进行背书处理,在背书的过程中向所述Java SDK发送安全计算请求,所述安全计算请求包括交易信息[m
i
]以及所需执行的安全计算函数参数f;所述Java SDK根据所述安全计算请求进行同态安全计算,并将对应的计算结果返回给背书节点,所述计算结果包括:密文和密钥;所述背书节点对所述计算结果进行正确性检验,并在检验正确后向Node.js SDK回复提案响应,所述提案响应包括:背书节点签名以及当前背书状态;所述Node.js SDK收到的提案响应达到设定值后,根据所述提案响应构造一个合法的交易并发送至排序节点;所述排序节点接收交易并进行排序后向确认节点发送一个区块;确认节点提将区块对应的区块信息提交到所述应用层;所述应用层执行交易动作并展示所述区块信息。2.根据权利要求1所述的区块链能源交易系统的交易方法,其特征在于,所述交易请求为管理员提出时,所述管理员通过证书节点注册后登录;管理员通过交Web前端提出所述交易请求;所述Web前端根据所述交易请求向所述Web后端发送Websocket消息,所述Web后端根据Websocket消息向所述Node.js SDK发送一个交易背书提案;交易请求为用户提出时,客户端将交易请求提交至所述Web后端,所述Web后端根据所述交易请求向所述Node.js SDK...

【专利技术属性】
技术研发人员:张强陈虹史伟刘绍东杨晓林张伟邵康吴博科
申请(专利权)人:国网江苏省电力有限公司国家电网有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1