biochain-code/biochain
GitHub: biochain-code/biochain
BioChain 是一条原生后量子密码学的 Layer-1 区块链,通过涌现式节点共识和精确整数货币模型解决传统区块链面临的量子计算签名威胁与治理集中化问题。
Stars: 2 | Forks: 0
# BioChain — AAECN
**自治自适应涌现共识网络**
这是一个后量子时代的 Layer-1 区块链,节点无需注册或部署——它们从参与者的活动中自然涌现。发送 21 次脉冲(交易)的地址会自动成为活跃的网络节点;如果没有持续的活动,其能量会衰减直至消亡;新的脉冲可以使其复苏。
## 独特之处
- **创世之初即采用后量子密码学。** 每个签名都使用 ML-DSA-44 (CRYSTALS-Dilithium3, NIST FIPS 204)——并非事后修补到 ECDSA 链上,而是从第 0 个区块开始就基于其构建。
- **节点自然涌现。** 启动时无需通过质押注册,也没有获得许可的验证者集合。活动本身即创造节点。
- **纯粹的整数货币,绝无例外。** 所有货币价值均为中本聪(satoshi)级别的整数。供应量恒等式(`wallets + pools + locked + staked == 21,000,000 BIO`)通过精确相等性进行校验,而非容差范围——哪怕是一个 satoshi 的偏差也会被视为 Bug,而非四舍五入误差。
- **无托管的原子互换。** 基于 HTLC 的互换(`SWAP_OFFER` / `SWAP_LOCK` / `SWAP_CLAIM` / `SWAP_REFUND`)支持 BIO 与任何外部资产之间的交易,`want_asset` 作为自由文本字段——没有将协议与任何单一外部链绑定的硬编码白名单。
- **状态检查点。** 新节点可以采用经过哈希验证的快照,而无需从创世区块重放整条链,并且在出现任何哈希不匹配时会自动回退到完整重放。
- **liboqs (C) 签名后端。** 在真实生产硬件上实测,ML-DSA-44 验证速度比纯 Python 参考实现快约 228 倍——约为每秒 44,365 次验证。
## 真实世界验证,而非仅仅测试套件
这不仅仅是一份仅存在于白皮书上的设计。就当前版本而言:
- **包含 194 项测试的回归测试套件**使用真正的 ML-DSA-44 密码学(非 Mock 模拟)在实际设备和生产环境中通过。覆盖范围包括共识机制、跨越所有五个持有货币类别的供应量恒等式、钱包注册授予、节点发现/自动晋升逻辑、抗女巫攻击的节点涌现、加密对等节点自我识别,以及开发者和服务器运营者拨款池。
- **两个独立托管的生产节点**(位于不同国家、不同的数据中心)执行实时的对等节点同步,包括在真实的网络分区后自动解决分叉——最长的有效链获胜,全程无需运营者干预。
- **一经引入,即可自动发现节点。** 一个全新的节点可以宣告自身(`POST /peer/announce`,类似于 Bitcoin 的 `addr` 消息 / Ethereum 的 `FINDNODE`)从而变得可见——但这本身并不授予任何信任。要实际晋升为受信任的对等节点,仍然需要现有信任集合的严格多数通过正常的 gossip 独立确认,这与任何其他候选节点的要求相同。一个全新的服务器一旦被指向,就可以立即从任何现有节点拉取链数据;如果至少在一个现有的受信任节点上,运营者仍需手动添加一次这个新的 URL 用于反向连接——此后,gossip 和多数表决机制会自动进一步传播该信任。
- **抗女巫攻击的节点涌现。** 成为活跃的、具有投票权的节点一直以来都要求发送 21 次脉冲;现在它还额外要求在地址的首次活动和第 21 次脉冲之间至少经过 7 个自然日——这使得批量创建节点需要付出真实的时间成本,而不仅仅是运行一个脚本和一点零钱。
- **开发者拨款。** 254,500 BIO 用于资助真实的现实世界构建者(钱包、浏览器、SDK、集成),仅通过治理投票释放,单笔拨款上限为 5,000 BIO。
- **服务器运营者拨款。** 254,500 BIO 用于资助独立的节点运营者,仅通过治理投票释放,单笔拨款上限为 2,000 BIO——这是最初 509,000 BIO 池的另一半,在 v5.41 版本中拆分。
- **密码敏捷性基础。** 地址派生和签名验证现在接受一个可选的方案标识符,默认值为 ML-DSA-44,并逐字节复现原始地址公式(经过证明,而非假设)。目前除了默认方案外没有使用任何其他方案——这仅仅是为了确保未来可以在不重新创建创世区块或破坏任何现有单个地址的情况下添加第二种方案。参见 `MATH_SPEC.md` §0。
我们记录了实际发生过什么故障以及是如何修复的,而不仅仅是记录在一切顺利时能正常工作的部分。
## 架构概览
| 组件 | 选型 |
|---|---|
| 签名方案 | ML-DSA-44 (CRYSTALS-Dilithium3, NIST PQC 标准) |
| 密码学后端 | liboqs (C) 通过 liboqs-python 调用,并将 dilithium_py 作为醒目的必备回退方案——绝不静默失败 |
| 后端 | Python 3.14, FastAPI + Uvicorn |
| 数据库 | SQLite (WAL 模式,在 RLock 下进行原子事务) |
| 钱包 | React + Vite PWA,使用 liboqs-js 在浏览器内进行 ML-DSA-44 签名 |
| 最大供应量 | 21,000,000 BIO,硬性上限,不可变 |
| 治理 | 1 个活跃节点 = 1 票,无论质押等级如何——资本影响奖励,但绝不影响投票权重 |
完整的技术细节位于本仓库的 `BioChain_Whitepaper_v5_40.docx` 中。
## 代币经济学——创世分配
在创世时固定,不可变,总和达到完整的 21,000,000 BIO 上限:
| 资金池 | 份额 | 数量 (BIO) |
|---|---|---|
| 验证者(随时间释放的区块奖励) | 40.00% | 8,400,000 |
| 生态系统 | 30.00% | 6,300,000 |
| 储备金 | 20.00% | 4,200,000 |
| **团队/创始人(锁仓释放)** | **5.00%** | **1,050,000** |
| 创世拨款(前 16,000 个地址,分层级) | 3.90% | 820,000 |
| 上线储备 | 1.10% | 230,000 |
创始人自己的初始余额(10,000 BIO,从创世池的剩余部分提取——而非单独的顶层分配)为第一个活跃节点提供了资金,进而为一个专门的 1,000 BIO 池提供资金,该池为前 100 个注册的钱包各提供 10 BIO。同一个创世池还为 509,000 BIO 的拨款池提供了资金,在 v5.41 版本中被均分为**开发者拨款**(254,500 BIO,单笔上限 5,000 BIO)和**服务器运营者拨款**(254,500 BIO,单笔上限 2,000 BIO)——两者均仅通过治理投票释放。未曾进行过任何代币销售;任何人在任何时候都未曾出售过 BIO 以换取金钱。
创始人锁仓跨越 **10 年**(6 个月悬崖期,随后是 114 笔每月 ≈9,210 BIO 的支付)——这是在外部审查后将最初的 2 年计划延长而来的。存在一种**部分手续费销毁**机制,该机制已经过充分测试,但以 **0%** 的比例启动(可通过治理调整最高至 50%)——创始人选择在网络成熟之前暂缓施加通缩压力。每种机制的完整公式都在 `MATH_SPEC.md` 中;对每个资金池的通俗语言解析见 `TOKENOMICS.md`。
## 运行节点
```
./install.sh
```
该脚本负责处理系统依赖,构建 liboqs(锁定版本以确保兼容性),设置受监管的 systemd 服务,配置防火墙(不会将原始 API 端口暴露给公共互联网——这是我们在自己的第一台服务器上犯过一次的错误,我们不打算再犯),并安排自动化的数据库备份。
如果 `biochain.py` 尚未就绪,`install.sh` 会确切地告诉您该怎么做——这个项目目前不在任何公开的包索引库上。参见 [访问权限](#access)。
## 加入网络
有一个手动的、刻意设计的初始步骤,然后就是全自动的——这与 Bitcoin(DNS 种子,然后是 `addr` 消息)和 Ethereum(启动节点,然后是 Kademlia)使用的模式相同。确切的公式请参见 `MATH_SPEC.md` §12a。
从 v5.41 版本开始,`install.sh` 会以交互方式询问对等节点地址,并将它们存储为 systemd 环境变量(`BIOCHAIN_PEER_URLS`, `BIOCHAIN_SELF_URL`)——永远不需要编辑 `biochain.py` 本身。将对等节点提示留空会回退到 `DEFAULT_BOOTSTRAP_PEERS`,这是一个内置在代码中的、已知良好的小型种子列表(目前包含两个生产节点)——这与 Bitcoin 的 DNS 种子和 Ethereum 的启动节点所起的作用相同,而且就像它们一样,随着网络真实的、受信任成员的变动,在未来的版本中可能需要更新此列表。
1. 运行 `install.sh`——对于目前的两个生产节点,将对等节点提示留空就足够了;它会自动使用 `DEFAULT_BOOTSTRAP_PEERS`。如果想改为指向不同的节点(或者如果默认节点最终退役),请给我们发电子邮件(见下文)获取当前地址。
2. 您的新节点会立即开始从它所指向的任何一个对等节点同步链数据。
3. 您的节点会在该现有节点上调用 `POST /peer/announce`——系统会运行基本的活性检查,随后它将成为一个可见的候选节点。但这本身并不授予任何信任。
4. 一旦现有信任集合的严格多数通过它们相互之间的独立 gossip 确认了您的节点(而不是通过您对自己节点的任何声明),它就会被持久地晋升到它们的受信任对等节点列表中——全自动完成,无需任何进一步的手动步骤,并且在重启后依然有效。
节点涌现本身(一个地址在发送脉冲后成为活跃的、具有投票权的参与者)一直以来都是完全自动的,不需要任何人的介绍——关于添加到该特定机制中的抗女巫攻击时间要求,请参见 `MATH_SPEC.md` 中的 §6。
## 访问权限
该仓库目前是私有的。我们并非出于保密目的而隐藏该项目——我们是在按部就班地执行操作:真正的去中心化(多个独立运营的节点)和针对该项目监管地位的法律审查,都应该在完全公开发布之前取得进一步进展,而不是在发布之后。
如果您对以下内容感兴趣:
- 运行节点
- 审查密码学或共识逻辑
- 一般性的后量子区块链研究
请联系:**biochainnetwork@gmail.com**
## 许可证
- 后端:AGPL-3.0-or-later
- 钱包:Apache-2.0
标签:Layer-1, liboqs, 共识算法, 区块链, 原子互换, 后量子密码学