Brave 6 月上线了 Origin,59.99 美元买断。Leo、News、Rewards、VPN、Wallet、Talk、Tor、Speedreader、Web Discovery 全部从二进制里编译掉,只留 Shields 和 Chromium 内核。Linux 免费。
我买了一个。翻文档的时候看到激活这一步的做法:Brave 的服务器没办法知道是谁在用这份授权。
它用的是盲签名。
常规做法是查表
付费解锁都要回答一个问题:这台设备凭什么证明自己付过钱。
一般是账号体系。你登录,服务器查表,这个 user_id 买过,放行。表里就记着某某邮箱在用 Origin、今天启动了几次。
盲签名把这张表去掉了。名字里的「盲」就是服务器闭着眼睛签——它签的时候不知道自己在签什么,签完也认不出来。
用数字走一遍
服务器手里有个只有它知道的私章,就当它是「乘以 7」。
我在自己电脑上随手生成一个 token,是 3。我要拿到「服务器给 3 盖过章」的证据,又不想让它知道 3 是多少。
- 我再挑一个随机数 5,把 3 乘上去:3 × 5 = 15。把 15 发过去
- 服务器盖章:15 × 7 = 105。把 105 还给我
- 我把 5 除掉:105 ÷ 5 = 21。21 正好是 3 × 7
现在我手上有一对数 (3, 21)。以后要用 premium 功能,把这两个数交出去,服务器算一下 3 × 7 是不是 21,对上了就放行。