Розробка системи anti-sybil перевірки

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка системи anti-sybil перевірки
Складний
~5 днів
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1288
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1122
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    859

Розробка системи anti-sybil верифікації

Sybil атака — створення множини fake identity для отримання несправедливої переваги. У DeFi: одна людина створює 1000 адрес та отримує airdrop 1000 раз. У DAO: накопичення voting power через множину кошельків. Anti-sybil система намагається відокремити унікальних реальних людей від ботів та fake accounts.

Чому це складно

Блокчейн адреса — просто пара ключів. Створити 10000 адрес — питання хвилин. Нема вбудованого механізму зв'язку адреси з реальною людиною. При цьому не можна вимагати повну ідентифікацію — це протирічить privacy та accessibility.

Баланс: достатня защита від sybil з мінімальним friction для чесних користувачів.

Сигнали anti-sybil

On-chain сигнали (не вимагають KYC)

Transaction history: акаунт з >2 років історії, >100 транзакцій, взаємодія з >10 протоколами — висока ймовірність реальної людини. Новий адрес з 3 транзакціями — сумнівно.

Asset holdings: мінімальний ETH баланс + різноманітний портфель. Sybil фермери економлять на газу та тримають мінімум.

DeFi участь: забезпечення ліквідності, запозичення, governance голосування — реальні on-chain паттерни.

NFT власність: перевірені NFT колекції, особливо ті що вимагають gas-intensive mint.

Proof of Humanity системи

Proof of Humanity (PoH): видеоверифікація. Користувач записує відео з ім'ям та реєструється в реєстрі. Інші користувачи перевіряють запис. Sybil challenge: будь-хто може оспорити + bond.

BrightID: соціальна верифікація. Користувачі підтверджують знайомство у відеоконференціях. Sybil неможливий без реальних соціальних зв'язків.

Worldcoin: біометричне сканування iris. Найсильніший сигнал унікальності, але найбільш invasive. Використовує ZK для приватності.

Основний Anti-sybil контракт

contract AntiSybilSystem {
    // Різні сигнали з вагами
    struct SybilScore {
        uint256 humanityScore;  // 0-100
        bool isVerified;
        uint256 lastUpdated;
        bytes32[] passedChecks;
    }
    
    mapping(address => SybilScore) public scores;
    
    // Chainlink-based on-chain activity агрегація
    function updateActivityScore(
        address user,
        uint256 txCount,
        uint256 uniqueProtocols,
        uint256 accountAgeDays
    ) external onlyOracle {
        uint256 score = 0;
        
        // Вік акаунту (max 30 points)
        if (accountAgeDays > 730) score += 30;      // > 2 років
        else if (accountAgeDays > 365) score += 20; // > 1 року
        else if (accountAgeDays > 90) score += 10;  // > 3 місяців
        
        // Кількість транзакцій (max 30 points)
        if (txCount > 500) score += 30;
        else if (txCount > 100) score += 20;
        else if (txCount > 20) score += 10;
        
        // Різноманітність протоколів (max 40 points)
        if (uniqueProtocols > 20) score += 40;
        else if (uniqueProtocols > 10) score += 25;
        else if (uniqueProtocols > 5) score += 15;
        
        scores[user].humanityScore = score;
        scores[user].lastUpdated = block.timestamp;
    }
    
    // Перевірити зовнішні верифікації (PoH, BrightID, Worldcoin)
    function registerExternalVerification(
        address user,
        bytes32 verificationType,
        bytes calldata proof
    ) external onlyVerifier {
        require(_verifyProof(verificationType, proof, user), "Invalid proof");
        scores[user].passedChecks.push(verificationType);
        scores[user].isVerified = true;
        // Зовнішня верифікація = макс humanity score
        scores[user].humanityScore = 100;
    }
}

Gitcoin Passport інтеграція

Gitcoin Passport — агрегатор anti-sybil stamps. Користувач збирає stamps (Google OAuth, GitHub, BrightID, ENS, PoH, on-chain активність) та отримує composite score.

interface IGitcoinPassport {
    function getScore(address user) external view returns (uint256);
    function hasStamp(address user, bytes32 stampType) external view returns (bool);
    function isAboveThreshold(address user, uint256 threshold) external view returns (bool);
}

contract GatedFeature {
    IGitcoinPassport passport = IGitcoinPassport(PASSPORT_ADDRESS);
    
    modifier onlyHumans() {
        require(
            passport.isAboveThreshold(msg.sender, 20),  // score >= 20
            "Insufficient humanity score"
        );
        _;
    }
}

Quadratic Funding та anti-sybil

Gitcoin Grants використовує quadratic funding: сума грантів пропорційна квадрату кількості донорів, не сумі. Це робить sybil особливо прибутковим (1 людина з 1000 адрес = sqrt(1000) разів більший matching).

Anti-sybil критичний для quadratic механіки. MACI (Minimal Anti-Collusion Infrastructure) + Gitcoin Passport — стандартне рішення.

ZK anti-sybil

Nullifier pattern: користувач доводить що має унікальний credential (Worldcoin iris) без розкриття ідентичності. Nullifier — унікальне значення, похідне від credential. Повторна реєстрація з тим же credential → той же nullifier → виявлення дубля.

ZK Proof:
  Input (private): iris_scan_hash, secret
  Input (public): world_tree_root, nullifier_hash
  
  Proves: iris_scan_hash is in world_tree_root
  Nullifier = hash(iris_scan_hash, secret)
  
  // Не можна зареєструватися двічі — nullifier розкриває факт

Розробка production anti-sybil системи — 6-12 тижнів. Це ongoing робота: sybil атаки еволюціонують, захисти повинні теж.