速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

谁说区块链保护隐私的?

  • 2020-06-12
  • 本文字数:2881 字

    阅读完需:约 9 分钟

谁说区块链保护隐私的?

我们当然知道隐私保护很重要,但是我以为区块链技术其实是放大了隐私保护的需求,并没有有效地解决这个问题。隐私保护里面有多少是区块链技术的功劳,就看我们往区块链这个概念里塞多少东西了。

思考

这一年,我看过不少媒体的报道,基本言必谈区块链能力之一 ——隐私保护。作为区块链从业者,我一方面很好奇那些文字背后的严肃技术;一方面也很怀疑区块链在隐私保护方向的具体价值。我们当然知道隐私保护很重要,但是我以为区块链技术其实是放大了隐私保护的需求,它并没有有效地解决这个问题。这就好比,医生告诉我一个真理 —— 睡眠很重要,然后给我开了一个疗程的兴奋剂,过了一周后,他言之凿凿地跟濒临崩溃的我说道,“看吧,睡眠很重要”。


在深入探讨区块链的隐私保护技术时,我想让大家思考两个问题。


  1. 区块链保证了数据归用户所有吗?

  2. 区块链用的加密学工具可以保护用户隐私吗?


在论述之前,我们有必要事先澄清隐私保护的定义。

隐私保护是什么?

隐私权是一个社会在数字时代维持其开放性的必要条件。隐私权不等于守密权(secrecy)。隐私是你不想公开给全世界知道的事情,而秘密是你不想让任何人知道的事情;换言之,隐私关乎的是选择性自我呈现的权力。 —— 摘自 1993 年《密码朋克宣言》


隐私保护(Privacy Protection)其实严格来讲,应该说成隐私权保护。隐私权是个人选择性呈现个人事务、信息和领域的权力。换句话说,我和你做了一笔买卖,奉行“天知地知,你知我知”的行事原则,但我其实仍被赋予了权力,将买卖细节拿出来公开讨论。聪明如你不禁疑惑:照这么做,对方的隐私权不就被侵犯了?是的,权力的规定里就暗合了不可能杜绝单方面披露的行径。为此,密码朋克们切割开了隐私的主体和客体,将个人的身份进行隐藏,创造出了匿名交易系统的概念。而 2008 年诞生的比特币,就是对匿名交易系统的一种实现。而且作为比特币后继者,如:门罗币(Monero)和 Zcash 等也基本沿用了这种匿名的设计原则。所以才会有人形象地把这种匿名交易系统形容成戴着面具做买卖。

去中心化是说你可以控制自己的数据吗?

常识告诉我们,区块链技术具有去中心化(Decentralized)的特征。提到去中心化,大多数人脑中立刻就闪现出某某互联网巨头泄露用户数据的邪恶数据垄断者的形象。中心化的对立面——去中心化立马登上了道德和智商的制高点,摇旗呐喊,去中心化可以把数据的所有权归还到用户手中,所以区块链可以帮助用户控制自己的数据。然而,事实果真如此?


我来分析一下去中心化的含义。在我看来,区块链的去中心化特征具有两层含义,第一它具备分布式(Distributed)的特征,第二它具备分权(Decentralized)的特征。


分布式理解起来比较简单,区块链网络是多个节点部署的,不怕单点故障。而这个分权比较难以理解,区块链上的数据(多指交易)和应用(即智能合约)的变更不受单个人或者机构的控制,需要多方达成共识才能升级,这几乎就是不可篡改性的来源。你可以这样想象,以前数据库的写入操作只需要用一个授权的用户身份完成,但是在区块链上就行不通了,它需要多个身份达成共识后授权才能写入。听上去,数据的确更加安全了,但这不意味着用户可以控制自己的数据,至少不是这句话语义中的控制,控制数据意味着你可以授权其他人使用与你相关的数据,而且最好是在不暴露原始数据的情况下,例如,不复制数据而是直接返回计算后的结果(安全多方计算)。然而,你所用数据的所有权只是从单中心移到了多中心里面去了,你并不能选择在合适的时候披露你的数据,也无法阻止其他人获取你的数据。所以去中心化的特性并没有赋予你个人数据的控制权。


除非你对自己的数据进行加密。那么问题又规约到个人数据隐私的保护。既然要加密,何必非得放到区块链上才进行呢?我们完全可以先把数据哈希后上链,然后使用对称加密的方式把加密后的数据单独存在第三方存储上,那样只有拥有私钥的用户才能查看,并对比区块链上的哈希进行是否篡改的验证。


那么区块链不可能三角(去中心化,可扩展性和安全)中安全是否关注个人数据的隐私保护呢?很遗憾,也不是。安全的原始定义是“being secure against attackers with up to O(n) resources”,它真正解决的问题是在去中心化程度较低的情况下,区块链网络是否可以抵抗攻击者的攻击。在比特币中,PoW (Proof of Work,工作量证明)共识算法增加了潜在攻击者的成本,同时又通过分配比特币的激励方式鼓励矿工主动维护网络的稳定;在一些基于 PoS(Proof of Stake,权益证明)算法的区块链网络中,它们通过质押代币的方式增加攻击者的成本,同时也利用代币激励矿工,甚至通过币天销毁解决记账权垄断等问题。这些才是区块链本身试图解决的安全问题。

区块链中的密码学工具是为了个人数据隐私保护吗?

区块链中的常见密码学工具有哈希函数,梅克尔树,非对称加密。还有一些不常见但是势头正劲的工具,如:零知识证明,环签名,CoinJoin,多重签名,多方计算,秘密共享,安全多方计算和同态加密等。


如果遵循我们上面对隐私保护的基本释义,可以得出一个结论:类似比特币、以太坊这类假名(非匿名)系统而言,它们的实现中确实保证了某种程度的匿名性。它们省去了注册账号的步骤,这些链上的交易账户可以通过非对称加密的方式在链下自行生成,所以确实没法直接将实体的人和账户联系起来。而且比特币为了增加隐私,使用了一次性账户来存储资金。也就是说,在每一次花费比特币的时候,你都可以将比特币分拆转入自己的另一个账户里,这样就更不可能追溯到哪个链上账户是你的,从而增大了匿名性。不过,这样简单的处理也会存在弊端,因为一旦你准备归集资金进行支付时,就必然会需要进行账户的关联。为了解决这里的匿名性问题,零知识证明和环签名、CoinJoin 等技术就被引入区块链。


而多重签名和多方计算等技术更多是来帮助用户解决私钥的盗窃和不小心丢失的风险。倒是秘密共享(以给定的 N 个用户(例如,M = 5,N = 9)的 M 个可以合作来解密数据)、安全多方计算(SMC,一组互不信任的参与方之间保护隐私的协同计算问题)以及同态加密(对明文的运算的结果和对明文进行加密之后进行运算并解密的结果是相同的)等技术对于个人数据的隐私保护起着关键作用。


这些加密工具因为自身的成熟度等问题,在商业环境中的使用情况还有待检验。而且最重要的一点是,它们并非区块链的核心技术。这些加密技术都是在区块链火热之后才慢慢引起人们的关注的。

透明和隐私

密码朋克中说:“强者要透明,弱者要隐私”,隐私保护是数字时代的必需品,而密码学确实可以贡献良多。我当然期望密码学大发展,能够将用户对个人数据的控制权完全交还给用户。但是这里面有多少是区块链技术的功劳,就看我们往区块链这个概念里塞多少东西了。


参考链接


密码朋克宣言


作者介绍


鄢倩,ThoughtWorks 中国区块链团队的技术专家,《Java 线程与并发编程实践》和《七周七语言 卷二》译者,《架构整洁之道》技术审校者。主要关注区块链,领域驱动设计,微服务架构等方向,致力于帮助企业接入区块链生态,引领商业变革。"


本文转载自 ThoughtWorks 洞见。


原文链接


https://insights.thoughtworks.cn/blockchain-privacy-protection/


2020-06-12 10:062722

评论

发布
暂无评论
发现更多内容

软件测试 | 测试开发 | 了解磁盘IO的那些事

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 浅谈Shiro框架在Spring Boot中的认证应用

测吧(北京)科技有限公司

测试

MobSDK 快速集成文档

MobTech袤博科技

Android Studio an'droid

Struts 校验器(Validate)

表单校验 Struts2 9月月更

软件测试 | 测试开发 | Mysql 之执行计划

测吧(北京)科技有限公司

测试

开发者有话说 | 一位工作十余年工程师的成长之路

矜辰所致

个人成长 经历分享 9月月更 成长感悟

Vue3入门指北(四)computed (计算属性)

Augus

Vue 9月月更

软件测试 | 测试开发 | 如何提取 IOS Document_apis

测吧(北京)科技有限公司

测试

本周四晚19:00知识赋能第八期第3课丨涂鸦小游戏的实现

OpenHarmony开发者

OpenHarmony

Vue3入门指北(二)创建应用实例

Augus

Vue 9月月更

软件测试 | 测试开发 | Web 控件定位与常见操作

测吧(北京)科技有限公司

测试

本地生活与小程序技术融合迎战增量市场

Onegun

小程序 小程序容器 本地生活

瓜分 28 万现金大奖,Tapdata 数据源 Connector 大赛等你来战!

tapdata

开源 开发者 开源项目 挑战赛

软件测试 | 测试开发 | JVM内存溢出问题排查

测吧(北京)科技有限公司

测试

如何通过 Nginx 解决跨域问题

观测云

百度工程师带你探秘C++内存管理(理论篇)

百度Geek说

c++ Linux 开发语言 企业号九月金秋榜

EasyNLP带你实现中英文机器阅读理解

阿里云大数据AI技术

自然语言处理 深度学习 PyTorch 企业号九月金秋榜

软件测试 | 测试开发 | Windows-Python 应用:使用消息操作窗口

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 从几个开源项目浅谈IOS视频流输出方案

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 使用 ReportLab 绘制 PDF

测吧(北京)科技有限公司

测试

点赞破百万!字节算法大佬亲撰30W字数据算法笔记:GitHub标星93K

程序知音

Java 数据结构 数据结构与算法 后端技术

IaC 存储最佳实践

SEAL安全

DevOps 基础设施 DevSecOps 基础设施即代码 IaC

OpenHarmony主干开发板家族新添两成员,主干开发板数达20款

科技热闻

沉舟侧畔千帆过 | 高德的OceanBase Cloud实践之路

followtry

最佳实践 分布式数据库 数据库迁移 oceanbase

软件测试 | 测试开发 | 网页 frame 与多窗口处理

测吧(北京)科技有限公司

测试

Vue3入门指北(三)ref和reactive

Augus

Vue 9月月更

heco火币生态链智能合约dapp系统开发案例,合约部署

开发微hkkf5566

DophineSheduler上下游任务之间动态传参案例及易错点总结

白鲸开源

大数据 DolphinScheduler 任务调度 大数据 开源 参数传递

软件测试 | 测试开发 | web自动化测试-执行 JavaScript 脚本

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 如何提取 IOS Runtime Headers

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | web 控件的交互进阶

测吧(北京)科技有限公司

测试

谁说区块链保护隐私的?_区块链_张凯峰_InfoQ精选文章