Разработка системы 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: minimal ETH balance + diverse portfolio. Sybil фермеры экономят на gas и держат минимум.

DeFi participation: liquidity provision, borrowing, governance voting — реальные on-chain паттерны.

NFT ownership: верифицированные NFT коллекции, особенно требующие gas-intensive mint.

Proof of Humanity системы

Proof of Humanity (PoH): видеовидеоверификация. Пользователь снимает видео с именем и регистрируется в реестре. Другие пользователи верифицируют запись. Sybil challenge: любой может оспорить + bond.

BrightID: социальная верификация. Пользователи подтверждают знакомство в видеоконференциях. Sybil невозможен без настоящих социальных связей.

Worldcoin: биометрическая iris scan. Самый сильный сигнал уникальности, но самый invasive. Использует ZK для приватности.

Сcore 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 aggregation
    function updateActivityScore(
        address user,
        uint256 txCount,
        uint256 uniqueProtocols,
        uint256 accountAgeDays
    ) external onlyOracle {
        uint256 score = 0;
        
        // Возраст аккаунта (max 30 points)
        if (accountAgeDays > 730) score += 30;      // > 2 years
        else if (accountAgeDays > 365) score += 20; // > 1 year
        else if (accountAgeDays > 90) score += 10;  // > 3 months
        
        // Количество транзакций (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;
        // External verification = max humanity score
        scores[user].humanityScore = 100;
    }
}

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

Gitcoin Passport — агрегатор anti-sybil stamps. Пользователь собирает stamps (Google OAuth, GitHub, BrightID, ENS, PoH, on-chain activity) и получает 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 mechanics. MACI (Minimal Anti-Collusion Infrastructure) + Gitcoin Passport — стандартное решение.

ZK anti-sybil

Nullifier pattern: пользователь доказывает что имеет уникальный credential (Worldcoin iris) без раскрытия identity. 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 атаки эволюционируют, защиты должны тоже.