valeriusvarda/spectra-asset-protocol-lab
GitHub: valeriusvarda/spectra-asset-protocol-lab
SPECTRA 是一个跨标准区块链资产协议安全研究实验室,旨在通过确定性模型和对抗性测试在集成前检测不同区块链平台资产语义中的安全与结算不一致。
Stars: 0 | Forks: 0
# SPECTRA
## 跨标准资产协议安全观测站
**代码库:** `spectra-asset-protocol-lab`
**状态:** 第 0 天 — 代码库搭建与规范阶段
**项目类型:** 独立的协议安全研究实验室
## 研究问题
不同区块链资产标准的 transfer、approval、authorization、supply、event、precision 以及跨链行为能否在一个共享的可执行模型下表达,从而在集成前检测出安全性与财务结算的不一致性?
SPECTRA 通过机器可读规范、确定性状态转换、对抗性执行轨迹、不变量测试、一致性分析以及证据驱动的可视化来研究这一问题。
## 范围
初步的比较范围仅限于以下平台中的同质化资产语义:
* Ethereum ERC-20
* TRON TRC-20
* BNB Smart Chain BEP-20
* Algorand ARC-200
本项目还引入了:
### SASP-1
**安全资产语义规范 — 实验性草案**
SASP-1 是一个研究级实验性规范,旨在将安全关键的资产行为提取为确定性、可测试且机器可读的规范。
SASP-1 不是官方标准、行业提案,也不是可用于生产环境的 token 规范。
## 明确的非目标
SPECTRA 不声称:
* 引入可用于生产环境的 token 标准;
* 对 ERC-20、TRC-20、BEP-20 或 ARC-200 进行完整审计;
* 实现可用于生产环境的桥接器;
* 对每个组件进行形式化验证;
* 证明实现没有任何漏洞;
* 提供交易策略;
* 替代官方协议规范。
本项目被设计为一个专注于行为正确性和安全性证据的、小型且可复现的研究实验室。
## 冻结的 MVP
七天的 MVP 仅限于:
1. 四个有来源支持的标准清单。
2. 一个实验性的 SASP-1 清单。
3. 一个确定性的 TypeScript 状态转换模型。
4. 一个最小化的、兼容 ERC-20 的参考实现。
5. 故意设计为不合规和安全的合约变体。
6. 四个对抗性场景:
* allowance 状态竞争;
* 非标准的 transfer 语义;
* 精度与结算差异;
* 跨链 supply 违规。
7. 八个明确定义的安全不变量。
8. 易受攻击与安全实现的执行对比。
9. 基于轨迹的技术可视化。
实时链上部署、完整的 ARC-200 实现、生产级桥接集成、繁重的形式化验证工具以及广泛的协议覆盖范围均不在 MVP 范围内。
## 系统架构
```
flowchart LR
A[Official Specifications] --> B[Standard JSON Manifests]
B --> C[SASP-1 Experimental Profile]
C --> D[Deterministic State Model]
C --> E[Reference and Adversarial Contracts]
D --> F[Scenario Runner]
E --> G[Foundry Test Layer]
F --> H[Deterministic Traces]
G --> H
H --> I[Conformance Engine]
H --> J[Invariant Evaluator]
I --> K[Evidence Records]
J --> K
K --> L[Visual Observatory]
```
## 计划的安全不变量
初始模型将定义并测试:
* **INV-01 — Supply 守恒**
* **INV-02 — Balance 守恒**
* **INV-03 — Authorization 完整性**
* **INV-04 — Allowance 安全性**
* **INV-05 — Event 与 State 一致性**
* **INV-06 — Replay 唯一性**
* **INV-07 — 结算一致性**
* **INV-08 — 确定性 Replay**
每个不变量最终将包含:
* 自然语言定义;
* 数学定义;
* 依赖的状态变量;
* 违规场景;
* 可执行测试映射;
* 轨迹证据;
* 可视化表示。
## 证据模型
只有当安全或一致性声明能够与一个或多个具体制品相关联时,该声明才会被接受:
```
Specification Requirement
↓
State Transition or Contract Behavior
↓
Test or Adversarial Scenario
↓
Deterministic Execution Trace
↓
Invariant or Conformance Result
↓
Human-Readable Visualization
```
静态分析输出可作为支持性证据,但不被视为安全证明。
## 代码库结构
当前第 0 天的结构:
```
spectra-asset-protocol-lab/
├── docs/
│ └── README.md
├── standards/
│ └── README.md
├── .gitignore
└── README.md
```
仅当包含实际的项目制品时,才会引入额外的目录。
计划在后期阶段引入的目录包括:
```
contracts/
test/
model/
traces/
frontend/
scripts/
```
## 研究与工程原则
* 官方和一手来源优先于二手总结。
* 相似的接口名称不得被视为语义等价的证据。
* 每个重要的状态转换都必须定义其前置条件和后置条件。
* 安全发现必须识别出可衡量的技术影响。
* 可视化必须基于真实的清单、测试或执行轨迹生成。
* 必须使用等效的输入来评估易受攻击和安全的实现。
* 确定性 replay 必须为相同的有序输入集产生相同的最终状态哈希。
* 局限性和不支持的声明必须保持可见。
## 计划的文档
本项目将逐步产出:
* `docs/specification.md`
* `docs/threat-model.md`
* `docs/invariants.md`
* `docs/methodology.md`
* `docs/findings.md`
* `docs/limitations.md`
这些文档只有在产生第一批实质性内容后才会被添加。
## 当前可复现性状态
代码库目前仅包含初始的研究脚手架。
构建、测试、replay、可视化和验证命令将在引入相应的可执行组件后提供文档说明。
## 作者
**Valerius VARDA**
研究兴趣包括协议工程、区块链安全、金融基础设施、确定性系统以及对抗性测试。
标签:Homebrew安装