Page 244 - 《软件学报》2020年第12期
P. 244

3910                                Journal of Software  软件学报 Vol.31, No.12, December 2020

         Key words:    blockchain; revisable; trapdoor one-way function; proof of space; data security; data security

                                                                [1]
             近年来,区块链技术得到学术界和企业界的广泛关注.从以比特币 为代表的加密货币系统——区块链 1.0,
         到以太坊为代表的智能合约——区块链 2.0,再到现在,区块链应用走出金融,走向社会多行业,进入区块链 3.0 时
         代.去中心化和上链数据不可篡改的特性,使其有别于传统的中心化系统,为金融、科技甚至政治等领域的数据
                          [2]
         存储提供了新的模式 .
             在区块链系统中,共识机制为各节点制定信任标准,构建激励机制,使得各节点就系统状态达成共识,共同
                        [3]
         维护系统健康运行 .目前,主流的共识机制有基于工作量证明的 POW(proof of work)共识机制                       [1,4] 、基于权益证
         明的 POS(proof of stake)共识机制 [5−7] 、基于授权股权证明的 DPOS(delegated proof of stake)共识机制   [8,9] 等.现
         有的区块链系统基本以 POW与 POS共识机制为主,但 POW基于算力竞争,挖矿电力损耗巨大,不利于节能环保.
         POS 基于权益竞争,信用机制不牢固,大量低成本货币被分配于开发者,若利益驱使其大量抛售货币,将不利于系
         统维护. Park 等人基于 POSpace(proof of space)共识机制提出 SpaceMint 区块链系统      [10] ,节点基于可循环利用的
         本地空间竞争挖矿,计算代价低,避免了算力竞争而造成的资源浪费.同时,安全的证明机制保证其信用牢固性,
         实现了对安全性与资源效率的兼顾.另外,SpaceMint 系统采用新型链式结构.传统的区块链利用哈希函数将区
         块头、区块体以及前后区块链接起来,以哈希函数的不可碰撞性保证数据安全.而 SpaceMint 通过加入签名子块,
         打破区块头和区块体的直接链接关系,构建了新型的区块链接结构,详见第 1.3 节.
             现有的区块链系统中,数据一旦上链便无法更改.而随着区块链的发展,除金融数据外的科技、文化甚至政
         治等多类社会数据也将上链,失效数据无法删除、错误数据无法修改等问题将变得更加突出.例如:一个公司宣
         布破产,其交易数据失效,不再具备永久存储的价值,无法及时删除将造成存储资源浪费;或者某些上链的经典
         技术参数、公式在若干年后被推翻,需做出修正;又或者恶意、负面的舆论数据由于别有用心的挖矿者而上链,
         区块链的公开性将导致其不断扩散传播,造成恶劣影响.及时的数据修正在现有的区块链系统中均无法完成,可
         能造成巨大的经济损失和恶劣的社会影响.因此,上链数据无法更改将在一定程度上限制了区块链的进一步发
         展,而在特定条件下实现可修改的区块链,具有广阔的应用前景.
             在可修改区块链研究中,爱哲森公司基于带陷门的变色龙哈希函数                        [11] ,在已知陷门时,可对区块数据进行修
         改.但该方案中,陷门被交于可信中心,修改权被中心化,数据安全面临威胁.Li 等人                         [12] 对可修改区块链技术进行
         了改进,利用秘密共享方案,将陷门分配给系统各节点,当且仅当阈值节点联合时方可恢复陷门,实现数据修改.
         但上述方案均基于变色龙哈希函数实现区块数据修改,而现有的区块链系统大多基于传统的抗碰撞哈希函数,
         所以上述方案应用价值不高.Ren 等人            [13] 基于抗碰撞哈希函数,提出了可删除区块链系统,利用安全的门限环签
         名方案,在超过门限值的节点同意时,可对单个区块的全部交易数据进行删除.但该方案无法删除指定交易数
         据,也无法进行数据修改.本文使用抗碰撞哈希函数,基于 POSpace 共识机制实现可修改的区块链方案,在绝大多
         数节点同意后,可对指定交易数据进行修改或删除,具有重要的应用价值.
             本文基于文献[10]中的区块结构和陷门单向函数,提出了可修改的区块链方案.通过引入机动因子,重构区
         块签名子块,在数据失效或错误时,只要超过阈值数节点同意,便可实现区块数据的合法修改;同时保持区块链
         接不变,除修改数据,其余数据不变,全网仍可按原始验证方式对数据合法性进行验证.而且我们设置了特定的
         阈值,使得修改操作必须经过绝大多数节点同意,恶意的非法修改无法完成,保证了数据的安全.

         1    基础知识

             本节将介绍一些基本概念,包括陷门单向函数、Grinding Blocks 攻击及基于空间证明的区块链结构.
         1.1   陷门单向函数
             陷单向函数是密码学领域的一个重要概念,可简单描述为:正向求解容易,但反向求解不可实现的函数.陷
         门单向函数     [14,15] 不同于单向函数的“不可逆”,它是“陷门”可逆的.在陷门未知时,它等同于普通单向函数;当陷门
         已知时,求逆便计算上可实现.
   239   240   241   242   243   244   245   246   247   248   249