COMPAX

登录

和非托管钱包
一模一样的登录

二十四个词,在你的设备上生成,哪儿也不发送。没有手机号,没有邮箱地址,没有要等的验证码,没有谁能重置的密码。只要你用助记词恢复过钱包,这个界面你就已经用过了。

下面的界面就是应用本身的界面,正在演首次启动的四个步骤,顺序就是你会遇到的顺序。

首次启动

四个界面,没有一个 界面
问你是谁

把鼠标指上去,它就从头再演一遍。

1

打开,选一边

两个按钮,一个输入框都没有:生成一个身份,或者恢复你已有的那个。这个界面上没有任何东西要去别处查,所以也没有什么可填。

生成身份完全不需要网络。二十四个词取自设备自己的随机数,投递服务并不知情——它也无从知情,因为它根本不保存账号。

没有注册,自然也没有确认。短信里不会来任何东西,因为这里没人有你的号码。

9:41
COMPAX设置

服务器只负责搬运、却读不懂的消息、群组和通话。你的身份是一对密钥,不是账号——没有谁可以向他要回来。

创建新身份

我已经有助记词了

2

二十四个词就是账号

BIP-39,和硬件钱包印出来的是同一个标准。它们只在设备上显示一次,而且是唯一的一份:服务器保存的是它读不懂的密文,对任何人一无所知。

写在纸上。凡是会同步的东西,就一定还存在另一个地方,而被拿走的往往正是那个地方。

弄丢了,账号就没了。这句话和另一句是同一件事:没人能把它从你手里拿走,也没人能被劝着交出去。

9:41
Recovery phraseWrite it down — shown once
1ridge2copper3lantern4marble5vessel6orchard7silent8anchor9fabric10meadow11tunnel12quartz13harbor14willow15candle16pigment17gravel18summit19needle20cobalt21thicket22bramble23ferry24oxide

On paper, not in a photograph. Anything that syncs is somewhere else as well.

Written down?

You will be asked for three of them, to check.

我已经抄下来了
3

自己挑一个名字,然后你就进去了

一个名字,那是你向对话的人公布的东西——他们核对的是密钥。一个设备名,好让一年以后吊销某台设备是读出来的,而不是猜出来的。还有投递服务,它负责搬运密文并给它排序。

不会有验证码,因为你根本没交出任何可验证的东西。按钮写着开始,它就开始了。

名字不认人:两个人可以取一样的名字,照样不会被弄混。区分他们的是密钥。

9:41
就快好了设置

你的名字

Mira

设备名称

Mira 的笔记本

投递服务

compax.chat

搬运密文并给它排序。它不保存任何密钥。

开始聊天
4

第二台设备把词粘上去

恢复不是把身份搬走,而是往上添:新设备生成自己的密钥,由身份为它作证。你已有的设备照旧在线,分毫不动。

拿掉一台设备也是这样——把丢掉的那台吊销,助记词照样打开你留下的每一台。

同样的二十四个词,想装多少台设备就装多少台,每台一把自己的密钥,每台单独吊销。

9:41
恢复一个身份新设备

输入这 24 个词。这台设备会拿到自己的密钥,并由身份为它作证——你其他的设备分毫不动。

ridge copper lantern marble vessel orchard …

这台设备现在有了自己的密钥。你其他的设备没有被动过。

继续

从来不问的东西

屏幕上
没有的那些字段

一个聊天软件账号
  • 一个手机号,以及一张登记着名字的 SIM 卡
  • 一个邮箱地址,以及寄到里面的验证码
  • 一个存在服务器上的密码,谁掌握服务器谁就能重置
  • 你的通讯录,上传上去好帮你找到朋友
  • 一个可以被封停的账号,和一张申诉表格
Compax
  • 二十四个词,在设备上生成,只显示一次
  • 一对密钥——别人用公开的那一半来核对你
  • 一个可选的密码,永远不离开这台设备
  • 谁的通讯录也没有:根本没有可供查人的地方
  • 没有可封停的东西,因为服务器上没有你的账号

这不是苦行。左边每一个字段之所以存在,都是为了让某个人能凭它找到你、凭它向你收费,或者把它从你手里拿走——而屏幕上没有的字段,交不到任何来讨要的人手里。

并排来看

和你手机里
已经装着的那个钱包比

非托管钱包十年前就把登录这件事解决了,答案是不要再有账号。这就是同一个答案,用在一个聊天软件上——而且 Compax 自己也带着钱包,用的正是同样这二十四个词。

一个非托管钱包

Compax

密钥在哪里生成

在设备上,取自本地随机数

在设备上,取自本地随机数

靠什么恢复

12 或 24 个词的 BIP-39 助记词

24 个词的 BIP-39 助记词

谁能重置

没有人

没有人

凭什么认出你

由密钥派生出的地址

一把公钥,外加你在旁边打的一个名字

第二台设备要做什么

把助记词再输一遍

输入助记词,然后拿到一把自己的密钥

服务保存了你的什么

什么也没有——根本没有服务

密文,以及它到达的先后顺序

登录一次要你付出什么

没有什么可输入的

没有什么可输入的

在设备上

可选字段

没有登录界面,不等于没有锁。助记词躺在这台设备自己的密钥库里,前面可以摆三样东西——每一样都是可选的,每一样都在本地。

  1. 1

    一个密码

    只问一次,就在助记词抄完之后、它还留在你脑子里的那一刻。PBKDF2 迭代 210,000 次,把它变成助记词所存放的那把密钥。

    它哪儿也不发送,所以永远无法重置。对话框在你设置之前就是这么说的,并且允许你跳过。

  2. 2

    生物识别

    面容或指纹,守着这台设备本来就有的密钥库。它是一种不用打密码的办法——不是密码的替代品。

    和密码在同一个界面上提供,拒绝只需按一下。

  3. 3

    一把安全密钥

    一把 FIDO2 密钥里存着别处都不存在的三十二个字节。助记词是用这些字节和密码一起加密的:触碰一下取 hmac-secret,再对两半做 SHA-256。

    今天只为 macOS 和 Linux 构建;提供这个选项的界面,是照机器在运行时给出的回答画的,而不是靠猜。绑两把——一把挂钥匙串,一把放抽屉。

代价

这么简单的登录,代价是什么

一件事,而且不小:把助记词的每一份副本、以及绑定的每一把密钥都弄丢,账号就没了。任何客服队列都帮不上忙,因为我们这边根本没有可帮的东西——服务器保存的是它读不懂的密文,也从来没保存过能打开它的东西。这和“谁也拿不走你的账号”是同一条性质,只是从另一面来读。

接下来

把这四个界面走一遍

大约一分钟,第一个界面就是一个按钮。用同一组助记词的钱包就在隔壁,词要是丢了会怎样,答案在问答里。