Page 250 - 《软件学报》2020年第12期
P. 250
3916 Journal of Software 软件学报 Vol.31, No.12, December 2020
方面,阈值比例越大,交易数据修改权由更多的节点掌控,方案安全性越高,但是计算时间会越长,方案效率越低;
另一方面,阈值比例越小,计算时间会越短,方案效率越高,但是交易数据修改权由更少的节点掌控,方案安全性
越低.本文通过实验测试,权衡安全性与效率两方面,选定阈值比例为 80%,具体实验过程在第 3.3 节展开.
Fig.8 Q private keys (trap doors) ensure the validity of data modification
图 8 Q 个私钥(陷门)确保数据修改的合法性
2.3 数据修改安全性分析
可修改区块链实现了交易数据的合法修改,该操作不会破坏已有区块链结构,也不改变除修改数据外的其
他区块数据.其安全性体现在修改操作的合法性,也即交易数据的修改操作是代表系统意志,符合系统利益的,
恶意非法的修改操作无法完成.
为了说明可修改区块链方案的安全性,下面模拟恶意敌手在不符合系统利益时,企图将区块 i 的交易子块τ i
恶意修改为τ′ ,以谋取私利的过程.由方案设计可知,恶意攻击的条件为:修改区块的节点小于阈值 Q.如第 2.2 节
i
分析,为了使修改后的数据被系统认可,数据必须符合原始区块链接结构.敌手可采取以下两种方法.
(1) 从当前区块 i 出发,向后依此调整每个签名子块数据,使τ i 修改为τ′ 后,前后区块链接关系仍然正确;
i
(2) 调整当前签名子块中的机动因子 G i ,使得交易字块变为τ′ 的同时,签名子块σ i,G 保持不变.
i
对于方法(1),由于τ i 变为τ′ ,σ i,G 随之变为 σ′ ,因此,σ i+1,G 中ζ σ 需重新生成.以此类推,区块 i 后所有签名子块
, iG
i
都需重新生成,从区块 i 开始后的整条链被颠覆,这需要耗费巨大的计算量,不具有现实操作性.
1
对于方法(2),为确保 Hash ()τ G ( ,x x 2 ,...,x Q ) = Hash ′ ⊕ ()τ ⊕ G (x x′ 1 , ′ 2 ,...,x′ Q ) 成立,敌手需要对 Q 个陷门单向
i i i i i i i i i i
函数求逆,计算新的随机数组.由陷门单向函数的性质,敌手必须获取 Q名矿工的陷门,才能完成陷门单向函数求
逆,否则计算上不可行.而由恶意攻击条件可知,此时修改区块的节点数小于 Q,无法获取 Q 个陷门,修改操作无
法完成.综上,如果要求修改的节点达不到规定的阈值,则不能进行区块数据的修改,可修改的区块链方案是安
全有效的.
3 实验仿真
本节进行仿真实验,对 POSpace 共识下的挖矿、区块生成和交易数据修改过程进行模拟.挖矿节点用 Intel i5
Processor(2.4GHz,4G memory)模拟,并在 Visual Studio Ultimate 开发环境下,使用 C++语言编程实现.在区块生成
与修改时,哈希函数、签名算法以及陷门单向函数分别使用 SHA-256,DSA-512 和 ECC-200 实现.
3.1 基于POSpace共识机制的记账权竞争
仿真实验基于图 9 的有向无环图,模拟基于 POSpace 共识机制的记账权竞争过程.
当前系统中序号 1~10 的矿工空间存储信息情况见表 1.
系统初始化时,矿工利用相关参数对有向无环图的各顶点标签值进行计算,并依据各自的存储空间大小进
行最优存储,具体存储情况见表 1.无法进行全图存储的节点将利用已存储的顶点标签值计算未存储顶点的标