本发明专利技术公开了基于区块链数据共享中的高效溯源方法,包括:为采集的电力交易信息赋予唯一的身份标识;使用椭圆曲线算法对电力交易信息签名并认证;使用椭圆曲线算法对电力交易信息加密后上链利用MPT树进行存储,并在区块头中创建关键字过滤器;进行信息溯源,依次进行块间检索和块内检索,当查询到目标电力交易信息后返回该目标电力交易信息并解密。发明专利技术提出一种基于MPT(Merkle Patricia Trees)树和椭圆曲线加密算法的电力信息存储机制,同时基于过滤器创新了区块数据格式,在对数据存储、传输等多方面提供安全保护的同时,提高电力信息的溯源效率。息的溯源效率。息的溯源效率。
【技术实现步骤摘要】
基于区块链数据共享中的高效溯源方法
[0001]本专利技术涉及区块链
,特别涉及基于区块链数据共享中的高效溯源方法。
技术介绍
[0002]区块链技术在数据共享过程中具备去中心化和数据防篡改的两大核心特征,支持数据使用过程中的全程透明可追溯,目前已被广泛应用于各个领域。但传统的区块链技术在电力信息管理领域的应用仍存在诸多不足。
[0003]一方面,大多数现有的数据存储机制和区块数据格式无法实现对电力信息的高效溯源。MPT树作为一种哈希索引方式的改进形式,把需要存储的区块链日志信息通过键来存储,键被编码到搜索树必须要经过的路径中,采用MPT树结构来减少数据标识的数量,并支持数据的动态更新,同时减少服务器和验证方的计算开销,达到准确高效的完整性验证。
[0004]另一方面,传统的电力信息加密方式存在的计算参数多、密钥长度长、计算速度慢等问题也极大降低了电力信息管理系统的性能。密码学是区块链的基石,没有密码学技术,区块链就是空中楼阁,也难以存在。密码学中椭圆曲线加密算法(ECC
‑
Elliptic curve encryption algorithm)是基于椭圆曲线数学的一种公钥加密算法。随着计算机计算能力的不断提升,RSA的使用率越来越高。但是为了安全,其密钥的长度一直饱受诟病,于是ECC这种新算法的使用率和重要性都在逐年上升。传统的椭圆曲线加密算法中包含两点不足,其一,它使用的数乘运算中采用固定点进行预处理的方法,这种传统方法占用存储空间的同时也有性能和安全性上的不足;其二,传统椭圆曲线算法中编码方法Koblitz算法存在无法将明文与点一一对应导致计算效率较慢的问题。
技术实现思路
[0005]针对现有技术中算法的计算效率低,安全性较差的问题,本专利技术提供了基于区块链数据共享中的高效溯源方法,基于椭圆曲线算法和MPT树对电力交易信息进行上链存储,并创建关键字过滤器,最后基于关键字过滤器和MPT树进行高效溯源,可显著减少溯源时间。
[0006]以下是本专利技术的技术方案。
[0007]基于区块链数据共享中的高效溯源方法,包括:为采集的电力交易信息赋予唯一的身份标识;使用椭圆曲线算法对电力交易信息签名并认证;使用椭圆曲线算法对电力交易信息加密后上链利用MPT树进行存储,并在区块头中创建关键字过滤器;进行信息溯源,依次进行块间检索和块内检索,当查询到目标电力交易信息后返回该目标电力交易信息并解密。
[0008]作为优选,所述使用椭圆曲线算法对电力交易信息签名,包括:随机选择一个整数k,且0<k<n;其中n是选择椭圆曲线点群的阶;
计算R=k*G=(x
r
,y
r
);其中G是生成元[基元];(x
r
,y
r
)是R的坐标点;令r=x
r
mod n,如果r=0,则返回第一步;mod为同余运算;计算H=Hash(M),其中M是待签名的电力交易信息;计算s=k
‑1(H+r*d)mod n,若s=0,则返回第一步;其中d为私钥;输出的S=(r,s)即为签名。
[0009]作为优选,使用椭圆曲线算法对电力交易信息认证,包括:计算H=Hash(M);计算u1=(H*s
‑1)mod n,u2=(r*s
‑1)mod n;计算R=(x
r
,y
r
)=u1*G+u2*Q,如果R=零点,则验证该签名无效,其中Q为公钥;令v=x
r
mod n,若v==r,则签名有效,否则签名无效。
[0010]作为优选,所述使用椭圆曲线算法对电力交易信息加密之前,对椭圆曲线算法进行调整,包括:将所传输电力交易信息明文编码到椭圆曲线上的点上,将明文m用数字x=mK+j表示,计算A=x3+ax+b(mod p);其中K是随机数,j为初始值,A=x3+ax+b(mod p)是用来加密的椭圆曲线;当p为奇素数时,判断第一步式子是否二次剩余,若不是则将j+1直到二次剩余,即可将x作为明文植入点坐标;A mod p的平方根为y,有正负两个值,将负值化为本算法取与m偏移量相对较小的那个值作为明文坐标的纵坐标y值。
[0011]作为优选,所述使用椭圆曲线算法对电力交易信息加密,包括:选取预设基点;生成随机数k;通过椭圆曲线加密算法计算出曲线上的点Q,其中随机数k为私钥,点Q为公钥,G为基点,椭圆曲线加密算法计算公式为y2=ax3+bx2+cx+d。
[0012]作为优选,所述解密的过程包括:发送方接收到接收方发送的公钥Q和基点G之后将待传输明文编码并产生一个随机整数t(t<n);计算点C1=M+tQ和C2=tG;发送方把C1和C2传输给接收方;接收方接到信息后计算C1
‑
k*C2,也就是点M,再对M解码就可得到明文。
[0013]作为优选,所述利用MPT树进行存储,包括:MPT树以键值对<区域码/账户ID/交易时间,电力交易信息>形式存储目标信息,MPT树使用相同前缀以减少数据标识数量。
[0014]作为优选,所述信息溯源,包括:先进行块间检索,对不存在电力交易信息的区块筛选剪枝,对存在电力交易信息的区块则进入块内检索;进入区块内借助区域码、账户ID和交易时间组成的多维度key遍历检索至叶子节点获取电力交易信息;之后使用私钥对电力交易信息解密即可完成对电力交易信息的完整溯源。作为优选,所述信息溯源,进一步包括:创建关键字Bloom过滤器:创建一个位数为n的二进制向量,其中的每个元素只能
是0或1;选择m(m<n)个不同的哈希函数分别对关键字字符串string进行计算,将输出结果记为y
i
:y
i
=hash
i
(string),i=1,2,...,m;根据计算结果将二进制向量位数组中的第y
i
位设为1;区块检索时对给定关键字字符串string再进行m次相同的哈希计算,将计算结果与目标区块头中的位数组进行比较,如果第y
i
位存在一个值不为1,判断该电力交易信息一定不在当前区块中,因此可以跳过对当前区块的块内检索;否则,如果第y
i
位的值全部为1,说明当前区块中有极大可能存在目标电力交易信息,根据预设的多维度key值对MPT树遍历检索,若存在则返回叶子节点的电力交易信息;否则,说明出现了极小概率的误判情况,跳出当前区块继续进行下一区块的检索。
[0015]本专利技术为了避免传统对区块遍历的检索方法(STBF,Search by Traversing Block Files)效率低下的问题,对区块的存储结构进行创新,在区块头中加入关键字Bloom过滤器。在区块体内使用MPT树存储电力交易信息,其中所有子节点采用<key,value>的数据结构进行存储,由根节点到当前节点路径上的所有key值共同组成本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.基于区块链数据共享中的高效溯源方法,其特征在于,包括:为采集的电力交易信息赋予唯一的身份标识;使用椭圆曲线算法对电力交易信息签名并认证;使用椭圆曲线算法对电力交易信息加密后上链利用MPT树进行存储,并在区块头中创建关键字过滤器;进行信息溯源,依次进行块间检索和块内检索,当查询到目标电力交易信息后返回该目标电力交易信息并解密。2.根据权利要求1所述的基于区块链数据共享中的高效溯源方法,其特征在于,所述使用椭圆曲线算法对电力交易信息签名,包括:随机选择一个整数k,且0<k<n;其中n是选择椭圆曲线点群的阶;计算R=k*G=(x
r
,y
r
);其中G是生成元[基元];(x
r
,y
r
)是R的坐标点;令r=x
r
mod n,如果r=0,则返回第一步;mod为同余运算;计算H=Hash(M),其中M是待签名的电力交易信息;计算s=k
‑1(H+r*d)mod n,若s=0,则返回第一步;其中d为私钥;输出的S=(r,s)即为签名。3.根据权利要求2所述的基于区块链数据共享中的高效溯源方法,其特征在于,使用椭圆曲线算法对电力交易信息认证,包括:计算H=Hash(M);计算u1=(H*s
‑1)mod n,u2=(r*s
‑1)mod n;计算R=(x
r
,y
r
)=u1*G+u2*Q,如果R=零点,则验证该签名无效,其中Q为公钥;令v=x
r
mod n,若v==r,则签名有效,否则签名无效。4.根据权利要求1所述的基于区块链数据共享中的高效溯源方法,其特征在于,所述使用椭圆曲线算法对电力交易信息加密之前,对椭圆曲线算法进行调整,包括:将所传输电力交易信息明文编码到椭圆曲线上的点上,将明文m用数字x=mK+j表示,计算A=x3+ax+b(mod p);其中K是随机数,j为初始值,A=x3+ax+b(mod p)是用来加密的椭圆曲线;当p为奇素数时,判断第一步式子是否二次剩余,若不是则将j+1直到二次剩余,即可将x作为明文植入点坐标;A mod p的平方根为y,有正负两个值,将负值化为本算法取与m偏移量相对较小的那个值作为明文坐标的纵坐标y值。5.根据权利要求4所述的基于区块链数据共享中的高效溯源方法,其特征在于,所述使用椭圆曲线算法对电力交易信息加密,...
【专利技术属性】
技术研发人员:罗少杰,俞啸玲,王凯,樊立波,钱少锋,钱浩,夏红军,黄佳斌,来益博,
申请(专利权)人:国网浙江省电力有限公司杭州市余杭区供电公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。