Что это делает

Если магазин, в котором вы хотите купить, принимает только наличные или определённый способ оплаты, вы платите криптовалютой (сейчас 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 и использует ли при оформлении заказа известный платёжный шлюз. Отправлять данные карты на произвольный сайт рискованно, поэтому заказы в магазинах с низкой оценкой отклоняются.