כלל הנסיעות של FATF עבור VASPs: Notabene וארנקים לא מאוחסנים

כאשר ה-VASP שלכם מתחיל לקבל העברות משותפים אירופאים, ללא עמידה ב-Travel Rule הן פשוט נדחות—ואתם זקוקים בדחיפות להטמעת העברת נתוני שולח. אנו מקימים FATF Travel Rule במתכונת turnkey: משלבים את Notabene, בונים מדיניות עבור unhosted wallets, ופותרים את סוגיית ה-Sunrise Issue. הצוות שלנו מטפל בכל המחזור—מביקורת ועד תמיכה שוטפת—כדי שתוכלו לעבוד מול גורמים זרים ללא הפרעות.

שירותי פיתוח בלוקצ'יין

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1481
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1335
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1034
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1293
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    738
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1031

הגדרת FATF Travel Rule עבור VASP: Notabene וארנקים לא מאוחסנים

הערה: כאשר ה-VASP שלך מתחיל לקבל העברות משותפים אירופאים, תגלה במהירות שבלי עמידה ב-Travel Rule הם פשוט דוחים את ההעברות. אתה נאלץ ליישם בדחיפות העברת נתוני יוזם—הדרישה הטכנית המאתגרת ביותר של חבילת FATF R15-16. אין פרוטוקול יחיד, יש כמה פתרונות מתחרים, ובעיית ה-Sunrise: VASP אחד עומד בדרישות, אחר לא. לצוות שלנו יש ניסיון מוכח של למעלה מעשור בפיתוח בלוקצ'יין—מוסמך בביקורת אבטחה ועמידה ברגולציה—ועזר לעשרות בורסות לנווט בנתיב הזה. במאמר זה נפרק את כל הניואנסים הטכניים: מזיהוי VASP ועד למדיניות ארנקים לא מאוחסנים.

בעיות טכניות שנפתרות על ידי ה-Travel Rule

בעיה 1: זיהוי VASP לפי כתובת. עליך לקבוע אם כתובת היעד שייכת ל-VASP אחר (ארנק מאוחסן) או לארנק לא מאוחסן. זה נפתר באמצעות מאגרי נתונים של ספקים (Notabene, Chainalysis) וקיבוץ כתובות. בעיה 2: העברת PII בערוצים מאובטחים. דורש תשתית להחלפת נתונים אישיים עם תמיכה בהצפנה ואימות.

בעיה 3: טיפול בארנקים לא מאוחסנים. עבור העברות לארנקים אישיים, רגולטורים רבים דורשים הוכחת בעלות (לדוגמה, חתימת הודעות EIP-191). זה מוסיף שלב לזרימת המשתמש.

בעיה 4: בעיית ה-Sunrise. אם ה-VASP המקבל אינו תומך ב-Travel Rule, עליך לבחור אסטרטגיה: חסימת ההעברה (עמידה בדרישות אך חוויית משתמש ירודה) או שימוש ב-best efforts עם רישום. למעלה מ-90% מהלקוחות שלנו מאמצים best efforts כצעד זמני, המקובל על רוב הרגולטורים.

מה כלול בהגדרת ה-Travel Rule

החבילה המקיפה שלנו כוללת:

  • בחירת ספק הודעות Travel Rule (ניתוח כיסוי ו-API)
  • אינטגרציית SDK (Notabene, Sygna, או חלופות)
  • זיהוי VASP לפי כתובת (Notabene + Chainalysis)
  • פיתוח מדיניות ארנקים לא מאוחסנים (אימות בעלות)
  • יישום אסטרטגיית בעיית ה-Sunrise (best efforts עם ניסיונות חוזרים)
  • השקת לוח מחוונים לעמידה ברגולציה (React) עם ניטור בזמן אמת
  • אחסון רשומות מוצפן (PostgreSQL עם AES-256)
  • תיעוד מלא: דיאגרמות ארכיטקטורה, הפניות API, מדריך תפעול
  • העברת גישה מאובטחת והדרכות לצוות שלך
  • 30 ימי תמיכה לאחר ההשקה וערבות SLA

לאחר היישום תקבל עמידה בדרישות הרגולטוריות ומסלול ביקורת מוכן—תוך חיסכון של עד חודשיים במאמץ פיתוח פנימי.

אינטגרציה של Notabene עם הפלטפורמה שלך

Notabene היא המובילה בשוק עם למעלה מ-500 משתתפי VASP. היא משתמשת ב-SSI (Self-Sovereign Identity) וב-API בסגנון RESTful, מה שמפשט את האינטגרציה. זמן האינטגרציה הממוצע נמוך ב-40% מאשר עם Sygna, כפי שאושר בניסיון שלנו—בדרך כלל 3–5 שבועות מהתחלה ועד ייצור.

import { Notabene } from "@notabene/javascript-sdk";
const notabene = new Notabene({
  audience: "https://api.notabene.id",
  clientId: NOTABENE_CLIENT_ID,
  clientSecret: NOTABENE_CLIENT_SECRET,
  vaspDID: MY_VASP_DID,
});

// Создание исходящего Travel Rule transfer
async function createTravelRuleTransfer(withdrawal: Withdrawal): Promise<string> {
  const transfer = await notabene.transfers.create({
    transactionAsset: withdrawal.asset,
    transactionAmount: withdrawal.amount.toString(),
    originatorVASPdid: MY_VASP_DID,
    beneficiaryVASPdid: await identifyBeneficiaryVASP(withdrawal.destinationAddress),
    originator: {
      originatorPersons: [
        {
          naturalPerson: {
            name: [
              {
                nameIdentifier: [
                  {
                    primaryIdentifier: withdrawal.userLastName,
                    secondaryIdentifier: withdrawal.userFirstName,
                  },
                ],
              },
            ],
          },
          geographicAddress: [
            {
              streetName: withdrawal.userAddress,
            },
          ],
          nationalIdentification: {
            nationalIdentifier: withdrawal.userIdNumber,
          },
        },
      ],
      accountNumber: [MY_VASP_ADDRESS_MAPPING[withdrawal.userId]],
    },
    beneficiary: {
      beneficiaryPersons: [
        {
          naturalPerson: {
            name: [],
          },
        },
      ],
      accountNumber: [withdrawal.destinationAddress],
    },
    transactionBlockchainInfo: {
      origin: withdrawal.fromAddress,
      destination: withdrawal.destinationAddress,
    },
  });
  return transfer.id;
}

למה Notabene היא הבחירה האופטימלית?

Notabene נפרסת פי 3 מהר יותר מאשר Sygna בזכות SDK ותיעוד בוגרים. לסטארטאפים אנו ממליצים להתחיל עם Notabene, לבנקים גדולים—TRP (אינטגרציה עם SWIFT). צור קשר—אנו נבחר את הפתרון האופטימלי עבור תחום השיפוט שלך.

קביעת VASP לעומת ארנק לא מאוחסן

משימה מרכזית: לקבוע אם כתובת היעד שייכת ל-VASP אחר (ארנק מאוחסן) או שהיא ארנק לא מאוחסן.

async function identifyBeneficiaryVASP(address: string): Promise<string | null> {
  // 1. Notabene VASP lookup (база данных VASP адресов)
  const vaspLookup = await notabene.addresses.lookup({ address });
  if (vaspLookup.vasp) return vaspLookup.vasp.did;

  // 2. Chainalysis VASP attribution
  const chainalysisCluster = await chainalysis.getCluster(address);
  if (chainalysisCluster?.type === "exchange" || chainalysisCluster?.type === "custodial") {
    return await lookupVASPByCluster(chainalysisCluster.name);
  }

  // 3. Если не определили — unhosted wallet
  return null;
}

מדיניות ארנקים לא מאוחסנים

FATF מאפשרת גישה מקלה להעברות לארנקים לא מאוחסנים (ארנקים אישיים של משתמשים). אך רגולטורים רבים (האיחוד האירופי, שווייץ) דורשים אמצעים נוספים:

async function handleUnhostedWalletWithdrawal(
  userId: string,
  destinationAddress: string,
  amount: number
): Promise<void> {
  const usdAmount = await convertToUSD(amount);
  if (usdAmount >= UNHOSTED_WALLET_VERIFICATION_THRESHOLD) {
    // Требуем proof of wallet ownership
    const ownershipProof = await requestWalletOwnershipProof(userId, destinationAddress);
    if (!ownershipProof.verified) {
      throw new Error("Wallet ownership verification failed");
    }
    // Записываем в travel rule файл (без отправки — нет receiving VASP)
    await db.recordUnhostedWalletTransfer({
      userId,
      address: destinationAddress,
      amount,
      ownershipProofMethod: ownershipProof.method,
      verifiedAt: new Date(),
    });
  }
  await executeWithdrawal(userId, destinationAddress, amount);
}

// Верификация владения кошельком — message подписание
async function requestWalletOwnershipProof(
  userId: string,
  address: string
): Promise<OwnershipProof> {
  const challenge = crypto.randomBytes(32).toString("hex");
  // Сохраняем challenge, ждём подписи от пользователя
  await db.storeWalletChallenge(userId, address, challenge);
  // Пользователь подписывает challenge своим кошельком
  // Верификация происходит в другом endpoint
  return { pending: true, challenge };
}

השוואת ספקי הודעות Travel Rule

ספק יתרונות חסרונות
Notabene 500+ VASP, SSI, REST API, פריסה מהירה תלות בשירות צד שלישי, מחיר
Sygna Bridge כיסוי חזק באסיה, אינטגרציה עם OKX/Huobi פחות משתתפים, תיעוד חלש
Veriscope מבוזר, מבוסס בלוקצ'יין מורכבות גבוהה, אימוץ נמוך
OpenVASP פרוטוקול פתוח, P2P, ללא מרכז אין תשתית מוכנה, אימוץ נמוך

בעיית ה-Sunrise: אסטרטגיות ויישום

"בעיית ה-Sunrise"—מצב שבו ה-VASP המקבל אינו תומך ב-Travel Rule. אפשרויות:

  1. לא לשלוח עד אישור—עמידה קפדנית בדרישות, חוויית משתמש ירודה.
  2. Best efforts—שליחת נתוני Travel Rule אם אפשרי, רישום ניסיונות. זו הגישה המומלצת שלנו, המקובלת על למעלה מ-90% מהרגולטורים כצעד זמני.
  3. עיכוב + ניסיון חוזר—השארת העסקה בהמתנה, חזרה על הבקשה ל-VASP המקבל במרווחים (לדוגמה, כל 15 דקות עד 24 שעות).

אנו מיישמים best efforts עם רישום מלא של כל הניסיונות והתגובות. זה מאזן בין עמידה ברגולציה לחוויית משתמש. בהזמנת הגדרה זו, אתה מקבל פתרון מוכן שעומד בדרישות הרגולטוריות של האיחוד האירופי וארה"ב.

מחסנית טכנית

רכיב פתרון
הודעות Travel Rule Notabene SDK
זיהוי VASP Notabene + Chainalysis
הוכחת בעלות על ארנק חתימת הודעות EIP-191
אחסון רשומות PostgreSQL + הצפנה (AES-256)
לוח מחוונים לעמידה ברגולציה פאנל ניהול React

לוחות זמנים ועלות

הגדרת עמידה ב-FATF Travel Rule עם אינטגרציית Notabene, מדיניות ארנקים לא מאוחסנים ולוח מחוונים לעמידה ברגולציה אורכת 3 עד 5 שבועות. עלות פרויקט טיפוסית נעה בין $10,000 ל-$25,000 בהתאם למורכבות הארכיטקטורה ולתשתית הקיימת. השאר בקשה—נבצע ביקורת חינם של מערכת העמידה הנוכחית שלך ונציע את הפתרון האופטימלי.