Saurabh Kumar, Bitcoin Data Labs
本论文的代码、聚合数据与 LaTeX 源文件。arXiv 分类:cs.CR,交叉分类 cs.NI。
数据截止日期:2026-10-13。
闪电网络 gossip 不携带软件版本信息,因此运营者是否响应安全公告从未被测量过。本文根据每个公开的 LND、Core Lightning、Eclair 和 LDK 节点所宣告的特性位推断其发布线,并与每个版本的源代码进行匹配,再将其应用于 2023 年 5 月至 2026 年 10 月的每日 gossip 快照。网络打补丁依据的是发布与平台的时间表,而非漏洞披露:处于较旧发布线的一半 LND 节点会在版本发布后 88 天内升级;最大的升级浪潮出现在 Umbrel 应用商店发布新 LND 版本约一天之后;在 12 个可测试的披露中,只有 Core Lightning 于 2026 年 7 月发布的披露提高了节点离开受影响版本的比例,且仅限于落后一个发布线的节点;Core Lightning 关于重启离线节点的呼吁,主要得到的是已经处于最新发布线的节点响应。在 Lightning Labs 2026 年 8 月批次发布两个月后,披露时暴露的节点中仍有 71% 运行着受影响的版本。
paper/:LaTeX 源文件(main.tex、sections/、references.bib、figures/、tables/、numbers.tex)、编译后的 main.pdf 以及构建脚本。src/01_*.py … src/05_*.py:五个流水线阶段。src/lnmetrics/:冻结的推断规则与参考数据:客户端规则(client_fingerprint.py)、包含每个版本特性位的版本表(ln_release_features.json,由 version_fingerprint.py 读取)、包含每次披露公开来源的公告列表(advisories.py)、带日期的平台发布记录(platforms.py),以及 gossip 读取器与面板辅助函数(gossip.py、panel.py)。data/:支撑每个图、表和正文数字的聚合 JSON 输出。scripts/package_arxiv.py:构建 arXiv 上传包。pip install -r requirements.txt
流水线以 Parquet 文件形式读取公开闪电网络 gossip 图的每日快照;src/lnmetrics/gossip.py 记录了预期的目录布局(gossip_daily/{nodes,policies,_quality.parquet})。底层 gossip 数据是公开的;我们的每日快照可向作者索取。通过以下方式将流水线指向这些数据:
export LN_PARQUET_DIR=/path/to/parquet # default: data/parquet
每个阶段都会在 DATA_CUTOFF(src/config.py)处截断其输入,并将图写入 paper/figures/、表写入 paper/tables/、数字写入 data/*.json。
python src/01_build_panel.py # node-day panel: client, release line, liveness, fleet flag (~7 min) -> data/panel/
python src/02_validate_lines.py # release-line validation and consistency checks -> Fig. 1, Table I
python src/03_upgrade_dynamics.py # adoption, time to upgrade, hazard model, platform waves -> Figs. 2-5, Table II
python src/04_advisory_exposure.py # exposure per advisory, response to disclosure, robustness -> Figs. 6-7, Tables III-V
python src/05_supporting_numbers.py # every number quoted in the text -> paper/numbers.tex
节点-日面板(data/panel/,约 1.3 GB)未提交至仓库。
paper/build.ps1(Windows,MiKTeX)依次运行 pdflatex → bibtex → pdflatex,直到引用稳定;build.bat 可从 cmd 运行该脚本。在其他系统上:
cd paper && pdflatex main && bibtex main && pdflatex main && pdflatex main
随后 python scripts/package_arxiv.py 会将 arXiv 包写入 dist/。
仅发布聚合数据:论文或 data/ 中均不发布按版本、平台或暴露情况对单个节点进行的列表、排名或标注。
MIT(见 LICENSE)。