常见问题
问得最多的
十五个
没有人会把钱交给一个自己没盘问过的软件。这些是第一笔付款之前会冒出来的问题,答案直说——包括那两个答案并不好听的。
基本情况
这是聊天工具还是钱包?
两样都是,而且不是一样拧在另一样上。付款在这里是一种消息:它落在它该在的那段对话里,也在那里被签名。
如果你从不打开钱包,你拿到的就是一个端到端加密的群聊,有通话、文件、文件夹和语音。如果你打开它,钱就住在跟分这笔钱的人同一个房间里。
要用它,我需要懂加密货币吗?
发消息的话,什么都不用懂。
共用一个钱包需要两样东西。把你的二十四个词放在安全的地方,再理解一条规则:当群里足够多的人为它签了名,钱就会动。其余的应用来管——你抄下一次的地址会变成一个名字,所以问“付给谁”的那个框问的是一个人,而不是六十四个字符。
它在哪些平台上运行?
macOS、iOS、安卓、网页和一个浏览器扩展。每处的界面都一样——你在手机上学会的,在电脑上早就会了。
我们能用它但永远不碰钱包吗?
能。关于钱的一切都不是必须的。没有钱包的群就是一个群聊,而且会一直是,直到有人在里面打开钱包。
钱
一个群的钱由谁保管?
没有人。就是这样。
群钱包没有主人:每位签名者的密钥都在自己的设备上生成并留在那里,地址由所有密钥一次性构成。要把钱转出去,需要群里当初约定的那么多签名——三人中任意两人、九人中任意五人,看当时怎么定的。在足够多的人签名之前,一笔付款只是一个请求。
网络手续费谁来付?
钱从哪个钱包出去。要花多少,签名卡片上并不给出:在多数链上,手续费要等签名的人把交易准备好才知道,在那之前编一个数字,就是对别人的钱作猜测。在用所发送的同一种币支付手续费的链上,把余额全部发出去可能就没有东西付费了——这句话就写在你输入金额的地方。
支持哪些链和哪些币?
比特币、以太坊、BNB、波场和 Solana,以及它们上面的代币。它们在同一个列表里,同一个余额之下。
每一种币都会说明自己在哪条链上,这是有意为之而不是装饰:波场上的 USDT 和以太坊上的 USDT 不是同一笔钱,把它们并成一行的列表,迟早会往错的网络上发。
有人退出群之后会怎样?
就对话本身而言:成员变动的那一刻,所有人的密钥都会更换,所以离开的人读不到之后说的话。这不是服务器对话语施加的规矩——它一行也读不到——而是那个人手上的密钥再也打不开任何东西。谁在房间里,恰恰是服务器看得见的那部分:成员变动是明文传递的,也正因如此,它才能拒绝一个已经不在的人的写入。
对于钱:谁来签名是群定下的规则的一部分,而改这条规则需要跟按它花钱一样的共识。
你们能冻结或撤回一笔付款吗?
不能,这里其他任何人也不能。没有替你保管的密钥,所以没有可扣押的东西,也没有可按的按钮。已经广播出去的付款就在链上。
群拥有的是它之前的那一步:没有凑够签名的付款并没有发生,任何一位签名者都可以干脆不签。
隐私,以及自己来运行
服务器能读我的消息吗?
不能。它把消息排好顺序,并承载通话——它承载的是密文。能打开它的密钥是在房间里的那些设备上生成的,从未离开过它们。
这对付款请求和围绕它们的对话同样成立。
它确实保留的东西值得说清楚,因为一台负责传递的服务器必然会留下其中一部分。每条消息:属于哪个群组、由哪台设备发出、送达的时刻、多大,以及密文。它还保留设备最后一次连接的时间——在线状态——而这一项可以关掉。这些都不是内容,也都变不成内容。
这些东西保留多久,又是按多少人来设计的?
追补缓冲默认三十天,这个数字其实是一条写下来的产品决定:设备最长可以离线这么久,超过就得重新加入自己的群组。旧数据按月整块离开,是丢掉分区,而不是逐行删除。
一个联邦的默认值是按大约一百人、每人两台设备的规模出厂的,而这些数字每一个都是配置文件里的一行,不是协议的上限。比特币上的群组钱包最多容纳十五把密钥,门槛可以设在其间任何位置;其他链上的上限是那条链自己的。
这套加密是你们自己发明的吗?
不是。是 MLS,以 RFC 9420 发布,别的聊天工具也在用同一套标准——点名而不是描述,正是为了这个。
MLS 对一个群真正要紧的地方,恰是难做的那部分:有人加入或离开时,所有人的密钥在那一刻就变,而不是等到下一个方便的时候。
要是我把手机弄丢了呢?
你的二十四个词能带回你是谁,以及每一个可以收款的地址。在别处装上,把词输进去,身份和钱就又是你的了。
至于历史记录,答案不一样,而且是那个不好听的。对话是从你还拿着的一台设备搬到新设备上的——不是从助记词里出来的。如果丢掉的那台是你唯一的一台,它上面的历史就没了。这是决定,不是疏忽:一份仅凭助记词就能打开的备份,等于对你说过的一切拥有永久访问权,放在不属于你的地方,而且谁也收不回。
务实的答案是:在你需要之前,就先把应用装在第二台设备上。
源代码是开放的吗?
目前源代码暂未开放。我们会在代码开源时通知大家。
我可以运行自己的服务器吗?
可以——你可以使用 Docker 运行自己的服务器,部署在公司或社区的服务器上,也可以部署在家中的电脑上。
你的设备会和排定你所在房间的那台服务器通话,而不只是和你自己的服务器。这不是泄漏,而是设计本身:你的设备用一份任何服务器都能验证、任何服务器都无法签发的证明来表明自己是谁。所以接入第二台服务器并不是第一台必须施予的恩惠,也不需要任何两台服务器彼此信任,你才能待在其中任意一台的房间里。某人从哪台进来,并不决定他能待在哪些房间。一台服务器倒下,它的人换到另一台继续。
从这里开始
把钥匙
带在身上
钱包就是这个聊天工具,而两者都是你的,可以自己搭、自己跑。