LakshmisagarBR/quantumtrace
GitHub: LakshmisagarBR/quantumtrace
一款只读的区块链取证工具,通过扫描钱包地址检测公钥是否已在链上暴露,量化评估加密资产在未来量子计算攻击下的风险等级。
Stars: 0 | Forks: 0
# QuantumTrace — 量子漏洞扫描器




**你的加密钱包对量子计算机安全吗?**
[🔍 在线演示](https://quantumtrace.vercel.app) · [📖 方法论](https://quantumtrace.vercel.app/methodology) · [📚 来源](https://quantumtrace.vercel.app/sources) · [🛡️ 迁移指南](https://quantumtrace.vercel.app/migration-checklist)
## 什么是 QuantumTrace?
QuantumTrace 是一款免费的、只读的区块链取证工具,它可以扫描任何 Ethereum、Bitcoin、Solana 或 XRP 钱包地址,并告知你你的公钥是否已经在链上暴露——以及当量子计算机在 2029 年左右到来时,这对你的资金意味着什么。
这种威胁并非假设性的。2026 年 3 月,Google Quantum AI 发表了一篇论文,估计未来运行 Shor 算法的量子机器可以在大约 **9 分钟** 内破解一个 Bitcoin 或 Ethereum 私钥——这完全在 Bitcoin 10 分钟的出块时间之内。美联储也曾单独发出警告,当这种能力到来时,所有历史交易隐私都将彻底崩溃。
QuantumTrace 使这种威胁变得**个人化且可衡量**。粘贴你的钱包地址,几秒钟内你就会知道你真实的暴露状态、你的密钥在链上可见的时间、处于风险中的资产的 USD 价值、0 到 100 的风险评分,以及一份具体的行动计划。
无需连接钱包。无需私钥。无需助记词。所有信息均来自公开的区块链数据。
## 暴露机制的工作原理
要理解为什么这很重要,首先需要了解区块链工作原理中的一个关键事实。
当你创建钱包时,链上只会出现你的**钱包地址**。你的地址是你的公钥的哈希值——哈希是一种单向函数,因此没有人可以反向推导出你的公钥。在这个阶段,即使是面对量子计算机,你的钱包也相对安全,因为 Shor 算法需要公钥作为输入,而此时公钥还未可见。
当你**发送第一笔转出交易**的那一刻,你的钱包必须使用你的私钥对其进行加密签名。根据 ECDSA 的数学设计,该签名会向任何读取区块链的人永久揭示你的公钥。在第一次发送之后,你的公钥将被永久、不可变地记录在链上。
这就引发了**现在收集,以后解密 (Harvest Now, Decrypt Later, HNDL)** 攻击: adversaries(对手)如今正在下载区块链数据,收集已暴露的公钥并将其存储起来。当量子硬件成熟时,他们会推导出私钥,以你的身份签署欺诈性交易,并抽空你的钱包。区块链无法分辨其中的区别——因为该签名在密码学上是有效的。
QuantumTrace 会检查你的地址是否曾经发送过交易;如果是,还会检查你的密钥已经在公开账本上存在了多长时间,而装备了量子技术的 adversaries(对手)可能已经复制了这些信息。
## 功能特性
QuantumTrace v2.1 覆盖了四条区块链,主输入框上的每个标签页都显示了使用该链的钱包应用,以便用户准确知道该选择哪个标签页。
**Ethereum** 使用 Etherscan API 并带有完整的分页功能,以检查转出交易历史。公钥暴露遵循经典的 ECDSA 机制——任何曾经发送过交易的钱包都会将其密钥留在链上。
**Bitcoin** 支持所有三种地址格式:P2PKH(以 `1` 开头)、P2SH(以 `3` 开头)和 Native SegWit P2WPKH(以 `bc1q` 开头)。使用 Blockchain.info API,无需密钥。
**Solana** 具有独特的机制:Solana 地址*就是*公钥(base58 编码)。任何曾经出现在任何链上交易中的账户,其公钥都已被暴露。使用 Helius RPC endpoint(免费套餐,10 请求/秒)进行两阶段扫描:阶段 1 获取多达 3000 笔近期交易以计算数量,阶段 2 在区块链 slot 中使用二分查找来找到真正的首次暴露日期,即使是拥有数百万笔交易的巨型钱包也能处理。
**XRP Ledger** 使用 account Sequence number(账户序列号)来确定暴露情况。Sequence 在账户创建时从 1 开始,每次转出交易递增 1,因此 `Sequence - 1` 直接给出了转出交易的数量。使用公开的 XRPL cluster(集群),无需密钥。
每次扫描都会产生一个 **0 到 100 的风险评分**,该评分由四个加权因素构成:密钥是否暴露(最高 50 分)、已暴露多少年(最高 30 分)、已暴露资产的 USD 价值(最高 10 分)以及转出交易数量(最高 10 分)。
**“现在收集,以后解密”警告**包含一个个性化的五节点时间线,展示了钱包的实际首次暴露日期、2024 年 8 月 NIST PQC 标准里程碑、当前的 2026 年迁移窗口、约 2029 年的 CRQC 风险窗口,以及 Ethereum 全面实现量子抗性的 2030 年目标。
**迁移指南**是针对特定链的。Ethereum 用户被引导去监控 Hegotá 升级中的 EIP-8141。Bitcoin 用户被引导至 BIP 360。Solana 用户可以看到 Dilithium 测试网状态。XRP 用户可以看到 Ripple 官方的 2028 年后量子路线图。每一步都链接到权威来源。
**链状态板**展示了五大主要区块链——Bitcoin、Ethereum、Solana、XRP Ledger 和 Algorand——的量子就绪状态,包括其密码学算法、迁移状态和进度条。
## 技术栈
QuantumTrace 建立在一个刻意保持简单、快速的 tech stack(技术栈)之上,没有进行任何 AI API 调用。整个产品都是确定性的逻辑:获取公开区块链数据、计算、展示。
**前端**是使用 Next.js 14 和 App Router 构建的,样式采用 Tailwind CSS 和 shadcn/ui 组件,并部署在 Vercel 上。主要字体是 Outfit(圆润的几何标题),JetBrains Mono 专门用于原始数据值——钱包地址、分数、余额——使技术输出感觉精确且值得信赖。
**后端**是 FastAPI (Python 3.11+),部署在 Render 上。它处理四个独立的分析 endpoints,每个链一个,分别调用该链的 API,从 CoinGecko 获取实时价格,计算风险评分,并返回结构化的 JSON 响应。
**外部 API** 包括:
- **Etherscan API** — Ethereum 交易历史和余额(免费套餐,需要 API key)
- **Blockchain.info API** — Bitcoin 交易数据(免费,无需密钥)
- **Helius RPC** — Solana 账户数据和交易签名(免费套餐,100 万 credits/月,10 请求/秒)
- **XRPL Public Cluster** — XRP Ledger 账户信息(免费,无需密钥)
- **CoinGecko** — ETH、BTC、SOL 和 XRP 的实时 USD 和 INR 价格(免费,无需密钥)
## 项目结构
```
quantumtrace/
├── backend/
│ ├── main.py # FastAPI app — all four chain endpoints
│ └── requirements.txt # Python dependencies
└── frontend/
├── src/
│ ├── app/
│ │ ├── page.tsx # Main page, routing logic
│ │ ├── layout.tsx # SEO metadata, font loading
│ │ ├── methodology/page.tsx # How exposure is detected
│ │ ├── migration-checklist/page.tsx # Step-by-step migration guide
│ │ ├── sources/page.tsx # All primary sources cited
│ │ └── sitemap.ts # Auto-generated sitemap
│ ├── components/
│ │ ├── Hero.tsx # Landing input with chain tabs
│ │ ├── Navbar.tsx # Navigation bar
│ │ └── ResultsDashboard.tsx # Full results experience
│ └── lib/
│ └── chains.ts # Chain configuration (URLs, labels, etc.)
├── public/
│ └── quantumStatus.json # Chain status board data (manually maintained)
├── tailwind.config.ts
└── package.json
```
## 快速开始
### 前置条件
前端需要 Node.js 18+,后端需要 Python 3.11+。你还需要:
- 从 [etherscan.io](https://etherscan.io) 获取一个免费的 **Etherscan API key**
- 从 [helius.dev](https://helius.dev) 获取一个免费的 **Helius API key**(100 万 credits/月,10 请求/秒)
### 后端设置
克隆仓库,然后导航到后端目录并安装依赖。
```
git clone https://github.com/LakshmisagarBR/quantumtrace.git
cd quantumtrace/backend
pip install -r requirements.txt
```
在后端目录中创建一个包含你的 API 密钥的 `.env` 文件。此文件已列在 `.gitignore` 中,永远不会被提交。
```
ETHERSCAN_API_KEY=your_etherscan_key_here
HELIUS_API_KEY=your_helius_key_here
```
使用以下命令启动后端服务器。它默认运行在 8000 端口上。
```
uvicorn main:app --reload --port 8000
```
你可以通过访问 `http://localhost:8000/health` 来验证它是否运行正常,这应该会返回一个 JSON 响应,确认所有四条链均可用且版本为 2.0。
### 前端设置
在另一个终端中,导航到前端目录并安装依赖。
```
cd quantumtrace/frontend
npm install
```
在前端目录中创建一个 `.env.local` 文件,告诉 Next.js 在哪里可以找到后端。此文件同样位于 `.gitignore` 中。
```
NEXT_PUBLIC_API_URL=http://localhost:8000
```
启动开发服务器。
```
npm run dev
```
应用程序将在 `http://localhost:3000` 可用。
## 部署
生产部署使用 **Vercel 作为前端**,**Render 作为后端**。这两个平台都会检测主分支上的更改,并在每次推送时自动重新部署。
对于 Render,将根目录设置为 `backend`,构建命令设置为 `pip install -r requirements.txt`,启动命令设置为 `uvicorn main:app --host 0.0.0.0 --port $PORT`。在 Render dashboard(仪表板)中添加以下环境变量:
- `ETHERSCAN_API_KEY` — 你的 Etherscan API 密钥
- `HELIUS_API_KEY` — 你的 Helius API 密钥
对于 Vercel,将根目录设置为 `frontend`,并添加 `NEXT_PUBLIC_API_URL` 作为环境变量,指向你的 Render 后端 URL(例如,`https://quantumtrace-api.onrender.com`)。
两者都部署完成后,在 `backend/main.py` 中更新 `allow_origins` 列表,以包含你实际的 Vercel URL(如果它和当前值不同的话)。
## Solana 扫描架构
Solana 巨型钱包(例如拥有数百万笔交易的 Raydium 资金库)需要一种专门的两阶段方法来确定真正的首次暴露日期:
**阶段 1 — 交易计数**(快速,约 1 秒):使用 `getSignaturesForAddress` 获取多达 3 页(3,000 笔交易)。这对于风险评分已经足够,因为超过 50 笔转出交易就已经达到了暴露评分的满分。如果计数停留在分页限制上,前端会将其显示为 "3,000+",以表明真实计数更高。
**阶段 2 — 首次暴露二分查找**(约 5-10 秒):如果阶段 1 没有穷尽交易历史,则会触发跨区块链 slot 范围的二分查找。它使用 `getBlock` 对中点区块进行采样,并使用 `getSignaturesForAddress` 检查目标账户在每个中点之前是否有活动。即使对于拥有数百万笔交易的账户,这也能在约 10 次迭代内收敛到真实的首次交易 slot。
## 安全性
- **源代码中无凭证** — 所有 API 密钥均通过 `os.environ.get()` 从环境变量中加载
- **`.env` 文件已通过 gitignore 忽略** — 永远不会提交到版本控制中
- **错误消息已过滤** — API 密钥在记录日志前已从异常消息中被剔除
- **CORS 锁定** — 只允许 `localhost:3000` 和 `quantumtrace.vercel.app` 作为来源
- **只读操作** — 无钱包连接,无签名,无状态更改
- **输入验证** — 在任何 API 调用之前,所有地址都使用特定于链的正则表达式和格式检查进行验证
- **启动警告** — 缺少 API 密钥会在服务器启动时触发 `RuntimeWarning`
## 量子威胁背景
QuantumTrace 背后的紧迫性源于 2025-2026 年间大多数尚未将之联系起来的一股合力。
一方面,**代币化正在爆发**。BlackRock、Franklin Templeton、Nasdaq 和 JPMorgan 正在将股票、债券、房地产和稳定币代币化并转移到区块链上——主要是 Ethereum,它占据了所有代币化现实世界资产超过 65% 的份额。处于风险中的链上价值正接近数十万亿美元。
另一方面,**量子威胁的到来比预期的要快**。Google Quantum AI 2026 年 3 月的论文将破解 ECDSA 所需的估计量子比特数与之前的估计相比减少了大约 20 倍,将该威胁牢牢地置于 3 到 5 年的时间窗口内。NIST 于 2024 年 8 月最终确定了其后量子密码学标准(FIPS 203, 204, 205)。Ethereum Foundation 于 2026 年 1 月成立了一个专门的后量子安全团队。同月发布的 Strawmap 概述了直到 2029 年的七次硬分叉目标是实现全面的量子抗性。
这一交叉点——数以万亿计的代币化资产由一种有着可靠的 2029 年攻击最后期限的算法来保护——正是 QuantumTrace 所要解决的差距。它不是通过解决协议问题(那是已经进行了数年的工程工作)来解决,而是通过解决个人用户现在的意识和行动问题来解决,此时仍有时间采取行动。
## 路线图
版本 2.1 是当前的发布版本,涵盖了所有四条主要链。计划的 V3 功能包括 Ethereum 钱包的 ENS 域名解析(通过 ethers.js 客户端将 `vitalik.eth` 解析为其 0x 地址)、ERC-20 token 余额聚合(以便处于风险中的总价值包括 token 而不仅仅是原生资产)、用于更完善扫描体验的加载骨架屏状态、多地址批量扫描,以及与 PulseBoard 的量子漏洞徽章集成。
## 来源与研究
本项目中的主张均以一手来源为基础。完整列表可在 [quantumtrace.vercel.app/sources](https://quantumtrace.vercel.app/sources) 查看,其中包括 Google Quantum AI 2026 年 3 月的白皮书、Ethereum Foundation Strawmap、Vitalik Buterin 的量子路线图文章、Ripple 官方的后量子就绪文档、Algorand 的 Falcon-1024 技术简报,以及 NIST FIPS 203/204/205 标准文档。
## 许可证
本项目采用 MIT 许可证授权。详情请参见 [LICENSE](./LICENSE) 文件。
由 [Laksh](https://github.com/LakshmisagarBR) 构建 · [quantumtrace.vercel.app](https://quantumtrace.vercel.app)
*只读 · 无需钱包连接 · 仅使用公开区块链数据*
标签:AMSI绕过, CTF安全工具, Shor算法, Solana安全, TLS, Web3安全, XRP安全, 以太坊安全, 公钥暴露检测, 加密货币, 加密货币风险评估, 加密资产保护, 加密钱包安全, 区块链取证, 区块链安全, 只读分析, 威胁检测, 安全合规, 实时处理, 密码管理, 抗量子密码学, 插件系统, 数据隐私, 比特币安全, 网络代理, 自动化攻击, 量子漏洞扫描, 量子计算威胁, 链上数据分析, 防御工具