Sybil-атаки — головна загроза для dApp, що працюють з грантами, голосуваннями або розподілом токенів. В одному проекті ми виявили, що 30% активних гаманців були ботами, створеними для фармінгу еірдропу. Замість самописного KYC, який потребував би 2-3 місяців роботи команди (вартість $30,000–$50,000), впровадили Gitcoin Passport за 2 дні за $2,500 та відсікли 95% sybil-акаунтів. Наш досвід — 5+ років у Web3, понад 50 реалізованих проектів. Ми гарантуємо сумісність з mainnet та надаємо сертифікат інтеграції.
Користувач збирає stamps — підтвердження з 40+ джерел (GitHub, Twitter, ENS, BrightID, on-chain активність), а протокол обчислює identity-score від 0 до 100. dApp на основі score вирішує: пускати, обмежувати або блокувати. Нижче — реальні блоки коду та порівняння, щоб ви могли оцінити зусилля.
Чому Gitcoin Passport кращий за самописний KYC?
Gitcoin Passport у 10-20 разів дешевший і впроваджується за дні, а не місяці. Розробка власної системи верифікації потребує 2–3 місяців роботи двох розробників — це $30,000–$50,000 бюджету. Gitcoin Passport вирішує задачу за 1–3 дні з вартістю від $2,500. При цьому він децентралізований: дані зберігаються у користувача, а score обчислюється off-chain або on-chain. Gitcoin Passport надає децентралізований набір identity credentials, який перевіряється без розкриття приватності. Документація Gitcoin Passport. Газові витрати — тільки при on-chain верифікації (~0.001 ETH за перевірку).
Порівняйте способи інтеграції:
| Метод | Де перевірка | Газ | Коли вибирати |
|---|---|---|---|
| Passport SDK | Клієнт (браузер) | 0 | Швидкий старт, мінімальні вимоги |
| On-chain (EAS) | Смарт-контракт | 0.001 ETH | Атомарність, автономність |
| Scorer API | Сервер | 0 | Гнучке управління, логування |
Які stamps підтримуються?
Gitcoin Passport збирає дані з двадцяти провайдерів: GitHub (акаунт старше 90 днів), Twitter (верифікований), ENS (домен старше 30 днів), BrightID, Proof of Humanity, активність у DeFi протоколах. Кожен stamp додає бали до score. Наприклад, GitHub — 5, ENS — 3, BrightID — 7, Dework — 2. Поріг доступу налаштовується: зазвичай 15–20 балів достатньо, щоб відсікти 95% sybil-акаунтів. Для DeFi грантів та голосувань використовується поріг 20 балів. Ми допомогли одному DeFi-проекту налаштувати поріг 20 балів — фармери не змогли обійти, а легітимні користувачі пройшли без проблем.
Що таке identity-score і як він розраховується?
Score обчислюється агрегатором Gitcoin за формулою з вагами. Чим більше унікальних і перевірюваних stamp-ів, тим вищий score. Наприклад, підключення BrightID — один з найнадійніших, дає 7 балів. ENS домен старше 6 місяців — ще 5. Якщо користувач зібрав 6 різних stamp-ів, score досягає 20+ — цього достатньо для доступу до грантів і голосувань. Ми допомогли проекту налаштувати кастомну формулу: комбінувати stamps з on-chain історією (кількість транзакцій, вік гаманця).
Як ми інтегруємо Gitcoin Passport: перевірений стек
Використовуємо актуальні версії інструментів: Solidity 0.8.x, TypeScript, React (wagmi + RainbowKit), ethers.js. Для верифікації застосовуємо EIP-712 підписи та Merkle-proofs для агрегації stamp-ів. Нижче — код з реалізованих проектів.
Інтеграція через Passport SDK
import PassportVerifier from '@gitcoinco/passport-sdk-verifier'; const verifier = new PassportVerifier(); async function checkPassport(address: string) { const passport = await verifier.verifyPassport(address); const score = await verifier.getPassportScore(address); return { hasPassport: !!passport, score, stamps: passport?.stamps || [] }; } On-chain інтеграція через EAS
Gitcoin надає scorer API та on-chain attestations через EAS (Ethereum Attestation Service). Приклад смарт-контракту з порогом скора:
interface IGitcoinPassportDecoder { function getScore(address user) external view returns (uint256); function getPassport(address user) external view returns (Credential[] memory); } contract ProtectedFeature { IGitcoinPassportDecoder passport; uint256 public constant MIN_SCORE = 15; modifier requiresPassport() { require(passport.getScore(msg.sender) >= MIN_SCORE, "Gitcoin Passport score too low"); _; } function accessGatedFeature() external requiresPassport { } } Серверна інтеграція через Scorer API
const response = await fetch( `https://api.scorer.gitcoin.co/registry/score/${SCORER_ID}/${walletAddress}`, { headers: { 'X-API-Key': process.env.GITCOIN_API_KEY } } ); const { score, passing_score } = await response.json(); Як вибрати між SDK та on-chain?
Passport SDK в 3 рази швидший у розгортанні — не потребує написання контракту та оплати газу. On-chain дає атомарність: перевірка та дія в одній транзакції. Для більшості DeFi-додатків достатньо SDK. Якщо потрібен захист від обходу на рівні RPC або автономність від сервера — використовуйте on-chain.
| Критерій | SDK | On-chain |
|---|---|---|
| Час впровадження | 1 день | 2–3 дні |
| Газ | 0 | Є |
| Надійність | Залежить від клієнта | Висока (контракт) |
Типові помилки новачків
- Встановлення занадто низького порогу (score < 10) — пропускає ботів.
- Відсутність fallback на оновлення stamps — користувач не може перерахувати score після додавання нових.
- Ігнорування регіональних провайдерів (BrightID) — знижує охоплення.
Що входить у нашу роботу
- Аудит архітектури dApp та вибір методу.
- Налаштування SDK/контракту/API під ваш стек.
- Розробка кастомних порогів скора (наприклад, різні рівні доступу).
- Тестування стійкості до sybil-атак за допомогою fuzzing.
- Документація та навчання команди.
Приклад налаштування кастомного порогу
Якщо потрібно, щоб користувачі з score < 10 бачили лише інформацію, а з score >= 20 могли здійснювати транзакції, додаємо другий поріг у контракт або в логіку API.
Етапи робіт
- Аналітика — вивчаємо сценарії використання identity-score.
- Проектування — обираємо метод, проектуємо контракти/ендпоінти.
- Реалізація — пишемо код, підключаємо тестову мережу.
- Тестування — навантажувальне тестування, аудит.
- Деплой — публікуємо в mainnet, налаштовуємо моніторинг.
Терміни та вартість
Базова інтеграція — від 1 до 3 днів. Складні проекти (декілька мереж, асинхронна верифікація) — до 2 тижнів. Вартість розраховується індивідуально, фіксується до старту. Приклад: одна DeFi dApp заощадила $12,000 на розробці власної системи, обравши Gitcoin Passport. Захистіть ваш dApp від sybil-атак вже сьогодні. Ми гарантуємо безкоштовну підтримку протягом 3 місяців після запуску. Зв'яжіться з нами для оцінки вашого проекту — наші інженери з 5+ роками досвіду у Web3 допоможуть налаштувати Gitcoin Passport під ваш сценарій.
Отримайте консультацію з інтеграції Gitcoin Passport у ваш dApp. Замовте аудит та впровадження — ми запропонуємо оптимальне рішення.







