作者:Regina Wong,O(1) Labs 开发者关系工程师,Mina 协议贡献者

在去年举办的 Snapp 构思研讨会上,众多参与者聚集在一起讨论 Snapp 用例,而其中提出的一个构想,是通过 Snapp 来可信地证明加密交易表现。

在加密推特上,投资者经常发布截图来鼓吹自己的交易行为。然而,借助 Photoshop 和其他编辑工具,伪造交易非常的容易。利用零知识证明,交易者可以向他人证明其交易表现(通过利润率),而无需透露其私人信息,如交易的数量。

意识到证明与验证交易记录的意义,我们的团队决定为其构建一个 Snapp。

什么是 Snapp?

Snapp(“SNARK app”)是 Mina 上的零知识智能合约。

Snapp 是一种去中心化应用程序(dapp),在不透露任何具体信息的情况下使用密码学来证明知识。更具体地说,Snapp 通过运用 zk-SNARK (zero-knowledge Succinct Non-interactive Arguments of Knowledge/零知识简洁非交互式知识论证),用户可以根据自身条件保持对数据的控制。你可以在官方文档视频博文中找到有关 Snapp 的可扩展性及隐私功能的详细信息。

Snapp 有许多运用案例。用户可以在不透露社会保障号码(类似于身份证号码)的情况下验证其信用评分,或在不透露身份的情况下证明对财产的所有权。用例清单仍在持续更新,Snapp 还可以应用于 DeFi、NFT 等领域。现在,我们将从 Alpha 证明开始:在不分享交易资金量的情况下证明交易利润率。

什么是 ALPHA 证明?

Alpha 证明是我们对用来验证加密货币或股票交易利润率的 Snapp的称呼。在我们该特定的应用中,我们只关注加密货币领域。

在金融行业,财富顾问和投资者通常会分享有关其投资业绩或交易盈利能力的信息,以证明其可信度或分享其相关成就。随着社交媒体上投资影响者的涌入,如今由个人分享的交易经济账户截图变得尤为普遍,例如以下示例:

在 Binance 上显示交易利润的两种方式 [来源 12]

然而,在线分享交易历史是有风险的。 公开分享交易的投资者可能会透露他们拥有的资产数量以及他们的资产账户地址。这会使该交易的所有者成为恶意攻击的目标。

某个展示交易历史的推文示例

分享交易历史也会让公众面临风险。由于数字图像是可伪造的,且难以验证,因此很容易就可以伪造虚假的过往交易信息。这有可能会对公众产生误导,使公众面临做出错误财务决策的风险。

我们为什么要开发 ALPHA 证明?

许多关于 Snapp 的想法将极大地利用 Mina 的可扩展性和隐私保护性。这里,我们的 Alpha Snapp 为加密货币社区提供了一种展示财务收益历史的新方式,而无需透露所涉及的确切金额。它为使用社交媒体的用户提供了隐私保护及其收益的合法性。

虽然此 Alpha Snapp 的目标用户将主要是出于娱乐或内容目的的加密货币投资者,但它展示了 Snapp 能够在不泄露相关敏感信息(如拥有的资金数量)的情况下进行证明的能力。

它是如何工作的Alpha Snapp 让任何人都可以证明与验证从交易所获得的交易利润率。 此初始版本 Snapp 将证明在 Binance 上进行的交易的交易利润率。以下是此 Snapp 的工作原理:

第 1 步 – 输入你在 Binance 账户资料中找到的 API 密钥,以从交易所提取你的交易历史记录。 此 Snapp 使用只读函数,只具备拉取交易历史所需的最低权限。换言之,Binance 只会与 Snapp 共享交易数据。Snapp 无法访问你的个人信息、进行交易或对你的账户进行任何其他操作。

With snapps, developers can leverage private, verified, real-world data from any website to build decentralized apps.

借助 Snapp,开发者可以利用来自任何网站的私有、已验证的真实世界数据,以构建去中心化应用

第 2 步 – 选择你的交易对(例如 BTC-USDT)和日期范围。使用 API 密钥,Snapp 将提取你的交易历史,并为你的累积利润率生成证明。随后它将向 Mina 区块链发送包含证明的 Snapp 交易。

Alpha 证明 Snapp 的界面预览

第 3 步 – 将包含证明的 Snapp 交易发送到 Mina 网络后,Mina 网络将验证该证明。如果证明有效,则交易将被 Mina 网络接受并上链。

在这种情况下,Snapp 会生成一条推文,用户可以在社交媒体上分享该推文。推文包含一张图片,显示你已验证的交易利润率,而不会透露任何如交易金额的敏感信息。

Alpha 证明 Snapp 生成的图像

第 4 步 – 任何关注者都可以通过点击推文中的链接来验证你的发文内容。该链接跳转到提供相关交易的详细信息的 Snapp 页面,以及在 Mina Explorer 上查看 Snapp 交易的链接。关注者可以查询到交易状态为被接受还是被拒绝。如果交易被接受,则意味着你的交易利润率声明是真实的。

这是该 Snapp 界面的预览。关注者可以通过检查包含该交易证明的 Snapp 交易是否被 Mina 网络接受,来验证你的交易利润率。

未来影响

构建此 Snapp 的初衷是,希望构建一个任何人都可以体验零知识证明强大功能的应用。

一个验证交易利润率的 Snapp 可以帮助加密经济影响者获得令人尊敬的信誉。最终,我们希望 Mina 能够赋予每个人验证和证明的能力,而不会泄露相关的敏感信息,例如健康记录、个人身份记录、投票记录等。

下一步

我们现有一个 Alpha 证明应用的内部版本,并正在努力将其作为 Snapp 参考发布到开发者社区。除了这个特定的 Snapp 以外,我们正在努力实现从最近的 Snapp 训练营中学到的东西,以通过更完善的文档来改善整体开发者的体验,并优化 SnarkyJS,用于编写 Snapp 的 TypeScript 库。

感兴趣的 dapp 开发着可以通过此处的研讨会记录学习如何构建、编写和部署 snapp,如本文介绍的 Alpha Snapp。

你还可以在此处了解有关 Snapps 的更多信息并关注开发者文档。

订阅 Mina Protocol newsletter,以便我们与你分享 Snapp 的最新动态。

感兴趣的 dapp 开发着可以通过此处的研讨会记录学习如何构建、编写和部署 snapp,如本文介绍的 Alpha Snapp。