sunilgentyala/SybilShield-Core
GitHub: sunilgentyala/SybilShield-Core
一个模块化的区块链抗 Sybil 攻击框架,通过复合信任评分引擎融合多维度信号检测并隔离恶意节点,无需依赖工作量证明或中心化身份机构。
Stars: 1 | Forks: 0
# SybilShield-Core
**一个面向无许可点对点区块链网络的模块化、多层抗 Sybil 框架。**
[](https://ieeexplore.ieee.org/document/11604799) [](https://sunilgentyala.github.io/SybilShield-Core/)
SybilShield-Core 实现了一个 Composite Trust Scoring (CTS) 引擎,该引擎融合了行为遥测、社交图谱拓扑分析和经济承诺信号,以检测并隔离 Sybil 实体,且无需依赖 Proof-of-Work 消耗或中心化身份认证机构。
项目网站:**[sunilgentyala.github.io/SybilShield-Core](https://sunilgentyala.github.io/SybilShield-Core/)**
## 为什么选择 SybilShield-Core
Sybil 攻击是每个无许可网络的结构性弱点:攻击者能够以近乎零的成本铸造假名身份,从而扭曲共识、分割诚实节点,并毒害去中心化数据 pipeline,而这一切甚至都不需要破坏任何加密原语。这使得抗 Sybil 成为一个社会性的网络安全问题,而不仅仅是区块链问题,因为同样的身份欺骗模式也助长了对联邦学习、oracle 数据源以及任何假定“一个节点一票”的去中心化系统的攻击。
- **弥补了 Proof-of-Work 和身份认证机构均无法解决的空白。** PoW 能提高小型攻击者的成本,但对资源充足的攻击者无能为力;而中心化的身份检查则重新引入了无许可系统旨在避免的单点故障。相反,Composite Trust Score (CTS) 通过可观测的证据来检测 Sybil 行为,既没有协议级别的身份阻力,也不需要受信任的第三方。
- **经实测,优于纯图谱基线。** 在一个真实、可运行的模拟中(`scripts/run_simulation.py`,n=300 个诚实节点,20 次试验/配置),复合 CTS pipeline 在 10-30% 的攻击者密度下,面对活跃攻击的 Sybil 群体达到了 100% TPR / 0.00% FPR,而在相同拓扑结构下,简化的纯图谱传播基线的 TPR 为 65.9-100% / FPR 为 0.0-11.0%。请参阅 [`simulation/results/sybil_detection_results.txt`](simulation/results/sybil_detection_results.txt) 获取完整的数据、方法论以及客观存在的局限性(包括为什么半休眠状态的 Sybil 群体只能被检测出约 48-51%)。
- **FL 中毒防御已接入但尚未进行基准测试。** `oracle_deviation` 惩罚事件已经存在并由相同的模拟进行了演练,但此仓库中尚不存在 FL 聚合模块或模型准确率/后门抵抗力的基准测试。之前关于将中毒模型后门准确率从 84.7% 降至 11.3% 的声明没有任何可运行代码的支持,该数据已被删除,而不是用另一个未经证实的数字代替。
- **缓解措施是分层的;自动撤销是一个已知缺陷。** 缓解措施会逐步升级(从监控到减少 quorum 权重,再到隔离),但正如本次基准测试所测,参考实现 `CTSEngine` 的隔离标志目前是一个单向锁存器——即使当分数恢复并超过 `configs/monitoring.yaml` 中的恢复阈值时,它也不会自动恢复某个节点。这是已公开披露的缺陷,而非被静默修复。
- **开放且可复现。** 采用 MIT 许可证的参考实现、真实的模拟测试环境以及单元测试均完全公开,因此上述检测率和开销数据可以独立地重新运行和验证,而不是仅仅盲目相信。
## 架构概述
该框架围绕三个可分离的引擎层构建,每一层都可以独立测试和替换:
**第 1 层 - 身份与评分 (`src/core/`)**
根据持仓时间、行为一致性以及图论中心性指标,为每个节点分配动态信任分数。评分过程是确定性且可审计的。
**第 2 层 - 监控 (`src/monitoring/`)**
收集实时遥测数据:区块中继时间、mempool 传播模式、节点连接流失率以及投票偏差。持续为评分引擎提供数据。
**第 3 层 - 缓解 (`src/mitigation/`)**
根据评分阈值采取行动:隔离、权益惩罚以及减少 quorum 权重。没有任何单一缓解原语会被孤立应用;引擎会根据攻击分类选择一种组合。
**设计模式:带事件总线的分层 Pipeline**
核心缓解引擎遵循内部事件总线上的管道与过滤器模式。每个监控探针都会发布类型化事件;下游过滤器则应用逐渐严格的检测启发式算法。检测逻辑和执行逻辑保持解耦,因此无需触及另一层即可对任意一层进行升级或替换。
## 目录结构
```
SybilShield-Core/
├── src/
│ ├── core/
│ │ ├── identity/ # (stub) Peer identity management, key binding, commitment schemes
│ │ ├── scoring/ # Composite Trust Score engine, decay functions -- IMPLEMENTED
│ │ └── consensus/ # (stub) Consensus weight assignment, quorum arbitration
│ ├── monitoring/
│ │ ├── behavior/ # Block relay timing, mempool flood detection -- IMPLEMENTED
│ │ ├── graph/ # Peer topology snapshots, clustering/SybilRank probes -- IMPLEMENTED
│ │ └── telemetry/ # (stub) Metrics collection, event bus publisher
│ └── mitigation/
│ ├── quorum/ # (stub) Dynamic quorum weight reduction for flagged nodes
│ ├── penalty/ # (stub) Stake slashing and connection throttling
│ └── isolation/ # Eclipse prevention, peer list sanitization -- IMPLEMENTED
├── simulation/
│ ├── network/ # Synthetic P2P topology generation (Barabasi-Albert, networkx)
│ ├── adversary/ # Sybil attack event generator (single-shot, no network model)
│ ├── scenarios/ # Sybil injection + the real detection pipeline that wires
│ │ # src/core, src/monitoring, src/mitigation together
│ └── results/ # Measured output of scripts/run_simulation.py
├── tests/
│ ├── unit/ # Component-level tests
│ ├── integration/ # (empty -- no cross-layer pipeline tests yet)
│ └── simulation/ # Smoke tests for the detection pipeline
├── configs/ # Default monitoring/scoring configuration YAML
├── scripts/
│ ├── run_simulation.py # Real detection-pipeline simulation runner (see Quick Start)
│ └── generate_ieee_docx.py # IEEE DOCX generator (delegates to paper/build_docx.py)
└── paper/ # DOCX build script for the IEEE manuscript (not the manuscript itself)
```
上面标记为 `(stub)` 的目录仅包含一个 `__init__.py` ——目前那里还不存在任何功能
性代码。在此 README 早期版本中提到的 `analysis/` 和 `artifacts/` 目录在仓库中并不
存在,已从本列表中移除,而不是将其作为期望的结构保留。
## 快速开始
```
git clone https://github.com/sunilgentyala/SybilShield-Core.git
cd SybilShield-Core
pip install -e ".[dev]"
# 运行真实的 Sybil-detection 模拟(将 src/core/scoring/cts_engine.py、
# src/mitigation/isolation/isolation_guard.py、src/monitoring/behavior/relay_monitor.py
# 和 src/monitoring/graph/peer_graph.py 连接起来,针对生成的网络运行)。
# 小型/快速 smoke 运行:
python scripts/run_simulation.py --nodes 60 --trials 3 --scenario eclipse --sybil-ratios 0.20
# 用于生成 simulation/results/sybil_detection_results.txt 的完整 benchmark 规模
# (在现代笔记本电脑上约需 10-13 分钟):
python scripts/run_simulation.py --nodes 300 --trials 20 \
--sybil-ratios 0.10,0.20,0.30 --scenario all --intensities 1.0,0.5
# 运行单元 + 模拟测试
pytest tests/unit/ tests/simulation/ -v
```
完整的实测结果、方法论、工具版本和客观的范围限制请参阅
[`simulation/results/sybil_detection_results.txt`](simulation/results/sybil_detection_results.txt)。
## 实测结果
以下数据来自针对此仓库自身的 `CTSEngine`、`BehaviorMonitor`、`PeerGraph` 和
`IsolationGuard` 类实际运行的 `scripts/run_simulation.py`——而不是占位符或
预测数据。规模:n=300 个诚实节点(Barabasi-Albert 拓扑),每种配置 20 次试验,
每次试验 25 个模拟行为轮次,3 种 Sybil 密度(占总网络的 10/20/30%) x 2 种攻击者
活动水平 x 4 种攻击场景 = 总共 480 次试验(在本次运行的 WSL2/x86-64 环境下耗
时约 620 秒)。
| 指标 | 复合 CTS(本仓库) | 纯图谱基线 |
|---|---|---|
| TPR,活跃攻击者,所有密度 | **100.0%** | 65.9-100.0%(取决于密度) |
| FPR,活跃攻击者,所有密度 | **0.00%** | 0.0-11.0%(取决于密度) |
| TPR,半休眠 Sybil 群体 | ~48-51% | 65.9-100.0% |
| 检测延迟中位数(轮次) | 0-6(取决于攻击类型) | n/a |
| IsolationGuard eclipse-edge 拒绝率 | 27.5% (110/400) | n/a |
| 每连接计算开销 | 76.14 µs(对比 0.068 µs 的 no-op) | n/a |
**该规模小于此 README 和网站早期版本中断言的 2,000 个节点 / 10,000 个区块的
数据**,早期版本中的数据早于任何可运行模拟的出现。请参阅
[`simulation/results/sybil_detection_results.txt`](simulation/results/sybil_detection_results.txt)
获取按场景细分的完整数据,更重要的是,请阅读涵盖以下内容的客观局限性部分:
为什么纯图谱基线的数据会随密度发生机械性变化(固定的第 20 百分位标记配额,而
不是基于图谱检测的更深层属性),为什么休眠的 Sybil 群体的可检测性仅比随机猜测
略高(仅图谱信号对一个节点的评分最多贡献 ±10%),以及一个被发现的缺陷:
尽管论文描述缓解措施是可逆的,但 `CTSEngine` 的隔离标志永远不会自动重置。
本仓库中不存在联邦学习中毒防御基准测试(模型准确率/后门抵抗力)。
模拟演练了 `oracle_deviation` 惩罚事件,但不存在 FL 聚合模块来与真实的模型准确
率数据进行基准对比。早期关于“后门准确率从 84.7% 降至 11.3%”的声明没有任何可
运行代码的支持,该数据已被删除,而不是用另一个同样未经证实的数字代替。
## 相关论文
**SybilShield-Core:一种用于缓解无许可区块链网络中 Sybil 攻击的 Composite Trust Scoring 框架**
Sunil Gentyala (IEEE Senior Member, HCLTECH America Inc., 德克萨斯州达拉斯) |
K Sanjeevaiah (Malla Reddy Engineering College for Women,印度海得拉巴) |
Suresh Kumar Darisi (Rocket Software Inc.,德克萨斯州达拉斯)
**已在 [IEEE Xplore](https://ieeexplore.ieee.org/document/11604799) 发表** — IEEE ICICDS 2026 (论文 ID ICICDS-690)。根据 IEEE 版权政策,该手稿不可公开重新分发;如需官方摘要和引用,请查阅 IEEE Xplore 记录。
## 许可证
MIT
标签:信任评分, 区块链, 去中心化网络, 图拓扑分析, 女巫攻击防御, 安全防护, 特权检测, 逆向工具