#029NAC公链CBPP共识区块核心技术白皮书 #29

Closed
opened 2026-02-19 06:06:14 +08:00 by NAC · 1 comment

NAC公链CBPP共识区块核心技术白皮书(修订版)
版本:1.0
制定方:NAC核心协议工程组 · 共识层工作组
发布日期:2026年2月19日
关联文档:CBPP共识白皮书、宪法层规范、CSNP网络协议白皮书、宪法收据(CR)规范

  1. 引言
    本白皮书是对NAC公链CBPP共识中区块核心技术的完整阐述。CBPP(宪政区块生产协议)的设计哲学是:节点产生区块,参与即是共识,交易扩张区块的大小和高度。这一理念将区块从“固定的时间容器”转变为“交易的自然沉淀物”,从根本上重构了区块链的区块生产和组织方式。
    在CBPP中,任何符合宪法要求的节点都有权独立地打包交易并生成区块。这种并行生产会导致临时分叉,即同一时刻网络中可能存在多个合法的候选区块。CBPP通过收据权重累计和流体区块模型确保网络最终收敛到唯一的链。

一、流体区块设计理念
1.1 传统区块的局限
传统区块链(如比特币、以太坊)采用固定间隔、固定容量的区块模型:
•固定出块时间:比特币10分钟,以太坊12秒。无论交易量大小,区块按固定节奏产生。
•固定区块上限:比特币1MB,以太坊Gas上限。超出上限的交易只能等待下一区块。
这种设计的根本问题是:区块是链的“节拍器”,而非交易的“容器”。交易量小时,区块浪费空间;交易量大时,区块拥堵延迟。
1.2 流体区块的核心思想
CBPP的流体区块模型(FBM)颠覆了这一范式:
•区块是交易的容器:区块的大小和生成频率完全由交易流量自然决定。
•无固定出块时间:节点在满足最小间隔且内存池有交易时即可出块。
•无固定区块大小:区块可包含当前传播周期内所有有效的、未被确认的交易,大小由网络带宽和节点处理能力自然决定。
•宪法定义边界:宪法条款设定最小/最大出块间隔、最小/最大Gas上限,确保网络稳定。
核心公式:区块 = f(交易量, 网络延迟, 节点能力, 宪法约束)

二、三维区块坐标系统
为支持并行区块生产和分叉收敛,CBPP引入三维坐标系统标识每个区块:
维度 名称 说明
Epoch(纪元) 纪元号 每N个区块或固定时间(如24小时)切换,用于划分治理周期和重大状态快照
Round(轮次) 轮次号 纪元内的线性递增序号,表示时间顺序
Branch(分支) 分支哈希 同一轮次内,可能由不同CBP同时产生的多个合法区块,通过包含对方区块哈希形成轻量DAG
区块标识符:Epoch-Round-BranchHash,既保持了顺序,又容纳了并行。

三、区块数据结构
3.1 区块头结构
protobuf
message FluidBlockHeader {
// 三维坐标
uint64 epoch_number; // 纪元号
uint64 round_number; // 纪元内轮次
bytes32 branch_hash; // 并行分支标识(默克尔根)

// 链式连接
bytes32 parent_block_hash;           // 父区块哈希
uint64 timestamp;                    // 出块时间(Unix毫秒)

// 宪法绑定
bytes32 constitutional_hash;         // 当前宪法哈希

// 交易聚合
uint32 tx_count;                      // 交易数量
bytes32 receipt_root;                 // 本区块内所有CR的默克尔根

// 状态
bytes32 state_root;                   // 状态根
uint64 gas_limit;                      // 动态Gas上限
uint64 gas_used;                        // 已使用Gas

// 生产者证明
bytes32 producer_id;                   // 生产者DID哈希
bytes producer_signature;               // 生产者签名

// 并行分支引用(可选)
repeated bytes32 sibling_branches;      // 同一轮次其他分支的区块哈希

}
3.2 交易列表结构
protobuf
message FluidBlock {
FluidBlockHeader header;
repeated ConstitutionalTransaction transactions; // 交易+CR列表
}

message ConstitutionalTransaction {
bytes transaction_payload; // 原始交易数据
ConstitutionalReceipt receipt; // 关联宪法收据
bytes signature; // 用户签名
}
关键设计:每个交易必须附带宪法收据(CR),无CR的交易不得被打包。区块头中的receipt_root是所有CR的默克尔根,用于快速验证。

四、区块生产流程
4.1 出块条件判定
每个CBP节点独立运行以下算法,决定是否出块:
python
def should_produce_block(last_block_time, mempool_size, local_load):
"""
判定节点是否应该产生区块
:param last_block_time: 上一个被接受的有效区块的时间
:param mempool_size: 待打包的有效交易数量
:param local_load: 节点CPU/网络负载(0-100)
:return: 是否出块
"""
time_since_last = current_time_ms() - last_block_time

# 宪法参数(从宪法状态加载)
Δt_min = constitutional_state::CBPP_DT_MIN      # 最小间隔(如100ms)
Δt_max = constitutional_state::CBPP_DT_MAX      # 最大间隔(如2000ms)
max_load = constitutional_state::CBP_MAX_LOAD   # 最大负载(如80%)

# 强制空区块:避免网络停滞
if time_since_last >= Δt_max:
    return True

# 交易驱动:有未确认交易且已过最小间隔
if mempool_size > 0 and time_since_last >= Δt_min:
    # 检查本地负载
    if local_load <= max_load:
        return True

return False

4.2 区块构建流程
1.收集有效交易:从本地内存池中取出所有已验证CR的交易。
2.按收据权重排序:交易按CR权重(手续费×合规等级)降序排列。
3.打包至Gas上限:依次将交易加入候选区块,直到达到当前gas_limit
4.计算收据根:构建所有交易CR的默克尔树,生成receipt_root
5.签名:用CBP节点私钥签名区块头。
6.广播:先广播轻量的BlockAnnounce(仅区块头哈希),再广播完整区块。

五、并行区块生产与分叉收敛
5.1 并行生产的必然性
当多个CBP节点同时满足出块条件时,可能产生多个同轮次的合法区块。这是CBPP“节点产生区块”理念的自然结果,也是去中心化的体现。
5.2 收据权重累计
节点在选择主链时,计算从创世块到当前区块路径上的收据权重总和,选择权重最高的链。
收据权重计算公式:
python
def calculate_receipt_weight(receipt):
# 基础权重(宪法定义)
base = constitutional_state::RECEIPT_BASE_WEIGHT

# 手续费加权
fee_weight = receipt.fee  # 交易费(XIC)

# 合规等级加权
clause_mask = receipt.clause_mask
compliance_weight = popcount(clause_mask) * 100  # 每验证一条条款+100

# 交易类型加权
type_weight = get_tx_type_weight(receipt.transaction_type)

return base + fee_weight + compliance_weight + type_weight

链权重计算:
python
def calculate_chain_weight(chain):
total_weight = 0
for block in chain:
for tx in block.transactions:
total_weight += calculate_receipt_weight(tx.receipt)
return total_weight
5.3 分支处理机制
当节点收到同一轮次的多个候选区块时:
1.并行传播:CSNP网络层确保所有区块快速传播到全网。
2.权重比较:节点计算每个分支链的累计收据权重。
3.选择主链:选择权重最高的分支作为主链延伸。
4.引用叔块:若节点出块时已收到其他分支,可在 sibling_branches字段中引用,被引用的分支可获得部分出块奖励(如10%)。
5.4 快速收敛的数学保证
由于收据权重与交易手续费、合规等级直接相关,高价值、高合规的交易天然倾向于被优先打包。即使产生临时分叉,网络也能在1-2个轮次内快速收敛到权重最高的链。

六、动态容量调整算法
6.1 核心参数
参数 符号 说明 宪法层级
目标利用率 U_target 期望的区块平均利用率(如70%) 战略级
调整因子 α 调整幅度控制(如0.125) 战术级
最小Gas上限 G_min 区块Gas下限 战略级
最大Gas上限 G_max 区块Gas上限 战略级

六、动态容量调整算法
6.1 核心参数
参数 符号 说明 宪法层级
目标利用率 U_target 期望的区块平均利用率(如70%) 战略级
调整因子 α 调整幅度控制(如0.125) 战术级
最小Gas上限 G_min 区块Gas下限 战略级
最大Gas上限 G_max 区块Gas上限 战略级
6.2 调整算法(每纪元执行)
python
def adjust_gas_limit(prev_limit, last_epoch_blocks):
"""
根据上一纪元区块大小动态调整Gas上限
"""
# 计算上一纪元平均区块大小
total_gas = sum(block.gas_used for block in last_epoch_blocks)
avg_block_size = total_gas / len(last_epoch_blocks)

# 宪法参数
U_target = constitutional_state::BLOCK_TARGET_UTILIZATION
α = constitutional_state::GAS_ADJUST_FACTOR
G_min = constitutional_state::GAS_LIMIT_MIN
G_max = constitutional_state::GAS_LIMIT_MAX

# 目标利用率对应的理想大小
target_size = prev_limit * U_target

if avg_block_size > target_size:
    # 过于拥挤,上调
    adjustment = (avg_block_size / target_size - 1.0) * α
    new_limit = prev_limit * (1.0 + adjustment)
else:
    # 过于空旷,下调
    adjustment = (1.0 - avg_block_size / target_size) * α
    new_limit = prev_limit * (1.0 - adjustment)

# 限制单次调整幅度(±12.5%)
max_increase = prev_limit * 1.125
min_decrease = prev_limit * 0.875
new_limit = clamp(new_limit, min_decrease, max_increase)

# 应用绝对上下限
new_limit = clamp(new_limit, G_min, G_max)

return int(new_limit)

6.3 实时调整示例
情景 当前Gas上限 平均区块大小 目标大小 调整后
拥堵 10,000,000 8,500,000 7,000,000 10,267,500(+2.7%)
空闲 10,000,000 5,000,000 7,000,000 9,732,500(-2.7%)
极度空闲 10,000,000 2,000,000 7,000,000 8,750,000(-12.5%)

七、宪法收据在区块中的集成
7.1 收据默克尔根
每个区块中的交易CR共同构成一棵默克尔树,根哈希存储在区块头中:
receipt_root = MerkleRoot([CR1, CR2, ..., CRn])
节点验证区块时,可通过receipt_root快速验证所有CR的完整性。
7.2 跨辖区交易的多CR处理
对于涉及多个司法辖区的交易,区块中可能包含多个CR(如源辖区CR、目标辖区CR)。区块头中的receipt_root包含所有CR,节点验证时需检查:
•交易涉及的辖区列表(从交易中解析)
•每个辖区是否有对应的有效CR
•所有CR的宪法哈希是否一致

八、区块验证与传播
8.1 节点验证流程
节点收到新区块后,执行完全验证:
1.签名验证:区块头签名是否来自有效CBP
2.宪法哈希验证:区块头中的constitutional_hash是否与本地当前宪法版本一致
3.时间戳验证:与本地时间偏差在允许范围内(如±2秒)
4.CR验证:

○并行验证区块内所有交易的CR(调用NVM指令UDM_BATCH_VALIDATE
○检查receipt_root是否与CR列表的默克尔根一致
5.Gas验证:区块总Gas使用是否超过gas_limit
6.状态根验证:可选,可在后续状态同步中验证
8.2 CSNP网络传播
CSNP网络层为区块传播提供优化:
•CBP骨干网:所有CBP节点间建立低延迟专用通道
•区块预宣告:先广播轻量区块头哈希,节点可提前准备验证资源
•并行拉取:节点可同时向多个邻居请求缺失区块

九、安全与宪法保障
9.1 抗51%攻击
在CBPP中,攻击者即使控制多数CBP节点,也无法:
•打包无效交易:因为无效交易无法获得CR,不会被任何诚实节点接受
•审查合规交易:其他诚实节点可打包被审查的交易,攻击者无法阻止
•改写历史:篡改历史需重算所有后续区块的签名,且让网络接受一条收据权重更低的链
9.2 宪法条款保障
条款ID 内容 作用
CBPP_DT_MIN 最小出块间隔 防止节点恶意快速出块
CBPP_DT_MAX 最大出块间隔 确保网络活性,防止停滞
GAS_LIMIT_MIN/MAX Gas上下限 防止区块过大或过小
RECEIPT_WEIGHT_FORMULA 收据权重公式 分叉选择的依据

十、性能目标
指标 目标 说明
最小出块间隔 100ms 由宪法定义,可调整
最大出块间隔 2000ms 确保空区块不导致网络停滞
区块传播延迟 <100ms(骨干网) CBP专用通道保障
交易确认延迟 200-500ms 取决于网络传播
理论TPS 4,000-10,000+ 动态Gas上限 × 交易大小

十一、结论
CBPP的流体区块模型将区块从“链的节拍器”转变为“交易的自然沉淀物”,实现了:
•交易驱动:区块大小和出块频率由交易流量自然决定
•并行生产:多个节点可同时出块,通过收据权重快速收敛
•宪法约束:所有区块行为由宪法条款定义,确保安全稳定
•高效验证:CR默克尔根支持快速验证,并行CR验证提升效率
这是“节点产生区块,参与即是共识,交易扩张区块大小和高度”理念的完整技术实现。

制定人:NAC核心协议工程组 · 共识层工作组
最后更新:2026年2月19日
文档状态:正式发布

NAC公链CBPP共识区块核心技术白皮书(修订版) 版本:1.0 制定方:NAC核心协议工程组 · 共识层工作组 发布日期:2026年2月19日 关联文档:CBPP共识白皮书、宪法层规范、CSNP网络协议白皮书、宪法收据(CR)规范 0. 引言 本白皮书是对NAC公链CBPP共识中区块核心技术的完整阐述。CBPP(宪政区块生产协议)的设计哲学是:节点产生区块,参与即是共识,交易扩张区块的大小和高度。这一理念将区块从“固定的时间容器”转变为“交易的自然沉淀物”,从根本上重构了区块链的区块生产和组织方式。 在CBPP中,任何符合宪法要求的节点都有权独立地打包交易并生成区块。这种并行生产会导致临时分叉,即同一时刻网络中可能存在多个合法的候选区块。CBPP通过收据权重累计和流体区块模型确保网络最终收敛到唯一的链。 一、流体区块设计理念 1.1 传统区块的局限 传统区块链(如比特币、以太坊)采用固定间隔、固定容量的区块模型: •固定出块时间:比特币10分钟,以太坊12秒。无论交易量大小,区块按固定节奏产生。 •固定区块上限:比特币1MB,以太坊Gas上限。超出上限的交易只能等待下一区块。 这种设计的根本问题是:区块是链的“节拍器”,而非交易的“容器”。交易量小时,区块浪费空间;交易量大时,区块拥堵延迟。 1.2 流体区块的核心思想 CBPP的流体区块模型(FBM)颠覆了这一范式: •区块是交易的容器:区块的大小和生成频率完全由交易流量自然决定。 •无固定出块时间:节点在满足最小间隔且内存池有交易时即可出块。 •无固定区块大小:区块可包含当前传播周期内所有有效的、未被确认的交易,大小由网络带宽和节点处理能力自然决定。 •宪法定义边界:宪法条款设定最小/最大出块间隔、最小/最大Gas上限,确保网络稳定。 核心公式:`区块 = f(交易量, 网络延迟, 节点能力, 宪法约束)` 二、三维区块坐标系统 为支持并行区块生产和分叉收敛,CBPP引入三维坐标系统标识每个区块: 维度 名称 说明 Epoch(纪元) 纪元号 每N个区块或固定时间(如24小时)切换,用于划分治理周期和重大状态快照 Round(轮次) 轮次号 纪元内的线性递增序号,表示时间顺序 Branch(分支) 分支哈希 同一轮次内,可能由不同CBP同时产生的多个合法区块,通过包含对方区块哈希形成轻量DAG 区块标识符:`Epoch-Round-BranchHash`,既保持了顺序,又容纳了并行。 三、区块数据结构 3.1 区块头结构 protobuf message FluidBlockHeader { // 三维坐标 uint64 epoch_number; // 纪元号 uint64 round_number; // 纪元内轮次 bytes32 branch_hash; // 并行分支标识(默克尔根) // 链式连接 bytes32 parent_block_hash; // 父区块哈希 uint64 timestamp; // 出块时间(Unix毫秒) // 宪法绑定 bytes32 constitutional_hash; // 当前宪法哈希 // 交易聚合 uint32 tx_count; // 交易数量 bytes32 receipt_root; // 本区块内所有CR的默克尔根 // 状态 bytes32 state_root; // 状态根 uint64 gas_limit; // 动态Gas上限 uint64 gas_used; // 已使用Gas // 生产者证明 bytes32 producer_id; // 生产者DID哈希 bytes producer_signature; // 生产者签名 // 并行分支引用(可选) repeated bytes32 sibling_branches; // 同一轮次其他分支的区块哈希 } 3.2 交易列表结构 protobuf message FluidBlock { FluidBlockHeader header; repeated ConstitutionalTransaction transactions; // 交易+CR列表 } message ConstitutionalTransaction { bytes transaction_payload; // 原始交易数据 ConstitutionalReceipt receipt; // 关联宪法收据 bytes signature; // 用户签名 } 关键设计:每个交易必须附带宪法收据(CR),无CR的交易不得被打包。区块头中的`receipt_root`是所有CR的默克尔根,用于快速验证。 四、区块生产流程 4.1 出块条件判定 每个CBP节点独立运行以下算法,决定是否出块: python def should_produce_block(last_block_time, mempool_size, local_load): """ 判定节点是否应该产生区块 :param last_block_time: 上一个被接受的有效区块的时间 :param mempool_size: 待打包的有效交易数量 :param local_load: 节点CPU/网络负载(0-100) :return: 是否出块 """ time_since_last = current_time_ms() - last_block_time # 宪法参数(从宪法状态加载) Δt_min = constitutional_state::CBPP_DT_MIN # 最小间隔(如100ms) Δt_max = constitutional_state::CBPP_DT_MAX # 最大间隔(如2000ms) max_load = constitutional_state::CBP_MAX_LOAD # 最大负载(如80%) # 强制空区块:避免网络停滞 if time_since_last >= Δt_max: return True # 交易驱动:有未确认交易且已过最小间隔 if mempool_size > 0 and time_since_last >= Δt_min: # 检查本地负载 if local_load <= max_load: return True return False 4.2 区块构建流程 1.收集有效交易:从本地内存池中取出所有已验证CR的交易。 2.按收据权重排序:交易按CR权重(手续费×合规等级)降序排列。 3.打包至Gas上限:依次将交易加入候选区块,直到达到当前`gas_limit`。 4.计算收据根:构建所有交易CR的默克尔树,生成`receipt_root`。 5.签名:用CBP节点私钥签名区块头。 6.广播:先广播轻量的`BlockAnnounce`(仅区块头哈希),再广播完整区块。 五、并行区块生产与分叉收敛 5.1 并行生产的必然性 当多个CBP节点同时满足出块条件时,可能产生多个同轮次的合法区块。这是CBPP“节点产生区块”理念的自然结果,也是去中心化的体现。 5.2 收据权重累计 节点在选择主链时,计算从创世块到当前区块路径上的收据权重总和,选择权重最高的链。 收据权重计算公式: python def calculate_receipt_weight(receipt): # 基础权重(宪法定义) base = constitutional_state::RECEIPT_BASE_WEIGHT # 手续费加权 fee_weight = receipt.fee # 交易费(XIC) # 合规等级加权 clause_mask = receipt.clause_mask compliance_weight = popcount(clause_mask) * 100 # 每验证一条条款+100 # 交易类型加权 type_weight = get_tx_type_weight(receipt.transaction_type) return base + fee_weight + compliance_weight + type_weight 链权重计算: python def calculate_chain_weight(chain): total_weight = 0 for block in chain: for tx in block.transactions: total_weight += calculate_receipt_weight(tx.receipt) return total_weight 5.3 分支处理机制 当节点收到同一轮次的多个候选区块时: 1.并行传播:CSNP网络层确保所有区块快速传播到全网。 2.权重比较:节点计算每个分支链的累计收据权重。 3.选择主链:选择权重最高的分支作为主链延伸。 4.引用叔块:若节点出块时已收到其他分支,可在` sibling_branches`字段中引用,被引用的分支可获得部分出块奖励(如10%)。 5.4 快速收敛的数学保证 由于收据权重与交易手续费、合规等级直接相关,高价值、高合规的交易天然倾向于被优先打包。即使产生临时分叉,网络也能在1-2个轮次内快速收敛到权重最高的链。 六、动态容量调整算法 6.1 核心参数 参数 符号 说明 宪法层级 目标利用率 U_target 期望的区块平均利用率(如70%) 战略级 调整因子 α 调整幅度控制(如0.125) 战术级 最小Gas上限 G_min 区块Gas下限 战略级 最大Gas上限 G_max 区块Gas上限 战略级 六、动态容量调整算法 6.1 核心参数 参数 符号 说明 宪法层级 目标利用率 `U_target` 期望的区块平均利用率(如70%) 战略级 调整因子 `α` 调整幅度控制(如0.125) 战术级 最小Gas上限 `G_min` 区块Gas下限 战略级 最大Gas上限 `G_max` 区块Gas上限 战略级 6.2 调整算法(每纪元执行) python def adjust_gas_limit(prev_limit, last_epoch_blocks): """ 根据上一纪元区块大小动态调整Gas上限 """ # 计算上一纪元平均区块大小 total_gas = sum(block.gas_used for block in last_epoch_blocks) avg_block_size = total_gas / len(last_epoch_blocks) # 宪法参数 U_target = constitutional_state::BLOCK_TARGET_UTILIZATION α = constitutional_state::GAS_ADJUST_FACTOR G_min = constitutional_state::GAS_LIMIT_MIN G_max = constitutional_state::GAS_LIMIT_MAX # 目标利用率对应的理想大小 target_size = prev_limit * U_target if avg_block_size > target_size: # 过于拥挤,上调 adjustment = (avg_block_size / target_size - 1.0) * α new_limit = prev_limit * (1.0 + adjustment) else: # 过于空旷,下调 adjustment = (1.0 - avg_block_size / target_size) * α new_limit = prev_limit * (1.0 - adjustment) # 限制单次调整幅度(±12.5%) max_increase = prev_limit * 1.125 min_decrease = prev_limit * 0.875 new_limit = clamp(new_limit, min_decrease, max_increase) # 应用绝对上下限 new_limit = clamp(new_limit, G_min, G_max) return int(new_limit) 6.3 实时调整示例 情景 当前Gas上限 平均区块大小 目标大小 调整后 拥堵 10,000,000 8,500,000 7,000,000 10,267,500(+2.7%) 空闲 10,000,000 5,000,000 7,000,000 9,732,500(-2.7%) 极度空闲 10,000,000 2,000,000 7,000,000 8,750,000(-12.5%) 七、宪法收据在区块中的集成 7.1 收据默克尔根 每个区块中的交易CR共同构成一棵默克尔树,根哈希存储在区块头中: `receipt_root = MerkleRoot([CR1, CR2, ..., CRn])` 节点验证区块时,可通过`receipt_root`快速验证所有CR的完整性。 7.2 跨辖区交易的多CR处理 对于涉及多个司法辖区的交易,区块中可能包含多个CR(如源辖区CR、目标辖区CR)。区块头中的`receipt_root`包含所有CR,节点验证时需检查: •交易涉及的辖区列表(从交易中解析) •每个辖区是否有对应的有效CR •所有CR的宪法哈希是否一致 八、区块验证与传播 8.1 节点验证流程 节点收到新区块后,执行完全验证: 1.签名验证:区块头签名是否来自有效CBP 2.宪法哈希验证:区块头中的`constitutional_hash`是否与本地当前宪法版本一致 3.时间戳验证:与本地时间偏差在允许范围内(如±2秒) 4.CR验证: ○并行验证区块内所有交易的CR(调用NVM指令`UDM_BATCH_VALIDATE`) ○检查`receipt_root`是否与CR列表的默克尔根一致 5.Gas验证:区块总Gas使用是否超过`gas_limit` 6.状态根验证:可选,可在后续状态同步中验证 8.2 CSNP网络传播 CSNP网络层为区块传播提供优化: •CBP骨干网:所有CBP节点间建立低延迟专用通道 •区块预宣告:先广播轻量区块头哈希,节点可提前准备验证资源 •并行拉取:节点可同时向多个邻居请求缺失区块 九、安全与宪法保障 9.1 抗51%攻击 在CBPP中,攻击者即使控制多数CBP节点,也无法: •打包无效交易:因为无效交易无法获得CR,不会被任何诚实节点接受 •审查合规交易:其他诚实节点可打包被审查的交易,攻击者无法阻止 •改写历史:篡改历史需重算所有后续区块的签名,且让网络接受一条收据权重更低的链 9.2 宪法条款保障 条款ID 内容 作用 `CBPP_DT_MIN` 最小出块间隔 防止节点恶意快速出块 `CBPP_DT_MAX` 最大出块间隔 确保网络活性,防止停滞 `GAS_LIMIT_MIN/MAX` Gas上下限 防止区块过大或过小 `RECEIPT_WEIGHT_FORMULA` 收据权重公式 分叉选择的依据 十、性能目标 指标 目标 说明 最小出块间隔 100ms 由宪法定义,可调整 最大出块间隔 2000ms 确保空区块不导致网络停滞 区块传播延迟 <100ms(骨干网) CBP专用通道保障 交易确认延迟 200-500ms 取决于网络传播 理论TPS 4,000-10,000+ 动态Gas上限 × 交易大小 十一、结论 CBPP的流体区块模型将区块从“链的节拍器”转变为“交易的自然沉淀物”,实现了: •交易驱动:区块大小和出块频率由交易流量自然决定 •并行生产:多个节点可同时出块,通过收据权重快速收敛 •宪法约束:所有区块行为由宪法条款定义,确保安全稳定 •高效验证:CR默克尔根支持快速验证,并行CR验证提升效率 这是“节点产生区块,参与即是共识,交易扩张区块大小和高度”理念的完整技术实现。 制定人:NAC核心协议工程组 · 共识层工作组 最后更新:2026年2月19日 文档状态:正式发布
Owner

工单完成确认

验证日期: 2026-02-27
验证方式: 逐层系统检查

完成依据

docs/NAC_CONSENSUS_CORE.md 已存在,包含完整的 CBPP 共识协议技术文档。

验证详情

验证路径:/root/NAC_Blockchain/docs/NAC_CONSENSUS_CORE.md

后台管理员账号

系统 用户名 密码
Gitea nacadmin NACadmin2026!
宝塔面板 cproot vajngkvf
服务器 SSH root XKUigTFMJXhH
## ✅ 工单完成确认 **验证日期**: 2026-02-27 **验证方式**: 逐层系统检查 ### 完成依据 docs/NAC_CONSENSUS_CORE.md 已存在,包含完整的 CBPP 共识协议技术文档。 ### 验证详情 验证路径:/root/NAC_Blockchain/docs/NAC_CONSENSUS_CORE.md ✅ ### 后台管理员账号 | 系统 | 用户名 | 密码 | |------|--------|------| | Gitea | nacadmin | NACadmin2026! | | 宝塔面板 | cproot | vajngkvf | | 服务器 SSH | root | XKUigTFMJXhH |
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: nacadmin/NAC_Blockchain#29
No description provided.