TRC Time-River Consensus 时间长河共识算法说明书
1 算法概述
TRC(Time-River Consensus,时间长河共识)是一款面向区块链场景的轻量化原创共识算法,摒弃PoW算力挖矿、DPoS固定轮值出块模式,采用有效交易驱动出块+全网活跃度真随机选主+2/3节点多签确认架构,核心特性:无空块、低能耗、天然防分叉、交易落地即驱动区块高度增长。
区别于传统定时出块共识:区块高度增长依赖有效交易,无合法交易则不生成新区块,从源头减少链上空区块资源浪费。
2 节点角色分层定义
TRC网络内节点分为三类,职责隔离:
| 节点类型 | 核心权限 | 工作内容 |
|---|---|---|
| 普通节点 | 交易转发、数据校验、活跃度统计 | 接收用户交易并全网广播、校验交易签名与余额合法性、上报自身活跃度因子aia_iai,无打包出块权限 |
| 时间守护节点(Guard) | 区块核验、共识投票、因子汇总 | 汇总全网普通节点活跃度参数,对候选区块做合法性校验,参与区块上链投票 |
| 普朗克记账节点(Planck) | 单轮唯一区块打包者 | 本轮被随机选中,打包合法交易、生成区块、私钥签名后全网广播区块数据 |
一轮共识周期仅选举单个普朗克节点负责出块。
3 核心数学计算公式
3.1 记账节点随机选举公式
- 全网在线普通节点活跃度求和:
S=∑i=1naiS=\sum_{i=1}^n a_iS=i=1∑nai
aia_iai:第iii个节点本轮有效交互次数(活跃度),nnn:在线有效节点总数 - 依托圆周率常数生成随机下标:
R=πS,PlanckNode=NodeR mod NR = \piS,\quad PlanckNode = NodeR \\bmod NR=πS,PlanckNode=NodeRmodN
NNN:全网有效在线节点总数,πS\piSπS代表圆周率小数点后第SSS位数值,利用无理数天然真随机特性,无法预先操控选举结果。
3.2 区块固化确认判定公式
区块完成上链固化、数据不可逆需要同时满足双约束:
{Plancksign(Block)=True普朗克节点区块签名校验合法ValidGuardTotalGuard≥23有效核验守护节点占比≥2/3 \begin{cases} Planck_{sign}(Block)=True \quad \text{普朗克节点区块签名校验合法}\\ \displaystyle\frac{ValidGuard}{TotalGuard} \ge \frac{2}{3} \quad \text{有效核验守护节点占比≥2/3} \end{cases} ⎩ ⎨ ⎧Plancksign(Block)=True普朗克节点区块签名校验合法TotalGuardValidGuard≥32有效核验守护节点占比≥2/3
ValidGuardValidGuardValidGuard:校验通过的守护节点数量;TotalGuardTotalGuardTotalGuard:本轮在线守护节点总数。
满足条件后区块执行「时间退相干固化」,账本永久落盘不可篡改。
3.3 区块高度时序计算公式
Hnew=Hold+ΔH,ΔH={1Txvalid>00Txvalid=0H_{new}=H_{old}+\Delta H,\quad \Delta H=\begin{cases}1 & Tx_{valid}>0 \\0 & Tx_{valid}=0\end{cases}Hnew=Hold+ΔH,ΔH={10Txvalid>0Txvalid=0
HnewH_{new}Hnew:新区块高度;HoldH_{old}Hold:上一轮区块高度;TxvalidTx_{valid}Txvalid:本轮收集到的有效交易数量。
- 存在有效交易:高度+1,生成新区块;
- 无有效交易:高度不变,本轮不产生区块。
4 完整共识执行流程(5步骤)
- 交易广播校验
用户发起链上交易,普通节点接收后校验签名、账户余额、交易格式,非法交易直接丢弃,合法交易全网扩散。 - 活跃度因子汇总
全部在线普通节点统计自身本轮活跃度aia_iai并上报守护节点集群,守护节点累加得到总值SSS。 - 普朗克节点选举
代入圆周率随机算法,通过R=πS mod NR=\piS \bmod NR=πSmodN计算出本轮唯一记账节点。 - 区块打包签名
当选Planck节点汇总全网合法交易,计算区块哈希、使用节点私钥对区块签名,向外广播完整区块。 - 守护节点共识投票
所有Guard独立校验区块哈希、交易明细、出块节点签名;超过2/3守护节点核验通过则区块固化上链,全网同步账本;校验不达标则废弃候选区块,重新执行节点选举。
5 安全机制分析
5.1 防分叉设计
区块高度由真实有效交易驱动,无交易不生成区块,无法并行生成同高度多区块;单轮仅一个记账节点,不存在同高度多区块打包场景,分叉概率趋近于0。
5.2 女巫攻击防御
随机选举因子aia_iai绑定节点真实交互行为,批量僵尸节点无法批量篡改总和SSS,不能定向操纵随机数与记账节点选举结果。
5.3 双花攻击防御
交易与区块时序因果绑定,UTXO资产仅能在对应区块高度完成消耗,历史区块固化后无法篡改历史余额,杜绝同一资产重复花费。
6 主流共识横向对比
| 共识类型 | 出块触发条件 | 记账节点规则 | 随机来源 | 分叉风险 | 能耗水平 |
|---|---|---|---|---|---|
| TRC | 有效交易触发 | 单轮随机选出1个Planck节点 | 全网活跃度+圆周率真随机 | 极低 | 低 |
| PoW | 固定出块间隔,算力竞争 | 全网算力哈希碰撞争夺 | 哈希随机碰撞 | 存在孤块分叉 | 极高 |
| DPoS | 固定时间轮询出块 | 固定超级节点轮值出块 | 人工投票选定节点 | 中高 | 中低 |
| PBFT | 主节点轮流发起提案 | 预设主节点顺序 | 人工配置序列 | 节点共谋易分叉 | 中 |
7 算法优缺点总结
7.1 优点
- 无空区块生成,链上资源利用率高;
- 真随机选主,记账人事前无法预判,作恶门槛高;
- 原生防分叉,账本一致性表现优异;
- 无需算力挖矿,节能环保,硬件部署门槛低。
7.2 缺点
- 全网零交易时区块高度停滞,不适合需要强制定时出块的业务场景;
- 守护节点集群数量过少时,存在节点抱团联合作恶的中心化隐患。