美国对加密货币(或任何类似证券的东西)的严格监管目标是保护消费者。注册证券提供重要的法律保护,如追回权利。然而,这些规定带来了沉重的合规成本——许多加密货币项目在服务美国客户时,限制自己仅向认可的投资者开放(例如 Aleo 的测试网奖励政策和 Coinlist 的专为美国用户设立的专属质押基金),或者干脆拒绝美国税务居民,以保证安全。这是 web2 和 web3 都存在的问题。香港的银行经常拒绝向美国居民提供许多金融产品。

换句话说,消费者保护的一个副作用是它剥夺了消费者「变富」的一些机会。个人可能无法参与代币预售。更重要的是,如今,许多 web3 项目都在进行空投(例如 Celestia, Arbitrum, Optimism),但明确排除了美国居民。我们不知道有多少美国开发者因为税务居民身份而失去了空投资格,但听到这种情况当然非常遗憾。

然而,1933 年证券法确实提供了一个例外——认可的投资者,其定义如上图所示,出自 Investopedia。这是 Rule 501 of Regulation D。它基于收入给个人提供了认可的投资者身份。

(6) Any natural person who had an individual income in excess of $200,000 in each of the two most recent years or joint income with that person's spouse or spousal equivalent in excess of $300,000 in each of those years and has a reasonable expectation of reaching the same income level in the current year;

对于科技行业的人来说,收入测试相当容易达标。根据 levels.fyi 的数据,除了最初级的职位,顶尖 IT 公司的软件工程师——亚马逊 SDE II,谷歌 L4,Facebook E3,微软高级 SDE——通常在工作几年后就有资格的收入。换句话说,如果你在旧金山或西雅图遇到另一个软件人士,很可能他/她已经是一个认可的投资者了。

但现在问题是:他们如何证明呢?

web2 中的传统解决方案是进行 KYC——请求提交收入证明文件,如税表或工资单。这对 web3 来说是不合适的,实际上,我们认为对 web2 来说也是不可持续的。

· 缺乏可扩展性。由于收入证明是「非结构化数据」且每个雇主都有所不同,通常需要手动检查。但是,由于工资单很容易伪造,为了确定真伪,房东最好的办法是打电话给雇主进行验证——这种未经邀请的电话很少受欢迎——或进行全面的背景调查,其成本超过数百美元。

· 缺乏可靠性。有很多在线文章教人们,特别是房东,如何检测伪造的工资单的迹象,然而,一个受过教育的成年人可以轻松伪造一个完美的工资单。如今,一个人不需要成为詹姆斯·邦德就能创建伪造的工资单。除了工资单,伪造的身份证也并不罕见:一个未成年的大学生可能已经有了一个用来买酒的假身份证(参见这篇文章)。像我们这样守法的人根本不知道我们每天都在信任中投入了多少。

· 缺乏隐私。泄露了太多信息。工资单暴露了家庭地址。税表揭露了婚姻状态、子女数量和其他收入来源。信用报告是最糟糕的:它包括当前和以前的地址、当前和以前的雇主以及其他远远超出「我是一个认可的投资者」的信息。

然而,Web3 的文化与 Web2 截然不同。

可扩展:自动化,去中介

· Web2 有文员和收银员。在 Web3,是智能合约。

· 交易以透明、自动化的方式由超过数千个节点的网络处理。全天候。处理时间通常不到一分钟。由于任何人都可以创建智能合约,因此几乎没有垄断,费用通常是合理的。

· 那么问题来了:你如何在 web3 中,或者对智能合约证明你是认可的投资者呢?

可靠:去中心化,最小信任

· 传统社会很多依赖于相信人们在被证明有罪之前是诚实的。

· 美国许多州允许没有身份证的选民通过签署一份宣誓书投票。但即使需要身份证,它也没有增加太多安全性。大多数州的 REAL ID 没有芯片,伪造一个并不需要破解任何密码学。

· 我们的现实世界是一个乐观回滚。你通过打电话给地区检察官来质疑人们。欺诈证明是中心化的,所谓的「数据可用性」对普通人来说几乎是不存在的,因此他们无法生成欺诈证明。然而,web3 需要对每个人都开放验证。

· 那么问题来了:你如何在 web3 中可靠地证明你是认可的投资者呢?

保护隐私:自主,匿名性

· 在 web2 网站创建账户时,你可能会被要求提供电话号码和至少一个电子邮件地址。对于信用卡支付,邮政编码是最低要求,但往往需要一个账单地址。在美国,人们搜索网站的普遍存在(这是合法的商业活动),如 TruthFinder、PeopleFinder 和 Spokeo,使得隐私几乎无望。

· Web3 是默认保护隐私的文化。0x 地址与个人的现实世界身份无关。区块链不关心你是谁,只关心你的意图。

· 那么问题来了:你如何在不泄露你的生活的情况下,在 web3 中证明你是认可的投资者呢?

这促使我们重新思考我们的世界应该如何运作。如果我需要证明我是一个认可的投资者,

· 为什么我需要提交我的工资单?

· 为什么我必须透露我的家庭地址?

· 为什么我必须提供税表来证明我的应税收入?

· 会有多少人能看到这些文件?

另一方面,将要验证这些文件的人也在苦苦挣扎。

· 这些工资单是假的吗?它们被篡改了吗?

· 我需要给以前的雇主打电话进行验证吗?

· 我需要手动检查税表的每一行看它是否被篡改了吗?

这发生在许多 web3 投资者身上。最近,我作为新成员被接纳进 Zero DAO,一个基于美国的 DAO,投资于零知识证明。在入会前,我经历了 KYC 过程。DAO 是 web3 的,但这个 KYC 部分仍然是 web2 的。尽管 KYC 体验流畅,我确实提交了很多文件,我开始怀疑如果我继续在投资行业工作,KYC 是否会成为我常规的程序。

进一步想想。即使是 Web2 也可能从一个更好的解决方案中受益。想象一下,也许在不远的将来,你成为一个私募股权投资者,每天签署数百份 SAFE 协议。与其向 Sand Hill Road 上一半的人分享你的电话号码、你的电子邮件地址或你的家庭地址,不如你只需要打开 Metamask 点击几下怎么样?

今天,我们终于有了技术来解决这个问题,感谢密码学的进步。我喜欢我们一家投资公司的座右铭:「Fixing the Internet, one ZKP at a time」。

在这系列文章中,我们将描述一种利用 zkPass 以隐私和完整性证明认可投资者身份的解决方案。这是 L2 Iterative 和 zkPass 合作的成果,旨在使 zkPass 成为一个跨 web2 和 web3 使用的全面数据所有权技术栈。我们在这系列文章中讨论的工程工作的代码可以在 GitHub 上找到。

第一篇文章将专注于动机——如何理解这一叙述。

数据所有权的故事

我们首先要概念化我们所说的数据所有权。特别是,我们在考虑存储在第三方的个人数据。

· 政府拥有个人识别信息,包括照片、国籍和公民身份、出生日期以及一些独特的识别号码。护照中可以找到这些信息的一部分。

· 美国税务机构,Internal Revenue Service (IRS),保留了税务申报以及来自个人、银行、保险提供商、雇主和其他公司等的工资和收入记录。

· 社交账户的所有权——如 Instagram、Twitter、Quora、Tiktok、Discord 和 Reddit——以及相关信息如会员资格或订阅、关注者数量和帖子或推文的内容。

· 银行和信用局如 Equifax 持有的历史账户余额、消费活动和融资情况。想想房东想看的信用报告和六个月的银行对账单。

过去十年通过的数据保护法律,如 GDPR 和 CCPA,为一系列与数据所有权相关的权利提供了坚实的基础:

· GDPR:访问权、擦除权、反对权、赔偿权、不受自动化个人决策权的制约权

· CCPA:了解权、删除权、选择退出销售或共享权、更正权、限制使用和披露敏感个人信息的权利

但这既不充分也不全面。还有很大范围的数据权利没有被 GDPR 和 CCPA 覆盖。例如,当涉及到医疗数据时,人们有更多权利。根据 HIPAA,患者不仅有权从医疗服务提供者(如医生)那里获取自己的受保护健康信息(PHI),还可以要求将数据转移到特定的第三方。

这使得患者可以通过要求前一家提供者将之前的记录(包括诊断、X 光片)分享给新的提供者来轻松地在不同的医疗提供者之间切换。这已在美国的每家诊所实施。下面是 UC 眼科中心的授权释放表格,供患者请求将数据与第三方分享。

与医疗相比,Web2 必须感到尴尬。你不能指望 Web2 很快发生以下情况:

· 要求银行发送官方电子邮件给房东,确认你的账户余额

· 要求 DMV 给买家打电话,证明你拥有某品牌的车

· 要求 Uber 与 Lyft 分享你的驾驶记录,以便 Lyft 可以匹配你作为司机的奖励等级

· 要求 IRS 向 zkPass 发送电子邮件,证明你是认可的投资者,应该有资格接收空投

专注于最后一点与认可投资者身份相关。如果每当有人怀疑你是认可的投资者时,你总能打电话给 IRS,而 IRS 会立即打电话给他或她来确认你的认可投资者身份……我用 Comicai 画了一个迷你漫画如下。

然而,今天的情况并非如此,而且在不久的将来也不太可能。IRS 有一个快速收入验证服务,称为 IVES,它很快将被限制用于「在贷款申请过程中验证作为借款人的纳税人的收入或信用度」(参见 Section 2201(b) of Taxpayer First Act of 2019),这显然不包括「空投」。谈论精确性!

这个例子展示了当今数据保护法律的局限性。

法律确保第三方不是「数据所有者」。他们需要允许你访问数据。如果你要求,他们必须删除数据。他们不能在未经你同意的情况下共享数据。在 IRS 的案例中,纳税人优先法是作为一项数据保护法律,因为它限制了 IRS 如何分享数据。

但这些数据保护法律也没有使用户成为「数据的所有者」。

· 数据仍然是第三方的财产。第三方没有责任为用户证明数据。

· 用户可能希望自定义数据格式(如编辑),但第三方可能没有这种选择。例如,对于认可的投资者身份,我们只需要证明年收入超过 20 万美元,而不需要揭露确切的数字(想想,如果你是亿万富翁),但 IRS 当前授权的发布没有这种细粒度。

为了将所有权还给用户,zkPass 需要解决以下问题:

· 使用户能够从可靠的数据源获取数据

· 使用户能够证明用户指定的数据处理(编辑,或者像检查收入>20 万美元这样的通用计算)同时保留源数据的真实性

有了 zkPass,一切都可以不同。认可的投资者身份可以制作成灵魂绑定代币(SBT),用户可以通过几次点击从 Metamask 证明拥有这个 SBT。

这听起来像是空投清关的警察慈善协会(PBA)卡,但它可以更加方便。事实上,你甚至不需要点击 Metamask——知道用户地址的 dApp 可以使用 Alchemy 或 Ankr 自动找出用户是否拥有这个 SBT,并默默地移除任何障碍,就好像 dApp 已经认可你为 VIP。

在某种程度上,zkPass 与 ZK 协处理器的概念相呼应(比如 Hyper Oracle、Axiom、Bonsai、Brevis 和 Herodotus),它们专注于历史上 web3 的链上数据。zkPass 还与 ZK 桥(比如 Polyhedra)相呼应,它们通过数学安全在不同链之间进行消息传递。与它们不同的是,zkPass 是一个独特的,专注于链下数据,包括 web2 数据的。

· ZK coprocessor:可验证的链上数据

· ZK bridge:可验证的跨链数据

· zkPass:可验证的链下数据

zkPass:数据所有权的技术栈

zkPass 是数据所有权的全栈解决方案,由各种工具和应用程序组成,使得可验证的数据共享具有隐私性和完整性保证。

数据源:

· HTTPS web connections(用 3P-TLS)

· 电子护照

· DKIM 电子邮件

· 数字签名的 PDF

数据处理:

· 交互式 ZK

· RISC Zero

· Groth16

数据消费:

· 链上身份

· 链下验证

目前,他们的测试网版本已经支持了包括互联网公司、传统行业、政府在内的长列表数据源。

· 银行和政府:Nagarik App、ANZ Bank、澳大利亚 myGovID

· 教育:Coursera、Hubspot Academy

· 视频游戏:GOG.com

· 现实世界的身份和资产:法拉利、Uber

· 加密货币交易所:OKX、Binance

· 社交平台:Instagram、Twitter、Quora、Tiktok、Medium、Reddit、Discord

我们的合作伙伴关系:RISC Zero 后端和 PDF 证明

我们与 zkPass 建立了合作伙伴关系,为 IRS 报告的应税收入创建交互式证明,该收入来自 IRS 网站,然后用于通过个人最常用的收入测试建立认可的投资者身份。

这可以通过让用户与数据请求者进行如下交互来实现隐私和完整性:

· 使用 zkPass 3P-TLS 协议证明,他/她接收了过去两年的账户摘要,这将是两个 PDF 文件,来自 IRS Transcript Delivery System (TDS)。由于账户摘要包含敏感的个人信息,如社会安全号码的后四位和缩写的家庭地址,摘要不会被透露给数据请求者。下面的 PDF 是我 2022 年的 IRS 账户摘要,如下所示。

· 使用 zkPass 数据处理协议,这里是 RISC Zero 后端,证明这两个账户摘要:

匹配用户的个人资料

最近由 IRS 发行

匹配请求的年份(如 2022 年)

应税收入超过 200,000 美元

这可以用下图来说明。

zkPass 3P-TLS 协议用于证明与 IRS 网站的互联网连接,工作原理如下。

· 用户通过加密的网络流量通过验证器进行常规的 HTTPS 连接,验证器在这里充当网络代理,或者用外行的话说,VPN。

· HTTPS 连接结束后,验证器要求用户生成有关加密流量数据的零知识证明。验证器独立验证 TLS 连接的完整性,通过 PKI 证书。

· 正如我们上面讨论的,zkPass 支持多重证明。包括我们使用的 RISC Zero 在内的几个后端,可以用来生成这个零知识证明。这通常是一个优化性能的选择。RISC Zero 适用于涉及 RAM 模型计算而不是电路模型计算的证明。

zkPass 用于 3P-TLS 的这个协议已经研究了很多年,从十多年前的 TLSNotary 开始(现在是一个以太坊基金会资助的 PSE 项目)。包括 BlindCA(IEEE S&P 2019)、DECO(ACM CCS 2020)、Oblivious TLS(CT-RSA 2021)、MPCAuth(IEEE S&P 2023)和 Brave 浏览器的 DiStefano 等学术工作推动了这一进展。

接下来,zkPass 将使用 RISC Zero 后端读取 PDF 文件。

RISC Zero 处理 3P-TLS 协议获得的 PDF 文件,进行必要的解析、解密和解压缩,然后检查「应税收入」是否超过 USD$200k,如下面我们实现中的代码片段所示。

我们系列中的下一篇文章将解释我们是如何在几天内用 RISC Zero 后端实现整个过程的,以及这是如何与 zkPass 集成的,例如发行一个链上 SBT 或完成一个链下验证(这对于空投清关来说就足够了)。

更多应用

这里介绍的技术,证明 PDF 上的数据,可以推广到许多设置中。

一个例子是 CeDiploma,一个电子文凭提供商,其客户包括斯坦福大学和加州大学伯克利分校,它在 PDF 中嵌入了数字签名。

这对于零知识证明来说比 IRS 账户摘要更具挑战性:不仅需要在更多数据上运行解压缩算法,而且 PDF 的主体由构成文本体的贝塞尔曲线而不是英文字符组成(我相信这是有意为之),因此这里需要一个迷你 OCR 算法来读取我的名字。然而,这应该是相当可行的,不需要 ZKML。特别是,由于 CeDiploma 总是提供相同的 PDF 文件,所以 ZK 证明只需要为每个学位做一次,然后它可以是一个将永久存在于 web3 世界的链上 SBT。

另一个例子是 Docusign。签署的文件和摘要文件,这是两个 PDF 文件,可以用来证明这些电子邮件地址的签名者进行了签名。这里有一个示例 SAFT 协议(来自 https://saft-project.org/)及其电子签名摘要。事实上,Docusign 可以走得更远,因为他们还支持更多的身份验证方法,包括政府 ID 验证和短信验证,它们然后可以通过 ZK 进行验证,假设我们信任 Docusign 进行身份验证。

Adobe Acrobat 也提供与 Docusign 相同的功能,通过 Adobe Sign,这意味着可以对 Docusign、Adobe 进行的身份验证进行 ZK 验证,或者让它们两者都进行。

这可以有效地创建「授权书(POA)」,使得一个人可以为链上的智能合约签署文件。有趣的是,由于「电子签名可以用来签署合同,在法庭上是有法律效力的」,正如 Docusign 提到的,它变得具有法律强制力。

下一篇文章

在这第一篇文章中,我们主要讨论了动机,将 zkPass 定位在当前模块化区块链堆栈中,并介绍了 zkPass 技术栈。

在下一篇文章中,我们将深入探讨如何使用 zkPass 从 IRS 获取可靠的数据源,以及 RISC Zero 后端。