角色
| 角色 | 需始终在线 | 使用 | 职责 | 如果作弊 |
|---|---|---|---|---|
| 用户(user) | 否 | 浏览器 | 下单、注资、确认收货、发起纠纷 | ― |
| 代购者(proxy shopper) | 是 | Go 节点 + shopper-bot | 报价、代用户购买、报告发货情况;赚取费用 | 在托管方的裁决中失去其份额;运营者将其从列表中移除 |
| 托管方(escrow) | 否 | 浏览器或 Go 节点 | 在 T1 之前对纠纷作出裁决 | 运营者将其从列表中移除;视双方条款,其保证金被没收并用作赔偿 |
| 运营者(operator) | 否 | 浏览器、Go 节点或 psctl |
按地区签署可信的代购者 × 托管方组合列表;接收举报 | 协调者撤销对它的委托 |
| 协调者(coordinator) | 否 | 浏览器或 psctl |
签署对运营者的委托 | 用户将其从设置中删除(罢免) |
用户
- 打开 Web 应用,创建助记词(12 个单词)并抄写下来,然后设置一个用于加密密钥的口令。
- 输入商店 URL、商店所在地区和商品。
- 从提供的代购者 × 托管方组合中选择一个并下单。
- 收到报价。如果其汇率与你自己查到的汇率相差超过 3%,会给出提醒;超过 10% 则给出强烈警告。
- 接受并注资。资金会分成两部分:进入多签的部分和托管方的预付费。
- 商品送达后,点击”已收货”(在显示金额和收款方的确认页面之后,你的部分签名会发送给代购者)。
- 如果没有收到,就发起纠纷。应用会替你收集证据。
代购者
- 以
role: shopper运行 Go 节点,并连接 shopper-bot(浏览器自动化工具)。 - 配置支付方式、币种、可用现金支付的地区、你的费用以及商店风险策略。
- 银行卡信息只保存在 shopper-bot 内部,从不交给节点或网络。
- 如果用户一直不确认收货且 T1 已过,你可以单独取走资金。
托管方
- 只对支付了其预付费的订单的纠纷进行裁决。
- 通常无法读取收货地址。发生纠纷时,代购者(或用户)会把解密密钥交给它。
- 裁决以签名交易的形式送达双方;只要其中一方副署,裁决即生效。
运营者
- 签署它负责的地区(一个或多个)、组合列表,以及它推荐的中继和链端点。
- 收到举报后,发布一个不含违规者的新版本列表。保证金的处理依照它与托管方约定的条款。
协调者
- 向运营者签发委托。撤销委托就是发布一个带有
revoked的新版本。
被收录(登记处)
维护者的信任登记处是 GitHub 仓库 pad01g/proxy-shopping-registry。pull request 被合并即代表批准: 每次合并后,CI 会用登记处的密钥签署新的委托和列表并发布 (发布到公共 Nostr 中继以及 https://pad01g.github.io/proxy-shopping-registry/events.json)。
| 你想成为 | 在 pull request 中添加 | 合并后的效果 |
|---|---|---|
| 代购者 | shoppers/<name>.json(pk、联系方式、简介、现金地区、支付方式、与你合作的托管方) |
登记处的运营者把你的代购者 × 托管方组合列入列表 |
| 托管方 | escrows/<name>.json(pk、联系方式、简介、SLA 天数) |
代购者可以指定你;你的组合会出现 |
| 运营者 | operators/<name>.json(pk、联系方式、简介、地区) |
登记处的协调者向你委托;之后你签署自己的列表 |
| 协调者 | coordinators/<name>.json(pk、联系方式、简介) |
你会出现在应用向用户提供的协调者目录中(信任谁仍由每个用户自己选择) |
pk 是你的 Nostr 公钥(64 个十六进制字符):Web 应用会在”设置”中显示它,psctl keys --mnemonic-file …
也会打印它。移除某人需要提交一个 pull request,把其文件移到 revoked/ 并注明理由。登记处的
README 中有确切的文件格式和命令。