CN110879898A - 一种基于区块链技术的电网数据完整性检测系统及检测方法 - Google Patents
一种基于区块链技术的电网数据完整性检测系统及检测方法 Download PDFInfo
- Publication number
- CN110879898A CN110879898A CN201911023425.3A CN201911023425A CN110879898A CN 110879898 A CN110879898 A CN 110879898A CN 201911023425 A CN201911023425 A CN 201911023425A CN 110879898 A CN110879898 A CN 110879898A
- Authority
- CN
- China
- Prior art keywords
- block
- data
- hash
- module
- block chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 31
- 238000005516 engineering process Methods 0.000 title claims abstract description 30
- 238000005065 mining Methods 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000012360 testing method Methods 0.000 claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims description 18
- 239000000872 buffer Substances 0.000 claims description 6
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 239000003086 colorant Substances 0.000 claims description 3
- 238000007418 data mining Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 3
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000004088 simulation Methods 0.000 claims description 3
- 238000011158 quantitative evaluation Methods 0.000 abstract description 5
- 238000011835 investigation Methods 0.000 abstract description 3
- 238000009412 basement excavation Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008602 contraction Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6272—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Bioethics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Water Supply & Treatment (AREA)
- Public Health (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Primary Health Care (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于区块链技术的电网数据完整性检测系统及检测方法,属于电网应用系统的数据完整性检测方法技术领域。包括哈希模块、区块模块、区块链模块、分布式模块;哈希模块,用于对电网业务数据的加密,保证数据完整性;区块模块,用于存储数据并保证数据的完整性以及检测数据是否被篡改;区块链模块,用于测试出系统的效率和挖掘时间与区块数之间的关系,从而达到进一步优化系统;分布式模块,用来对系统数据的仿真。本发明基于区块链技术的电网数据完整性检测方法,该方法通过运用区块链技术和电网业务相结合的模式,实现对电网业务系统调查、实现和定量评价,并实现该系统性能,从而达到对数据完整性的检测,同时,根据区块链中存储的数据,对该系统进行量化评价和性能升级,最终增强用户体验,大大提升业务系统运维效率。
Description
技术领域
本发明涉及一种基于区块链技术的电网数据完整性检测方法,属于电网应用系统的数据完整性检测系统及检测方法技术领域。
背景技术
信息化是实现智能电网基础功能的重要前提,随着信息技术在电力系统基础设施和高级应用中的深度渗透,相互依存的信息网和电力网将成为未来智能电网的重要组成部分。信息化的深入可以为企业带来更高的生产效率和管理水平,可以让用户体验更经济的用电方式和更好的用户体验。但是在信息技术发展迅速的今天,许多安全漏洞还没有得到有效的解决,近年来发生的利用信息网络攻击工业系统的重大事件更是引发了广泛的关注和担忧,而且传统领域中数据完整性保护方法又无法适应智能电网这个特殊的环境。
随着ICT技术(大数据、云计算、电力物联网、移动互联网),人工智能和量子通信等技术在国家电网业务系统上的应用,极大地提升了国网业务系统的性能。区块链革命在许多方面引发了许多创新的方法,包括工业物联网领域。同时,由于区块链技术在分散化和抗篡改方面具有无与伦比的优势,区块链技术也被合理地引入到了多个不可否认争议解决系统中。
区块链目前大部分应用于金融领域,但随着区块链技术的迅猛发展,将会有越来越多的区块链应用于不同领域。传统行业可以考虑将区块链应用到自己的领域,以增强系统性能。例如,用户信誉可以存储在区块链上。同样,电力行业也可以应用区块链来提升自己的业务。
在电网业务系统的生产运行过程中,当电网系统受到单点故障和恶意攻击时,现有技术无法保证并检测其数据完整性,导致电网业务的数据准确性和可持续性降低。
因此,一套成熟完整的电力系统数据完整性检测模型的设计与实现,具有现实意义。
发明内容
本发明的目的在于解决上述现有技术存在的不足之处,提供一种基于区块链技术的电网数据完整性检测方法,该方法通过运用区块链技术和电网业务相结合的模式,实现对电网业务系统调查、实现和定量评价,并实现该系统性能,从而达到对数据完整性的检测,同时,根据区块链中存储的数据,对该系统进行量化评价和性能升级,最终增强用户体验,大大提升业务系统运维效率。
一种基于区块链技术的电网数据完整性检测系统,其特殊之处在于包括:哈希模块、区块模块、区块链模块、分布式模块;
哈希模块,用于对电网业务数据的加密,保证数据完整性;
区块模块,用于存储数据并保证数据的完整性以及检测数据是否被篡改;
区块链模块,用于测试出系统的效率和挖掘时间与区块数之间的关系,从而达到进一步优化系统;
分布式模块,用来对系统数据的仿真。
优选的,所述哈希模块的页面设计过程中通过SHA-256算法将数据转换为256位的哈希中,由于两个关键原因,该算法适用于抗篡改,其一是哈希是一种单向函数,无法反向解密回来,无法通过加密的结果找到关于原始数据的任何提示,在电网业务数据进行哈希安全加密之前,需进行以下几个步骤:
1)在开始哈希计算之前,需要确保消息的长度是512位的倍数,方法是需要在原始数据的末尾添加“100…000”,并停止添加0直到长度达到512位的倍数;
2)块分解:填充过的数据将根据其大小被分成N个512位的块(Q1,Q2,Q3...Qn),然后每个512位的块将被分为16个32位的字(Qi0,Qi1,Qi2...Qi15),最后根据SHA-2的规则,它们将被扩展为64个32位的字,标记为W0,W1,W2...W63;
3)哈希计算:首先初始化8个32位缓冲区(H1,H2,H3,H4,H5,H6,H7,H8),这些缓冲区存储中间介质和最终结果,然后对每个区块进行64次循环迭代计算;
优选的,所述区块模块包括区块号、随机数、前指针、哈希和数据;
优选的,所述区块号在区块的头部,是一个数字对于某个区块是唯一的标识,这个数字是根据需要创建的区块链的长度递增的,区块号从零开始,由于对区块链的长度没有限制,所以区块数的最大值是无限的;
优选的,所述随机数用于计算哈希,在这个系统中,区块挖掘成功的标准是检查哈希计算的结果是否达到了设置的难度,哈希的难易程度是根据哈希结果头部的零个数来计算的,难度是区块挖掘中一个重要的固定常数,它对区块挖掘的时间有很大的影响;
优选的,所述前指针在区块链的结构中起着关键作用,并数据的完整性检测主要也是依靠前指针这一步是否发生异常从而确定数据是否发生篡改等情况,前指针将大量区块有序地连接起来,保证了整个数据库的数据完整性,如果前指针不存在,区块只会独立存在,不会形成强大的区块链结构,从而无法防止篡改攻击和未知故障;
同时,区块链的管理者很容易对区块链数据进行管理,如果出现错误,因为当前区块的前指针与先前一区块的哈希值不同,所以管理者很容易检测到被篡改区块的位置;
在该系统中,一旦前指针与前一个区块的哈希值不同,区块的背景就会从绿色变为红色;
优选的,所述哈希值是区块结构中的一个关键点,使用SHA- 256来计算结果,在轻量级的区块链中,哈希值是根据区块号、数据和随机数来计算的,所以这三个参数的任何变化都会对哈希值的计算结果产生很大的影响;
要检查哈希结果是否符合要求取决于所设置的难度级别,难度数表示哈希头部中的零的个数,因为在一个十六进制值中有16个可能的字符,每次将难度增加1,就使难题难度增加16倍,所以需要控制难度和随机数区间,在测试中,如果难度为6,最大随机数会大于50000000;
优选的,所述区块有三种状态,通过不同的背景颜色呈现,包括灰色、红色和绿色,代表各自的意义,其中灰色代表区块状态为空闲或者区块尚未激活,绿色代表区块状态为成功或者区块以被激活,且该区块的前指针等于前一个区块的哈希值,红色代表区块状态为失败或者1、数据为空;2、该区块的前指针不等于前一个区块的哈希值;
优选的,所述区块链模块3的创建基于每个区块,当知道单个区块的结构时,就能得到区块链的构造机制,区块数与区块挖掘效率采用以下公式计算:
其中,Miningtime代表挖掘时间, Blocknumber代表区块数;
随着区块数的增加,效率变化不大,可以推断,如果难度固定,区块挖掘的速度采用以下公式计算:
区块链中难度和挖掘时间的关系和在区块中的结果类似,挖掘时间随着难度的增加而急剧增长,用对数函数计算区块挖掘时间,以减少数值的变化区间,但值得注意的是,当难度从1增加到3时,区块挖掘的时间并没有增加太多,当难度为4时,区块挖掘时间增加10倍以上,在测试中,尝试过将难度增加到6或7,但计算时间过长,超过了三十分钟,所以测试的难度区间为1到5;
优选的,所述分布式模块用于对系统数据的仿真,分布式页面中是一个由四个节点组成的分布式系统,分别代表电网数据的的四个不同的传感器,仿真分为三个部分:数据生成、基于区块链的数据集中的存储和从区块链中读取存储的数据;在分布式区块链系统中,分布式传感器的数量是重要参数,以相同的难度(默认为3)和数据长度(默认为13位)测量从5到50个传感器的数量,以测试区块挖掘的效率,效率采用与上述类似公式计算;
从测量结果来看,5个传感器的效率高于10个传感器的效率。系统的发展趋势是,在系统中一起工作的传感器越多,效率越低,这与现实情况是一样的,虽然效率呈下降趋势,但并没有快速下降,而是在收缩过程中,数量缓慢增长。当传感器数量从10个增加到50个时,效率只增长了2左右;
数据长度和区块挖掘时间的结果在区块与区块链中的测试结果基本相同,当数据长度在50位至500位之间时,相同的难度(默认为3)和区块数(默认为50个)时,挖掘时间仅在50秒左右的时间内小范围波动。因此,可以推断,500位是一个阈值,最好控制数据长度不超过500位;
难度的测试区间为1到5,分布式区块链中难度和挖掘时间的结果也几乎和在区块或区块链中的测试结果相同,挖掘时间是通过对数函数计算出来的,因为它增长得很快,一般来说,区块挖掘时间受难度影响较大,尤其是难度大于3时,挖掘时间增长速度明显加快了许多。
本发明的一种基于区块链技术的电网数据完整性检测方法,其特殊之处在于包括以下步骤:
1)、数据生成
1.1、数据由四个传感器以数字和文本的组合形式生成,同时数据将被插入到区块中,将这四个节点模拟成四个传感器,分别检测电网不同地方环境的温度和湿度;
1.2、调用数据插入模块生成传感器中区块的数据包括它产生的湿度、温度和数据源通过改变数据长度,同时依照数据长度与区块挖掘时间之间的相关性进一步生成数据,生成的数据将会被存储,等待进一步处理;
2)、数据存储
2.1、生成数据后,点击“插入数据个数”按钮,数据将被存储到区块中,但区块的背景仍然是红色的,因为区块还没有被检查识别,仍然是“非法的”,为了使区块合法,应该点击“挖矿”按钮。“挖矿”按钮功能它调用函数SHA-256(),并计算适合所设置的难度的哈希结果,如果计算成功,则区块的背景将由红色变为绿色;
2.2、通过区块和区块链之间的组合关系,判断各个区块之间是否存在,进而挖掘相应区块信息,同时创建区块链读取区块数和传感器数,同时进行参数赋值i=块号;j=同行编号;接着通过数据插入模块读取数据来源,同时生成数据,同时给出下一个空区块的区块号,以便继续搜索数据同时存储;
2.3、通过区块和区块链之间的组合关系,判断各个区块之间是否存在,进而挖掘相应区块信息,;然后根据区块链模块读取关于区块号、数据和随机数的信息,将读出来的数据传送给上一级模块同时调用哈希方法SHA256()的信息计算哈希值并返回结果接着设置计时器以记录时间;
3)、数据读取
3.1、获取全链数据:可以通过点击“查找数据”按钮进行区块挖掘获取区块链中存储的所有数据,然后列出区块链中四个传感器存储的数据;
3.2、获取特定区块数据:数据展示模块读取区块链的区块号,然后通过数据挖掘根据区块号从特定区块中获取数据内容,然后点击“查询”按钮,系统将返回存储在其中的内容;
3.3、检查正确性:首先获取块之间的信息然后在根据数据检查模块返回的结果,从而判断是否有人篡改了数据,主要任务是检查前指针是否等于前一个区块的哈希值实际上,如果等于说明数据是完整的,可以继续存储,否则更新区块的状态,更改背景的颜色,同时向系统管理员发出预警信息。
优选的,所述3.3、检查正确性之后还设有步骤3.4,具体为计算时间:通过计时器记录的时间计算创建特定数量区块所花费的时间,它与评价部分密切相关,评价不同参数与消耗时间之间的可扩展性、正确性和相关性。
本发明可以取得以下显著效果:
(1)、提高电力系统的可扩展性
系统的可扩展性是一种系统处理高密度工作压力的能力。在本发明的方案中,工作压力来自于越来越多的传感器数量和应该挖掘的区块数量。测量结果表明,随着传感器数量增加,效率降低,但速度仍处于较高水平,系统可以在500秒内用50个传感器完成50个区块的挖掘。但是没有测量传感器的数量大于50的情况,这类情况下的可扩展性还有待讨论。一般来说,可以得出结论,该系统在一个不大的工厂与少数传感器或机器的制造中是可扩展的;
(2)、提高电力系统的效率
本发明给出了两个计算效率的公式,可以发现区块挖掘的效率直接与哈希的难度和传感器的数量有关,而与区块的数量无关。对于区块长度,500位是一个阈值,如果数据长度大于500位,效率会急剧下降。在本发明的应用场景中,传感器的数量是4个,数据长度大约是30位,所以效率可以得到保证。如果数据需要增加,建议不超过500位;
通过测试,可以推断出对区块挖掘时间影响最大的参数无疑是导致区块挖掘时间指数增长的哈希计算难度。第二类影响较大的参数是传感器数和区块数,这些都会增加区块挖掘时间,但不会在很大程度上增加。数据长度对区块挖掘时间的影响相对较小。只要数据长度控制在一定范围内(在测试中,数据大小阈值为500位),对区块挖掘时间几乎没有影响;
(3)、提高系统的安全性
在发明中,基于分布式区块链系统的安全性是保证数据的完整性,这在现实工厂中是非常重要的。为了评价系统的安全性,模拟了有人篡改区块链的不同长度的应用场景,并分析了整个区块链的重新挖掘所消耗的时间;
测量结果表明,在重新挖掘区块链的过程中,效率的数值呈上升趋势,表明区块挖掘速度减慢。重新挖掘效率数值高于正常挖掘效率数值,实际上,重新挖掘的过程很难正常进行,被篡改的地方几乎不可能不被发现。背后有两个重要的系统功能。第一个功能是是每个区块以背景颜色作为警报,如果做了一些改变,背景颜色会立即从绿色变为红色,这使得管理者很容易发现有人企图篡改数据,可以及时的采取相应的措施。第二个功能是,在系统中,用户只要点击系统中设置好的的按钮,就可以通过前指针检查区块链的正确性,然后系统就会生成关于整个区块链正确性的报告。用户或管理者可以从报表中检查正确性,如果出现错误,报表还会指出错误的区块号。
附图说明
图1:本发明一种基于区块链技术的电网数据完整性检测系统架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供一种基于区块链技术的电网数据完整性检测系统,参考附图1,系统结构包括哈希模块、区块模块、区块链模块、分布式模块;
哈希模块,用于对电网业务数据的加密,保证数据完整性;
区块模块,用于存储数据并保证数据的完整性以及检测数据是否被篡改;
区块链模块,用于测试出系统的效率和挖掘时间与区块数之间的关系,从而达到进一步优化系统;
分布式模块,用来对系统数据的仿真。
其中,哈希模块的页面设计过程中通过SHA-256算法将数据转换为256位的哈希中,由于两个关键原因,该算法适用于抗篡改,其一是哈希是一种单向函数,无法反向解密回来,无法通过加密的结果找到关于原始数据的任何提示,在电网业务数据进行哈希安全加密之前,需进行以下几个步骤:
1)在开始哈希计算之前,需要确保消息的长度是512位的倍数,方法是需要在原始数据的末尾添加“100…000”,并停止添加0直到长度达到512位的倍数;
2)块分解:填充过的数据将根据其大小被分成N个512位的块(Q1,Q2,Q3...Qn),然后每个512位的块将被分为16个32位的字(Qi0,Qi1,Qi2...Qi15),最后根据SHA-2的规则,它们将被扩展为64个32位的字,标记为W0,W1,W2...W63;
3)哈希计算:首先初始化8个32位缓冲区(H1,H2,H3,H4,H5,H6,H7,H8),这些缓冲区存储中间介质和最终结果,然后对每个区块进行64次循环迭代计算;
其中,区块模块包括区块号、随机数、前指针、哈希和数据;
区块号在区块的头部,是一个数字对于某个区块是唯一的标识,这个数字是根据需要创建的区块链的长度递增的,区块号从零开始,由于对区块链的长度没有限制,所以区块数的最大值是无限的;
随机数用于计算哈希,在这个系统中,区块挖掘成功的标准是检查哈希计算的结果是否达到了设置的难度,哈希的难易程度是根据哈希结果头部的零个数来计算的,难度是区块挖掘中一个重要的固定常数,它对区块挖掘的时间有很大的影响;
前指针在区块链的结构中起着关键作用,并数据的完整性检测主要也是依靠前指针这一步是否发生异常从而确定数据是否发生篡改等情况,前指针将大量区块有序地连接起来,保证了整个数据库的数据完整性,如果前指针不存在,区块只会独立存在,不会形成强大的区块链结构,从而无法防止篡改攻击和未知故障;
同时,区块链的管理者很容易对区块链数据进行管理,如果出现错误,因为当前区块的前指针与先前一区块的哈希值不同,所以管理者很容易检测到被篡改区块的位置;
在该系统中,一旦前指针与前一个区块的哈希值不同,区块的背景就会从绿色变为红色;
哈希值是区块结构中的一个关键点,使用SHA- 256来计算结果,在轻量级的区块链中,哈希值是根据区块号、数据和随机数来计算的,所以这三个参数的任何变化都会对哈希值的计算结果产生很大的影响;
要检查哈希结果是否符合要求取决于所设置的难度级别,难度数表示哈希头部中的零的个数,因为在一个十六进制值中有16个可能的字符,每次将难度增加1,就使难题难度增加16倍,所以需要控制难度和随机数区间,在测试中,如果难度为6,最大随机数会大于50000000;
其中,区块有三种状态,通过不同的背景颜色呈现,包括灰色、红色和绿色,代表各自的意义,其中灰色代表区块状态为空闲或者区块尚未激活,绿色代表区块状态为成功或者区块以被激活,且该区块的前指针等于前一个区块的哈希值,红色代表区块状态为失败或者1、数据为空;2、该区块的前指针不等于前一个区块的哈希值;
区块链模块的创建基于每个区块,当知道单个区块的结构时,就能得到区块链的构造机制,区块数与区块挖掘效率采用以下公式计算:
其中,Miningtime代表挖掘时间, Blocknumber代表区块数;
随着区块数的增加,效率变化不大,可以推断,如果难度固定,区块挖掘的速度采用以下公式计算:
区块链中难度和挖掘时间的关系和在区块中的结果类似,挖掘时间随着难度的增加而急剧增长,用对数函数计算区块挖掘时间,以减少数值的变化区间,但值得注意的是,当难度从1增加到3时,区块挖掘的时间并没有增加太多,当难度为4时,区块挖掘时间增加10倍以上,在测试中,尝试过将难度增加到6或7,但计算时间过长,超过了三十分钟,所以测试的难度区间为1到5;
分布式模块用于对系统数据的仿真,分布式页面中是一个由四个节点组成的分布式系统,分别代表电网数据的的四个不同的传感器,仿真分为三个部分:数据生成、基于区块链的数据集中的存储和从区块链中读取存储的数据;在分布式区块链系统中,分布式传感器的数量是重要参数,以相同的难度(默认为3)和数据长度(默认为13位)测量从5到50个传感器的数量,以测试区块挖掘的效率,效率采用与上述类似公式计算;
从测量结果来看,5个传感器的效率高于10个传感器的效率。系统的发展趋势是,在系统中一起工作的传感器越多,效率越低,这与现实情况是一样的,虽然效率呈下降趋势,但并没有快速下降,而是在收缩过程中,数量缓慢增长。当传感器数量从10个增加到50个时,效率只增长了2左右;
数据长度和区块挖掘时间的结果在区块与区块链中的测试结果基本相同,当数据长度在50位至500位之间时,相同的难度(默认为3)和区块数(默认为50个)时,挖掘时间仅在50秒左右的时间内小范围波动。因此,可以推断,500位是一个阈值,最好控制数据长度不超过500位;
难度的测试区间为1到5,分布式区块链中难度和挖掘时间的结果也几乎和在区块或区块链中的测试结果相同,挖掘时间是通过对数函数计算出来的,因为它增长得很快,一般来说,区块挖掘时间受难度影响较大,尤其是难度大于3时,挖掘时间增长速度明显加快了许多。
实施例2
本实施例提供一种基于区块链技术的电网数据完整性检测方法,参考附图1,包括以下步骤:
1)、数据生成
1.1、数据由四个传感器以数字和文本的组合形式生成,同时数据将被插入到区块中,将这四个节点模拟成四个传感器,分别检测电网不同地方环境的温度和湿度;
1.2、调用数据插入模块生成传感器中区块的数据包括它产生的湿度、温度和数据源通过改变数据长度,同时依照数据长度与区块挖掘时间之间的相关性进一步生成数据,生成的数据将会被存储,等待进一步处理;
2)、数据存储
2.1、生成数据后,点击“插入数据个数”按钮,数据将被存储到区块中,但区块的背景仍然是红色的,因为区块还没有被检查识别,仍然是“非法的”,为了使区块合法,应该点击“挖矿”按钮。“挖矿”按钮功能它调用函数SHA-256(),并计算适合所设置的难度的哈希结果,如果计算成功,则区块的背景将由红色变为绿色;
2.2、通过区块和区块链之间的组合关系,判断各个区块之间是否存在,进而挖掘相应区块信息,同时创建区块链读取区块数和传感器数,同时进行参数赋值i=块号;j=同行编号;接着通过数据插入模块读取数据来源,同时生成数据,同时给出下一个空区块的区块号,以便继续搜索数据同时存储;
2.3、通过区块和区块链之间的组合关系,判断各个区块之间是否存在,进而挖掘相应区块信息,;然后根据区块链模块读取关于区块号、数据和随机数的信息,将读出来的数据传送给上一级模块同时调用哈希方法SHA256()的信息计算哈希值并返回结果接着设置计时器以记录时间;
3)、数据读取
3.1、获取全链数据:可以通过点击“查找数据”按钮进行区块挖掘获取区块链中存储的所有数据,然后列出区块链中四个传感器存储的数据;
3.2、获取特定区块数据:数据展示模块读取区块链的区块号,然后通过数据挖掘根据区块号从特定区块中获取数据内容,然后点击“查询”按钮,系统将返回存储在其中的内容;
3.3、检查正确性:首先获取块之间的信息然后在根据数据检查模块返回的结果,从而判断是否有人篡改了数据,主要任务是检查前指针是否等于前一个区块的哈希值实际上,如果等于说明数据是完整的,可以继续存储,否则更新区块的状态,更改背景的颜色,同时向系统管理员发出预警信息。
3.4、计算时间:通过计时器记录的时间计算创建特定数量区块所花费的时间,它与评价部分密切相关,评价不同参数与消耗时间之间的可扩展性、正确性和相关性。
本发明通过运用区块链技术和电网业务相结合的模式,实现对电网业务系统调查、实现和定量评价,并实现该系统性能,从而达到对数据完整性的检测。同时,根据区块链中存储的数据,对该系统进行量化评价和性能升级,最终增强用户体验,大大提升业务系统运维效率。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (9)
1.一种基于区块链技术的电网数据完整性检测系统,其特征在于包括:哈希模块、区块模块、区块链模块、分布式模块;
哈希模块,用于对电网业务数据的加密,保证数据完整性;
区块模块,用于存储数据并保证数据的完整性以及检测数据是否被篡改;
区块链模块,用于测试出系统的效率和挖掘时间与区块数之间的关系,从而达到进一步优化系统;
分布式模块,用来对系统数据的仿真。
2.按照权利要求1所述的一种基于区块链技术的电网数据完整性检测系统,其特征在于所述哈希模块的页面设计过程中通过SHA-256算法将数据转换为256位的哈希中,在电网业务数据进行哈希安全加密之前,先进行以下几个步骤:
1)填充:在开始哈希计算之前,要确定消息的长度是512位的倍数,确定方法为:在原始数据的末尾添加“100…000”,并停止添加0直到长度达到512位的倍数;
2)块分解:填充过的数据将根据其大小被分成N个512位的块(Q1,Q2,Q3...Qn),然后每个512位的块将被分为16个32位的字(Qi0,Qi1,Qi2...Qi15),最后根据SHA-2的规则,它们将被扩展为64个32位的字,标记为W0,W1,W2...W63;
3)哈希计算:首先初始化8个32位缓冲区(H1,H2,H3,H4,H5,H6,H7,H8),缓冲区存储中间介质和最终结果,然后对每个区块进行64次循环迭代计算。
3.按照权利要求1所述的一种基于区块链技术的电网数据完整性检测系统,其特征在于所述区块模块包括区块号、随机数、前指针、哈希和数据;
区块号是一个数字对于某个区块是唯一的标识;
随机数用于计算哈希;
数据的完整性检测主要依靠前指针这一步是否发生异常从而确定数据是否发生篡改等情况;
哈希和数据,哈希值是区块结构中的一个关键点,使用SHA- 256来计算结果,在轻量级的区块链中,哈希值是根据区块号、数据和随机数来计算。
4.按照权利要求3所述的一种基于区块链技术的电网数据完整性检测系统,其特征在于
所述区块号在区块的头部,是一个数字对于某个区块是唯一的标识,这个数字是根据需要创建的区块链的长度递增的,区块号从零开始,由于对区块链的长度没有限制,区块数的最大值是无限的;
所述随机数用于计算哈希,在系统中,区块挖掘成功的标准是检查哈希计算的结果是否达到了设置的难度,哈希的难易程度是根据哈希结果头部的零个数来计算的;
所述前指针将大量区块有序地连接起来,保证了整个数据库的数据完整性;
若前指针与前一个区块的哈希值不同,区块的背景就会从绿色变为红色;
所述哈希值使用SHA- 256来计算结果,哈希值是根据区块号、数据和随机数来计算。
5.按照权利要求4所述的一种基于区块链技术的电网数据完整性检测系统,其特征在于
所述区块有三种状态,通过不同的背景颜色呈现,包括灰色、红色和绿色,代表各自的意义,其中灰色代表区块状态为空闲或者区块尚未激活,绿色代表区块状态为成功或者区块以被激活,且该区块的前指针等于前一个区块的哈希值,红色代表区块状态为失败或者1、数据为空;2、该区块的前指针不等于前一个区块的哈希值。
7.按照权利要求1所述的一种基于区块链技术的电网数据完整性检测系统,其特征在于
所述分布式模块用于对系统数据的仿真,分布式页面中是一个由四个节点组成的分布式系统,分别代表电网数据的的四个不同的传感器,仿真分为三个部分:数据生成、基于区块链的数据集中的存储和从区块链中读取存储的数据。
8.一种基于区块链技术的电网数据完整性检测方法,其特征在于包括以下步骤:
1)、数据生成
1.1)、数据由四个传感器以数字和文本的组合形式生成,同时数据将被插入到区块中,将这四个节点模拟成四个传感器,分别检测电网不同地方环境的温度和湿度;
1.2)、调用数据插入模块生成传感器中区块的数据包括它产生的湿度、温度和数据源通过改变数据长度,同时依照数据长度与区块挖掘时间之间的相关性进一步生成数据,生成的数据将会被存储,等待进一步处理;
2)、数据存储
2.1)、生成数据后,点击“插入数据个数”按钮,数据将被存储到区块中,但区块的背景仍然是红色的,因为区块还没有被检查识别,仍然是“非法的”,为了使区块合法,应该点击“挖矿”按钮,“挖矿”按钮功能它调用函数SHA-256(),并计算适合所设置的难度的哈希结果,如果计算成功,则区块的背景将由红色变为绿色;
2.2)、通过区块和区块链之间的组合关系,判断各个区块之间是否存在,进而挖掘相应区块信息,同时创建区块链读取区块数和传感器数,同时进行参数赋值i=块号;j=同行编号;接着通过数据插入模块读取数据来源,同时生成数据,同时给出下一个空区块的区块号,以便继续搜索数据同时存储;
2.3)、通过区块和区块链之间的组合关系,判断各个区块之间是否存在,进而挖掘相应区块信息,然后根据区块链模块读取关于区块号、数据和随机数的信息,将读出来的数据传送给上一级模块同时调用哈希方法SHA256()的信息计算哈希值并返回结果接着设置计时器以记录时间;
3)、数据读取
3.1)、获取全链数据:过点击“查找数据”按钮进行区块挖掘获取区块链中存储的所有数据,然后列出区块链中四个传感器存储的数据;
3.2)、获取特定区块数据:数据展示模块读取区块链的区块号,然后通过数据挖掘根据区块号从特定区块中获取数据内容,然后点击“查询”按钮,系统将返回存储在其中的内容;
3.3)、检查正确性:首先获取块之间的信息然后在根据数据检查模块返回的结果,从而判断是否有人篡改了数据,主要任务是检查前指针是否等于前一个区块的哈希值实际上,如果等于说明数据是完整的,可以继续存储,否则更新区块的状态,更改背景的颜色,同时向系统管理员发出预警信息。
9.按照权利要求8所述的一种基于区块链技术的电网数据完整性检测方法,其特征在于所述3.3、检查正确性之后还设有步骤3.4)、计算时间:该功能用于计算创建特定数量区块所花费的时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911023425.3A CN110879898A (zh) | 2019-10-25 | 2019-10-25 | 一种基于区块链技术的电网数据完整性检测系统及检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911023425.3A CN110879898A (zh) | 2019-10-25 | 2019-10-25 | 一种基于区块链技术的电网数据完整性检测系统及检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110879898A true CN110879898A (zh) | 2020-03-13 |
Family
ID=69728311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911023425.3A Pending CN110879898A (zh) | 2019-10-25 | 2019-10-25 | 一种基于区块链技术的电网数据完整性检测系统及检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110879898A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859589A (zh) * | 2020-07-20 | 2020-10-30 | 山西潞安环保能源开发股份有限公司 | 一种适用于整定计算软件的变电站内图元自动布局的方法 |
CN112531891A (zh) * | 2020-11-19 | 2021-03-19 | 辽宁东科电力有限公司 | 一种基于区块链的输电线路在线监测系统参数数据处理与定位方法 |
CN113114728A (zh) * | 2021-03-22 | 2021-07-13 | 南京航空航天大学 | 一种基于可编辑区块链的体域网身份认证方法及系统 |
CN113420085A (zh) * | 2021-06-07 | 2021-09-21 | 国网辽宁省电力有限公司信息通信分公司 | 基于区块链的电力网络安全存储方法及监督检查方法 |
CN114463010A (zh) * | 2022-04-13 | 2022-05-10 | 南京金宁汇科技有限公司 | 基于双层链的本地节点区块数据完整性检测方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109583908A (zh) * | 2018-10-10 | 2019-04-05 | 远光软件股份有限公司 | 一种基于区块链技术的智能电表 |
-
2019
- 2019-10-25 CN CN201911023425.3A patent/CN110879898A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109583908A (zh) * | 2018-10-10 | 2019-04-05 | 远光软件股份有限公司 | 一种基于区块链技术的智能电表 |
Non-Patent Citations (1)
Title |
---|
付小娟;吴洪坤;: "哈希算法在硬件加密技术中的应用研究" * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859589A (zh) * | 2020-07-20 | 2020-10-30 | 山西潞安环保能源开发股份有限公司 | 一种适用于整定计算软件的变电站内图元自动布局的方法 |
CN111859589B (zh) * | 2020-07-20 | 2024-05-17 | 山西潞安环保能源开发股份有限公司 | 一种适用于整定计算软件的变电站内图元自动布局的方法 |
CN112531891A (zh) * | 2020-11-19 | 2021-03-19 | 辽宁东科电力有限公司 | 一种基于区块链的输电线路在线监测系统参数数据处理与定位方法 |
CN113114728A (zh) * | 2021-03-22 | 2021-07-13 | 南京航空航天大学 | 一种基于可编辑区块链的体域网身份认证方法及系统 |
CN113420085A (zh) * | 2021-06-07 | 2021-09-21 | 国网辽宁省电力有限公司信息通信分公司 | 基于区块链的电力网络安全存储方法及监督检查方法 |
CN114463010A (zh) * | 2022-04-13 | 2022-05-10 | 南京金宁汇科技有限公司 | 基于双层链的本地节点区块数据完整性检测方法及系统 |
CN114463010B (zh) * | 2022-04-13 | 2022-06-17 | 南京金宁汇科技有限公司 | 基于双层链的本地节点区块数据完整性检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110879898A (zh) | 一种基于区块链技术的电网数据完整性检测系统及检测方法 | |
KR102464299B1 (ko) | 블록체인 구현 방법 및 시스템 | |
TWI770022B (zh) | 電腦實施之控制方法、系統及控制系統 | |
CN111316279A (zh) | 用于连接区块链与数字孪生集合的计算机实现的系统和方法 | |
CN111222176B (zh) | 基于区块链的云存储持有性证明方法、系统及介质 | |
US10887104B1 (en) | Methods and systems for cryptographically secured decentralized testing | |
Buriachok et al. | Invasion detection model using two-stage criterion of detection of network anomalies | |
Hurley-Smith et al. | On the unbearable lightness of FIPS 140–2 randomness tests | |
Ivanov et al. | Ethclipper: a clipboard meddling attack on hardware wallets with address verification evasion | |
CN107026729B (zh) | 用于传输软件的方法和装置 | |
Cao et al. | Design and implementation for MD5-based data integrity checking system | |
Lu et al. | Combining smart construction objects–enabled blockchain oracles and signature techniques to ensure information authentication and integrity in construction | |
CN114500347B (zh) | 一种对安全互联协议进行形式化验证的方法和系统 | |
CN115859371A (zh) | 基于区块链的隐私计算方法、电子设备和存储介质 | |
Kato et al. | OLIVE: Oblivious Federated Learning on Trusted Execution Environment against the risk of sparsification | |
Hongyuan | An external data integrity tracking and verification system for universal stream computing system framework | |
WO2022267184A1 (zh) | 一种基于区块链网络的智能合约数据安全管理方法、系统及存储介质 | |
Huang | Resource sharing of smart city based on blockchain | |
Anderson | On the secure obfuscation of deterministic finite automata. | |
US10984139B2 (en) | Tamper-resistant data encoding for mobile devices | |
Halunen et al. | A taxonomy of metrics for cryptographic systems | |
Nguyen et al. | Poster cti4ai: Threat intelligence generation and sharing after red teaming ai models | |
Zhao et al. | SIV: A structural integrity verification approach of cloud components with enhanced privacy | |
RU2787986C1 (ru) | Способ имитации процесса функционирования автоматизированных систем | |
Chen et al. | NExtSteP: An Extensible Testbed for Network Covert Channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |