4.3 KiB
4.3 KiB
NAC共识机制核心知识
⚠️ 重要声明
NAC使用CBPP共识机制,不是DAG共识!
这是NAC与其他区块链的核心区别之一,必须牢记。
CBPP - 宪政区块生产协议
CBPP = Constitutional Block Production Protocol(宪政区块生产协议)
核心理念
"宪法即共识" - Constitution as Consensus
NAC的共识不是基于算力(PoW)、权益(PoS)或有向无环图(DAG),而是基于宪法。
CBPP核心组件
1. 宪法收据系统(CR - Constitutional Receipt)
- 交易进入区块链的唯一凭证
- 每个交易都必须获得宪法收据才能上链
- 收据包含:
- 交易哈希(48字节)
- 宪法版本哈希(48字节)
- 触发的宪法条款索引
- AI引擎执行结果哈希
- 收据ID(48字节)
2. 开放生产网络(OPN - Open Production Network)
- 任何满足宪法要求的节点都可以参与区块生产
- 不是"挖矿",而是"生产"
- 生产者需要通过宪法验证
3. 流体区块模型(FBM - Fluid Block Model)
- 区块不是固定大小
- 根据网络状态和宪法规则动态调整
- 支持并行区块生产
4. 三维区块坐标系统
- Epoch(纪元):宪法版本,每次宪法升级递增
- Round(轮次):共识轮次,单调递增
- Branch(分支):支持并行区块,32字节哈希
NAC不使用的共识机制
❌ 不是DAG共识
- NAC 不使用 Directed Acyclic Graph(有向无环图)共识
- 不是IOTA、Nano、Fantom等DAG链
- 虽然可能使用DAG作为数据结构,但不是共识机制
❌ 不是PoW(工作量证明)
- 不需要挖矿
- 不需要算力竞争
❌ 不是PoS(权益证明)
- 不是基于代币质押
- 不是基于财富分配
❌ 不是传统BFT
- 不是PBFT、Tendermint等传统拜占庭容错
- 虽然有容错机制,但基于宪法而非投票
代码中的体现
正确的模块
- ✅
constitutional_receipt.rs- 宪法收据系统 - ✅
cbpp_integration.rs- CBPP集成 - ✅
block_coordinate.rs- 三维区块坐标 - ✅
open_production_network.rs- 开放生产网络 - ✅
fluid_block.rs- 流体区块模型
错误的理解
- ❌
dag.rs如果包含"DAG共识算法" - 这是错误的 - ❌ 任何试图实现DAG共识的代码 - 应该删除或修正
开发指导原则
1. 永远记住
NAC = CBPP共识 ≠ DAG共识
2. 遇到"DAG"时
- 如果是数据结构 → 可能正确
- 如果是共识机制 → 肯定错误
3. 核心文件
所有共识相关的代码都应该围绕CBPP的四大组件:
- 宪法收据(CR)
- 开放生产网络(OPN)
- 流体区块模型(FBM)
- 三维区块坐标
4. 类型系统
- Address: 32字节
- Hash: 48字节(SHA3-384)
- Branch Hash: 32字节(从48字节截取)
常见错误
错误1:实现DAG共识
// ❌ 错误
// NVM-L0 DAG图结构和共识算法
pub struct DagGraph {
// DAG共识相关代码
}
错误2:混淆数据结构和共识
// ⚠️ 需要澄清
// 如果DAG只是数据结构,应该明确说明
/// DAG数据结构(用于存储交易关系,不是共识机制)
pub struct DagGraph {
// 仅作为数据结构使用
}
正确做法:基于CBPP
// ✅ 正确
/// CBPP共识集成
pub struct CBPPConsensus {
constitutional_receipt_manager: ConstitutionalReceiptManager,
open_production_network: OpenProductionNetwork,
fluid_block_manager: FluidBlockManager,
coordinate_manager: BlockCoordinateManager,
}
总结
- NAC使用CBPP共识 - 宪政区块生产协议
- 不是DAG共识 - 不要实现DAG共识算法
- 宪法即共识 - 所有共识逻辑都基于宪法
- 四大组件 - CR、OPN、FBM、三维坐标
参考文档
/home/ubuntu/NAC_Clean_Dev/docs/CBPP_WHITEPAPER.md- CBPP白皮书/home/ubuntu/NAC_Clean_Dev/nvm_v2/NVM-l0/src/constitutional_receipt.rs- 宪法收据实现/home/ubuntu/NAC_Clean_Dev/nvm_v2/NVM-l0/src/cbpp_integration.rs- CBPP集成/home/ubuntu/NAC_Clean_Dev/nvm_v2/NVM-l0/src/block_coordinate.rs- 三维区块坐标
最后提醒:NAC是原生公链,不是以太坊的衍生或扩展。CBPP是NAC独创的共识机制。