1.基于区块链激励的wsn数据存储机制,其特征在于,给存储数据的节点奖励数字货币,节点存储的数据越多給予的奖励就越多;
设G、GT分别是同为q阶的加法群和乘法群,g和u为G的生成元;在群G、GT中离散对数问题是难解的,双线性对映射e:G×G→GT是一个安全的双线性对;
H是一个hash函数;存储的数据块标记为:M={m1,m2,...,mn},每块的PDP认证器为:σ={σ1,σ2,...,σn};μ是被检验的集成数据块;H1是一个保序hash函数;
每个有效的数据块的块头包含下面的内容:
(1)集成到本数据块的数据的Merkle树根:root;
(2)前一个数据块的块头的hsah值;
(3)M是需要被存储的数据块;
具体方法如下:
一个新的数据块要被存储的信息在传感器网络中广播,各网络节点随后对该数据块的PDP挑战进行计算,如果该PDP被正确检验,那么该数据块就由这个节点存储,该节点也由此获得存储该数据块的奖励,即一个单位的数字货币;步骤如下:步骤1)一个新的要被存储的数据块M={m1,m2,...,mn},数据发布者的公钥为(gx,u),私钥为x;H1是一个保序hash函数,数据发布者计算H1(M),并为每个子数据块mi产生认证器存储数据的请求信息在传感器网络中广播;
步骤2)每个网络节点根据H1(M)值,寻找和该值最接近的数据块M′,计算H1(M′),然后为数据块M的子数据块i选取随机数vi,记Q=(i,vi);网络节点将H1(M′)和Q发送给数据发布者;
步骤3)数据发布者从各个网络节点接收到H1(M′),并将它们与H1(M)值进行比较,最后选择与H1(M)值最接近的H1(M′)值,并记发送该H1(M′)值的网络节点为J节点;然后根据从J节点接收到的Q,进行如下计算: 后,将(σ,μ)发送给J节点;
步骤4)J节点接收到(σ,μ)后,验证下面的公式是否成立: 如
果成立,数据发布者将数据块M={m1,m2,...,mn}发送给网络节点J进行存储,并給予J节点一个单位的数字货币奖励;
步骤5)由保序hash函数的性质可知,J节点原有数据块包含了与新数据块M={m1,m2,...,mn}相同的数据,因此它只需要存储与原有数据不相同的子数据块即可;因此通过这样的存储方式,能够大大减少所需的存储空间。