这个项目能做什么

ShadeNet 是一个基于 Tor 的出口层,当直接的明网连接被阻断时,它为本地代理提供匿名网络访问。代理与一个本地 Proxy 一起运行,该 Proxy 通过 Tor 打开通往 Shade Tree 节点的隧道。每条隧道都需要一个 Groth16 RLN 证明,证明其属于某个已接纳的 Merkle 根,同时不泄露具体是哪一片叶子,并将目标和 nonce 绑定到一个私有的按 epoch 划分的消息槽位。节点在出口前验证证明,并使用按 epoch 划分的 nullifier 来执行隧道限制。 关键角色:Proxy 在代理旁边运行,并通过 Tor 打开隧道;Shade Tree 节点验证证明并建立面向目标的连接;Elder Tree 是一个引导节点,缓存已签名的公告并提供 canopy 目录;canopy 是一组节点以及列出它们的已签名目录。 存在两种实现。Node.js 版本是全栈参考实现,涵盖 Proxy、SDK、Shade Tree 节点、Elder Tree 和运维工具。Rust 版本是主要的代理发行版:一个自包含的 `-live` 二进制文件,可创建身份、运行内嵌 Arti 的 CONNECT Proxy、启动一个代理作用域的 agent,并暴露一个可复用的出口客户端。它既不需要 Node.js,也不需要客户端侧的 Tor 守护进程。 成员资格使用 Sepolia 测试网质押。一份保证金可在每个 60 秒 epoch 购买一条 CONNECT 隧道,合并有效载荷上限为 40 MiB。成员可以注册、质押,之后退出并提取保证金,而无需泄露身份秘密——每个操作都由本地生成的证明授权,只有公开承诺和与操作绑定的证明会上链。 该项目是未经审计的研究预览版。值得注意的边界:目标会看到节点 IP,并可以将其屏蔽;节点会看到目标主机名、端口、时序和字节数,但不会终止 TLS;Tor 无法防止同时观察两端的观察者进行时序关联;重放和速率统计在单节点层面最强,并可选地采用故障开放式的跨节点计数。代码库包括 JS 包(node、SDK)、Rust crate(二进制、出口/协议、RLN 证明器)、可选的 Solidity 合约、已签名的测试网络记录以及协议规范。采用 MIT 许可证。