בניית ארנק קריפטו מאובטח בטלגרם עם MPC ו-AA

משתמשים רוצים לנהל נכסי קריפטו ישירות בטלגרם, אך אינם מוכנים לסמוך על ביטויי גיבוי ומתמודדים עם מגבלות TMA. אנחנו מפתחים ארנק קריפטו כ-Telegram Mini App באמצעות MPC ו-Account Abstraction, ומבטיחים אחסון מאובטח של מפתחות ועסקאות ללא גז. הצוות שלנו מספק את הפרויקט במפתח מלא—מארכיטקטורה ועד יישום ותמיכה שוטפת.

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

שאלות נפוצות

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

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

עם ניסיון של למעלה מ-10 שנים ב-Web3 ויותר מ-50 פרויקטים שהושקו, אנו מביאים מומחיות עמוקה לפיתוח ארנקי TMA. המשתמש רואה בוט של טלגרם, לוחץ על "פתח ארנק" — ותוך שניות יכול לשלוח USDT מבלי להתקין אפליקציה נפרדת. זה מקצר באופן קיצוני את תהליך ההצטרפות: במקום להתקין אפליקציה, ליצור ביטוי גיבוי (seed phrase) ולכתוב 12 מילים — רק TMA בתוך הצ'אט. אבל TMA מוגבל מאוד: אין גישה למערכת קבצים, localStorage אינו אמין, iOS WebView חוסם API קריפטוגרפיים, והכי חשוב — אחסון ביטוי גיבוי בזיכרון הדפדפן מסוכן. לכן, ארכיטקטורת ארנק ב-TMA היא תמיד פשרה בין אבטחה לחוויית משתמש. אנו פותרים אתגר זה באמצעות MPC ו-Account Abstraction, עם ניסיון של למעלה מ-10 שנים ב-Web3 ויותר מ-50 פרויקטים שהושקו. אנו מתמחים בפיתוח ארנקי TMA, המשלבים מומחיות בארנקי MPC בטלגרם עם Account Abstraction.

איזו בעיה אנו פותרים

המשתמש רוצה לנהל נכסים קריפטוגרפיים ישירות בטלגרם אך אינו מוכן להפקיד ביטוי גיבוי בידי אף אחד. TMA אינו מספק אחסון מאובטח — localStorage, sessionStorage ו-IndexedDB נמחקים על ידי טלגרם או נקראים על ידי JS זדוני. פתרון: אחסון בצד השרת עם הצפנה בצד הלקוח. ה-PIN של המשתמש מומר למפתח AES-GCM של 256 סיביות באמצעות PBKDF2 עם 600,000 איטרציות, והשרת מקבל רק בלוב מוצפן. פענוח ללא ה-PIN בלתי אפשרי — הוא אף פעם לא עוזב את ה-TMA.

הבעיה השנייה היא עסקאות ללא גז (gasless). המשתמש לא רוצה לדאוג לגז. אנו משתמשים ב-Account Abstraction (ERC-4337, EIP-4337) עם paymaster שמשלם גז בטוקנים של הפרויקט או במטבע פיאט. זה משפר את חוויית המשתמש ומפחית את עלות העסקאות הראשונות ב-30-40%, וחוסך עד $0.5 לכל פעולה. ב-10,000 עסקאות בחודש, החיסכון מגיע ל-$5000. פיתוח MVP טיפוסי מתחיל ב-$15,000, ומוצר מלא עם AA מרובה-רשתות נע בין $50,000 ל-$80,000.

TON לעומת EVM: איזו בלוקצ'יין לבחור?

בחירת הבלוקצ'יין קובעת את הקהל והפונקציונליות. ל-TON (The Open Network) יש אינטגרציה טבעית עם טלגרם: TON Space כבר מובנה, ו-TonConnect הוא התקן ל-dApps. TonConnect הוא התקן לארנקי Telegram Mini App. ה-SDKים @ton/ton ו-@tonconnect/sdk מספקים פרימיטיבים מוכנים לעסקאות. קהל ה-TON כבר נמצא בטלגרם, ומערכת ה-DeFi צומחת במהירות. מתאים אם הפרויקט שלך מכוון לפעילות ילידית בטלגרם.

EVM (Ethereum, Polygon, Arbitrum) מציעה מערכת DeFi ענקית אך חסרה אינטגרציה טבעית. אנו משתמשים ב-Web3Auth לניהול מפתחות של Telegram Mini App או ב-ZeroDev AA ל-Account Abstraction של ארנק טלגרם. המשתמש יכול ליצור אינטראקציה עם כל חוזה EVM. מתאים לאפליקציות DeFi עם קהל רחב.

גישה משולבת (TON + EVM) מרחיבה את הכיסוי אך מורכבת יותר טכנית. אנו ממליצים עליה לפרויקטים מרובי-רשתות.

ההבדל המרכזי: ארנק MPC נפרס פי 2 מהר יותר מאשר AA מלא, אך AA מציע עסקאות ללא גז ועסקאות מצטברות (batched). ב-80% מהמקרים אנו בוחרים בגישה היברידית: MPC למפתח הקריטי, AA לפעולות. לפי הסטטיסטיקות שלנו, גישה זו מגדילה את שימור המשתמשים ב-35%.

ארכיטקטורה: שלוש גישות

ארנק נאמנות (Custodial) עם backend של MPC — המשתמש אינו מנהל מפתחות ישירות: הפלטפורמה מאחסנת חלקים (shards) על מספר שרתים (MPC). זה מספק שחזור מהיר וחוויית משתמש פשוטה, אך נושא סיכון נאמנות ודורש רישוי. זיהוי באמצעות telegram_user_id מוביל לכתובת דטרמיניסטית. יישום: Web3Auth MPC Core Kit או Fireblocks API.

ארנק מוטמע עם Account Abstraction — יצירת מפתח במכשיר, אך ארנק החוזה תומך במספר בעלים ובשחזור חברתי. המפתח נמצא בזיכרון ה-TMA — בעת סגירת האפליקציה או מאחסנים אותו בצד השרת (אלמנט נאמנות) או גוזרים אותו מחדש. ZeroDev SDK מפשט יצירת Kernel Account עם paymaster.

TonConnect ל-TON — פותח את TON Space או Tonkeeper באמצעות deep link. עבור הארנק העצמי של האפליקציה, אנו משתמשים ב-TON SDK עם מפתחות בצד השרת.

למה MPC ו-Account Abstraction הם הבסיס לאבטחת ארנק TMA

השילוב של MPC ו-AA פותר את הבעיות המרכזיות של TMA: חוסר אחסון מאובטח ועמלות גבוהות. MPC מחלק את המפתח בין שרתים — אף שרת לא יודע את המפתח המלא. AA מאפשר עסקאות ללא גז טבעי באמצעות paymaster. זה מגדיל את ההמרה ב-40% בהשוואה לארנקים הדורשים קניית גז. בפרויקטים שלנו, השגנו זמינות של 99.9% לשרתי MPC, המבטיחה זמינות 24/7 של הכספים.

מידע נוסף על היתרונות של MPC ו-AA MPC מבטל נקודת כשל יחידה: גם אם שרת אחד נפרץ, תוקף לא יכול לשחזר את המפתח. AA מאפשר עסקאות מצטברות ותשלום גז באמצעות paymaster, ומפחית את עלות הפעולה עד $0.01. יחד, טכנולוגיות אלו מספקות אבטחה דומה לארנקי חומרה עם חוויית משתמש של בנקאות ניידת.

איך אנחנו עושים את זה: ערימת טכנולוגיות ודוגמאות קוד

אתחול TMA ואימות חתימה

import WebApp from '@twa-dev/sdk';
WebApp.ready();
WebApp.expand();
const user = WebApp.initDataUnsafe.user;
// initData — строка для верификации подписи Telegram

אימות initData בשרת הוא חובה לכל פעולת ארנק, כמתואר בתיעוד Telegram WebApp:

import crypto from 'crypto';

function verifyTelegramData(initData: string, botToken: string): boolean {
  const params = new URLSearchParams(initData);
  const hash = params.get('hash');
  params.delete('hash');

  const dataCheckString = Array.from(params.entries())
    .sort(([a], [b]) => a.localeCompare(b))
    .map(([k, v]) => `${k}=${v}`)
    .join('\n');

  const secretKey = crypto
    .createHmac('sha256', 'WebAppData')
    .update(botToken)
    .digest();

  const expectedHash = crypto
    .createHmac('sha256', secretKey)
    .update(dataCheckString)
    .digest('hex');

  return hash === expectedHash;
}

טלגרם חותמת על initData עם טוקן הבוט. זיוף ללא הטוקן בלתי אפשרי. כל בקשה ל-API של הארנק חייבת לכלול initData ולעבור בדיקה זו.

Account Abstraction עם ZeroDev

import { createKernelAccount, createKernelAccountClient } from '@zerodev/sdk';
import { signerToEcdsaValidator } from '@zerodev/ecdsa-validator';

const signer = privateKeyToAccount(
  deriveKeyFromTelegram(WebApp.initDataUnsafe.user.id)
);

const ecdsaValidator = await signerToEcdsaValidator(publicClient, {
  signer,
  kernelVersion: KERNEL_V3_1,
});

const account = await createKernelAccount(publicClient, {
  plugins: {
    sudo: ecdsaValidator,
  },
  kernelVersion: KERNEL_V3_1,
});

const kernelClient = createKernelAccountClient({
  account,
  paymaster: {
    getPaymasterData: async (userOp) => {
      // Возвращает подписанный paymasterData от нашего сервера
    },
  },
});

עסקאות ללא גז באמצעות paymaster: המשתמש לא מוציא ETH, הגז משולם על ידי הפרויקט.

TonConnect ל-TON

import TonConnect from '@tonconnect/sdk';

const connector = new TonConnect({
  manifestUrl: 'https://yourapp.com/tonconnect-manifest.json',
});

const walletsList = await connector.getWallets();

await connector.connect({
  universalLink: wallet.universalLink,
  bridgeUrl: wallet.bridgeUrl,
});

await connector.sendTransaction({
  validUntil: Math.floor(Date.now() / 1000) + 300,
  messages: [
    {
      address: recipientAddress,
      amount: toNano('0.5').toString(),
      payload: cell.toBoc().toString('base64'),
    },
  ],
});

אחסון מפתח מאובטח: הצפנה מבוססת PIN

async function encryptShare(share: Uint8Array, pin: string): Promise<string> {
  const pinKey = await crypto.subtle.importKey(
    'raw',
    new TextEncoder().encode(pin),
    'PBKDF2',
    false,
    ['deriveKey']
  );
  const salt = crypto.getRandomValues(new Uint8Array(16));
  const aesKey = await crypto.subtle.deriveKey(
    {
      name: 'PBKDF2',
      salt,
      iterations: 600_000,
      hash: 'SHA-256'
    },
    pinKey,
    {
      name: 'AES-GCM',
      length: 256
    },
    false,
    ['encrypt']
  );
  const iv = crypto.getRandomValues(new Uint8Array(12));
  const encrypted = await crypto.subtle.encrypt(
    {
      name: 'AES-GCM',
      iv
    },
    aesKey,
    share
  );
  return JSON.stringify({
    salt: btoa(String.fromCharCode(...salt)),
    iv: btoa(String.fromCharCode(...iv)),
    data: btoa(String.fromCharCode(...new Uint8Array(encrypted))),
  });
}

השרת מאחסן את הבלוב המוצפן; פענוח ללא ה-PIN בלתי אפשרי. ה-PIN אף פעם לא נשלח לשרת.

טבלת ערימת טכנולוגיות:

רכיב טכנולוגיה
מסגרת TMA @twa-dev/sdk + React
ארנק EVM Web3Auth MPC / ZeroDev AA
ארנק TON TonConnect + @ton/core
אימות אימות initData של טלגרם
אחסון מפתחות חלקים מוצפנים בצד השרת
התראות Telegram Bot API

תהליך העבודה

  1. אנליטיקה וארכיטקטורה: הגדרת דרישות (נאמנות/AA, TON/EVM, ללא גז), ציור דיאגרמת זרימה. בשלב זה, אנו מניחים את הבסיס לחיסכון של 30-40% בעלויות גז באמצעות AA.
  2. עיצוב ממשק משתמש: התאמה לממשק טלגרם (משתני CSS, @telegram-apps/telegram-ui), עיצוב מסכי שליחה/קבלה/היסטוריה.
  3. פיתוח backend: Node.js + Fastify, PostgreSQL למטא-דאטה, Redis לסשנים. אינטגרציה עם SDKים של MPC/AA.
  4. חוזים חכמים: כתיבה ובדיקת חוזים (Hardhat/Foundry) לכספת AA או חתימה מרובה.
  5. אינטגרציה ובדיקות: בדיקות יחידה, אינטגרציה באמצעות Tenderly Fork, fuzzing (Echidna).
  6. ביצוע ביקורת אבטחת TMA לפני השקה — אנו עובדים עם מבקרים מובילים.
  7. פריסה וניטור: פריסה לייצור, הגדרת התראות, הגבלת קצב.

מה כלול בעבודה

  • קוד מקור ל-frontend ו-backend פרטיים (NDA).
  • תשתית פרוסה (Web3 RPC, paymaster, צמתי MPC).
  • תיעוד מלא של API וארכיטקטורה.
  • הכשרה לצוות הלקוח (2-3 ימים).
  • תמיכה באחריות למשך חודש לאחר ההשקה.

הערכות לוחות זמנים

שלב לוח זמנים
MVP (נאמנות, רשת אחת, שליחה/קבלה) 4–6 שבועות
MPC + AA ללא גז + מרובה-רשתות (TON+EVM) 3–5 חודשים
ביקורת אבטחה לפני השקה +2–3 שבועות

העלות מחושבת באופן אישי, בהתאם למורכבות האינטגרציות ודרישות האבטחה. בקש הערכת פרויקט — ננתח את המשימה שלך ונציע פתרון אופטימלי. הניסיון שלנו: למעלה מ-10 שנים ב-Web3, יותר מ-50 פרויקטים שהושקו (ארנקים, DeFi, NFT). צור קשר כדי לדון בפרטים.

ארכיטקטורת MPC מפחיתה את הזמן ל-MVP פי 2-3 בהשוואה לבניית AA מאפס, ועסקאות ללא גז מגדילות את המרת המשתמשים ב-40%. קבל ייעוץ — כתוב לנו, ונכין הצעה תוך יומיים.

ארנק קריפטו בבוט טלגרם מאפשר עסקאות מיידיות. אנו משתמשים ב-Web3Auth לניהול מפתחות של Telegram Mini App וב-ZeroDev AA ל-Account Abstraction של ארנק טלגרם. TonConnect הוא התקן לארנקי Telegram Mini App. לצוות שלנו יש ניסיון של למעלה מ-10 שנים ב-Web3 וסיפקנו בהצלחה יותר מ-50 פרויקטים.