Безпека MoneroP2P
Коротко: у MoneroP2P ніхто не зберігає кошти. Ваші USDT лежать у контракті, який видає гроші лише за публічними правилами, а XMR — на адресі, яку ніхто не може перемістити без обох половин ключа. Сервіс працює з реальними грошима в Arbitrum One + Monero, з лімітом 100 USDT за своп, закладеним у контракті. Контракт перевірено Halmos, Aderyn і Slither, його код опубліковано в Sourcify; зовнішнього аудиту поки не було, тому кожен своп обмежено.
Чому ніхто не зберігає ваші кошти
- USDT лежать у контракті, створеному для вашого свопу. У нього немає адміністративних функцій: ні ми, ні мейкер не можемо їх забрати інакше, ніж через
claimіrefund. - XMR лежать на спільній адресі. Мейкер не може забрати їх назад без вашої половини ключа, а ви не можете забрати їх без його половини.
- Ваші ключі створюються у вашому браузері й ніколи не надсилаються на наші сервери. Сервер відхиляє будь-яке повідомлення, що містить повний приватний ключ.
Як працюють повернення
| Ситуація | Що відбувається |
|---|---|
| Мейкер не вносить XMR | Ви робите повернення до t0 (застосунок попросить про це) |
| Мейкер вносить менше XMR | Ви не підтверджуєте й робите повернення до t0 |
| Ви підтвердили, а мейкер не забирає оплату | Ви робите повернення починаючи з t1 |
| Ви закрили вкладку | Поверніться з файлом відновлення |
Ризики, про які треба знати
- Строки. Якщо ви не зробите повернення вчасно, коли XMR не надійшли, можна втратити USDT. Застосунок попередить, але він має бути відкритим, або вам треба повернутися з файлом.
- Файл відновлення. Без нього та його пароля ви не зможете отримати XMR чи зробити повернення. Ми не можемо відновити його за вас.
- Заморожування USDT. Tether може заморожувати адреси. Кожен своп використовує окремий контракт, але ризик існує.
- Поки немає зовнішнього аудиту. Контракт пройшов автоматичну перевірку (Halmos, Aderyn, Slither), але в ПЗ однаково можуть бути помилки. Ліміт 100 USDT за своп обмежує те, чим ризикує один своп.
- Конфіденційність. Проксі вузлів Monero бачить, які запити робить ваш браузер. Можна використовувати власний вузол.
Як ми захищаємо застосунок
- Сувора Content Security Policy: застосунок виконує лише власний код.
- Subresource Integrity для скриптів і стилів; цілісність криптографічного ядра перевіряється перед використанням.
- Жодних сторонніх скриптів, аналітики й cookie.
- Перевірювані збірки: ми публікуємо
SHA256SUMSдля кожного файлу й копію в IPFS.
Аудити
Контракт перевірено вільними відкритими інструментами: Halmos (символьна верифікація, 7/7 властивостей доведено для всіх вхідних даних), Aderyn (0 знахідок високої критичності) і Slither (немає знахідок середньої чи високої критичності). Його код верифіковано в Sourcify (точний збіг). Звіт: docs/AUDITORIA-GRATUITA.md. Зовнішній аудит ще попереду; підготовлений обсяг робіт — у docs/AUDITORIA.md.
Вихідний код і повідомлення про вразливості
Відкритий код (AGPL-3.0): github.com/juanjobs39-cloud/xmrp2p. Щоб повідомити про вразливість, використовуйте приватні звіти GitHub, як описано в SECURITY.md.