两百万枚 RAND 送给早期采用者
屏蔽转账需要支付以 RAND 计价、并绑定在电路内部的手续费。定理 5.3 证明,这是结构性要求,而非定价决策:若从你自己的账户以透明方式支付手续费,这笔转账的匿名集就会坍缩为你一人。因此,新地址在持有 RAND 之前无法在 devnet 上发起交易,而这正是本水龙头将要发放的内容。
我们为此预留了两百万枚 devnet RAND,按贡献发放:早期采用者、影响者、译者或社区组织者 100 枚 RAND,技术文档撰写者或设计师 150 枚,开发者或节点运营者 250 枚,计算机科学家或协议经济学家 500 枚,安全研究员 750 枚,密码学专家 1,000 枚。请告诉我们你是谁、为什么关心隐私、能构建什么,并提供接收这笔发放的屏蔽地址。我们会发送一条确认链接;点击后,你的发放额度即被确定,你的回答会被记录,你也会进入名单。多这一步正是关键所在——这样就不会有人因为别人输入了他们的邮箱而出现在名单上,或收到我们的邮件。
网页版水龙头尚未开放。目前唯一的水龙头内置于节点之中:由一个 validator 签署铸造,最多 100 RAND,存入面向某个屏蔽地址的 note,开箱即可在本地双 validator 链上使用。
加入名单
你是谁、从事什么工作,以及这笔发放应送达的屏蔽地址。在收件箱中确认邮件后,你的发放额度即被确定。地址目前为选填项:待你有了地址,请用同一邮箱再次报名,确认该链接即可将其关联。
你的回答、邮箱、账号和地址存储在我们自己的源站服务器上,仅用于决定并发放额度、发送本次确认邮件,以及在水龙头开放时通知你。邮箱会交给我们的邮件服务商 Resend 用于投递,不会交给任何其他方。屏蔽地址在设计上是公开的:它用于接收 note,不会泄露其中持有的任何信息。 表单由 Cloudflare Turnstile 校验,它能看到请求,但不会收到你的邮箱;我们选用它而不是 reCAPTCHA,以确保任何访客数据都不会流向 Google。 只需告知,我们就会删除你的记录。
按贡献发放
以最高角色为准- 密码学专家 1,000 RAND
- 安全研究员或审计员 750 RAND
- 计算机科学家 500 RAND
- 协议经济学家或机制设计者 500 RAND
- 开发者 250 RAND
- 节点运营者 250 RAND
- 技术文档撰写者 150 RAND
- 设计师 150 RAND
- 影响者 100 RAND
- 译者 100 RAND
- 社区组织者 100 RAND
- 早期采用者 100 RAND
请勾选所有适用的角色;发放额度以其中最高的一项为准,并在你确认邮箱的那一刻确定。我们会阅读每一份回答,若发放额度与所述工作不符,我们可以暂不发放。
两百万枚 RAND,按贡献发放
人工审核我们预留了两个各 1,000,000 枚 devnet RAND 的资金池:一个面向参与初始设计与实现的人员——密码学家、安全研究员、计算机科学家、经济学家、开发者、节点运营者、技术文档撰写者和设计师;另一个面向带来更多用户的早期采用者、影响者、译者和社区组织者。我们依据你的回答来决定谁得到多少,所以请如实告诉我们你实际做什么。
主网上线时会怎样
顺延至主网待 mainnet-beta 上线后,水龙头发放的额度将顺延至主网。在此之前,devnet RAND 没有价值,不可兑换,也不能交易。加入此名单不是预售:没有任何出售,也无需支付任何款项。
生成屏蔽地址
一个 Rand 钱包就是一个 256 位的花费密钥。其他一切——查看密钥、nullifier 密钥、用于封装 note 的 ML-KEM-768 密钥,以及地址本身——都由它派生。全节点仓库中的钱包二进制文件负责生成密钥并打印地址;这两步都不需要运行节点。
地址由 rand1 加约 1,660 个 base58 字符构成:note 所有者字段加上 1,184 字节的封装密钥。它在设计上是公开的。密钥文件则不是,而且它是唯一的副本:此版本没有助记词,丢失它就意味着失去它所能打开的每一个 note。
# 1. Rust(rustup 会自动采用固定的 1.98.1 工具链)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 2. 克隆全节点并构建钱包。钱包 crate 不依赖 RocksDB 或
# libp2p,因此单独构建它可跳过节点的 C++ 构建依赖
git clone https://github.com/randprotocol/fullnode.git
cd fullnode
cargo build --release -p rand-client # target/release/rand
# 3. 生成花费密钥。写入 wallet.key.json,权限为 0600;拒绝覆盖已有文件
target/release/rand keygen
# wrote wallet.key.json
# address: rand1x7Qk…
# 4. 随时可再次打印地址,并将完整内容粘贴到上方表单中
target/release/rand address
target/release/rand address | pbcopy # macOS:直接复制到剪贴板
target/release/rand address | xclip -sel clip # Linux
分享地址,切勿分享密钥
表单只需要 rand1… 字符串,别无其他。密钥文件是一行保存花费密钥的 JSON;任何拿到它的人都能花掉该地址收到的每一个 note。请将其备份到私密的位置,并保持权限为 0600,这也是钱包写入它时所用的权限。
先在本地试一试
完整构建后,scripts/local-testnet.sh 会在你的机器上启动一条双 validator 链,rand faucet 会将 100 RAND 铸造到只有你的密钥才能打开的 note 中。其余内容见运行节点页面。
这里的一切都不依赖水龙头
这笔发放将用于的 devnet 目前已可在本地运行,它所运用的密码学也已有文献可查。两者都无需排队等待。