2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

谁说区块链保护隐私的?

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

评论

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

Vue进阶(四十五):精解ES6 Promise 用法

No Silver Bullet

Vue Promise 异步编程 7月日更

禧大福酒口感怎么样?好喝又养生

Geek_50a546

【源码篇】Flutter GetX深度剖析 | 我们终将走出自己的路(万字图文)

小呆呆666

flutter ios android 大前端

我是一个请求,我是如何被发送的?

华为云开发者联盟

注解 流程 CSE 请求 RestTemplat

大型团队的敏捷项目管理实践与思考

万事ONES

项目管理 敏捷开发 ONES 开发管理

毕业四年,我当初是如何走上编程这条路的!

Andy阿辉

程序员 开发 大学生 编程故事 自我成长

ReactNative进阶(十六):React-Native 组件生命周期

No Silver Bullet

生命周期 React Native 组件 7月日更

【LeetCode】二叉树的层序遍历Java题解

Albert

算法 LeetCode 7月日更

密码学系列之:memory-bound函数

程序那些事

加密解密 密码学 程序那些事

快速构建JVM整体认知-JVM的生命周期

刘绍

Java 程序员 JVM JVM原理 规范

神奇的Duff's device

实力程序员

在线IEEE浮点二进制计算器工具

入门小站

工具

Rust从0到1-智能指针-内存泄漏

rust 智能指针 内存泄漏 循环引用 smart pointer

新手程序员必备10大技能

禅道项目管理

Linux 程序员 语言 git 学习

决定中国SaaS成败的三个关键问题

ToB行业头条

SaaS

设计消息队列存储消息数据的 MySQL 表结构

贯通

架构实战营

价值连城 杰弗里·欣顿(Geoffrey·Hinton)的采访 给AI从业者的建议 John 易筋 ARTS 打卡 Week 55

John(易筋)

ARTS 打卡计划

【技术实践】基于Cglib动态代理,实现Spring的AOP核心功能!

小傅哥

spring 小傅哥 aop 动态代理 cglib

模块二作业-微信朋友圈复杂度分析

babos

#架构实战营

质量基础设施一站式服务平台建设,NQI平台解决方案

架构师之于团队的作用和其能力体现是什么?

happlyfox

话题讨论

机器学习

i30M

详解SQL优化必备:并行执行框架和执行计划

华为云开发者联盟

sql SQL优化 执行计划 GaussDB(for openGauss) 并行执行框架

颠覆传统经营模式,区块链助力餐饮行业数字化革新

旺链科技

数字化 区块链技术 餐饮

“攻城狮”实用指南之Linux CPU性能优化

中原银行

Linux

【Flutter 专题】87 初识状态管理 Bloc (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

Scrapy 爬取西刺代理存入MySQL & MongoDB 数据库(手把手教学,超详细步骤)

若尘

MySQL mongodb 爬虫 Scrapy 7月日更

HarmonyOS开发者创新大赛作品《智能农场》相关开发技术分享

科技汇

模块八:设计消息队列存储消息数据的 MySQL 表格

ifc177

听说过对 Go map 做 GC 吗?

万俊峰Kevin

map Go 语言

WATT NETWORK软件系统开发详情

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