协议架构

深入剖析 Parallax 的安全模型:用于鉴别作者身份的签名、负责语义的 PVM、提供时间维度的工作量证明,以及决定规范历史的 Nakamoto 共识。

各部分如何拼合
Parallax 把密码学、确定性执行、工作量证明计时与中立的分叉选择,编织成一条可被验证的统一流水线。
密码学

ECDSA 决定谁有权行动(合法的作者身份)。

执行(PVM)

定义动作的含义(状态转换)。

时间戳服务器

确立动作发生的时间(由 PoW 排序)。

Nakamoto

决定哪段历史胜出(最重的链)。

数字签名
谁有权行动:基于 secp256k1 的 ECDSA 对状态转换进行身份认证。
  • 采用与 Bitcoin 完全相同的 secp256k1 ECDSA,享有久经考验的安全性与生态工具。
  • 交易包含 (r, s, v);通过公钥恢复发送者,再推导出地址。
  • 签名校验在执行流水线中运行,确保各节点采用统一的规则。
  • 不可抵赖:签名把意图与密钥绑定;通过链 ID 与 nonce 实现重放保护。
签名校验(概念)
伪代码
// Pseudocode: PVM-side validation sketch
verify(tx):
  msg = keccak256(encodeTxForSig(tx))
  pub = ecrecover(msg, tx.v, tx.r, tx.s)
  require(address(pub) == tx.from)
  require(tx.nonce == account.nonce)
  // gas accounting & state updates proceed
图灵完备脚本(PVM)
动作的含义:在类似 Bitcoin 的货币规则下,进行兼容 EVM 的确定性执行。
  • 操作码与 EVM 对齐(CALL/SSTORE 等),由 Gas 计量的确定性执行。
  • 状态存储在 Merkle Patricia Trie 中;区块头承诺 stateRoot 与 receiptsRoot。
  • 稀缺中的可编程性:2100 万上限与减半机制 ⇒ 执行层继承硬通货属性。
  • 通过包含证明与区块的确定性回放,对轻客户端友好。
区块 → 执行 → 根哈希
伪代码
// Conceptual block processing
for (tx of block.txs):
  result = PVM.execute(tx, state)
commit:
  stateRoot    = MPT(state)
  receiptsRoot = MPT(receipts)
  header.stateRoot = stateRoot
  header.receiptsRoot = receiptsRoot
时间戳服务器
动作发生的时间:PoW 把时间转化为密码学资源,并对事件进行排序。
  • 每个区块都承诺前一个区块头的哈希 ⇒ 形成可被验证的时间链。
  • 工作量证明(XHash)把成本与时间绑定;重新计算等于强制执行时间之矢。
  • 无需可信时钟即可获得客观顺序;median-time-past 防止时间戳被滥用。
  • 随着累积难度的增长,安全性持续增强;倒填时间戳变得在经济上不可行。
区块头链接
伪代码
// Block header sketch
header = {
  parentHash,
  stateRoot,
  txRoot,
  time,
  nonce,
  difficulty,
  mixHash,      // XHash result
}
assert(block.parent.hash == parentHash)
assert(XHash(header) < target(difficulty))
Nakamoto 共识
哪段历史胜出:以累积工作量计量的最重有效链就是规范链。
  • 最重链规则通过累积 PoW(难度之和)选择规范历史。
  • 概率性最终性:链重组的概率随确认深度 k 呈指数衰减。
  • 难度调整(XHash)以 median-time-past 为基准,将出块时间维持在约 10 分钟。
  • 经济中立:没有质押,也没有特权验证者——只有开放的 PoW。
分叉选择(概念)
伪代码
// Choose chain with max cumulative work
best = argmax(chains, sum(block.work for block in chain))
流水线

端到端流程

已签名的交易进入内存池 → 矿工提议区块 → PVM 进行确定性执行 → 区块头承诺 state/receipts → XHash 证明工作量 → 网络采纳最重的有效链。稀缺性(2100 万上限与减半)支撑着整个执行过程。

1
签名
2
执行
3
提交
4
证明
5
选择