没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
区块链是以比特币为代表的数字加密货币体系的核心支撑技术, 是一种全新的去中心
化基础架构与分布式计算范式
[1-2]
. 区块链的技术特点可以归纳为“TRUE”和“DAO”, 前者表
示可信(Trustable)、可靠(Reliable)、可用(Usable)和高效(Effective, efficient), 其中高效指的
是区块链技术将带来社会运行效率和效果的提高; 而后者则表示分布式与去中心化
(Distributed, decentralized)、自主性与自动化(Autonomous, automated)、组织化和有序性
(Organized, ordered)
[3]
. 因此, 区块链被视为引发下一次产业革命的核心要素之一, 有助于打
造未来的智能产业和数字经济新生态. 2019 年 10 月, 中央政治局第十八次集体学习聚焦区
块链技术, 强调“区块链是我国核心技术自主创新的重要突破口”. 国际如 Facebook、IBM、
摩根大通, 国内如百度、腾讯、阿里巴巴等企业相继布局区块链技术. 显然, 区块链已经站
在新一代信息技术的最前沿.
区块链技术自诞生伊始就带有极其鲜明的技术特色. 其中, 去中心化和不可篡改无疑
最具革命性, 被认为是区块链机器的“信任之源”. 正是基于这些技术特色, 区块链可以使得
互不信任的分布式节点“共享”同一份数据账本、通过共识算法和激励机制实现区块链的协
同“共治”、最终“共建”一个安全可信的生态系统, 并可望在数字经济和社会治理等领域提供
重要的技术支撑
[4]
. 然而, 近年来的应用实践使得人们逐渐意识到: 去中心化和不可篡改性
是一柄双刃剑, 其在为区块链数据奠定坚实的安全和信任基础的同时, 也极大地限制了区块
链技术在实践中的应用前景.
因此, 区块链相关研究和应用实践正呈现出从“乌托邦”回归现实的趋势. 一方面, 完全
去中心化的公有链(非授权区块链)受性能、效率和部署成本等限制, 短期内难以在某些关键
业务场景和领域得到广泛应用, 因而催生了服务于现实场景的、自主可控的“主权”区块链
(授权区块链), 例如多中心化的联盟链和完全中心化的私有链. 记账权重新回归到少数人手
中
[5-6]
. 另一方面, 不可篡改性使得数据一旦上链即可安全和永久存储, 然而在实践应用中,
这种特性使得区块链为各类虚假新闻和不良信息提供了更好的发布和传播渠道, 对区块链
信息内容安全乃至社会舆论环境带来负面影响, 因而迫切需要安全、便捷、可控的技术手
段来更新链上关键数据并清除有害数据
[7]
.
本文主要关注区块链数据编辑技术. 就研究现状而言, 该领域目前虽是小范围探索, 但
有实际应用和国家监管的双重需求驱动, 因而在最近两三年内快速发展. 现有文献中, 支持
数据编辑操作的区块链研究通常冠以可编辑(Editable)、可修改(Redactable/correctable)、可
重写(Rewritable)或者可变异(Mutable)等字样, 其含义略有差异. 在本文中, 我们认为“可编
辑”的研究范畴更大, 并以可编辑区块链统称那些支持针对链上数据的增、删、改等操作的
区块链.
本文组织结构如下: 第 1 节主要介绍可编辑区块链的现实需求和研究框架; 第 2 节给
出了区块链的模型表示以及变色龙哈希函数、秘密共享等关键技术; 第 3 节至第 7 节从数
据修改、删除、插入、过滤和隐藏五个方面, 系统性地阐述了可编辑区块链的模型、技术
与方法; 第 8 节讨论了可编辑区块链亟需解决的问题与挑战, 以及未来研究方向; 第 9 节总
结全文.
1. 可编辑区块链: 现实需求与研究框架
1.1 现实需求
可编辑区块链是近年来新兴而颇有争议的研究课题. 部分研究者认为不可篡改性是区
块链技术不可动摇的重要根基, 而数据编辑技术将会在去中心化的记账权之上增加中心化
的编辑权这一“漏洞”, 从而使得区块链数据在达成共识并上链后, 再次面临着中心化、甚至
是恶意的数据篡改. 这种观点固然存在其内在的合理性, 然而从区块链应用实践来看, 目前
区块链技术在信息监管、隐私保护、数据更新、可扩展性等四个方面都存在切实的数据编
辑需求, 迫切需要研究和应用可编辑区块链技术.
1) 从信息监管角度来讲, 目前区块链领域的研究和应用更多地强调链上数据的存储与
传输安全, 而忽略了更为重要的信息内容安全, 主要表现在: a)缺乏必要的上链信息审核与
评估机制. 大多数区块链系统的验证者(矿工)重点核查上链信息的语法正确性, 而忽略了信
息内容的语义合理性甚至是真实性
[8]
; b)链上数据的搜索与甄别机制尚不完善, 传统的互联
网大数据分析、监控与预警技术短期内难以应用于新兴的区块链架构, 因此不良信息上链
后很难及时、准确地发现与预警; c)区块链的公开透明性和不可篡改性, 使得不良信息将带
来大范围、持续性甚至是永久性的负面影响. 由此可见, 区块链已成为规避监管、发布不良
信息的有效途径, 任何人都可以极低的成本发布信息, 从而使得区块链处于舆论监管的“失
控”状态, 为国家信息安全和网络安全带来潜在威胁. 另外, 比特币和以太坊等区块链已被
证实存在色情链接、计算机病毒、僵尸网络等内容, 从区块链用户角度来讲, 加入并运行区
块链节点就意味着存储和传播这些非法内容, 从而将面临着潜在的法律风险.
2) 从隐私保护角度来讲, 区块链技术可能与某些强调保护用户隐私、规避敏感内容的
法律法规相悖. 例如, 2018 年欧盟出台的 《通用数据保护条例(General Data Protection
Regulation, GDPR)》中明确规定: 用户具有“被遗忘权(Right to be forgotten), 即用户个人可
以要求责任方隐藏或者删除关于自己的隐私数据记录, 这对于既无中心化责任方又不可篡
改的区块链来说显然是不可实现的
[9]
. 虽然近年来以隐私保护为目的的加密货币(如 ZCash
和 Monero)快速发展, 然而要从根本上实现区块链的 GDPR 兼容性, 就必须首先实现链上数
据的可编辑性.
3) 从数据更新角度来讲, 区块链的技术本质之一是去中心化的数据库, 其在数据采
集、传输、验证直至上链过程中都可能会存在由于主观故意或者客观疏忽而导致的错误数
据, 因而需要数据编辑技术来修改错误数据、更新陈旧数据. 目前处理这类错误数据的方式
主要是硬分叉, 例如 2016 年以太坊“The DAO”项目由于智能合约的漏洞而导致的社区分裂
和链上硬分叉. 这对于区块链生态来说是巨大的安全隐患和资源浪费
[10-11]
.
4) 从可扩展性角度来讲, 区块链(特别是公有链)数据规模的不断增长, 使得存储和验
证链上数据的开销不断增加. 数据显示, 截止到 2020 年初, 比特币全节点的区块链账本已
经超过 200 GB 且每年稳定地增长约 52 GB, 以太坊全节点账本已经超过 400 GB, 存档节点
数据规模已经超过 4 TB. 一方面, 持续增长的全节点存储空间将导致全节点比例持续下降,
从而使得区块链中心化趋势加剧. 另一方面, 区块链节点验证历史数据的计算开销也必将提
高
[12]
. 因此, 在不破坏区块链完整性和安全性的前提下, 适当地删除非关键历史数据将是提
高区块链性能和可扩展性的重要手段.
由此可见, 可编辑区块链具有明确而迫切的现实需求. 通过技术创新和机制设计, 实现
区块链的可编辑性和安全可信性的有机融合, 将能够进一步促进区块链技术脱虚向实、实
现大规模落地应用.
1.2 研究框架
本文提出的可编辑区块链研究框架如图 1 所示. 一般来说, 可编辑区块链通常从编辑
类型、编辑对象、编辑模态、编辑架构和控制策略五个侧面加以研究.
图 1 可编辑区块链的研究框架
Fig. 1 Research framework of editable blockchain
下载: 全尺寸图片 幻灯片
1) 按照数据操作类型, 可以分为修改、删除、插入、过滤和隐藏共五类编辑操作. 其
中, 数据过滤是面向上链前数据的筛选和净化过程, 致力于在数据上链之前, 最大限度地识
别不良信息并阻止其通过区块链的共识验证过程; 其他四类则均是面向链上数据的操作. 理
论上讲, 数据修改是普适性的技术, 即支持数据任意修改的区块链技术必然也支持数据的任
意插入、删除和隐藏.
2) 按照数据编辑对象, 可以分为区块级、交易级和数据项级编辑操作. 区块级编辑技
术粒度最大, 只可以替换完整的区块而无法精准定位和修改区块中的特定数据; 交易级和数
据项级编辑技术粒度相对较小, 前者重点针对区块中的金融交易数据(例如交易金额和接收
方地址等), 而后者则侧重于非金融文本数据(例如 OP_RETURN 类交易附言或其他文本数
据). 通常来说, 交易级编辑技术将会改变区块链内部的交易逻辑流和价值分配体系, 是强
上下文相关的编辑操作, 因而难度更高. 例如, 简单的修改一笔交易的金额可能就会凭空
“创造”或者“燃烧”一定数量的加密货币、进而导致其后续交易失效.
3) 按照数据编辑模态, 可以分为中心化、多中心化和去中心化的数据编辑, 表示数据
编辑权限(包括请求权、验证权和修改权)是否属于特定的中心化机构或者实体. 可编辑区块
链中, 面向记账权竞争的共识过程与面向编辑权竞争的共识过程可能是相对独立的, 因此上
述三种编辑模态并不一定与私有链、联盟链和公有链一一对应(尽管大多数情况确实如此).
4) 按照数据编辑架构, 可以分为单链架构和平行链架构. 前者仍然维护单一的线性区
块链条, 通过变色龙哈希函数等特定的技术手段实现区块数据的定点物理修改、或者在后
续区块中追加修改后的新数据; 后者则是维护独立运行的两条或多条平行链实现数据修改,
例如两条平行的区块链或者两条平行的哈希链等.
5) 区块链编辑过程一般有明确的控制策略, 详细规定涉及的数据范围(哪些数据可以
被编辑)、编辑权限(如何确定谁有请求编辑的权限、谁有验证新数据正确性的权限、以及
谁有最终实施编辑操作的权限)、编辑流程(实施编辑操作有哪些具体步骤)、约束规则(编辑
过程中涉及哪些规则与约束条件)等要素. 控制策略的设计与实施一般取决于实际场景需求.
值得一提的是, 在分布式和去中心化的区块链系统中, 真正在所有节点上完全实现修
改、删除等编辑操作是不可能实现的. 部分区块链节点可以通过单方面地不执行编辑操
作、拒绝升级甚至硬分叉等手段来保存修改前的数据. 在这些情况下, 目前尚缺乏有效手段
实现数据的强制编辑. 此外, 现有文献中还包括链上数据的搜索、查询、分析等操作的相关
研究, 但这些操作并不会改变链上数据, 因此我们认为其不属于可编辑区块链的研究范畴.
2. 可编辑区块链: 模型与技术
2.1 模型与符号表示
借鉴现有文献[13-14], 本文采用如下区块链模型和符号表示体系: 假设区块链 CNCN
是由首尾相连的区块组成的线性链条, 其中 NN 为最新区块的高度; 每个区块记为三元组
Bi=⟨si,xi,ctri⟩,Bi=⟨si,xi,ctri⟩, i∈[0,N],i∈[0,N], B0B0 和 BNBN 分别为创世区块和最新区块(头
部). 三元组中, si∈{0,1}Ksi∈{0,1}K 是长度为 KK 位的前一区块哈希值, xi∈{0,1}∗xi∈{0,1}∗
是任意长度的当前区块数据, ctri∈Nctri∈N 是当前区块共识过程生成的随机数 Nonce. 如果
下一区块记为 BN+1=⟨sN+1,xN+1,ctrN+1⟩,BN+1=⟨sN+1,xN+1,ctrN+1⟩, 则其上链后形成的新区
块链记为 CN+1=CN||BN+1,CN+1=CN||BN+1, 且区块间哈希链接
sN+1=H(ctrN,G(sN,xN)),sN+1=H(ctrN,G(sN,xN)), 其中 H:{0,1}∗→{0,1}KH:{0,1}∗→{0,1}K 和
G:{0,1}∗→{0,1}KG:{0,1}∗→{0,1}K 是长度为 KK 位的抗碰撞哈希函数, 分别称为外哈希函
数和内哈希函数. 为保证区块链的有效性和完整性, 必须有如下两式成立:
ValidDq(Bi)=si+1=(H(ctri,G(si,xi))<D)∩(ctri<q)=1H(ctri,G(si,xi))ValidqD(Bi)=(H(ctri,G(si,xi))<D)∩(ctri<q)=1si+1=H(ctri,G(si,xi))
其中参数 D∈ND∈N 是区块链当前难度, qq 是每一轮共识过程中最大允许的哈希请求
数. 此外, 令 C∅C∅表示空链, C[kC[k 表示去掉链条上较新的 kk 个区块后的区块链, 而
Ck]Ck]则表示去掉历史上较旧的 kk 个区块后的区块链.
2.2 变色龙哈希函数
基于哈希运算生成的区块之间的哈希链路是区块链数据极难篡改的重要原因. 常见的
哈希函数具有抗碰撞性, 即任意寻找两组不同的数据 mm 和 m′,m′, 使其哈希函数
Hash(m)=Hash(m′)Hash(m)=Hash(m′) 在计算上是不可行的; 同时, 哈希函数具有高灵敏度,
即使输入数据 mm 发生一个比特位的微小修改, 输出哈希值 Hash(m)Hash(m)也会发生明
显的改变. 因此, 如果将区块 BiBi 的数据 xixi 修改为 x′i,xi′, 则必有
si+1≠Hash(ctri,G(si,x′i)),si+1≠Hash(ctri,G(si,xi′)), 从而破坏哈希链路的完整性. 因此, 现有研
究的基本思路是采用变色龙哈希函数, 在不改变哈希函数输出结果的前提下实现区块数据
的任意修改.
变色龙哈希函数是由 Krawczyk 和 Rabin 提出的一种带陷门的单向哈希函数
[15-16]
. 如果
掌握陷门信息, 则可以轻易地计算任意输入数据的哈希碰撞, 从而可以在不改变哈希函数输
出的情况下, 任意地改变哈希函数的输入. 如果不掌握陷门信息, 则变色龙哈希函数与传统
的哈希函数一样具有抗碰撞性. 因此, 如果将区块链的哈希函数(例如内哈希函数 GG)替换
为变色龙哈希函数, 并且人为地设置陷门, 则可以任意修改区块数据而不会破坏哈希链路的
完整性.
形式上, 变色龙哈希函数可以定义为: 对于任意数据 xx 和随机选择的参数 r,r, 给定一
个陷门 tk,tk, 可以找到消息对(x,r)(x,r) 和(x′,r′),(x′,r′), 使得
CH(x,r)=CH(x′,r′)CH(x,r)=CH(x′,r′), 此处 CHCH 为变色龙哈希函数. 在可编辑区块链应用
中, xx 和 x′x′分别对应原区块数据和修改后的区块数据, 且 x≠x′.x≠x′.变色龙哈希函数通常有
如下四个算法, 即密钥生成算法 HGHG、哈希生成算法 CHCH、哈希验证算法 HVHV 以及
哈希碰撞算法 HC:HC:
1) 密钥生成算法 HG(1n)=(hk,tk)HG(1n)=(hk,tk): 生成变色龙哈希的公钥 hkhk 和私钥
(陷门)tk,ntk,n 为安全性参数;
2) 哈希生成算法 CH(hk,x;r)=(h,ξ)CH(hk,x;r)=(h,ξ): 给定公钥 hkhk、任意数据 xx 和
随机数 r,r, 生成哈希值 hh 和随机数 ξ;ξ;
3) 哈希验证算法 HV(hk,x,(h,ξ))HV(hk,x,(h,ξ)): 给定公钥 hkhk、任意数据 xx、哈希值
hh 和随机数 ξ,ξ,如果(h,ξ)(h,ξ)是正确的哈希值, 则输出 1, 否则输出 0;
4) 哈希碰撞算法 HC(tk,(h,x,ξ),x′)HC(tk,(h,x,ξ),x′): 给定陷门 tktk、三元组(h,x,ξ)(h,x,ξ)
和数据 x′,x′, 输出新随机数 ξ′,ξ′,使得
HV(hk,x,(h,ξ))=HV(hk,x′,(h,ξ′))=1.HV(hk,x,(h,ξ))=HV(hk,x′,(h,ξ′))=1.
显然, 掌握陷门密钥就意味着拥有区块链的修改权, 因此陷门密钥的管理对于变色龙
哈希函数来说至关重要. 对于私有链来说, 陷门密钥一般由可信的中心化验证者掌握, 可以
剩余24页未读,继续阅读
资源评论
罗伯特之技术屋
- 粉丝: 4360
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功