MoneroP2Pのセキュリティ
要点: MoneroP2Pでは誰も資金を預かりません。USDTは公開ルールに従ってのみ資金を出すコントラクトに入り、XMRは鍵の両方の半分がなければ誰も動かせないアドレスに入ります。Arbitrum One + Moneroで実際の資金を使って稼働しており、1回のスワップはコントラクトによって最大100 USDTに制限されています。コントラクトはHalmos、Aderyn、Slitherで検証され、ソースはSourcifyで公開されています。外部監査はまだのため、各スワップに上限を設けています。
なぜ誰も資金を預からないのか
- USDTはあなたのスワップ専用のコントラクトに入ります。管理者機能はなく、
claimとrefund以外の方法では、私たちもメイカーも取り出せません。 - XMRは共有アドレスに入ります。メイカーはあなたの鍵の半分がなければ取り戻せず、あなたもメイカーの半分がなければ取り出せません。
- あなたの鍵はブラウザ内で作成され、私たちのサーバーに送られることはありません。サーバーは完全な秘密鍵を含むメッセージをすべて拒否します。
返金の仕組み
| 状況 | どうなるか |
|---|---|
| メイカーがXMRを入金しない | t0までに返金します(アプリが案内します) |
| メイカーの入金したXMRが少ない | 確認せず、t0までに返金します |
| 確認したのにメイカーが受け取らない | t1以降に返金します |
| タブを閉じた | 復元ファイルを持って戻ってきてください |
知っておくべきリスク
- 期限。 XMRが届かなかったのに期限内に返金しないと、USDTを失うことがあります。アプリが知らせますが、アプリを開いているか、ファイルを持って戻ってくる必要があります。
- 復元ファイル。 これとそのパスワードがないと、XMRの受け取りも返金もできません。私たちが代わりに復元することはできません。
- USDTの凍結。 Tetherはアドレスを凍結できます。スワップごとに別のコントラクトを使いますが、リスクはあります。
- 外部監査がまだ。 コントラクトは自動検証(Halmos、Aderyn、Slither)を通過していますが、ソフトウェアに不具合が残っている可能性はあります。1回100 USDTの上限が、1回のスワップのリスクを抑えます。
- プライバシー。 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。脆弱性を報告するには、SECURITY.mdの説明に従ってGitHubの非公開報告を使ってください。