Cover photo

什么是隐私

在区块链行业中,隐私一直是一个十分混乱的概念。因此在真正开始介绍今天的隐私项目 Secret Network 之前,有必要先对隐私相关概念重新进行一下梳理。

本文将分为两部分,第一部分重新辨析隐私及相关的主要概念。第二部分我们则直接上手,看看目前行业内第一条真正可用的,支持隐私编程的公链 Secret Network,在使用中与其他公链到底有哪些不同。

当我们在讨论隐私的时候,到底在讨论什么?

隐私,是自比特币诞生以来便一直围绕在加密行业的标签。中本聪也曾在比特币白皮书中单列一章讨论隐私问题。然而,比特币所提供的隐私,真的是我们日常生活意义上的隐私吗?

天然匿名的账户

我们知道,目前以比特币、以太坊为代表的主流区块链网络,其最重要的特征之一,便是其所有交易记录是完全公开可验证的。而用户之所以还能在这种极端透明的环境中保有一定的隐私,唯一的原因,便是其独特的账户注册机制。

对于任何一个账户体系来说,其最重要的工作就是防止出现账户重名。因为一旦出现重名,与之相关的信息,乃至资产的权属都将产生争议,进而导致整个系统出现严重的混乱。就像数据库每个表中的主键一样,一个系统中的账户必须保证唯一性,才能使得整个系统正常运转。

因此在一般的账户体系中,必然需要存在一个中心化节点,专门负责新账户的注册工作,以保证系统中每个账户的唯一性。而比特币由于需要做到完全的去中心化,因此必须采用其他的解决方案。

而我们已经知道,最终中本聪给出的答案,是每个用户通过随机算法独立生成地址。那么随机算法如何防止地址出现重复?答案是根本防止不了。我们能做的,只是从概率上将地址出现重复的概率降到足够低,最终以这种去中心化的概率确定性,代替中心化注册机制的最终确定性。

而由于这种生成机制完全随机,因此所有地址都具有先天的匿名性。这种匿名性,便是我们早期常常谈到的隐私。

不过,通过地址的匿名性保护隐私有两个重要的缺陷。一是匿名的不可逆性,一旦一个地址的真实身份暴露,则这种匿名性的丧失是不可逆的。

另一个特点是维护地址匿名的工作完全是链外事物。也就是说,在地址生成后,维护匿名的工作都由链外的持有人负责,区块链系统对相关的任何事情都一无所知也无能为力。

在这种情况下,早期的链上隐私解决方案只能通过不断删号重练,并切断新匿名地址与旧地址的联系,来帮助用户恢复匿名性。

我们熟知的早期隐私项目,如 Tornado.cash,乃至达世币 ( Dash)、门罗币 (XMR, Monero)、大零币 (ZEC, Zcash) 等等隐私公链,基本也是围绕着这个思路设计的。

匿名账户体系的瓦解

然而当区块链技术逐渐由比特币时代过渡到以太坊为代表的智能合约时代后,新诞生的各类应用,对原有匿名账户体系的冲击也越来越大。

早期的地址仅仅用来保存购买的加密货币。而在今天,我们需要用这些地址购买 NFT 头像、关联社交账户、持有域名、保留游戏道具甚至发布 Mirror 文章。所有这些活动,都使得继续维持这些地址匿名的成本越来越高,而再次进行删号重练的转移工作也由于越来越复杂以至于几乎不可行。

因此我们突然发现,简单的匿名地址已经不再能满足新时代用户的使用需求,我们需要更加先进的隐私解决方案。

什么才是真正的隐私?

对于隐私的定义我们不再做什么学术上的讨论,这里我们直接沿用生活中对隐私约定俗成的理解。我们在日常生活中提到的隐私,并不是让人们每天戴着面具生活,而是即使我们公开了身份,也能在需要的时候,拥有自己私密的空间,进行私密的交易。

对应到区块链中,我们需要的隐私最好是这样一种形态。即便我的地址已经是公开的实名地址,我也可以根据自己的需要,隐藏自己持有的资产数量,与 DeFi 协议进行交互而不必担心信息被公开,购买的 NFT 虽然存在自己的地址中,却可以根据自己的意愿选择是否公开展示。

对于这种需求,传统的无法支持智能合约的隐私公链们显然已经无能为力。我们需要新的可编程的隐私公链来完成这个使命。

可编程的隐私公链

目前整个市场中,能够符合支持智能合约,并且可对公链上发生交易的隐私进行定制化选择的公链有两个,一个是 Oasis Labs 推出的针对隐私编程的 Cipher Paratime,另一个就是 Cosmos 生态中的隐私公链 Secret Network。