# 使用 SQL 的空间和时间证明增强 zkLogin

By [SpaceandtimeCN](https://paragraph.com/@spaceandtimecn) · 2023-11-08

---

[https://snapshot.org/#/stgdao.eth/proposal/0x57dfc29fe901e154f294e9e5fc6f7b26e58e4f9446d2d131168bb4531bd2a448](https://snapshot.org/#/stgdao.eth/proposal/0x57dfc29fe901e154f294e9e5fc6f7b26e58e4f9446d2d131168bb4531bd2a448)

为了实现 Web3 的承诺，必须有一种方法可以提供当前 Web 基础设施的所有功能，同时又不破坏区块链基础设施的零信任模型。无需依赖第三方中介即可运行的能力是区块链技术的基本理念，也是区块链技术的优势，因为它可以提高安全性和效率，同时降低成本。然而，由于存储和可扩展性方面的固有限制，区块链始终依赖外部基础设施解决方案来补充其功能。

即使是相当简单的区块链用例（例如 NFT），历史上也以某种形式依赖于网络基础设施。 2021 年，在 Bored Ape 热潮的鼎盛时期，大多数 NFT 项目只是将与智能合约相关的数据存储在亚马逊 S3 等集中式服务器上。尽管比链上存储效率高得多，但该解决方案提出了一个明显的问题：如果亚马逊管理员删除了一个表，那么你的 ape 就消失了。像 Filecoin 这样的去中心化存储解决方案作为答案出现，但它们也没有被证明是灵丹妙药。尽管 Filecoin 比典型的 Web 服务器提供了更强的弹性，但它是相当静态的，不能用于存储以外的用途。需要更好的解决方案。

今天，我们很高兴地宣布，我们正在使用 Space and Time 进行构建，将 SQL 证明集成到 zkLogin 中，zkLogin 是 Sui 原语，允许使用 Google 和 Twitch 等熟悉的 Web 凭据登录到基于 Sui 构建的应用程序。 SQL 证明将允许使用 zkLogin 的应用程序开发人员在不损害用户隐私的情况下访问更强大的用户离线数据，并使 SxT 能够提供第三方解决方案来更有效、更安全地加密和存储盐。

SQL的空间和时间以及证明
-------------

空间和时间 (SxT) 是 Web3 的可验证计算层。它预装了一整套 ZK 开发工具，包括去中心化数据仓库、来自 Sui 和其他主要链的索引区块链数据、内置 Kafka 流的 API 网关、下一代 AI 前端以及证明SQL。

SQL 证明是 SxT 中嵌入的新型 ZK 证明，可确保大规模计算的防篡改，并证明查询结果未被操纵。 SQL 证明使开发人员能够对 SxT 中的链上和链下数据运行查询，使用 ZK 证明验证结果，并将其连接回 Sui 上的智能合约，以构建更多由可扩展的链下计算支持的数据驱动协议。

SQL 证明为 zkLogin 提供了什么功能
-----------------------

SQL 证明通过将服务连接到可验证的链下数据和计算，使 zkLogin 变得更加数据驱动。这种连接具有三个主要优点。

### 私人用户数据的安全且可证明的管理

Space and Time 可以保存有关用户链下活动的额外私密加密数据，并将其证明给 Sui 上的应用程序。例如，假设您正在使用 zkLogin 通过您的 Facebook 帐户访问 Sui 上的借贷协议，如果该借贷协议可以验证您的信用评分高于 700，则可以提供更好的利率。​​虽然您的分数通过 FICO 与您的 Facebook 帐户绑定，您可能会对在链上广播它感到担心。您可以在 SxT 中授权其安全存储，而不是直接传输您的信用评分，该信用评分在 SxT 中保持私密和加密状态，并且 SQL 证明向 zkLogin 证明您的信用评分高于 700，而不会泄露评分本身。借贷协议可以访问为您提供更好贷款所需的数据，而无需您的链上隐私。

### 将应用内活动与链上交易结合起来

Space and Time 为开发人员提供了一种将链下用户活动与链上交易结合起来的无缝方式。例如，以 Sui 上的一款游戏为例，玩家在达到“黄金等级”时会获得链上奖励。游戏不是将每个状态进展记录在链上（效率低下且成本高昂），而是将其记录在链下 SxT 表中。当玩家达到黄金等级时，游戏会将成就和关联的 zkLogin 会话传达给 SxT。作为回应，SxT 将状态以及证明发送到链上的智能合约，以将奖励发送到玩家的钱包中。对于目前不管理链上资产的玩家来说，游戏可以在 SxT 中以无需信任且可证明的方式持有这些奖励。当玩家决定托管时，他们可以简单地使用他们的 zkLogin 凭证，SxT 证明资产在转移前得到适当持有且未被操纵。

### 加密和存储盐

Space and Time 还可以为开发人员提供用于加密和存储盐的第三方解决方案。为了使用 Web 凭证在 Sui 上签署交易，您需要盐（一种授权访问给定帐户的令牌），该令牌不由 Web 服务管理。该令牌本质上提供了 2 因素身份验证，以确保危害您的 Web 帐户的黑客无法从您相应的 Sui 帐户进行交易。 SxT 可以生成并存储这些盐，以便使用 zkLogin 的应用程序可以在需要时轻松请求它，以及由 Proof of SQL 生成的 ZK 证明，以确认其真实性并证明其未被操纵。

更健壮的 zkLogin 原语
---------------

通过利用空间和时间去中心化数据仓库和 SQL 证明，zkLogin 发展成为一种工具，它不仅可以简化用户身份验证，还可以为应用程序开发人员提供安全且私密的链下数据和计算。该集成增强了 Sui 上的用户和开发人员体验，弥合了熟悉的身份验证模式的易用性与区块链的安全和隐私属性之间的差距。随着 zkLogin 通过集成 Space and Time 可验证计算层等基础设施不断拓展其视野，它巩固了其作为未来 Web3 采用的关键组成部分的地位。

---

*Originally published on [SpaceandtimeCN](https://paragraph.com/@spaceandtimecn/sql-zklogin)*
