写点什么

谁说区块链保护隐私的?

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

评论

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

我用 极狐 Gitlab issue 来点菜 #JIHULAB 101

朱亚光

JIHULAB 101

数据变更白屏化利器-推送轨迹上线

阿里巴巴云原生

zookeeper 阿里云 开源 微服务 云原生

深圳web前端技术培训学习费用

小谷哥

代码质量与安全 | 实践“边写边清理”,您需要做好这两件事:质量配置文件和质量门

龙智—DevSecOps解决方案

代码质量 代码安全 静态代码安全

测试管理 | 龙智获得Xray专家认证

龙智—DevSecOps解决方案

Jira插件

北京哪家WEB前端培训机构比较不错

小谷哥

软件测试 | 测试开发 | app自动化测试(Android)-- 特殊控件 T识别oast

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

自动化测试 Android;

区块链NFT网站开发:NFT数字藏品网站开发

开源直播系统源码

NFT 数字藏品 数字藏品系统

软件测试 | 测试开发 | RPC接口测试技术-Tcp 协议的接口测试

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

在Java培训机构中怎么学习?

小谷哥

Serverless 架构下的 AI 应用开发:入门、实战与性能优化

阿里巴巴云原生

阿里云 Serverless 云原生

硅谷名企、国内大厂是如何度量研发效能的?|ONES 研发管理大师课

万事ONES

leetcode 104. Maximum Depth of Binary Tree 二叉树的最大深度(简单)

okokabcd

LeetCode 算法与数据结构

牛客“基础-中级-高级”Java程序员面试八股文集结,熬夜挑灯刷

程序知音

Java java面试 后端技术 Java面试八股文 Java 面试题

国产操作系统应用小程序化:夯实技术底座,促进生态发展

Speedoooo

小程序 国产操作系统 小程序容器

2022年8月国产数据库大事记-墨天轮

墨天轮

数据库 opengauss 国产数据库 达梦 polarDB

CI/CD | 大型企业与开发团队如何进行持续集成与持续发布

龙智—DevSecOps解决方案

持续集成 CI/CD 持续发布

软件测试 | 测试开发 | 文未有福利 | 接口自动化你不懂?听HttpRunner的作者怎么说

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

测试 接口调试

LED屏幕有色差要怎么办?

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

最后 3 天|报名参加 OpenYurt+EdgeX 挑战赛 ,冲击最高 5 万元奖励!

阿里巴巴云原生

阿里云 云原生 openyurt EdgeX

【荣耀开发者服务平台—百亿曝光扶持等你来】智慧服务内容接口卡片接入指南

荣耀开发者服务平台

手机 激励 卡片服务 厂商 honor

软件测试 | 测试开发 | 抓包分析 TCP 协议

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

TCP 抓包分析

软件测试 | 测试开发 | app自动化测试(Android)--显式等待机制

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

测试

GOPS现场 | 对话龙智技术顾问,分享DevOps观察与心得

龙智—DevSecOps解决方案

运维 DevOps工具链

设备健康管理在石化行业的探索与实践

PreMaint

预测性维护 设备健康管理

2022最新BATJ等一线互联网大厂秋招面试题汇总,速刷

程序知音

Java 程序员面试 后端技术 Java面试题 Java面试八股文

软件测试 | 测试开发 | 一文搞懂测试左移和测试右移的 Why-How-What

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

测试 安全测试

版本管理 | 如何解决SVN的合并冲突与分支问题?

龙智—DevSecOps解决方案

svn 版本管理

设计模式的艺术 第二十二章观察者设计模式练习(开发一款实时在线股票软件。该软件需要提供如下功能:当股票购买者所购买的某只股票价格变化幅度达到5%时,系统将自动发送通知(包括新价格)给购买该股票的所有股民。试使用观察者模式设计并实现该系统)

代廉洁

软件测试 | 测试开发 | 基于Requests与mitmproxy打造迷你接口测试框架

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

测试 Request

软件测试 | 测试开发 | 接口管理工具YApi怎么用?颜值高、易管理、超好用

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

测试 Mock

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