Розробка системи P2P-торгівлі криптовалютою
P2P (peer-to-peer) торгівля криптовалютою — це платформа, де користувачі торгують напрямку між собою, а система виступає escrow й арбітром. На відміну від звичайної біржи, тут немає matching engine — є об'яви, переговори й dispute resolution. Технічно простіше за біржу, організаційно складніше: фрод-менеджмент, репутаційна система й захист користувачів — критичні компоненти.
Архітектура P2P системи
Основні сущності
Об'ява (Offer): Користувач (maker), Тип (buy/sell), Криптовалюта, Фіатна валюта, Способи оплати, Курс (фіксований або привязаний до ринку), Лімити, Умови.
Сделка (Trade): Об'ява (посилання), Maker + Taker, Сума крипти, Сума фіату, Статус (created → paid → released | disputed | cancelled), Escrow адреса, Історія сообщень.
Escrow механізм
Escrow — сердце P2P системи. Продавець блокує крипту в escrow-контракті до підтвердження оплати. Це захищає покупця від скаму.
On-chain escrow (смарт-контракт): Продавець депонує крипту в escrow. Покупець платить фіат. Після підтвердження оплати продавець підтверджує release.
Custodial escrow (централізований): Біржа зберігає кошти на своїх гаманцях. Технічно простіше, швидше, дешевше (немає газу). Біржа несе повну кастодіальну відповідальність. Більшість крупних P2P платформ (LocalBitcoins, Binance P2P) використовують цей підхід.
Ціноутворення: фіксоване vs плаваюче
Фіксована ціна: продавець вказує конкретний курс. Може застаріти.
Плаваюча ціна (market-linked): курс = spot ціна × (1 + margin%). Приклад: "Продаю BTC за 102% від Binance spot ціни".
Захист від фрода
Типові схеми мошенництва
Chargeback fraud: покупник платить через reversible метод, отримує крипту, потім ініціює chargeback.
Поддельне доведення оплати: підроблений скриншот про оплату.
Triangle fraud: A переконує B продати крипту C, B отримує гроші від реальної жертви.
Account takeover: угон аккаунта з хорошою репутацією для проведення scam-сделок.
Технічні захисти
Risk scoring методів оплати:
| Метод | Chargeback ризик | Рекомендація |
|---|---|---|
| Банківський переворе (SEPA) | Низький | Дозволити |
| Наличні особисто | Немає | Дозволити |
| PayPal (G&S) | Високий | Заборонити/Попередження |
| Western Union | Середній | Обмежено |
| Revolute | Середній | Залежить від країни |
| Crypto-to-crypto | Немає | Дозволити |
KYC верифікація: обов'язкова верифікація особистості для будь-якої суми вище порога. SMS верифікація недостатня — потрібен ID + selfie.
Репутаційна система: Completion rate, dispute rate, trade обсяг, account вік. Розраховується score з цих метрик.
Поведінковий аналіз (anti-fraud ML):
- Нестандартне время активності
- Множество аккаунтів з одного IP/устройства
- Необично високий обсяг для нового аккаунта
- Паттерни, що збігаються з відомими фрод-схемами
Dispute resolution процес
- Відкриття спора (покупець або продавець)
- Автоматичне сповіщення обох сторін
- 24 години на представлення доказів:
- Скриншоти переписки
- Банківські виписки
- Відео/фото при особистій зустрічі
- Арбітр розглядає справу
- Рішення арбітра → release або return
- Апелація (опціонально, для великих сум)
Більшість платформ автоматизують рішення простих случаїв (покупець прислав bank statement, продавець мовчить >12 годин → автоматичний release покупцю).
Чат й комунікація
End-to-end зашифрований чат
Для P2P сделок бажаний E2E чат. Реалізація через Signal Protocol або Libsodium. Сервер зберігає лише зашифровані сообщення — не може читати переписку. Важливо для GDPR compliance й довіри користувачів.
Зберігання доказів для диспутів: сообщення зберігаються з підписом сервера про час відправлення. При відкритті спора обидва учасники дають згоду на передачу історії чату арбітру.
Фіатні методи оплати
Інтеграція банківських переводів
Для регіонів з доступним instant banking (SEPA Instant в EU, Faster Payments в UK, PIX в Бразилії) можна автоматизувати підтвердження оплати.
Автоматичне підтвердження через банківський webhook різко зменшує нагрузку на службу поддержки й прискорює release.
Технічний стек
| Компонент | Технологія |
|---|---|
| Backend API | Node.js / Go |
| Database | PostgreSQL (сделки, користувачі) |
| Real-time чат | WebSocket (Socket.io) |
| Escrow | Смарт-контракт або custody DB |
| KYC | Sumsub / Sum&Substance |
| Fraud detection | Python ML pipeline |
| Notifications | Firebase FCM + email |
| Fiat інтеграція | Banking API / Webhooks |
P2P платформа технічно простіше CEX, але вимагає зрілих операційних процесів: команди поддержки, арбітрів, мониторингу фрода. Недооцінка операційної сторони — головна причина провалу P2P проектів.







