生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

谁说区块链保护隐私的?

  • 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:062599

评论

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

月薪3万的大厂测试工程师裸辞3个月,送外卖谋生背后的真实感悟

六十七点五

程序员 程序人生 软件测试 软件自动化测试 测试工程师

我是一个程序员,总想引导亲朋好友走上编程的伟大航路......

图灵教育

程序员 App Inventor

浅谈 RDMA 与无损网络

青云技术社区

云计算 云原生 存储

CSS布局之display:flex(二)

Augus

CSS 11月日更

如何穿透ToB客户生命周期的全链增长?

ToB行业头条

盲盒app开发

极光笔记丨关于数据大屏一比一还原设计稿这件事

极光JIGUANG

大前端 数据可视化

首次!统一调度系统规模化落地,全面支撑阿里巴巴双 11 全业务

阿里巴巴中间件

阿里云 云原生 中间件 双十一 统一调度

不要再重复造轮子了,Hutool这款开源工具类库贼好使

沉默王二

Java

速来!开源中国首届飞算SoFlu组件开发悬赏赛来袭

SoFlu软件机器人

Java

一招教你通过焱融 SaaS 数据服务平台+ELK 让日志帮你做决策

焱融科技

云计算 分布式 SaaS 公有云 文件存储

我所理解的社群—社群本质

sec01张云龙

社群 11月日更 社群运营

手把手教你学Dapr - 1. .Net开发者的大时代

MASA技术团队

C# .net 微软 后端 dapr

openGauss支持国密SM3和SM4算法

openGauss

#数据库

从 Linux源码 看 Socket(TCP)的accept

赖猫

c++ Linux 后端 服务器 epoll

项目管理常见问题系列(1)—资源不足

一叶而不知秋

项目管理

拥抱智能,AI 视频编码技术的新探索

阿里云视频云

阿里云 视频编码 机器视觉 视频编解码 视频云

前端的状态管理与时间旅行:San实践篇

百度开发者中心

大前端 san san-store 技术实践

经验分享|参与内部开源的心路历程

云智慧AIOps社区

大前端 数据可视化 知识分享 开源治理 flyfish

就是简单,全球100多万读者,一起跑通前端HTML5与CSS3知识!

图灵教育

大前端 HTML5, CSS3

模块三作业——外包学生管理系统架构设计

覃飞

【云小课】如何初步定位GaussDB(for openGauss)慢SQL

华为云数据库小助手

GaussDB GaussDB(for openGauss) 华为云数据库

Nebula Graph 源码解读系列 | Vol.04 基于 RBO 的 Optimizer 实现

NebulaGraph

图数据库 源码解读

Nginx中间件渗透总结

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

开源数据库风起云涌,openGauss 恰逢其时

openGauss

#数据库

Web 用户体验设计提升实践

Shopee技术团队

大前端 web开发 用户体验 交互设计 可访问性

Python代码阅读(第58篇):压缩列表

Felix

Python 编程 列表 阅读代码 Python初学者

企业如何选择合适的低代码平台?这6点不得不考虑!

J2PaaS低代码平台

低代码 低代码开发 低代码平台 企业数字化

第一本 Compose 图书上市,联想大咖教你学会 Android 全新 UI 编程

图灵教育

Compose AndroidUI

手把手教你学Dapr - 2. 必须知道的概念

MASA技术团队

C# .net 微软 后端 dapr

LevelDB Java&Go实践

FunTester

Java 自学 Go 语言 leveldb FunTester

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