Mintpass
Mintpass — це система автентифікації на основі NFT для спільнот Bitsocial. Користувачі карбують NFT, що не підлягає передачі, після завершення виклику (наприклад, SMS OTP), а спільноти можуть перевірити право власності на NFT, щоб захиститися від атак Sybil, таких як фальшиві голоси, ухилення від заборони та спам.
- GitHub: bitsocialnet/mintpass
- Ліцензія: MIT
Як це працює
Процедура перевірки складається з чотирьох етапів:
- Запит -- користувач відвідує
mintpass.org/request, щоб почати процес. - Завдання – користувач виконує одноразову SMS-підтвердження пароля.
- Монетний двір – після успішної перевірки NFT, що не підлягає передачі, карбується в гаманець користувача.
- Перевірити – Спільноти запитують право власності на NFT, щоб підтвердити перевірку користувача.
Оскільки NFT не підлягає передачі, він залишається прив’язаним до гаманця, який пройшов перевірку, не дозволяючи користувачам торгувати або продавати свій підтверджений статус.
Структура проекту
Репозиторій організований у три основні зони:
| Довідник | Призначення |
|---|---|
contracts/ | Смарт-контракти Solidity для перевірки NFT. |
challenge/ | Рівень інтеграції для системи викликів Bitsocial. |
web/ | Next.js і інтерфейс React для потоку карбування. |
Конфіденційність і обробка даних
Mintpass використовує підхід з мінімальними даними:
- Операційні дані (OTP-коди, токени сесії) зберігаються в Redis з короткими TTL і автоматично закінчуються.
- Зв’язок монетного двору (зв’язок між підтвердженою особою та гаманцем) є єдиним постійним записом.
Після закриття вікна перевірки номери телефонів чи особисті дані не зберігаються.
Додаткові рівні безпеки
Оператори спільноти можуть увімкнути додатковий захист залежно від своєї моделі загрози:
- Перевірка репутації IP-адреси — порівняйте вхідні запити з відомими базами даних про порушення.
- Оцінка телефонного ризику – позначайте одноразові номери або номери VoIP перед тим, як надсилати виклик.
- Геоблокування -- обмежте перевірку певними регіонами.
- Перезавантаження для кожної IP-адреси – обмеження частоти повторних спроб перевірки з однієї адреси.
Технологічний стек
| Шар | Технологія |
|---|---|
| Договори | Solidity, розгорнуте з Hardhat і Foundry |
| Інтерфейс | Next.js + React |
| Мережа | База (Ethereum L2) |
Розгортання на базі зберігає низькі витрати на газ, успадковуючи гарантії безпеки Ethereum.
Дорожня карта
Заплановані вдосконалення включають:
- Варіант оплати за карбування – дозвольте спільнотам вимагати невелику плату за карбування, додаючи економічний бар’єр сивіли.
- Додаткові сигнали підтвердження – розширте за межі SMS до інших сигналів ідентифікації.
- Розширені інструменти адміністратора – розширені інформаційні панелі та елементи керування для операторів спільноти.