群里偶尔会有人因为账号被封,然后换号重新加入。这种情况下,如何可信地证明自己就是之前的那个人呢?我设计了一种基于零知识证明思想的微博账号转世金瓶掣签制度。
# 微博账号转世金瓶掣签操作指南
## 1. 旧账号存活时执行的操作
如需为转世做准备,可在终端运行以下命令:
```bash
openssl genpkey -algorithm Ed25519 -out private_key.pem
openssl pkey -in private_key.pem -pubout -out public_key.pem
```
把 `public_key.pem` 发到群里,并妥善保管私钥文件 `private_key.pem`。
## 2. 使用新账号执行的操作
声明自己的旧帐号是什么,并请群内任意人发出挑战数据。推荐用当天某个微博热搜标签作为挑战数据。假设挑战数据保存在文件 `nonce.txt` 中,在终端运行以下命令:
```bash
openssl pkeyutl -sign -inkey private_key.pem -rawin -in nonce.txt -out sig.bin
```
然后把文件 `sig.bin` 发回微博群。
## 3. 金瓶挚签
群友可对旧帐号所发出的公钥 `public_key.pem` 和新账号发出的 `sig.bin` 在终端执行以下命令:
```Bash
openssl pkeyutl -verify -pubin -inkey public_key.pem -rawin -in nonce.txt -sigfile sig.bin
```
如果命令输出 `Signature Verified Successfully`,则证明新账号持有人确为旧账号本人,金瓶掣签成功。
发布于 北京
