tnzx-project/visual-stratum-spec
GitHub: tnzx-project/visual-stratum-spec
Visual Stratum 是一个通过加密货币挖矿流量封装通信的正式协议规范,旨在提供隐蔽的数据传输方案。
Stars: 0 | Forks: 0
# Visual Stratum 协议规范
**Visual Stratum** 协议套件的正式规范——通过加密货币挖矿流量进行封装通信。
## 本规范定义内容
| 章节 | 内容 |
|------|------|
| 编码配置文件 | 6种用于在 Stratum share 字段中嵌入数据的配置文件 (VS1/VS2/VS3) |
| 帧格式 | 消息分片、重组与类型封装 |
| 挖矿门控 | 工作量证明访问控制状态机 (INACTIVE → GRACE → ACTIVE) |
| 幽灵 Share 检测 | 矿池侧的数据承载 share 识别 |
| 密码学设计 | X25519 ECDH, XChaCha20-Poly1305, HKDF-SHA256, 重放保护 |
| 代理架构 | 用于未修改 Stratum 矿池的透明 VS3 中间件 |
| 多通道传输 | 跨 Stratum、PNG、WebSocket 和 HTTP/2 通道的自适应路由 |
| 链适配 | Monero (RandomX) 和 Bitcoin 风格矿池支持 |
| 安全考虑 | 威胁模型、流量分析、检测向量 |
## 状态
| 文档 | 版本 | 状态 |
|------|------|------|
| [Visual Stratum协议](spec/visual-stratum.md) | draft-01 | 开发中 |
本规范遵循 RFC 2119 惯例。目标是:仅凭本文件,实现者应能构建兼容的编码器、解码器和代理。
## 快速概览
```
Miner A VS3 Proxy / Pool Miner B
| | |
|-- mining.submit (ghost) -->| extract payload |
| [sentinel + encrypted | reassemble frames |
| payload in nonce/ntime] | route to recipient |
| |-- job notification (injected) ->|
| | [VS3 frame in job fields] |
| | |
Pool sees: valid Stratum | Observer sees: mining traffic |
No content, no metadata | No distinguishing features |
```
## 编码概览
| 配置文件 | 每 share 字节数 | 方法 | 隐蔽性 | 链 |
|----------|-----------------|------|--------|----|
| VS1 | 1 | Nonce 最低有效位 (真实 share,有效 PoW) | 最高 | 任意 |
| VS2 | 3 | Nonce + extranonce2 (真实 share,有效 PoW) | 最高 | Bitcoin 风格 |
| VS3 | 5 | 幽灵 share (无需 PoW) | 高 | Monero |
VS1 和 VS2 完全受掩护约束——负载嵌入在通过完整工作量证明验证的真实 share 中。VS3 使用带有哨兵标记的幽灵 share,以牺牲部分隐蔽性换取带宽。
## 相关代码仓库
| 仓库 | 描述 |
|------|------|
| [tnzx-protocol](https://github.com/tnzx-project/tnzx-protocol) | 参考实现、SDK、设计文档、测试向量 |
| [tnzx-pool-demo](https://github.com/tnzx-project/tnzx-pool-demo) | VS3 代理和矿池概念验证,已在生产矿池测试 |
| [@tnzx/sdk](https://www.npmjs.com/package/@tnzx/sdk) | 开发者 SDK — `npm install @tnzx/sdk` |
## 交互式演示
- **[协议浏览器](https://tnzx-project.github.io/tnzx-protocol/learn/)** — 可视化地逐步查看协议流程
- **[消息流演示](https://tnzx-project.github.io/tnzx-pool-demo/demo.html)** — 完整消息流的动画演练
## 约定
本规范使用 RFC 2119 中描述的关键词:必须 (MUST)、不得 (MUST NOT)、要求 (REQUIRED)、应 (SHALL)、不应 (SHALL NOT)、应该 (SHOULD)、不应该 (SHOULD NOT)、推荐 (RECOMMENDED)、可以 (MAY) 和 可选 (OPTIONAL),详见 [RFC 2119](https://www.rfc-editor.org/rfc/rfc2119)。
## 许可证
本规范采用 [CC-BY-SA-4.0](LICENSE) 许可。
参考实现采用 LGPL-2.1 许可。
标签:数据可视化