0. 概要
WEB3.0 时代, 用户拥有链上数据, 数据公开透明可追溯。我们仿佛找到了自由平等的乌托邦, 在另一面, 如何保护用户的隐私将是另一个圣杯。
以下为文章的思维导图:
Web2时代,我们没有隐私
在比特币的白皮书的第十章节, 中本聪花了整个章节篇幅来描述比特币网络的隐私模型。在传统的银行模型中, 参与方与可信任第三方对信息的访问受到一定限制, 这达成了部分的隐私。但是在区块链网络上, 交易必须保证公开, 因此比特币的隐私是通过公钥的匿名来维持的。通常我们没法从一个随机生成的公钥里联想到这是哪个人 (虽然我们现在有巨鲸分析等工具可以推测出这些信息)。
在中本聪举的例子中, 区块链的隐私设计是从“银行进化到比特币网络”。我们可以从这个例子里来引申到“Web2 到 Web3”的隐私设计中。我们假设 Web3 的底层网络会是一个像比特币一样的区块链网络。那么我们所讨论的隐私都会有交易公开, 数据开源和去中心化的前提。
我们其实很早就意识到互联网中隐私的重要性。在接触网络的时候, 小学信息课老师以及父母会让你千万不要在可怕的互联网上暴露真名, 毕竟你不知道屏幕后面是谁。
但我们也很晚意识到互联网中隐私的重要性。我们的剪切板被第三方应用频繁读取, 我们的喜好和操作被从无数个网站发送到 Google Analytics (如果你现在按下 F12, 打开浏览器的 Console, 点击来源, 就很可能可以看到它), 我们的数据被明码标价地售卖, 这些行为都在不知不觉地窃取我们的数据和隐私。最近几年, 我们才后知后觉地发现自己已经被一些互联网公司摧残很久了, 于是, 我们开始使用 Telegram, Duckduckgo, Mirror 等应用......当然最重要的是, 在 Web3 时代, 隐私终于随着区块链的火热而受到用户和开发者的重视。在开放以及用户主导的 Web3 时代, 隐私的保护将会是一种标配。
1.Web3时代的隐私到底是什么
Web3 时代的隐私 = 保密 + 匿名 = 数据隐私 + 身份隐私 + 计算隐私
Web3 时代, 假设我们所做的所有交互以及网络踪迹都是在进行链上应用的交互, 那么我们的所有数据都将会是一条条交易和交易中所包含的信息。以 ERC-20 中的 transferFrom 函数 (参数为 _from, _to, _value) 为例, 交易会是由以下内容组成: 转账发送者, 转账接收者, 转账金额。针对这些交易, 我们可以定义 Web3 时代的隐私, 匿名, 与保密。
匿名 (Anonymity) 指的是: 交易的发送者和接受者(的现实身份)需要是非公开的, 转账金额可以是公开的 (只可能知道 _value 参数)。
保密 (Confidentiality) 指的是: 交易的转账金额等内容需要是非公开的, 发送者和接受者可以是公开的 (只可能知道 _from 和 _to)。
真正的隐私 (Privacy) 应该是匿名 + 保密, 指的是: 交易的所有内容, 包括交易发送者, 交易接收者, 转账金额都需要是非公开的。
在此基础上, 更进一步的隐私是, Web3 用户需要被赋予在交易发送前选择是否公开数据的权利, 让用户主动选择这条交易是否需要隐私。交易后, 用户主动选择对交易执行的隐私, 在区块链不可篡改的特点下, 可能比较难实现。
2.数据隐私 (保密)
数据隐私即为保密, 主要包含了两个部分: 数据的控制与所有权以及数据内容本身的保密。
a) 数据的控制与所有权
用户数据不应该是产品。用户对数据有绝对控制和所有权,能保证数据的归属和杜绝平台对数据的非授权操作, 是一种隐私的体现。
Web2 时代, 用户就是产品。回想一下, 是不是几乎所有搜索引擎, 电商平台, 视频网站都有无数的广告? Web2 时代的公司把用户数量当作财产, 用户就是他们广告的收益的来源。从 Cookie 追踪到 Google Analytics, 你执行的每一个操作, 在页面上停留几秒, 都会被追踪下来。而你或许只是给那些从来没有人看的隐私协议上打了勾。在未来, 网络逐渐更加普及后, 更多的用户和数据会涌入互联网, 给专门做数据窃取的公司带来更加丰厚的报酬。Web2 时代, 默认的情况就是用户没有隐私, 用户没有对数据的控制与所有权。
数据控制权
数据不应该是产品, 而应该是信息。Web3 时代, 用户需要对数据有控制权, 做出的每一个交互和交易以及所产生的数据都需要属于用户自己。 只有用户才能决定如何处置这些数据。 不被应用决定数据的归属, 而是以用户的主观意愿为基准, 对用户来说也是一种隐私的体现。
Web2 平台的应用像是农场主, 会给用户圈一块地, 24小时监控着让用户去产生数据。 他们通过产生的数据来获取利润。 Web3 平台的应用更像是私人管家, 帮助你管理你的数据, 同时也不会在你不知情的情况下去窥探或曲解你的数据。在区块链这样一个公开数据库的帮助下, Web3 应用将数据的控制权让权给用户, 应用所做的只是去帮助用户更好地操作数据。
数据所有权
根据 Vincent 一篇关于 Web3 重塑数据价值的文章里提到的, 用户可以从自己所有的数据中获取价值。 在 Web2 时代, 数据有价值, 但是是公司的财产, 价值不属于用户, 也不会分给用户。 Web3 时代里, 链上数据是一座金矿, 而且是用户所拥有的金矿。 Web3 的应用越多, 数据越多, 金矿也就越大。
Web3 用户可以随意带着自己的数据金矿在 Web3 时代里网上冲浪。 想象一下银行数据互通, 社交媒体数据互通, 视频网站数据互通…… 其实你不用想象了, 这已经在 Web3 发生了。 你的每个足迹都留在了链上, 你的地址里。 换到另一个 DApp 中交互, 你不用从头开始, 因为之前的数据都永远属于你, 伴随着你。
在 Web2 使用聊天软件的时候, 你是在 Facebook 的中心化服务器上进行与他人的对话; 而 Web3, 你使用聊天软件的时候, 会是与自己对话, 数据会全部存储在你自己的账户里, 而聊天软件所做的只会是去链上抓取你所拥有的数据。
数据所有权与数据隐私关系不是特别大, 所以这里不做过度拓展, 但我很推荐你去看上面提到的那篇文章。
Arweave
Arweave 是一个永久存储的区块链。 在最不理想的情况下, Arweave 能把数据存储 200 年 (对于一个普通的人类来说, 算是永久了)。尽管在永久存储这一方面已经没有任何对手, 但是 Arweave 真正的价值其实在于数据的永久控制与所有权。
Web3 用户和开发者上传到 Arweave 上的数据永远 (> 200年) 关不掉, 永远属于用户以及整个去中心化网络, 用户对数据有着不被下架的绝对控制。 将数据永存仅仅是第一步, 真正的重点是通过整个永存的存储网络, 所有参与 Arweave 的人平摊了数据被下架的风险。 上传到 Arweave 的 NFT 永不会被删除, 这才是 NFT 所有权对用户真正的价值体现。 一个永远存在的 NFT 和 NFT 所有权应该是 NFT 的必要特征。
去中心化的 Arweave 除此之外可以通过开源的合约代码 (作为数据的过滤和处理工具) 和公开的链上数据 (作为原始数据) 做出反审查的内容平台, 是永远无法被摧毁的亚历山大图书馆。 这是 Web3 时代用户数据所有权的最后一公里, 那就是数据与所有权的永存。
最近 everFinance 做了一个 Arweave 上的 Mirror 搜索引擎。 其中任何的数据都是从 Arweave 这个去中心化网络上拿取的。 用户将不会有顾虑是否某一天自己心爱的媒体平台因为各种压力而被下架。 如果想通过 Arweave 的永久数据 BUIDL 更多平台, 可以尝试使用这个开源库。
加密钱包
加密钱包是一个数据控制权很重要的点。 作为 Web3 时代的入口, 加密钱包就像 Web2 的谷歌搜索引擎一样至关重要 (当然加密钱包不会和谷歌一样收集并售卖你的数据)。
所有的加密钱包 (Metamask, Bitkeep等) 都体现了 Web3 用户对数据的控制权。每一笔交易和链上操作都是由用户签署或同意的。 用户清楚得知道什么数据会被公开, 什么交互会被记录在链上, 同时不用担心被应用追踪。 这是隐私在 Web3 存在很广泛但经常被忽视的一个方面, 但 Web3 用户都早已默默享受着掌控数据的隐私体验。
数据控制与所有权会带来更好的 UX
Web3 趋势下, 几乎所有的用户数据都可随意查看, 而如何使用这些数据是项目自己来决定的。 Web2 开发者会先去竞争数据, 圈一片地让用户进入, 让用户变成源源不断生产数据的奶牛, 而不是去想如何用更好的 App 来吸引用户。 根据 DuckDuckGo 对流行的免费 Android 应用程序的分析显示, 96% Android 上的免费应用程序都包含第三方跟踪器, 其中 87% 会将数据发送给 Google, 而 68% 将发送给 Facebook。 区块链上数据的同质化让 Web3 开发者在产品的交互和立意上进行竞争, 会直接地提高用户的使用体验。
Web3 时代, 用户不再是产品, 用户的数据不再被单一实体控制和利用。 用户的数据属于自己, 用户对所有的交互都有自主的控制权与永久的所有权。 Web3 的数据也属于整个透明的去中心化网络。 这对用户隐私来说, 绝对是一件好事。
b) 数据内容的保密
数据内容的保密通过隐私交易应用来实现。 通过零知识证明以及混币器等技术, 交易中的输入输出和金额等可以得到隐私保护。
数据内容的保密, 指的主要是交易中的具体内容, 或用户的交易记录, 得到加密或不公开。 我们可以认为将交易的输入输出地址隐去或将交易的具体金额模糊化是数据内容保密的体现。
隐私交易
以太坊的账户体系本身就是不“隐私”的。 你去进行一个 claim ENS 空投的操作, 就会让你的地址暴露在合约交互记录上, 别人就可以把你所有的交易都审视一遍。 在现实生活中, 这就类似你去楼下买咖啡, 你的买房和酒店消费记录都有可能被别人看一遍。 这也类似新冠时期的感染者的行踪会被完全暴露。 这样的暴露对整个卫生系统以及区块链网络的安全是一件好事, 但是对个人来说是一件比较伤害隐私的事情。
比如, 下图中是某个黑客的地址, 他在网上爬别人泄露的私钥, 然后被害者一领空投就会被黑客转走。 我们可以清晰地看到他的犯罪过程。 虽然我们审视他的犯罪过程是很正义的, 但是这泄露了他的隐私......
一种很简单暴力的方法来实现隐私交易, 就是将账户和交易全部加密然后解密。 但是这样的方法由于还得涉及到网络对交易的验证, 所以非常昂贵和耗时。
要注意, 此处的隐私交易只让原本透明的链上数据进行隐藏和不公开。 而金额上链和下链的隐私安全会在后续章节中讨论。
Aztec (zk.money)
Aztec 的 zk.money 是以太坊上的一个专门解决隐私问题的 zkRollup Layer2。
zk.money 通过直接将以太坊账户体系放弃, 而转为 UTXO 体系来实现到隐私交易。它直接用票据来记账。一笔交易不再是两个相关账户的状态的变更, 而是票据的所有权的变更。对票据的加密比对账户间的交易加密要简单的多。
zk.money 的交易对第三方用户来说都是不可见的。而对于整个 Aztec 网络系统, 同时要避免双花等问题, 交易的隐私是通过零知识证明来保证的。UTXO 的所有者通过自己生成的证明来证明系统中有这样一张票据, 以及自己拥有这张票据。用户不用展示自己的实际交易金额, 就能证明交易合法。
zk.oney 的票据所有权存储在两棵默克尔树当中, 一棵包括了所有曾经创建过的票据, 另一棵包含了所有曾经销毁过的票据。当销毁一张票据时, 不是从第一棵树中删除票据, 而是将票据添加到第二棵树即可。
zk.money 的使用流程为: 用户将资金从主网存入到 Layer2, 生成证明 → 用户在 Layer2 上进行发送操作(具有隐私保护) → 用户将资金提取到主网
tornado.cash
tornado.cash 是以太坊上的一个隐私链上混币器, 有点像 DASH 的匿名交易。它的名字起得很贴切, 把资金放到龙卷风里一卷, 再拿出来, 就不知道是谁发的了。
tornado.cash 同样通过零知识证明, 来做到隐藏交易的接收账户, 在隐私的情况下左手倒右手, 实现隐私交易。
它通过一个智能合约作为交易中间过程中的黑盒, 来打破发送者和接收者的联系。发送者在存款时提供保密的哈希值, 接收者 (可以是发送者自己) 在提现时只需要提供一个 zkSNARK 证明就可以来直接接受存款。
除此之外还有 monero, ZCash, DASH 等隐私交易的公链, 基本也是通过零知识证明和混币等技术来实现隐私交易来实现保密。
我们在交易转账这一基础代币功能上, 已经有了以上这些成熟的隐私方案。Web3 会围绕着具有不同价值和功能的代币来进行搭建。代币的交易转账只是 Web3 使用中很小的一部分, 但却是最容易暴露隐私的一个操作。 Web3 时代, 我们的交易将会是具有隐私的。
3. 隐私计算 (数据计算过程中的匿名与保密)
计算隐私是数据保密中的交易隐私的更深一步拓展。智能合约执行的计算隐私通常通过密码学, AI 技术, 可信执行环境等技术来达成, 但这其中的性能与隐私非常难达到完美平衡。
隐私计算在数据隐私的隐私交易上更近一步, 拓展到了图灵完备的智能合约上。智能合约的隐私保护主要聚焦在智能合约的执行过程, 将执行中涉及到的数据以及中间状态对第三方与执行智能合约的节点进行屏蔽。隐私计算技术分为三大方向: 密码学 (如多方安全计算 MPC), AI 技术 (如联邦学习), 可信执行环境 (如 SGX)。
多方安全计算通常借助多种底层密码框架完成, 主要包括不经意传输(Oblivious Transfer,OT), 混淆电路(Garbled Circuit,GC), 秘密共享(Secret Sharing,SS) 和同态加密(Homomorphic Encryption HE)等。本文中不做拓展。
联邦学习是在保障大数据交换时的信息安全, 保护终端数据和个人数据隐私, 保证合法合规的前提下, 在多参与方或多计算结点之间开展高效率的机器学习。简而言之就是在不暴露隐私的情况下将数据与他方进行共享, 从而一起提升机器学习的炼丹过程。联邦学习中更多是涉及到 AI 的内容, 本文不做拓展。
可信执行环境主要和硬件底层比较相关。通常是在 CPU 内划分出独立于操作系统的, 可信的, 隔离的机密空间。由于数据处理在可信空间内进行, 数据的隐私性依赖可信硬件的实现。 主要难点在于如何平衡性能与隐私。
Oasis Network
Oasis Network 主要是对标波卡, 把共识和计算分层, 用 ParaTime 平行链来处理计算。Oasis Network 采用可信执行环境的方案 (基于 SGX 的 Confidential ParaTime) 来达成隐私计算。在分层与可信执行环境下, 有较好的性能与隐私的结合。
Oasis Network 的生态在隐私计算方面算是比较有优势。同时 Oasis Network 兼容 EVM, 生态可拓展性比较强。
Oasis Network 的用例主要在于数据通证化 (抵押数据, 获取收益, 同时支持一定的权限控制) 以及作为高性能的 EVM L2。
Oasis Network 的缺点主要在于可组合性低, 分层设计过于复杂, 不同 ParaTime 之间不能通信; 合约是无状态的, 应用不灵活; 应用场景依旧模糊。
PlatON Network
PlatON Network 主要是一个隐私 + AI 的公链项目。它的主要特征是多方安全计算和 AI, 同样是分离共识和计算, 链上验证, 链下计算 (有 SCP 的味道)。链下计算不仅带来了更高的性能, 同时各种复杂运算 (尤其是 AI 和机器学习当中) 也可以达成。
Oasis Network 和 PlatON Network 的主要区别是: Oasis Network 为差分检测 + 非全节点共识, PlatON Network 为全节点共识; PlatON 通过同态加密来保证链下计算的可信度。
除此之外还有 Secret Network, Phala Network 等项目。ICP 也在着手准备加入可信执行环境来达成计算隐私。
交易隐私和计算隐私都是保护敏感数据不被第三方窥视。其中交易隐私可以直接通过链上 DApp 结合零知识证明或混币器来实现, 相比计算隐私更加可插拔与灵活。计算隐私则更加复杂, 必须在区块链网络上设计上去做文章, 涉及到跨链以及生态培养的问题。
4. 身份隐私 (匿名)
身份隐私即为匿名, 主要包含了两个部分: 物理身份与数字身份的隔断以及数字身份的独立。
a) 物理身份与数字身份的隔断
物理身份与数字身份的隔断代表了用户现实身份和网络身份的一种剥离。Web1 时期我们不需要暴露自己的手机号和姓名即可浏览, 但到了 Web2 我们就得把信息提交上去来进行 kyc。这是很严重的隐私侵犯, 但是现阶段来看依然很难解决。
物理身份与数字身份的隔断, 指的是人的现实身份和网络身份的一种剥离, 实质上就是人进入互联网的这个过程中的身份匿名。
听起来这个很容易做到, 巨鲸增持比特币只要不暴露机构名称就行, 用户只要不用真名做网名, 不用真实地理位置就行。 但其实这是隐私最难完善的一个痛点。 我们无法做到天衣无缝的隔断来保护现实身份, 只要我们上网, 电信运营商就有机会得到我们的身份; 只要我们买东西, 电商平台就能得到我们的身份; 只要我们使用 ENS, 我们就可能会被人肉出来......
除此之外, Web2 网站的各种第三方登录其实也暴露了我们极其多的网络行踪和真实身份。为了使用方便, 我们会直接通过谷歌或者 Facebook 来登录网站, 这其实就是在助长这些大公司的垄断和中心化, 同时也侵害了我们自己的匿名。
对于物理身份和数字身份的隔断, 我能想到最贴切的例子可能就是暗网。我们必须要感谢暗网, 没有暗网这样的网络来采用比特币和门罗币支付的话, 行业很可能无法发展壮大到现在。暗网所努力做的就是一种现实与数字世界的隔断, 但用户在暗网上购买非法物品, 还是很可能需要快递送到自己手里。因此, 暗网实际上也没有完全做到这个隔断。
物理身份的匿名和与数字身份的隔断实际上是 Web1 的内容, 而到了 Web2 我们却被暴露在聚光灯下。不填写自己的姓名和电话就无法使用某些 App, 这对用户体验和隐私来说都是一种侵犯。
b) 数字身份的独立
在现实身份与网络身份的隔断之上, 我们在隐私上能更深一步去发展的, 就是数字身份的独立。如果我们的数字身份没法直接独立, 那么就意味着数字身份依然和现实身份 “藕断丝连”, 我们的隐私仍旧有很大的泄露和暴露风险。
某个权威机构对元宇宙的定义是: 元宇宙是基于互联网而生, 与现实世界相互打通, 平行存在的虚拟世界, 是一个可以映射现实世界, 又独立于现实世界的虚拟空间。个人认为这样的定义非常符合我理想中对元宇宙概念的美好想象。这样 “映射现实世界又独立于现实世界的虚拟空间” 很完美地将数字化与隐私结合在了一起。 我们既可以享受通过上万年历史建设的现实世界, 也可以在元宇宙世界里“重获新生”, 通过独立并保有隐私的身份成为元宇宙的居民。
数字身份社交
数字身份的独立与区块链 Web3 的数据所有权的特点相辅相成。在数字身份独立的基础上, 我们可以发展出独立的数字社交。Web2 时期我们就有推特, Facebook, 和 Zoom 等社交或实时交流产品, 但是这些软件中的社交关系完全是建立在现实身份上的, 无法独立出来。 数字身份的独立社交会是隐私一个很重要的应用, 同时也是元宇宙最重要的部分。
数字身份的养成与重开
Web3 用户所有的数据你都可以随意带着走, 这让数字身份的养成更加容易。数据的互通天然地搭建了项目间的桥梁, 打通了一个个数据孤岛。通过你链上的 degen score, CryptoPunks 头像, 和治理经历, 我们可以可信透明并很容易地去培养一个身份。这让社群的组建更加透明高效, 让数字身份的社交更加容易。
当你想从现实身份跳到数字身份中时, 你可以直接把自己的 KOL 或者偶像生涯以新的面貌重开到数字身份中。 最典型的例子就是虚拟偶像。很多时候我们完全知道这个数字身份背后的现实身份是谁, 但是身份背后的人还是可以通过新的数字身份去培养新的社群, 产生更多的 meme。 当然这种情况是与隐私背道而驰的。
甚至当你不想要这个数字身份时, 你只需要创建一个新的账号, 就可以从头开始 (当然你的现实身份不能在这个数字身份中暴露), 而在现实生活中, 想要重开是比较危险的。一切数字身份的社交都留在数字世界中。 What happens in Vegas stays in Vegas. 你的现实身份完全不会受到影响。
Realy
Realy 是以街头文化结合城市风景作为主线的元宇宙项目, 提出了 City DAO 的概念。Realy 把 3D虚拟服饰, 虚拟演唱会, 线下潮牌转移链上, 同时也会举办虚拟演唱会以及支持用户在元宇宙内进行 City 治理等操作。
未来的元宇宙肯定是 “虚实结合” 的, 在这个基础上, 还需要是不过度依赖现实世界就可以独立存在的。Realy 所带来的是街头潮流文化在链上的完整呈现, 对年轻人来说非常有吸引力。我个人非常喜欢在数字/元宇宙身份中尝试不一样的体验, 我的社交账户以及游戏中的性别基本都是设置为女性。 这给数字身份和社交带去了无数的可能性。
在 Realy 中, 你可以无视性别和外表的限制, 自由地去拥抱潮流文化; 也可以无视地理位置, 时间和疫情风险的限制, 以数字化地形式去参与虚拟演唱会。这些都是 Web3 用户的重要生活和社交方式。 这一切都可以在不涉及物理身份的情况下做到了。 所有的链上数据, 包括潮流服装的购买和演唱会的参与记录, 都会伴随着你的数字身份, 在其他元宇宙世界里你的形象也会是 88rising 的粉丝和潮流玩家。
本质上来说, 现实社交和隐私是有些矛盾的。你要去社交, 就必须要抛头露面, 必须去放弃自己的一些隐私, 来去和别人进行信息的交换。
但 区块链 Web3 赋予了用户: 数据控制与所有权和数字身份的独立, 物理身份的完全隐私。我们可以以链上的数字身份来进行与现实生活中一致的交互。 同时全新的数字身份的存在也给到了人第二条生命和第二个生活方式。
5. 区块链与隐私的矛盾
区块链性能, 可用性, 和隐私的不可能三角。
跨链 + 隐私链 或 专攻隐私的去中心化应用, 可以在不过度损耗性能和可用性的情况下提升区块链的隐私。
矛盾:
在 BluemountainLabs 的一篇文章中提到隐私保护需要是融入全局的底层逻辑。Vitalik 也说: “只有全局性的匿名集合才是真正可靠安全的。” 这意味着或许只有一个在区块链网络上全局的隐私保护才会是最有效的。
而在实际中, 比特币和以太坊都为了保留去中心化和计算成本而舍弃了一些隐私保护。在比特币中, 通过对大鳄账户的数据抓取, 会让他们的卖出转账等操作被暴露, 这就导致他们失去了部分的隐私。在以太坊的设计原理中, “隐私”一词只在账户体系与 UTXO 这一章节中提到。 以太坊并没有采用隐私保护更强和更具有可拓展性的 UTXO, 而是采用了性能更强和使用更方便的账户体系。
在性能, 可用性, 隐私的不可能三角里, 普通用户与开发者目前最先想解决的是性能, 其次是可用性, 最后才是隐私。在 Web3 时代, 或许黎明前最后的黑暗会是隐私问题。
解决方案:
在这个矛盾中, 我们要得到的是: 区块链的全局隐私同时不过度降低性能。
一种最完整但也最臃肿的解决方案是: 通过做一个专用的隐私链 (例如门罗币), 然后搭配各种跨链的工具以及各种钱包等的适配来实现隐私。但是这在用户体验上是非常不好的。 这就类似你想在社交媒体上发布你纹身的照片, 而不想让你的长辈看到, 那么你就需要一个个添加并屏蔽他们, 甚至去到另一个更年轻化的社交媒体当中, 只添加你的同龄人为好友。这无论是在 Web2 还是 Web3 场景下都是很麻烦的。
一个舍弃部分的全局而提升用户体验和性能的方法是: 通过可插拔的去中心化应用或者 Layer2 (比如 zk。money ) 来实现隐私操作。这让用户能不离开原来的区块链网络, 即可享受隐私的保护 (甚至还会有额外的性能优势)。其中可插拔的去中心化应用更胜过 Layer2 一些。因为在我的想象中, 遥远而美好的 Web3 肯定会是多链互联的。一个可插拔的多链去中心化隐私应用能更加灵活以及 “去中心化” (不以单一链为中心服务对象)。在这个方面, 我非常看好更加灵活的设计范式能做出隐私相关的应用, 比如 Arweave 上的 SCP。
区块链数据不可变与公开的本质与隐私相矛盾。
交易信息事后的撤回或隐藏无法做到。 但用户可以通过交易提交前的隐私选项 (如类似 StarkWare 的 Volition) 来决定交易是否公开数据。
矛盾:
首先是区块链数据的公开。交易的输入输出以及内容通常在区块链浏览器当中都是可见的。这就让数据的保护显得异常困难。
其次是区块链数据的不可变。数据一经上链, 写入区块, 就无法篡改。用户提交暴露隐私的交易后就无法撤回或隐藏, 或许只能直接弃用这个地址以示清白。这一点实际上违背了欧盟的数据保护条例 (所有用户都有权被“遗忘”)。
解决方案:
数据的公开以及不可变特性其实可以一起来看。这两个区块链的基本特质我们是绝对没办法像性能一样让步的, 隐私在这两个特质面前绝对是二等公民。那么公开和不可变就无法消除了 (匿名和保密我们能解决)。
但是我们可以想通的是, 这两个特质是为了安全性和网络的公开性而生的。我们其实对我们的数据有着控制权和所有权。就算我们的交易数据可以撤回, 在撤回之前也很可能已经被成千上万个爬虫爬过, 那样的情况下的撤回或许就意义不大了。互联网是有记忆的, 一个公开不可篡改的互联网更是。
虽然事后撤回或隐藏数据不行, 但是事前由用户决定是否公开是可以实现的。这样可选的隐私选项对用户很友好, 也能让隐私真正用到刀刃上。类似的解决方案有 StarkWare 所做的 immutableX 中的 Volition 数据可用性模式 (但是要注意如果链下数据过多还是会走 Web2 的老路), 可以让用户选择数据是存放在链下还是链上。那么如果不想公开数据, 保留一些公开网络上的隐私, 那么用户可以直接选择链下存放数据。
实际上, 大多数时候, 你的链上数据就是你自己的财富和价值, 但对于一小撮需要隐私的数据, 我认为通过可选的隐私选项来保护是非常有必要性的。
6. 总结
谁都不知道 Web3 会怎么样, 大多数 Web3 的用户也根本不知道自己想要什么, 就像 Web2 用户很长一段时间才知道自己的隐私被侵犯地这么肆无忌惮。隐私项目最近受到的大量融资其实也将隐私这一需求的曝光度提高, 让更多人意识到了在未来, 一个更好的互联网应该需要隐私。
在 Web3 时代, 我们需要数据自主权, 数据隐私, 数据计算隐私, 现实身份隐私。同时理想中最好的隐私应用是需要以用户体验为中心的, 做到可插拔, 轻量, 心智负担小的特点。
Web3 = Get + Post + Own. Web3 时代, 每个人都会掌控自己的隐私。