跳到主要内容

Mintpass

Mintpass 是一个基于 NFT 的 Bitsocial 社区身份验证系统。用户在完成挑战(例如短信 OTP)后铸造不可转让的验证 NFT,社区可以检查 NFT 所有权以防范虚假投票、禁令规避和垃圾邮件等女巫攻击。

它是如何运作的

验证流程有四个步骤:

  1. 请求 -- 用户访问mintpass.org/request 开始该过程。
  2. 挑战——用户完成短信一次性密码验证。
  3. 铸造——验证成功后,不可转让的 NFT 将被铸造到用户的钱包中。
  4. 验证——社区查询 NFT 所有权以确认用户已通过验证。

由于 NFT 不可转让,因此它与完成验证的钱包保持绑定,防止用户交易或出售其验证状态。

项目结构

该存储库分为三个主要区域:

目录目的
contracts/用于验证 NFT 的 Solidity 智能合约。
challenge/Bitsocial 挑战系统的集成层。
web/用于铸造流程的 Next.js 和 React 前端。

隐私和数据处理

Mintpass 采用最小数据方法:

  • 操作数据(OTP 代码、会话令牌)以较短的 TTL 存储在 Redis 中并自动过期。
  • 薄荷关联(经过验证的身份和钱包之间的链接)是唯一的持久记录。

验证窗口关闭后,不会保留任何电话号码或个人详细信息。

可选的安全层

社区运营商可以根据其威胁模型启用额外的保护:

  • IP 信誉检查 -- 根据已知的滥用数据库对传入请求进行评分。
  • 电话风险评估 - 在发出质询之前标记一次性或 VoIP 号码。
  • 地理封锁——将验证限制在特定区域。
  • 每 IP 冷却时间 -- 对来自同一地址的重复验证尝试进行速率限制。

技术栈

技术
合约Solidity,与 Hardhat 和 Foundry 一起部署
前端Next.js + React
网络基础(以太坊 L2)

在 Base 上部署可以保持较低的 Gas 成本,同时继承以太坊的安全保证。

路线图

计划的改进包括:

  • 付费铸币选项——允许社区收取少量铸币费用,增加了经济女巫障碍。
  • 其他验证信号 -- 从短信扩展到其他身份信号。
  • 扩展的管理工具 -- 为社区操作员提供更丰富的仪表板和控件。