林树鸿 郭威 曹璐
【摘要】 区块链技术作为一种互联网分布式技术,因其巨大的潜力正飞速发展,该技术的应用场景逐渐蔓延到各个领域,其中包括电力行业。基于此,本文通过调查区块链技术的原理,重点研究如何在区块链技术的基础上设计电力业务云服务平台,以供相关人员参考。
【关键词】 区块链技术 电力业务 云服务平台
引言:
以往传统的集中化交易模式在处理分布式能源与电力用户直接交易时,极易受到隐私安全等因素的影响。而区块链技术作为一种先进的互联网技术,具有公正透明、安全可靠的优点。因此,研究以区块链技术为基础的电力业务云服务平台设计是十分必要的。
一、区块链技术原理以及共识算法
1.1区块链技术原理
区块链技术是以时间轴递增的一种链式的存储结构,在链上具有高度递增的区块,区块是由区块头、体组成,并且,每一个区块头都与上一区块的哈希值相链接,而区块体则主要包含信息,一般是交易的主体信息[1]。在交易区块链进行交易时,交易的发起方是客户端,通过验证数字签名,该交易信息会输送至区块链系统中的节点,节点就是客户的账户信息,通过在节点对交易信息进行验证,能够有效提升交易的安全性。在交易验证通过后,该节点的下一个区块会对此次相关的信息数据进行记录,记录完毕后区块链上的所有节点都会对新区块以共识算法为基础对其进行共识,在全面节点共识结束后,新区块就会被写入区块链上,成为链上的新节点。
由此可见,应用区块链技术后所开展的交易模式与以往传统的交易模式存在一定差异,主要体现为:在区块链上,节点可能属于不同的组织,但节点需要一同维护区块链系统中的信息数据,只要参与信息数据的维护作业,那么该节点都会对所维护的信息数据记录进行拷贝,进而形成不断增长的链。
而区块链上的区块只能够随着时间的推移而增加,且无法对记录完毕的区块信息进行篡改,这意味着,区块链技术能够有效保证信息数据的完整性和真实性,而且区块链系统也不用进行集中控制。
区块链技术的结构主要是分布式的网络结构,这要因为区块链的构建基础就是分布式网络,系统中的账本无需进行集中存储和控制,通过将账本分布在区块链系统中的节点上,一旦账本出现变化,该系统上所有节点的账本一同更新。而支撑区块链系统得以稳定运行的基础之一就是共识算法,通过共识算法能够使区块链系统上的每一个节点透明化、公开化,进而在使用区块链技术进行交易以及构建交易平台时,不用借助第三方的信用背书就能进行,且能够建立稳定的信任关系。而且,由于区块链技术的优势,具有公开化、透明化的特点,用户能够通过加入区块链进而对区块记录进行查询。
同时,如上所述,一旦某个账本发生变化该区块链上的所有节点的账本会同时更新,所以,每一个用户所查询到的账本都是实时更新且统一的,不存在信息偏差的情况。不仅如此,区块链技术由于其结构是链式且自带时间戳,因此,区块链系统中的信息数据具有极强的可追溯性和真实性。
二、研究在區块链技术的基础上设计电力业务云服务平台
2.1区块链电力业务交易服务平台设计
在能源场景中,以区块链技术为基础的电力业务云服务平台的实体是电力交易,在交易过程中,主要是采用挂单以及买单的形式。在此过程中,体现区块链技术行为的流程就是电力交易达成的步骤,当挂单和买单在应用层时,交易形成后,交易需要在区块链上完成,其中,智能合约会对交易数字化合约进行调用,并通过智能调度模式判断交易是否执行。在这种模式下,对该平台的交易序列进行设计。与传统在线交易服务平台不同,以区块链技术为基础的电力业务服务平台提供了能源侧交易的服务,对于该平台的服务模块,具有多种选择,既可以选择Hyperledger,还可以选择其他模块,使该平台具有易用性。在该平台的交易场景中,实现能源区块链交易服务的本质是开展Hyperledger侧的交易,通过事件驱动,交易完成后能够直接执行侧调度,进而实现区块链交易。
在交易时,转移的资产单位为人民币,用户通过充值等方式进行交易。另外,还需要在该平台中设计管理员角色,可由电业局等单位担任。在区块链上,客户的账户是链上的节点,主节点可以指定生成,在电力交易过程中可以在子网通道中制定智能合约。而且,通过区块链技术构建的该平台底层模块使得上层可以对能源交易应用进行设计。而且,通过RPC模式,也就是远程过程调用模式,能够进行在区块链容器内开展中心化交易,并在共识结束后写入信息,进而完成智能调度。
2.2以NodeSDk为基础,构建RPC模型
为实现区块链框架Hyperledger的中心化交易模式,可以通过设计区块链容器内部模块的命令性操作实现。在该交易平台中,交易的发起端是Web端,发起后智能合约对其进行操作,在交易过程中通过PBFT共识为交易提供保障,最后写入区块。具体而言,当交易发起时,该平台会进行UI操作,验证交易的合法性和完整性,验证通过后对该交易进行预处理并尝试交易,交易执行过程中会由相应的模板进行验证以及调用智能合约,最终通过共识模块完成,之后写入区块映射到该平台区块链信息数据库。通过该交流服务流程,省略了智能合约的部署环节,提高了工作效率。而SDK则是一种开发工具,其中包括多种高级语言。在该平台中,应用的就是高级语言中的NodeJS,主要是因为NodeJ语言S的SDK功能较强,且能够很好的适应高并发环境[2]。NodeSDK在于平台系统中的智能合约进行交互时,主要是通过stub以请求的方式进行。
不仅如此,NodeSDK还为该平台提供了智能合约操作的封装与交易平台通信,验证已确认的交易信息,并将验证信息发送至stub,进而进行区块链操作。当用户使用该平台发起交易申请后,Web端会显示交易正在处理,而此时的远程过程调用模型处于等待状态,主要是等该品台区块链执行结果,当完成执行后,就会处于Receive状态,这时智能合约就可以写入区块,并将信息传至后台,最后把信息写入数据库。通过该部分的设计,使得该平台的区块链上能够具有交易相关信息,而由于区块链技术自身特点,意味着这些信息数据具有可追溯性以及透明可信性,为交易的完整性和真实性提供保证。
2.3数据库设计与区块信息查询
在区块链技术基础上对电力业务云服务平台进行设计时,需要对其数据库进行设计,主要涉及两个表格,分别是用户表以及售电表。对于用电表而言,该表格发挥的主要作用是对用户的账号信息进行保存;对于售电表而言,该表格则是对目前交易单的各项信息进行保存。在用电表保存的信息中,包括用户类型,在售电表中,保存了用户余额信息。而区块信息的查询,主要设计为两种方式,一种方式是通过Fabric配置CouchDB,另一种方式是区块索引。对于第一种Fabric配置CouchDB的查询方式而言,其中CouchDB是一个数据库,其性质是文档形式的,能够提供相应该平台所需的操作数据库文档。在该类型的数据库中,将文档设计为无特定结构的,也就是无模式,进而支持较为复杂的区块信息查询。而在Hyperledger中也能够与该数据库相联系,通过可视化模板可以看到区块信息。进而在该平台进行交易后,可以在浏览器打开相应网址,作为区块链信息的数据库映射,以供相关人员的查询[3]。
三、结束语
综上所述,通过应用区块链技术设计电力业务云服务平台应用,能够有效提升业务交易效率,保证各项信息的准确性和可塑性。因此,相关单位应深入分析区块链技术,并将该技术与电力交易平台进行有效整合,搭建功能完备、安全可靠的电力交易服务平台。
参 考 文 献
[1]秦金磊,孙文强,李整,朱有产.基于区块链和改进型拍卖算法的微电网电能交易方法[J].电力自动化设备,2020,40(08):2-10.
[2]韩冬,张程正浩,孙伟卿,张巍,杨文威,肖敏.基于区块链技术的智能配售电交易平台架构设计[J].电力系统自动化,2019,43(07):89-99.