ZKP2P--以安全、私密且用户友好的方式弥合Web2与Web3之间的差距

ZKP2P的使命是以安全、私密且用户友好的方式弥合传统 Web2 平台与去中心化 Web3 平台之间的差距。ZKP2P最初的重点是创建最便宜、最快、欺诈率最低且最可组合的法币到加密货币的on/off ramp。

官网:https://zkp2p.xyz/ 文档:https://docs.zkp2p.xyz/ Blog-ZKP2P V2介绍(2025年2月3日发布):https://mirror.xyz/0x2374a24E7424E322D48063BE799b7ac343FbBa20/MR3U9RsYCVXF5onj1uVmY0PwFbLbAaLMkcZf2zXvpig 推特:https://x.com/zkp2p

背景问题

Alice 是一位对 Web3 世界充满好奇的用户,她听说了 DeFi、NFT、链上游戏和去中心化社交的种种可能性,迫不及待地想要参与其中。然而,当她真正尝试进入这个新世界时,却发现无法直接用美元购买那些她感兴趣的加密货币资产。Alice 意识到,她急需一种简单、快速且低成本的方式来实现法定货币与加密资产之间的无缝转换,才能真正踏入 Web3 的世界。

法定货币与加密货币之间的流动阻碍

事实上,Alice 的困境并非个例,而是反映了当前加密货币生态中一个普遍存在的结构性挑战:法定货币与加密货币之间的流动存在诸多显著阻碍。

  1. 全球可用性有限:例如,Coinbase 并非在每个司法管辖区都可以访问。例如,Coinbase ACH 仅适用于美国客户。这里是 Binance 支持和不支持 USD 服务(ACH付款)的列表。
  2. 费用高昂:一些直接入口收费高达 5%,增加了用户的成本。
  3. 繁琐的 KYC 流程:复杂的身份验证步骤让用户体验大打折扣。
  4. 速度慢:例如,Coinbase 的 ACH 转账需要 3-5 个工作日才能清算。虽然用户的存款会立即记入自己的账户,但无法立即提取这些资金,直到 Coinbase 收到存款为止。Binance 的 ACH 存款需要7天才可以提现。
  5. 缺乏可组合性:用户无法直接使用美元购买长尾资产,限制了参与机会。

这些障碍不仅阻碍了像 Alice 这样的普通用户进入 Web3 世界,也限制了加密货币生态的进一步扩展。解决这些问题,实现更流畅的法定货币与加密货币之间的流动,已成为推动行业发展的关键。

ACH 的运作机制及其局限性

针对上述阻碍之一 —— “速度慢”,以下将详细探讨 ACH 的运作机制及其在加密货币应用场景中的局限性。

ACH(Automated Clearing House,自动清算所) 是一种广泛使用的电子支付系统,主要用于处理银行之间的资金转账。具有手续费很低(甚至免费)、速度较慢(通常需要几天的时间,适合不急需资金的用户) 的特点。具体地,以 Binance ACH 为例:

  1. 用户在 Binance 上选择 ACH 存款方式,并输入银行账户信息。
  2. Binance 会预先将存款金额存入用户的账户。用户可以在平台上使用这些资金进行交易,但在发起 ACH 存款后 7 天内,用户无法提取该存款的等值美元(包括等值的加密货币)。
  3. Binance 在 7 个工作日内会与用户预留的银行进行结算,清算完成后,用户才可以提现。

    解决方案

    为了实现法定货币和加密货币之间的无缝和无需许可的流动,ZKP2P正在采取一系列创新行动。

ZKP2P 是一个去中心化的法币与加密货币兑换协议(on/offramp protocol)。它允许用户通过常见的支付平台兑换加密货币,目前是 V2 版本

核心功能

  • 去中心化的法币与加密货币兑换(On/Offramp):Onramp,即将法币(如美元)兑换为加密货币;Offramp,即将加密货币兑换为法币。
  • 支持的加密货币:ETH(以太坊)、USDC(稳定币)、Solana(SOL)、meme 币(如 Dogecoin、Shiba Inu 等)等23种加密货币。
  • 支持的链:Solana、Base、Ethereum、Polygon、Sonic。
  • 支持的支付平台:Venmo、Cashapp、Wise、Revolut 等。

    主要特点

  • 无手续费(No Fees):用户在使用 ZKP2P 进行兑换时,无需支付额外手续费。
  • 无需身份验证(No Intrusive Identity Verification):用户无需提供敏感的个人信息(如身份证、地址证明等),保护隐私。没有中心化交易所中的侵入性身份验证(intrusive identity verification)。
  • 近乎即时到账(Near-Instant Settlement):交易结算速度极快,几乎可以即时完成,无需等待传统银行系统的清算时间。ZKP2P 使用加密转移证明,允许买家验证他们是否已将正确的价值转移给卖家。买家可在 60 秒内立即收到加密货币,结算由完全非托管的智能合约促成。

    业务流程

    场景:卖家想要卖掉自己的USDC,买家想要买500USDC。

    1. 卖家:卖家想要将USDC兑换成发币,向Ramp Contract中存入1000USDC。

image.png

  1. 买家:买家想要用发币购买USDC,发送一个意图“想要买500USDC”到Ramp Contract。

image.png

  1. 买家向卖家支付500美元:买家和卖家都有各自的Venmo账号,买家通过Venmo将500美元发送到卖家的账号。Venmo服务器发送一个Email “You paid 500U …”给买家。

image.png

  1. 卖家向买家发送500USDC:买家将刚才收到的Email发送给ZK Prover,生成相应的zk-proof。买家向Ramp Contract提交zk-proof。zk-proof验证通过后,Ramp Contract会将卖家锁定在该合约中的USDC释放500USDC,并发送给买家。

image.png

zk-proof的生成和验证

  1. 链下--证明生成

    • 买家收到Venmo邮件
    • 使用ZK电路生成证明(a,b,c)
    • 准备公开输入signals
  2. 链上--证明二重验证

    • require (this.verifyproof(_proof.a, _proof.b, _proof.c, _proof.signals ), “Invalid Proof”);
    • require (isMailServerKeyHash (bytes32(_proof.signals[0])), “Invalid mailServer Key Hash” );

为什么要进行二重验证?这是因为要避免一种情况:zk-proof是假的(a,b,c),公开输入也是假的signals,他们联合起来就有可能通过第一个“require”,所以需要第二个“require”再验证一下公开输入signals是否是真实的。

以上业务流程是通过ZK Email技术提供支持的。通过HTTPS之类的协议只能保证通信的真实,而ZK Email,可以通过Email的方式来保证内容的真实。

ZK Email vs. ZKTLS

ZK Email–不丝滑的用户体验:

基于以上业务流程,用户的交易过程如下:用户需要找到Venmo发给他的邮件,下载下来,再将该邮件发送给Prover来生成zk-proof,最后再由用户将该证明发送给Ramp Contract。这一流程都得由用户主动去进行相应的操作

基于ZKTLS实现丝滑的用户体验:

为了使用户的使用流程无缝丝滑,通过ZKTLS提供技术支持。

TLS(传输层安全性)是 HTTPS 的核心组件,在 OSI 协议模型中比 HTTPS 深一层。TLS 通过加密、身份验证和完整性保护来确保传输过程中数据的机密性和完整性,防止数据被窃取或篡改。

这里使用的钱包不再是Venmo,而是Revolut。这里需要在Revolut上安装一个ZKP2P插件。 如果没有该插件,用户直接与Revolut钱包进行通信,有了该插件后,用户和Revolut钱包都与该插件进行通信,由该插件将用户想要进行的操作提交给Revolut,相反,Revolut想要返回给用户的信息也经由Revolut进行转交。所以,该插件在用户和Revolut之间捕获关键信息,比如发送支付、生成ZK证明等。

有了基于ZKTLS的ZKP2P插件,用户的交互过程被简化为:用户登录Revolut账户,交易(买家支付给卖家相应的发币)后,该插件自动为该交易生成zk-proof,用户直接提交zk-proof给Ramp Contract。

基于ZKTLS的用户交互流程

  1. 账户注册 用户--注册Revolut账号--生成TLS证明--验证身份--注册到系统
  2. 意图声明 用户(卖家)--声明交易意图--系统生成存款ID
  3. 执行支付 用户(买家)--通过Revolut发送支付--生成支付证明--提交证明 买家通过Revolut发送指定金额给卖家,Revolut中的ZKP2P插件会自动生成支付完成的TLS证明。该证明被提交至Ramp Contract进行验证。
  4. 完成交易 Ramp Contract--验证支付证明--释放对应的USDC–将对应的USDC转移至买家账号

    ZKP2P代码讲解

    https://github.com/Einstellung/Dapp-Learning/tree/main/basic/82-zkP2P

    ZK Email 扩展

    https://prove.email/

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
在web3摘不拿拿
在web3摘不拿拿
我是一个 Web3 技术“摘蕉人”!在登链社区这片“热带雨林”里到处探索,寻找那些独特的“香蕉”——创新的项目、令人兴奋的技术。我会时不时写点文章分享我的“摘焦”心得,期待和大家一起讨论、交流和成长。