文档
安全模型与局限
这一设计保护什么、不保护什么,以及哪些部分仍未完成。
测试网络:代币没有价值
哪些是隐藏的
- 一笔付款的发送方、接收方和金额。
- 备注。
- 一笔付款花费了哪些票据:被花费的票据只显示一个作废标识(nullifier)。
哪些是公开的
- 发生过一笔付款,以及它是何时被打包进区块的。
- 每笔交易支付的手续费,因此也就大致能知道它有多少个操作。
- 每种代币的总供应量。
- 对于兑换,经过兑换池的两个金额,以及池的储备量。
- 在跨链桥上,Ethereum 一侧的一切:代币、金额、地址。
- 时间信息:区块的时间及其在链中的位置。
节点运营者能了解到什么
节点通过 HTTPS 接收构建完成的付款,并看到它来自哪个网络地址。监视节点所在网络的人,或节点本身,可能把该地址与付款发送的时间联系起来。Tint 不会隐藏你的 IP 地址。如果这一点对你很重要,请通过你信任的网络连接节点。
公共节点的代理不保留访问日志。这是运营者的选择,你无法从外部验证。
在手机上
- 密钥来自在设备上生成的 24 个单词的助记词。助记词和密钥绝不会发送给节点。
- 进入钱包由密码保护,如果你开启,还有 Face ID 或 Touch ID。
- 内置浏览器在隔离的 Web 视图中显示页面,无法访问钱包。它的数据存在于内存中,关闭时即被丢弃。
- 浏览器的钓鱼检查只判断地址。它可能漏掉新出现的诈骗网站,也不会向网站隐藏你的 IP 地址。
有缺陷或有恶意的钱包只能生成会被账本拒绝的付款:钱包代码对共识并不关键。但恶意应用可能窃取它所持有的密钥,因此请只通过你收到的 TestFlight 邀请安装应用。
共识与去中心化
- 共识是 BFT 权益证明,验证者集合在创世时固定。
- 在公共测试网络上,四个验证者都运行在同一台服务器上。谁控制这台服务器,谁就控制这条链。
- 付款目前尚不在节点之间转发:只有当收到付款的节点轮到出块时,这笔付款才会被打包。
- 账本状态保存在内存中,重启时由已存储的区块重建。
- 网络可以被重置:第一个区块可以被替换,随后每个钱包都会读取一条新的链。
密码学
隐私建立在 Orchard 协议和 Halo 2 证明之上,二者不需要可信设置。Tint 对它们的使用,包括其多币种扩展、兑换池以及周边代码,都是全新的,尚未经过外部人员的审查。其中的缺陷可能破坏隐私,或导致代币被凭空创造或丢失。
跨链桥
跨链桥是托管式的:由其签名者决定放行什么,合约的所有者挑选签名者,并且可以暂停它。单笔和单日的限额限定了失误造成的损失。参见跨链桥。
该怎么做
- 把这个网络上的每一枚代币都当作一文不值,把每个余额都当作临时的。
- 把助记词保存在纸上,不要给任何人看。
- 不要在这里使用你在其他钱包中的真实助记词。
- 使用钱包中的公共网络时,要像在其他任何地方一样谨慎:它们持有真实资金,其上的交易无法撤销。