基于
区块
数字签名
分布式
能源
网络
研究
刘志新
SOFTWARE2022软 件第 43 卷 第 12 期2022 年Vol.43,No.12基金项目:中央引导地方科技发展资金项目“储热供暖协同调控关键技术研发与示范”(206Z4502G)作者简介:刘志新(1996),男,内蒙古赤峰人,研究生在读,研究方向:区块链与共识算法;李世杰(1995)男,研究生在读,甘肃天水人,研究方向:数据分析与挖掘、区块链+大数据。通讯作者:庞慧(1979),女,河北张家口人,本科,副教授,研究方向:大数据与信息处理。基于区块链和数字签名的分布式能源网络研究刘志新1 庞慧1,2 李世杰1(1.河北建筑工程学院,河北张家口 075000;2.张家口市大数据技术创新中心,河北张家口 075000)摘要:近年来随着区块链技术的发展,区块链的应用范围已经不局限于数字货币,在智慧政务、智慧物流等方面都有区块链成功应用的案例。分布式能源网络的结构与区块链类似,都需要去中心化、可信任、交易不可篡改等特性。因此本文提出了一种基于区块链和数字签名的分布式能源网络交易模型,经过实验验证和分析这种交易模型能够提高交易过程透明化、扩大区块链网络的可扩展性、提高交易效率。关键词:区块链;分布式能源;数字签名中图分类号:TP311.13文献标识码:ADOI:10.3969/j.issn.1003-6970.2022.12.019本文著录格式:刘志新,庞慧,李世杰.基于区块链和数字签名的分布式能源网络研究J.软件,2022,43(12):071-075Research on Distributed Energy Network Based on Blockchain and Digital Signature LIU Zhixin1,PANG Hui1,2,LI Shijie1 (1.Hebei Institute of Architecture and Engineering,Zhangjiakou Hebei 075000;2.Zhangjiakou Big Data Technology Innovation Center,Zhangjiakou Hebei 075000)【Abstract】:Inrecentyears,withthedevelopmentofblockchaintechnology,theapplicationscopeofblockchainisnotlimitedtodigitalcurrency.Therearecasesofsuccessfulapplicationofblockchaininsmartgovernmentaffairs,smartlogistics,etc.Thestructureofthedistributedenergynetworkissimilartothatoftheblockchain,andbothrequirefeaturessuchasdecentralization,trustworthiness,andimmutabilityoftransactions.Therefore,thispaperproposesadistributedenergynetworktransactionmodelbasedonblockchainanddigitalsignatures.Afterexperimentalverificationandanalysis,thistransactionmodelcanimprovethetransparencyofthetransactionprocess,expandthescalabilityoftheblockchainnetwork,andimprovetransactionefficiency.【Key words】:blockchain;distributedenergy;digitalsignature基金项目论文0 引言区块链技术是一种去中心的、可信的、不可篡改的分布式信息记录架构。区块链按网络类型可以分为公有链、联盟链和私有链。公有链中所有节点可以自由地加入和退出,例如广为人知的比特币平台;联盟链中的节点需要经过授权才能加入,联盟链的应用场景更为广泛;私有链的所有节点都属于同一个组织,是完全可信的1。区块链技术经过三个阶段的发展,已经取得了广泛的关注并且有着广阔的应用前景。区块链的第一个阶段的主要特征是去中心化的数字货币,其中以比特币为代表,数字货币的发行不依赖中心机构,而是由所有参与网络的节点采取统一的共识算法来实现,其中得到广泛应用的是工作量证明算法(PoW)。区块链的第二个阶段的主要特征是可编程的智能合约,智能合约的主要作用是用算法代替合约,当合约的条件被触发后,合约会自动执行。区块链的第三个阶段是其应用范围不再局限于金融领域,在物联网、医疗、物流等方面被广泛的应用于解决数据信任问题1。区块链应用的主要技术包括P2P 通信、共识算法、数字签名等,其中数字签名技术是关键所在。数字签名技术保证了区块链网络中各节点对信息的改变都是可追溯,可验证的。区块链中应用的数字签名72软 件第 43 卷 第 12 期SOFTWARE包括传统的数字签名、环签名2、聚合签名3等,其中聚合签名的签名速度虽然比传统的数字签名略慢,但是大大减少了签名次数、签名长度和通信量。因此,聚合签名技术扩大了区块链的可扩展性,使得区块链网络能容纳更多的节点,从而进一步推广了区块链的应用范围。分布式能源一般位于用户附近,安装容量较小,并消耗本地产生的能量4。分布式能源系统可以利用光伏、热能和风能等多种能源形式,为用户提供清洁能源服务,可以有效减少电力传输造成的能量损耗,并减少传统能源带来的环境污染,提高清洁能源利用率。但是分布式能源面依然临着很多问题,例如交易中心需要较高的维护成本和运行成本;重要的交易数据容易被篡改,会对参与交易的各方造成极大的经济损失以及信任危机。而区块链恰好适用于去中心化的端到端交易问题,因此结合区块链技术解决分布式能源的交易问题是一种切实可行的方案。本文结合区块链架构和分布式能源的典型场景提出了一种基于区块链的分布式能源交易模型。1 相关研究区块链去中心化的特点以及智能合约技术恰好适应分布式能源的特点,可以大幅提高能源的交易效率并减少系统的维护成本。PowerLedger 是在分布式能源领域应用区块链的一个项目,这个项目将用户加入到分布式能源网络中,用户通过在屋顶的太阳能板以及储能设备收集能源,并通过区块链网络自动交易自己多余的能源。这个项目一方面提高了清洁能源的产量,减轻环境污染;另一方面减少了传统能源网络的维护成本。LO3Energy 是纽约布鲁克林的一家区块链技术公司,该公司实现了一个区块链微电网系统,这个系统允许用户将自己过剩的电力在网络中销售。用户会优先使用自己收集的能源,多余的能源被电力供应商收集以后,用户会获得相应的报酬。整个系统简单而高效,无需中心机构的过多介入。从这些已有的应用中可以看出区块链技术在分布式能源领域有着广阔而光明的应用前景,但是目前的系统大多局限于光伏电能的交易,能源种类单一,能源收集效率不高。并且区块链的共识效率低以及交易吞吐量低等问题也急需解决。在学术界能源区块链同样引起了广泛关注,主要针对于基于区块链分布式能源共享网络架构研究以及分布式能源网络中的交易模型研究。文献 4 提出了一种基于侧链的可信分布式能源共享网络架构,这种网络架构具有较高的有效性和安全性,在保证交易公正透明的同时还能有效的保护用户隐私数据。文献 5 提出了一种基于区块链的分布式电力竞价交易算法,该算法结合有序聚合签名及保序加密技术实现了无需传统电力交易中心的电力交易过程。这种算法有效提升了电力交易的安全性、可靠性和效率。文献 6 提出了一种基于区块链的微网电力市场架构,利用智能合约控制电力交易流程,保证了电力交易的安全性、实时性,提高了微网能源利用率。2 区块链技术概述目前的区块链系统主要有比特币、以太坊、超级账本等。每个系统都有各自的特点,但是本质上都是类似的。区块链体系架构整体上可以划分为网络层、共识层、数据层、智能合约层和应用层 6 个层次1。2.1 网络层区块链网络中的节点可以自由加入或退出,每两个节点之间可以进行直接通信,不存在中心节点或中心机构,因此,区块链网络选择 P2P 协议作为网络传输协议。每个节点都有够自动发现邻居节点、向邻居节点广播区块、接收邻居节点发来的区块等功能。2.2 共识层共识算法在区块链中扮演着重要角色,区块链系统使用的共识算法不同于普通分布式系统使用的共识算法,因为普通分布式系统的节点都是可控的,只存在节点故障问题,不存在恶意节点的问题,但是区块链网络中的节点会存在恶意节点问题,因此需要支持拜占庭容错。目前受到广泛关注的共识算法包括比特币使用的工作量证明算法(PoW),以太坊提出的股权证明算法(PoS)以及 HyperledgerFabric 使用的实用拜占庭容错算法(PBFT)。其中实用拜占庭容错算法最具有发展潜力,这种算法不同于以上两种共识算法,不需要限制区块的哈希值,也就不需要过多的计算,所以总体上的共识效率远高于以上两种共识算法。实用拜占庭容错算法是在节点中选出主节点,由主节点记录客户端的交易请求,然后把记录发送给其他节点,所有节点互相通信,经过预准备阶段、准备阶段、提交阶段和回复阶段完成共识过程。实用拜占庭容错算法能接受的最大拜占庭节点数f=(n-1)/3,其中 n 是所有参与共识的节点个数。2.3 数据层数据层是区块链的存储的核心数据,区块链由区块构成,区块中存储的数据主要由交易构成。区块链中的最小数据单位是交易,交易记录着区块链中最重要的信息,具体信息结构在不同的系统中各有不同,例如转账记录、食品溯源记录、物流记录等,当然也可以是能源交易记录。在交易之上的数据单位是区块,区块由区块头和区块体两部分构成。区块头包括 Nonce 值、时间73刘志新庞慧李世杰:基于区块链和数字签名的分布式能源网络研究戳、本区块的哈希值、上一区块的哈希值以及 Merkle树根等构成。区块体中存储了这个区块包含的所有交易,以及由这些交易信息构成的 Merkle 树。其中,上一区块的哈希值达到了防止数据被篡改的目的。如果某个区块的数据被篡改,那么这个区块的哈希值必然会发生变化,这就会引起后一个区块保存的上一区块哈希值和这个区块的哈希值无法对应的问题,数据篡改的行为也会同时被察觉。Merkle 树的结构使交易的查询效率更高,并且节省计算机的存储空间。2.4 智能合约层智能合约在以太坊系统中得到完善和发展,在Hyper-ledgerFabric 系统中的智能合约叫做链码,智能合约是一些部署在区块链网络上的程序,当网络中发生了触发智能合约执行的条件,智能合约就会自动执行,不需要中心机构参与。智能合约是推动区块链快速发展,适应广阔应用领域的重要技术。智能合约可以使金融贸易、物联网、能源交易等在不需要第三方参与的情况下安全高效的执行。2.5 应用层比特币系统的应用主要是数字货币的交易,以太坊的应用层通过支持用户编写去中心化应用来丰富区块链的应用场景,同时也有类似比特币的数字货币系统。HyperledgerFabric 没有数字货币系统,但是其应用场景更加广泛,可以通过其提供的 Go、Node.js、Java语言的 SDK 构建适合用户自己应用场景的智能合约,并且 HyperledgerFabric 的网络结构也是灵活的,用户可以根据自己的需要自行构建。3 数字签名技术概述区块链中常用的数字签名是非对称加密类型的,这种数字签名要求每个节点具有公钥和私钥两个密钥。发送信息的一方首先需要计算信息的摘要,然后用私钥对这个摘要进行加密计算,并附在消息上一起发送给接收方,这样就完成了签名的过程。接收方接收到附带签名的消息后,同样需要计算消息的摘要,然后用消息发送方对应的公钥对签名进行验证。计算摘要的过程可以保证如果消息中的任何一位被篡改了都会产生不同的摘要,那么签名验证就不会通过,这样就保证了区块链中消息