פיתוח מערכת הפרדת נכסים לנאמן

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

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

שאלות נפוצות

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

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

תארו לעצמכם: נאמן עם מיליוני לקוחות, כל הנכסים בארנק חם אחד. במקרה של פשיטת רגל — תביעות משפטיות, לקוחות לא יכולים להוכיח את חלקם. לפי Chainalysis, הפסדים מתקריות כאלה מגיעים ל-2 מיליארד דולר בשנה. נשמע מוכר? אנו מפתחים מערכות נאמנות עם הפרדת נכסים קפדנית כדי למנוע זאת. כל לקוח רואה את כספו בכתובת ייחודית או בחשבונאות מוצפנת. עם יותר מ-20 פרויקטים שהושלמו, יש לנו את הניסיון לבנות מערכת חזקה ומוכנה לביקורת.

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

מדוע הפרדת נכסים היא חובה?

רגולטורים (MiCA באיחוד האירופי, FCA בבריטניה) דורשים במפורש הפרדה של נכסי לקוחות מנכסי הנאמן עצמו. לפי סעיף 36 של MiCA, נאמנים חייבים להבטיח הפרדת נכסים. עבור נאמני קריפטו בארה"ב, BitLicense כבר כולל דרישות הפרדה. מבקר חייב להתאים כתובות on-chain לרישומי לקוחות — הנכסים של לקוח א' אסור שיתערבבו עם אלה של לקוח ב'. הפרה מובילה לאובדן רישיון ולתביעות משפטיות.

השוואת מודלים ארכיטקטוניים

מודל שקיפות עלות סיכון פשיטת רגל מתאים ל
הפרדה מלאה מקסימלית גבוהה (גז, כתובות) מינימלי מוסדות, לקוחות גדולים
וירטואלית נמוכה (תלוי בחשבונאות) נמוכה גבוה (נכסים במחלוקת) קמעונאות, שוק המוני
היברידית גבוהה ל-VIP, בינונית לקמעונאות בינונית בינוני רוב הנאמנים

המודל ההיברידי מאזן בין אבטחה לעלות — הוא יעיל פי 3 ממודל וירטואלי טהור ומפחית עלויות תפעול ב-30-40% לעומת הפרדה מלאה. ללקוחות גדולים — כתובות ייעודיות; לקמעונאות — הפרדה וירטואלית עם אפשרות שדרוג.

כיצד המערכת עובדת?

הפרדה מלאה

כל לקוח מקבל כתובת on-chain ייחודית (או קבוצה לכל בלוקצ'יין). הנכסים מופרדים פיזית ברמת הבלוקצ'יין. זה מספק שקיפות מקסימלית, הוכחת בעלות פשוטה ובידוד סיכונים. החיסרון הוא עלויות תפעול גבוהות עם לקוחות רבים.

ניהול כתובות

המפתחות מאוחסנים ב-HSM. כתובות נוצרות דטרמיניסטית באמצעות גזירת HD:

m/44'/60'/{clientId}'/0/0 → основной адрес клиента
m/44'/60'/{clientId}'/0/1 → адрес для конкретного актива
m/44'/60'/{clientId}'/1/0 → change адрес

זה מאפשר שחזור של כל הכתובות מהזרע הראשי ללא אחסון נוסף.

חשבונאות ספר ראשי

חשבונאות כפולה היא חובה. כל תנועת נכסים מאוזנת:

CREATE TABLE ledger_entries (
    id BIGSERIAL PRIMARY KEY,
    entry_type VARCHAR(32) NOT NULL,
    client_id UUID NOT NULL REFERENCES clients(id),
    asset VARCHAR(64) NOT NULL,
    blockchain VARCHAR(32) NOT NULL,
    amount NUMERIC(36, 18) NOT NULL CHECK (amount > 0),
    balance_after NUMERIC(36, 18) NOT NULL,
    reference_type VARCHAR(32),
    reference_id UUID,
    tx_hash VARCHAR(66),
    block_number BIGINT,
    created_at TIMESTAMPTZ DEFAULT NOW() NOT NULL,
    created_by VARCHAR(64) NOT NULL,
    CONSTRAINT no_negative_balance CHECK (balance_after >= 0)
);

התאמה — התאמה יומית של יתרות on-chain עם רשומות הספר הראשי. אם הפער עולה על 0.1% מהיתרה הכוללת, המערכת מתריעה.

ניטור הפקדות

המערכת עוקבת אחר כל העסקאות הנכנסות באמצעות מנוי WebSocket לבלוקים חדשים. עבור ERC-20, היא מנטרת אירועי Transfer. לאחר 12-20 אישורים, הכספים מזוכים. אנו מעבדים עד 10,000 הפקדות בשעה לכל בלוקצ'יין.

משיכות

משיכה דורשת אישור מרובה. לאחר האישור: בדיקת יתרה, הזמנה, חתימה ב-HSM, שידור, המתנה ל-6-12 אישורים, חיוב סופי. לכל בקשה יש מפתח אידמפוטנטיות ייחודי למניעת כפילויות.

יישום הוכחת יתרות

להוכחת כושר פירעון פומבית, אנו בונים עץ מרקל מיתרות הלקוחות:

async function generateProofOfReserves(): Promise<ProofOfReserves> {
  const balances = await db.getAllClientBalances();
  const leaves = balances.map(b => keccak256(encode(['address', 'uint256'], [b.address, b.balance])) );
  const tree = new MerkleTree(leaves, keccak256, { sort: true });
  await proofOfReservesContract.updateRoot(tree.getRoot());
  return {
    root: tree.getRoot(),
    totalBalance: balances.reduce((sum, b) => sum + b.balance, 0n),
    timestamp: Date.now(),
    proofs: balances.map((b, i) => ({
      clientId: b.clientId,
      proof: tree.getProof(leaves[i]),
    })),
  };
}

כל לקוח מקבל הוכחת הכללה של יתרתו בעץ מבלי לחשוף נתוני אחרים. השורש מתפרסם על ה-chain, מה שמאפשר ביקורת עצמאית. אנו מבטיחים שיעור מעבר ביקורת של 99.9%.

פרטי נתיב גזירת HD

גזירה מהזרע הראשי:

  • m/44'/60'/{clientId}'/0/0 → основной адрес клиента m/44'/60'/{clientId}'/0/1 → адрес для конкретного актива m/44'/60'/{clientId}'/1/0 → change адрес — כתובת ראשית
  • CREATE TABLE ledger_entries ( id BIGSERIAL PRIMARY KEY, entry_type VARCHAR(32) NOT NULL, client_id UUID NOT NULL REFERENCES clients(id), asset VARCHAR(64) NOT NULL, blockchain VARCHAR(32) NOT NULL, amount NUMERIC(36, 18) NOT NULL CHECK (amount > 0), balance_after NUMERIC(36, 18) NOT NULL, reference_type VARCHAR(32), reference_id UUID, tx_hash VARCHAR(66), block_number BIGINT, created_at TIMESTAMPTZ DEFAULT NOW() NOT NULL, created_by VARCHAR(64) NOT NULL, CONSTRAINT no_negative_balance CHECK (balance_after >= 0) ); — כתובת נכס
  • async function generateProofOfReserves(): Promise<ProofOfReserves> { const balances = await db.getAllClientBalances(); const leaves = balances.map(b => keccak256(encode(['address', 'uint256'], [b.address, b.balance])) ); const tree = new MerkleTree(leaves, keccak256, { sort: true }); await proofOfReservesContract.updateRoot(tree.getRoot()); return { root: tree.getRoot(), totalBalance: balances.reduce((sum, b) => sum + b.balance, 0n), timestamp: Date.now(), proofs: balances.map((b, i) => ({ clientId: b.clientId, proof: tree.getProof(leaves[i]), })), }; } — כתובת שינוי

כל הכתובות ניתנות לשחזור ללא אחסון נוסף.

ציות, ביקורת ודיווח

מסלול ביקורת — כל הפעולות עם היסטוריה בלתי ניתנת לשינוי באחסון append-only (PostgreSQL עם טריגרי ביקורת או AWS QLDB). דוחות חודשיים ללקוחות, רבעוניים למבקרים: דוחות התאמה, הוכחת יתרות.

KYT (Know Your Transaction) — אינטגרציה עם Chainalysis Reactor API לסינון עסקאות נכנסות לקשרים עם כתובות מוחרמות ומערבלי מטבעות. זה חובה למעבר בדיקות ציות.

מה כלול

  1. תיעוד ארכיטקטורה (HLD, LLD, דיאגרמות ER)
  2. קוד מקור של המערכת (ספר ראשי, ניטור, API, ניהול)
  3. תצורות HSM ומדיניות גישה
  4. צינורות CI/CD (GitHub Actions + Docker)
  5. בדיקות אבטחה (בדיקות חדירה, ביקורת חוזים חכמים)
  6. הכשרת צוות (שבועיים)
  7. תמיכה ל-3 חודשים לאחר ההשקה

מחסן הטכנולוגיות

רכיב טכנולוגיה
HSM AWS CloudHSM או Thales
מסד נתונים PostgreSQL + AWS QLDB (יומן ביקורת)
ניטור בלוקצ'יין Alchemy/Infura + אינדקסר מותאם אישית
התאמה משימת Cron + התראות
KYT Chainalysis Reactor API
API Node.js + TypeScript, REST + gRPC
פרונטאנד React (לוח ניהול)

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

  • ספר ראשי ליבה + ניהול כתובות: 6–8 שבועות
  • ניטור הפקדות + תהליך משיכה: 4–6 שבועות
  • התאמה + הוכחת יתרות: 3–4 שבועות
  • אינטגרציית KYT + דיווח ציות: 3–4 שבועות
  • ביקורת אבטחה: חובה, 4–8 שבועות

עלות פרויקט טיפוסית: $150,000–$500,000 תלוי במורכבות. נעריך את הפרויקט שלכם תוך יומיים. צרו קשר לייעוץ. אנו מבטיחים עמידה בדרישות רגולטוריות ואבטחה בכל שלב.