התקפות Sybil הן האיום המרכזי על dApps המטפלים במענקים, הצבעות או חלוקת טוקנים. בפרויקט אחד גילינו ש-30% מהארנקים הפעילים היו בוטים שנוצרו כדי לקצור איירפד. במקום לבנות KYC מותאם אישית (שלקח 2–3 חודשים של מאמץ צוות), שילבנו את Gitcoin Passport ביומיים וחסמנו 95% מחשבונות ה-Sybil. רקורד שלנו: 5+ שנים ב-Web3, מעל 50 אינטגרציות של פתרונות זהות, ואמון של 30+ dApps.
משתמשים אוספים חותמות — אימותים מ-40+ מקורות (GitHub, Twitter, ENS, BrightID, פעילות on-chain) — והפרוטוקול מחשב ציון זהות מ-0 עד 100. ה-dApp משתמש בציון כדי להחליט: לאפשר, להגביל או לחסום. להלן קטעי קוד אמיתיים והשוואות כדי שתוכלו להעריך את המאמץ.
למה Gitcoin Passport עדיף על KYC מותאם אישית
Gitcoin Passport מהיר עד פי 20 וזול פי 10 מבניית הגנת Sybil משלכם. אימות מותאם אישית דורש 2–3 חודשים של שני מפתחים — תקציב של $30,000–$50,000. Gitcoin Passport פותר זאת ב-1–3 ימים בעלות החל מ-$2,500. בנוסף, הוא מבוזר: הנתונים נשארים אצל המשתמש, והציון מחושב off-chain או on-chain. עלויות גז חלות רק על אימות on-chain (~0.001 ETH לבדיקה).
השוואת שיטות אינטגרציה:
| שיטה | היכן מתבצעת הבדיקה | גז | מתי לבחור |
|---|---|---|---|
| Passport SDK | לקוח (דפדפן) | 0 | התחלה מהירה, דרישות מינימליות |
| On-chain (EAS) | חוזה חכם | 0.001 ETH | אטומיות, אוטונומיה |
| Scorer API | שרת | 0 | ניהול גמיש, רישום לוגים |
אילו חותמות נתמכות?
Gitcoin Passport אוסף נתונים מיותר מעשרים ספקים: GitHub (חשבון מעל 90 יום), Twitter (מאומת), ENS (דומיין מעל 30 יום), BrightID, Proof of Humanity, פעילות בפרוטוקולי DeFi ועוד. כל חותמת מוסיפה נקודות לציון. לדוגמה, GitHub — 5, ENS — 3, BrightID — 7, Dework — 2. סף הגישה ניתן להגדרה; בדרך כלל 15–20 נקודות מספיקות כדי לחסום 95% מחשבונות ה-Sybil. עזרנו לפרויקט DeFi אחד להגדיר סף של 20 נקודות — חקלאים לא יכלו לעקוף אותו, בעוד משתמשים לגיטימיים עברו ללא בעיות.
מהו ציון זהות וכיצד הוא מחושב?
הציון מחושב על ידי האגרגטור של Gitcoin באמצעות נוסחה משוקללת. ככל שמשתמש אוסף יותר אישורים ייחודיים וניתנים לאימות, כך הציון גבוה יותר. לדוגמה, חיבור BrightID — אחד מהמזהים המבוזרים האמינים ביותר — נותן 7 נקודות. דומיין ENS מעל 6 חודשים מוסיף עוד 5. אם משתמש אוסף 6 חותמות שונות, הציון מגיע ל-20+ — מספיק למענקים והצבעות. עזרנו לפרויקט להגדיר נוסחה מותאמת אישית המשלבת חותמות עם היסטוריית on-chain (מספר עסקאות, גיל ארנק).
איך אנחנו משלבים את Gitcoin Passport: סטאק מוכח
אנחנו משתמשים בגרסאות עדכניות: Solidity 0.8.x, TypeScript, React (wagmi + RainbowKit), ethers.js. להלן קוד מפרויקטים אמיתיים.
אינטגרציה דרך 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 מספקת API לניקוד ואישורים on-chain דרך EAS (Ethereum Attestation Service). האימות on-chain מנצל נתונים מוקלדים של EIP-712 ואישורי EAS, מה שמבטיח אמון קריפטוגרפי. דוגמה לחוזה חכם עם סף ציון:
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 {
}
}בקרת גישה בחוזה חכם עם Gitcoin Passport מבטיחה שרק משתמשים מאומתים יכולים ליצור אינטראקציה עם פונקציות קריטיות.
אינטגרציה בצד השרת דרך 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();האינטגרציה שלנו אידיאלית למענקי DeFi, ומאפשרת חלוקה חסינת Sybil.
איך לבחור בין SDK ל-On-chain?
Passport SDK מהיר פי 3 לפריסה — ללא כתיבת חוזה או תשלומי גז. On-chain מספק אטומיות: בדיקה ופעולה בעסקה אחת. עבור רוב אפליקציות ה-DeFi, SDK מספיק. אם אתם צריכים אימות חסין חבלה ברמת RPC או אוטונומיה משרת, השתמשו ב-on-chain.
| קריטריון | SDK | On-chain |
|---|---|---|
| זמן לפריסה | יום אחד | 2–3 ימים |
| גז | 0 | כן |
| אמינות | תלוי בלקוח | גבוהה (חוזה) |
טעויות נפוצות של מתחילים
- הגדרת סף נמוך מדי (ציון < 10) — מאפשר לבוטים לעבור.
- חוסר ב-fallback לרענון חותמות — משתמשים לא יכולים לחשב מחדש את הציון לאחר הוספת חותמות חדשות.
- התעלמות מספקים אזוריים (למשל, BrightID) — מפחית כיסוי.
תוצרים: מה העבודה שלנו כוללת
- ביקורת על ארכיטקטורת ה-dApp שלכם ובחירת שיטה.
- התקנת SDK/חוזה/API שיתאימו לסטאק שלכם.
- פיתוח ספי ציון מותאמים אישית (למשל, רמות גישה שונות).
- בדיקת עמידות ל-Sybil באמצעות fuzzing.
- תיעוד והדרכת צוות.
- חודש ייעוץ לאחר ההשקה.
דוגמה להגדרת סף מותאם אישית
אם אתם רוצים שמשתמשים עם ציון < 10 יוכלו רק לצפות במידע, ובעלי ציון >= 20 יוכלו לבצע עסקאות, הוסיפו סף שני בלוגיקת החוזה או ה-API.
שלבי העבודה
- ניתוח — לימוד מקרי שימוש של ציון זהות.
- עיצוב — בחירת שיטה, עיצוב חוזים/נקודות קצה.
- יישום — כתיבת קוד, חיבור ל-testnet.
- בדיקות — בדיקות עומס, ביקורת אבטחה.
- פריסה — פריסה ל-mainnet, הגדרת ניטור.
לוחות זמנים ועלות
אינטגרציה בסיסית — בין יום ל-3 ימים. פרויקטים מורכבים (מספר רשתות, אימות אסינכרוני) — עד שבועיים. העלות מחושבת באופן אישי ונקבעת לפני ההתחלה. דוגמה: dApp DeFi אחד חסך $12,000 בכך שבחר ב-Gitcoin Passport במקום לבנות הגנת Sybil משלו. הגנו על ה-dApp שלכם מהתקפות Sybil היום. צרו קשר להערכת פרויקט — מהנדסי ה-Web3 שלנו יכולים להתאים את Gitcoin Passport למקרה השימוש שלכם.
קבלו ייעוץ על שילוב Gitcoin Passport ב-dApp שלכם. הזמינו ביקורת ויישום — נציע את הפתרון האופטימלי.







