将 #Nostr 私钥拆分为多片段的集合, 通过 NIP-46 和 NIP-07 完成通讯, 在服务端通过所有个片段的组合完成签名.

暴露在客户端的只有其中一个片段集合, 如果客户端发生泄露, 可以通过轮换集合实现客户端密钥吊销操作.

如果私钥被遗忘, 可以通过多个片段(直到达到设置的阈值)组合完成验证恢复被加密的原始私钥.

igloo 作为 NIP-46 KMS 运行, Frost2x 作为 nos2x 分支的 NIP-07 签名器运行.

nostr:nevent1qvzqqqqqqypzpqtjhys9y37al6vm0qejq7pdqvf05vz6rx0m90528ejk8cstfu8zqqsz6w4vnnmk5gxxmqceqjrzkmjxch9g6l6yk7kwufyq0mtphr52dmscmgm6z

Reply to this note

Please Login to reply.

Discussion

感觉就像是反向的 multi-sig 一样. 不过依然没办法控制客户端使用的密钥片段的权限, 无法防御恶意客户端的攻击.

现在的 signer 不是可以做到密钥不给客户端了吗

密钥只存在 signer 手上

然而并不是所有的客户端都支持所有签名器, 比如很多网页客户端都还是只支持 NIP-07, 在手机上就只能用你的专用浏览器或者支持扩展的浏览器. 总会有用户觉得麻烦而直接把私钥交给客户端的.

有些客户端一次性索取的权限也是非常多, 普通用户可能根本不清楚这些权限和事件类型是干什么用的.