SCI论文(www.lunwensci.com)
摘 要:近年来随着区块链技术的发展,区块链的应用范围已经不局限于数字货币,在智慧政务、智慧物流等方面都有区 块链成功应用的案例。分布式能源网络的结构与区块链类似,都需要去中心化、可信任、交易不可篡改等特性。因此本文提出 了一种基于区块链和数字签名的分布式能源网络交易模型,经过实验验证和分析这种交易模型能够提高交易过程透明化、扩大 区块链网络的可扩展性、提高交易效率。
关键词 :区块链,分布式能源,数字签名
Research 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】: In recent years, with the development of blockchain technology, the application scope of blockchain is not limited to digital currency. There are cases of successful application of blockchain in smart government affairs, smart logistics, etc. The structure of the distributed energy network is similar to that of the blockchain, and both require features such as decentralization, trustworthiness, and immutability of transactions. Therefore, this paper proposes a distributed energy network transaction model based on blockchain and digital signatures. After experimental verification and analysis, this transaction model can improve the transparency of the transaction process, expand the scalability of the blockchain network, and improve transaction efficiency. .
【Key words】: blockchain;distributed energy;digital signature
引言
区块链技术是一种去中心的、可信的、不可篡改的 分布式信息记录架构。区块链按网络类型可以分为公有 链、联盟链和私有链。公有链中所有节点可以自由地加 入和退出,例如广为人知的比特币平台 ;联盟链中的节 点需要经过授权才能加入,联盟链的应用场景更为广 泛 ;私有链的所有节点都属于同一个组织,是完全可信 的 [1]。区块链技术经过三个阶段的发展, 已经取得了广 泛的关注并且有着广阔的应用前景。区块链的第一个阶 段的主要特征是去中心化的数字货币,其中以比特币为 代表,数字货币的发行不依赖中心机构,而是由所有参与网络的节点采取统一的共识算法来实现,其中得到广 泛应用的是工作量证明算法 (PoW)。区块链的第二个阶 段的主要特征是可编程的智能合约,智能合约的主要作 用是用算法代替合约,当合约的条件被触发后,合约会 自动执行。区块链的第三个阶段是其应用范围不再局限 于金融领域,在物联网、医疗、物流等方面被广泛的应 用于解决数据信任问题 [1]。区块链应用的主要技术包括 P2P 通信、共识算法、数字签名等,其中数字签名技术 是关键所在。
数字签名技术保证了区块链网络中各节点对信息的 改变都是可追溯,可验证的。区块链中应用的数字签名包括传统的数字签名、环签名 [2]、聚合签名 [3] 等,其中聚 合签名的签名速度虽然比传统的数字签名略慢,但是大 大减少了签名次数、签名长度和通信量。因此,聚合签 名技术扩大了区块链的可扩展性,使得区块链网络能容 纳更多的节点,从而进一步推广了区块链的应用范围。
分布式能源一般位于用户附近,安装容量较小,并 消耗本地产生的能量 [4]。分布式能源系统可以利用光 伏、热能和风能等多种能源形式,为用户提供清洁能源 服务,可以有效减少电力传输造成的能量损耗,并减少 传统能源带来的环境污染,提高清洁能源利用率。但是 分布式能源面依然临着很多问题,例如交易中心需要较 高的维护成本和运行成本 ;重要的交易数据容易被篡改, 会对参与交易的各方造成极大的经济损失以及信任危机。 而区块链恰好适用于去中心化的端到端交易问题,因此 结合区块链技术解决分布式能源的交易问题是一种切实 可行的方案。本文结合区块链架构和分布式能源的典型 场景提出了一种基于区块链的分布式能源交易模型。
1 相关研究
区块链去中心化的特点以及智能合约技术恰好适应 分布式能源的特点,可以大幅提高能源的交易效率并减 少系统的维护成本。PowerLedger 是在分布式能源领 域应用区块链的一个项目,这个项目将用户加入到分布 式能源网络中,用户通过在屋顶的太阳能板以及储能 设备收集能源,并通过区块链网络自动交易自己多余的 能源。这个项目一方面提高了清洁能源的产量,减轻 环境污染 ;另一方面减少了传统能源网络的维护成本。 LO3Energy 是纽约布鲁克林的一家区块链技术公司, 该公司实现了一个区块链微电网系统,这个系统允许用 户将自己过剩的电力在网络中销售。用户会优先使用自 己收集的能源,多余的能源被电力供应商收集以后,用 户会获得相应的报酬。整个系统简单而高效,无需中心 机构的过多介入。从这些已有的应用中可以看出区块链 技术在分布式能源领域有着广阔而光明的应用前景,但 是目前的系统大多局限于光伏电能的交易,能源种类单 一,能源收集效率不高。并且区块链的共识效率低以及 交易吞吐量低等问题也急需解决。
在学术界能源区块链同样引起了广泛关注,主要针 对于基于区块链分布式能源共享网络架构研究以及分布 式能源网络中的交易模型研究。文献 [4] 提出了一种基 于侧链的可信分布式能源共享网络架构,这种网络架构 具有较高的有效性和安全性,在保证交易公正透明的同 时还能有效的保护用户隐私数据。文献 [5] 提出了一种 基于区块链的分布式电力竞价交易算法,该算法结合有序聚合签名及保序加密技术实现了无需传统电力交易中 心的电力交易过程。这种算法有效提升了电力交易的安 全性、可靠性和效率。文献 [6] 提出了一种基于区块链 的微网电力市场架构,利用智能合约控制电力交易流 程,保证了电力交易的安全性、实时性,提高了微网能 源利用率。
2 区块链技术概述
目前的区块链系统主要有比特币、以太坊、超级账 本等。每个系统都有各自的特点,但是本质上都是类似 的。区块链体系架构整体上可以划分为网络层、共识 层、数据层、智能合约层和应用层 6 个层次 [1]。
2.1 网络层
区块链网络中的节点可以自由加入或退出,每两个 节点之间可以进行直接通信,不存在中心节点或中心机 构,因此,区块链网络选择 P2P 协议作为网络传输协 议。每个节点都有够自动发现邻居节点、向邻居节点广 播区块、接收邻居节点发来的区块等功能。
2.2 共识层
共识算法在区块链中扮演着重要角色,区块链系统 使用的共识算法不同于普通分布式系统使用的共识算法, 因为普通分布式系统的节点都是可控的,只存在节点故 障问题,不存在恶意节点的问题,但是区块链网络中的 节点会存在恶意节点问题,因此需要支持拜占庭容错。 目前受到广泛关注的共识算法包括比特币使用的工作量 证明算法 (PoW),以太坊提出的股权证明算法 (PoS) 以 及 Hyperledger Fabric 使用 的实用拜 占庭容错算法 (PBFT)。其中实用拜占庭容错算法最具有发展潜力,这 种算法不同于以上两种共识算法,不需要限制区块的哈 希值,也就不需要过多的计算,所以总体上的共识效率 远高于以上两种共识算法。实用拜占庭容错算法是在节 点中选出主节点,由主节点记录客户端的交易请求,然 后把记录发送给其他节点,所有节点互相通信,经过预 准备阶段、准备阶段、提交阶段和回复阶段完成共识过 程。实用拜占庭容错算法能接受的最大拜占庭节点数 f=(n-1)/3.其中 n 是所有参与共识的节点个数。
2.3 数据层
数据层是区块链的存储的核心数据,区块链由区块 构成,区块中存储的数据主要由交易构成。区块链中的 最小数据单位是交易,交易记录着区块链中最重要的信 息,具体信息结构在不同的系统中各有不同,例如转账 记录、食品溯源记录、物流记录等,当然也可以是能源 交易记录。在交易之上的数据单位是区块,区块由区块 头和区块体两部分构成。区块头包括 Nonce 值、时间戳、本区块的哈希值、上一区块的哈希值以及 Merkle 树根等构成。区块体中存储了这个区块包含的所有交 易,以及由这些交易信息构成的 Merkle 树。其中,上 一区块的哈希值达到了防止数据被篡改的目的。如果某 个区块的数据被篡改,那么这个区块的哈希值必然会发 生变化,这就会引起后一个区块保存的上一区块哈希值 和这个区块的哈希值无法对应的问题,数据篡改的行为 也会同时被察觉。Merkle 树的结构使交易的查询效率 更高,并且节省计算机的存储空间。
2.4 智能合约层
智能合约在以太坊系统中得到完善和发展,在 Hyper- ledger Fabric 系统中的智能合约叫做链码,智能合约 是一些部署在区块链网络上的程序,当网络中发生了触 发智能合约执行的条件,智能合约就会自动执行,不需 要中心机构参与。智能合约是推动区块链快速发展,适 应广阔应用领域的重要技术。智能合约可以使金融贸 易、物联网、能源交易等在不需要第三方参与的情况下 安全高效的执行。
2.5 应用层
比特币系统的应用主要是数字货币的交易,以太坊 的应用层通过支持用户编写去中心化应用来丰富区块 链的应用场景,同时也有类似比特币的数字货币系统。 Hyperledger Fabric 没有数字货币系统, 但是其应用 场景更加广泛,可以通过其提供的 Go、Node.js、Java 语言的 SDK 构建适合用户自己应用场景的智能合约,并且Hyperledger Fabric 的网络结构也是灵活的, 用 户可以根据自己的需要自行构建。
3 数字签名技术概述
区块链中常用的数字签名是非对称加密类型的,这 种数字签名要求每个节点具有公钥和私钥两个密钥。发 送信息的一方首先需要计算信息的摘要,然后用私钥对 这个摘要进行加密计算,并附在消息上一起发送给接收 方,这样就完成了签名的过程。接收方接收到附带签 名的消息后,同样需要计算消息的摘要,然后用消息发 送方对应的公钥对签名进行验证。计算摘要的过程可以 保证如果消息中的任何一位被篡改了都会产生不同的摘 要,那么签名验证就不会通过,这样就保证了区块链中 消息的不可篡改性。
2004 年 Boneh 等人提出 BLS[7] 签名算法,这是一 种基于双线性映射构造的加密算法。这种签名算法不但 可以实现传统的数字签名和验证功能,还能实现聚合签 名的功能。只要将一组签名聚合起来,那么不论是签名 节点还是未签名节点都可以通过聚合的公钥验证这组签 名的真伪。这种签名方案可以大大减小签名长度和通信 次数。BLS 签名的基本思想是将待签名的消息散列到一 个椭圆曲线上的一个点,并利用双线性映射函数的交换 性质,在不泄露私钥的情况下来验证签名。
4 基于区块链的分布式能源网络交易模型
4.1 模型架构设计
本文设计了一个基于区块链的分布式能源交易模型,整个系统无需第三方参与即可高效的实现端到端能 源交易,系统模型分为用户端和区块链网络两个部分, 每个用户都是独立的能源生产和购买个体,用户端自由 选择购买或出售不同形式的能源,区块链网络通过智能 合约自动执行交易,并记录交易信息到区块链网络中。 具体模型架构如图 1 所示。区块链网络由排序节点、记 账节点和 CA 节点组成。多个排序节点组成排序服务, 这样的排序节点集群能够容忍部分节点崩溃故障,使整 个系统具有更高的可靠性。排序服务会将并行发生的交 易请求变成串行发生的交易请求,这样就避免了很多恶 意交易请求以及并行操作带来的错误,例如一笔代币同 时进行两次交易的双花问题。记账节点是存储区块链数 据的关键组件,多个记账节点通过 P2P 网络连接,任 意两个节点都可以进行双向通信。接收用户交易提案的 节点称为背书节点,它对用户的交易提案进行验证并返 回带有自己签名的结果。多个记账节点通过实用拜占庭 容错算法(PBFT)达成共识,这种共识算法相较于工 作量证明算法更节能,并且也具有更高的共识效率。各 节点间传递消息都需要进行签名,用户发送给排序节点 的交易消息以及排序节点间单播的消息都采用 RSA 签 名方式,而记账节点间的共识过程使用 BLS 聚合签名 方式。这样能在保证较快的签名速度的同时降低共识过 程中消耗的通信量,提高共识效率,提高区块链网络的 可扩展性。
4.2 准入机制
CA 节点为区块链网络提供了一种准入机制,通过 对用户身份的验证和证书控制,保证区块链网络的安 全有效。在开始交易之前,用户需要向 CA 节点申请证 书, CA 节点是区块链网络的证书颁发机构,节点在区 块链中所有操作都需要使用证书验证用户身份。用户需 要准备好设备信息和个人信息,并将证明文件提交给监 管部门,监管部门对相关文件认证后通过 CA 节点发送 证书给用户。
4.3 交易流程
当一切准备就绪后,用户可以开始交易过程。首 先,用户通过调用客户端的接口向区块链网络发起交易 申请。当区块链网络的背书节点收到交易申请后会对交 易进行模拟执行,如果执行过程中发现用户提交的交易 提案不合法则会返回消息告知用户无法完成交易,如果 交易能正常执行则会将模拟执行结果和签名后的消息返 回给用户。用户在拿到带有背书节点签名的交易提案后 就可以把这个交易提案发送给排序节点。排序节点在收 到交易提案后会对交易提案的签名进行验证,验证通过后会对交易进行排序,然后依次交给记账节点进行记 账。记账节点接收到交易后会将交易记录到本地区块 中,然后将区块广播给其他节点,待节点达成共识后, 这笔交易就被彻底记录在区块链网络上了。
4.4 多种能源形式的交易
这个分布式能源交易模型支持多种能源形式的交 易,例如风能、太阳能以及天然气。居民用户可以安装 小型光伏发电系统或者风力发电系统,并配备相应的智 能电力存储系统,日常生活优先使用本地系统存储的电 力,当本地电力存储有充足剩余的时候,智能电力存储 系统自动调用区块链网络接口,申请发起能源交易提 案。另外,工厂、商场等用电量较大用户可以通过区块 链网络获得灵活的电力供给,交易过程由智能电力存储 系统调用部署在区块链上的智能合约接口自动执行,整 个过程无需第三方或系统维护人员的参与。大部分情况 下燃气有专门的燃气公司供给,所以大部分用户没有燃 气供给系统,只有智能燃气存储系统。但是,通过结合 区块链网络,燃气的供给过程依然获得了极大的灵活 性。如图 2 所示,多个燃气公司接入区块链网络后,用 户可以自由的选择燃气供给方,类似于电力的交易过 程,燃气的交易过程也是无需第三方或系统维护人员参 与的。另外,本模型的区块链网络支持构建多个通信通 道,每个通信通道包含多个成员,每个成员也可以参与 多个通信通道。通过在不同通信通道上部署各自的智能 合约,可以构建微型能源交易系统,这样用户可以根据 能源的运输成本或市场情况等制定灵活的价格策略。
4.5 模型分析
传统的能源交易以中心机构为核心,一方面极大的 限制了用户的选择 ;另一方面也极大地限制了新型能源的发展。本文提出的基于区块链的分布式能源交易系统 丰富了用户的选择,提高了交易系统的安全性,将会推 动绿色能源的发展。在传统的能源交易模型中,以大 型能源供应企业为主,用户只能被动接受能源供应企业 的产品和价格,这使得大型能源企业在服务改进和科技 创新上缺乏动力。在基于区块链的分布式能源交易模型 中,每个用户的地位都是平等的,通过自由选择和充分 竞争可以极大的推动能源企业改善服务水平、提高科技 创新能力。
5 实验验证
本模型在用户发送消息给排序节点和排序节点间单 播消息的时候采用 RSA 签名方式,在记账节点间共识 的过程中采用 BLS 聚合签名的方式。这是因为在签名 的速度方面 RSA 更快,但是 BLS 能更方便的实现聚合 签名和验证。记账节点间的共识过程中要进行多次多节 点广播通信,这个过程中会消耗大量的通信资源。如果 使用 BLS 聚合签名可以把这些多节点广播通信变为单 节点广播通信,这样能降低通信量,尤其是在节点数量 较多时通信量的差异更加明显。
本实验使用 Go 语言分别实现了 RSA 签名和 BLS 签名, 并测试了签名 10 次、20 次、30 次、40 次和 50 次所消耗的时间。如图 3 所示, RSA 的签名速度略快于 BLS 签名。另外,本实验使用 Go 语言实现了 BLS 聚合签名, 并验证了聚合签名的耗时情况。实验结果如图 4 所示。 从 300 次聚合签名到 1000 次聚合签名,耗时依次增加, 从整体来看耗时不多,即使聚合 1000 次签名也只用了 0.5 毫秒左右的时间。这与通信量过大造成的排队时延 增加以及丢包问题所消耗的时间是非常小的。因此在区块链共识算法中引入聚合签名是合理的。
6 结论
本文分析了区块链技术的主要原理和发展例程,以 及传统能源交易模型中存在的问题并结合区块链技术和 分布式能源技术提出了一种基于区块链的分布式能源交 易模型。该交易模型有效的提高了能源交易效率,降低 了能源交易的维护成本。针对目前的集中式能源供应系 统的中心化、缺乏创新动力等问题提供了有效的解决方 案,同时有利于推动绿色能源的发展。另外用实验验证 了 RSA 签名和 BLS 签名的签名速度,以及聚合签名的 耗时,证明本模型在不同通信阶段采用不同的数字签名 方案是合理的、高效的。
参考文献
[1] 邵奇峰,金澈清,张召,等.区块链技术:架构及进展[J].计算机 学报,2018.41(5):969-988.
[2] 翟社平,陈思吉,汪一景.基于区块链的数字版权存证系统模 型研究[J].计算机工程与应用,2020.56(19):13-21.
[3] 苑超,徐蜜雪,斯雪明.基于聚合签名的共识算法优化方案[J]. 计算机科学,2018.45(2):53-56+83.
[4] 郭佳程,宁德军,李泱丞,等.基于区块链的可信分布式能源共 享网络研究[J].计算机工程,2021.47(3):17-28.
[5] 衡星辰,董灿,林克全,等.基于区块链的分布式电力竞价交易 算法[J].计算机工程,2020.46(2):35-40+47.
[6] 杨明通,周步祥,董申,等.区块链支持下的微网电力市场设计 及调度优化[J].电力自动化设备,2019.39(12):155-161.
[7] 陈佳伟,冼祥斌,杨振国,等.结合BLS聚合签名改进实用拜占庭 容错共识算法[J].计算机应用研究,2021.38(7):1952-1955+1962.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/53689.html