Как это работает
Что это делает
Если магазин, в котором вы хотите купить, принимает только наличные или определённый способ оплаты, вы платите криптовалютой (сейчас BTC signet и USDC), а покупатель-посредник (proxy shopper) покупает товар за вас и отправляет его.
Деньги попадают на мультиподпись 2-из-3, отдельную для каждого заказа (пользователь (user), покупатель-посредник, гарант (escrow)).
- Когда товар приходит, пользователь и покупатель-посредник подписывают выплату покупателю-посреднику.
- Если возник спор, гарант вместе с одним из двух других решает, как разделить деньги.
- Даже если кто-то перестаёт отвечать, таймлоки гарантируют, что деньги достанутся одной из сторон.
Архитектура
Браузер (proxy-shopping-web) Go-узлы (proxy-shopping-go)
ключи и подписи в браузере shopper / escrow / operator / relay
│ WSS (только исходящие) │ WSS │ libp2p
▼ ▼ ▼
Nostr-реле (указанные операторами) ◀──▶ сеть Go-узлов
= всегда доступная точка входа + почтовый ящик (gossipsub; обход NAT через circuit relay v2 и DCUtR)
- Пользователям ничего не нужно запускать. Чтобы подключиться, достаточно открыть публичное веб-приложение. Ключи создаются в браузере и никогда его не покидают; каждое подтверждение (подпись) происходит в браузере.
- Пользователи за NAT тоже могут подключиться, потому что соединение с Nostr-реле исходящее.
- Сообщения для тех, кто не всегда онлайн (пользователи, гаранты, операторы, координаторы), ждут — по-прежнему зашифрованными — на Nostr-реле, выполняющих роль почтовых ящиков. Каждое сообщение отправляется на несколько реле.
- Всегда онлайн должен быть только покупатель-посредник. Он запускает Go-узел и инструмент автоматизации браузера (shopper-bot), который работает с магазинами.
Как устроено доверие
coordinator (пользователь доверяет его открытому ключу)
└─ делегирование: «этот operator может публиковать списки»
└─ список: «в этом регионе этому shopper и этому escrow можно доверять вместе»
- Пользователь доверяет только открытому ключу координатора (coordinator). Отсюда доверие распространяется на операторов (operator) и на сочетания «покупатель-посредник × гарант».
- Списки версионируются и никогда не истекают. Чтобы кого-то убрать, публикуется новая версия.
- Пользователь «увольняет» координатора, удаляя его из своих настроек.
Комиссии
| Кому | Принудительно? | Как |
|---|---|---|
| покупатель-посредник | да | включена в предложение цены |
| гарант (авансом) | да | платится гаранту напрямую вместе с пополнением. Гарант не обязан разбирать споры по заказам без авансовой комиссии |
| гарант (спор) | да | берётся из раздела по решению |
| оператор / координатор | нет | договариваются вне протокола, например плата за включение в список. Список продаёт возможность «быть найденным» |
Залог гаранта и его конфискация не являются частью протокола. Это условия, о которых оператор и гарант договариваются сами; есть эталонный договор.
Магазины только за наличные
Местоположение магазина задаётся кодом региона (например, JP-13-13104 = Синдзюку, Токио).
Покупатель-посредник объявляет регионы, куда он может прийти и заплатить наличными, и принимает заказы только в магазинах этих регионов.
Риск магазина
Прежде чем взять заказ, покупатель-посредник оценивает магазин: есть ли он в его белом списке, работает ли по HTTPS и использует ли при оформлении заказа известный платёжный шлюз. Отправлять данные карты на произвольный сайт рискованно, поэтому заказы в магазинах с низкой оценкой отклоняются.