深度调研报告:Psy Protocol(最新完整版)


项目概述与背景

Psy Protocol(前身为 QED Protocol)是一个无需信任、可水平扩展的 Layer-1 区块链和 ZK-Rollup 网络1, 2。其核心使命是打破传统区块链的“串行处理监狱”,通过重新定义状态存储方式和计算发生地,为高频订单簿 DEX、全链游戏 and AI 代理经济等高并发 Web3 应用提供互联网级的吞吐量(TPS),同时继承比特币和狗狗币等 PoW 基础层的安全性2, 4, 5

1. 打破扩展性困境:ZK + PARTH 架构

传统区块链面临三大扩展性困境:TPS与去中心化安全的负相关、全局状态下的串行执行与竞态条件(Race Conditions)、以及多 Rollup 导致的流动性碎片化。Psy Protocol 通过结合零知识证明(ZK)与 PARTH(并行递增递归树层级)模型彻底解决这些问题10, 11

PARTH 状态下的并行 Token 转移机制

在典型网络中,Token 余额由全局映射(如 address => balance)管理。并发交易会导致写热点冲突,从而被迫串行化。PARTH 通过以下机制实现并发:

  1. 每个用户的本地状态树独立维护 Token 余额。
  2. 本地状态包含两个映射:claimedFrom[sender](从发送者领取的 Token)和 sentTo[recipient](向接收者发送的 Token)。
  3. 发送方(Alice 向 Bob 转账): Alice 在自己的状态树中减少余额并增加 sentTo[Bob],这是一个完全隔离的本地写入,无锁且无需并发等待。
  4. 接收方(Bob 领取余额): Bob 在后续区块中通过提交 Alice 状态树更新的 Merkle 证明,更新自己的状态树并增加 claimedFrom[Alice] 与自身余额。

2. 计算下放与硬件分工:用户级 vs 矿工级

Psy Protocol 的核心范式转变在于:将繁重且容易引起冲突的“交易执行”下放到用户设备,将高度可并行的“数学验证”交给矿工网络。

软件定义电路(SDC)代码示例

以下是开发者使用 TypeScript 编写的智能合约代码,通过编译器直接被翻译为软件定义电路(SDC),而无需任何 CPU 指令集模拟:

import { Circuit, Field, Assert } from "@psy-protocol/sdk";

// 直接使用数学约束定义电路
export const TransferCircuit = Circuit((aliceBalance: Field, amount: Field) => {
    // 生成数学约束:Alice 余额必须充足
    const remainingBalance = aliceBalance.sub(amount);
    
    // 断言剩余余额大于或等于 0
    Assert.greaterThanOrEqual(remainingBalance, Field(0));

    // 编译结果将直接映射为 Goldilocks 域上的 Plonky2 约束关系
    return remainingBalance;
});

编译命令:

psy-compiler compile --input ./transfer.ts --output ./build/circuit.json

3. 树状递归与克服“短板效应”

为了将数百万个独立的本地证明同步 to 网络,Psy 采用了**树状递归(Tree Recursion)**机制。这非但没有成为性能瓶颈,反而是实现百万级 TPS 的关键。

对数级出块时间与 TPS 估算

矿工将证明两两合并,生成包含之前所有计算的新证明。出块时间计算公式如下:

$$\text{Block Time}(u) = \log_2(u) * (k_r + k_{net})$$

处理 $u$ 个用户的高并发任务时间复杂度降至 $O(\log_2(u))$,理论上仅需不到 10 秒。系统整体 TPS 估算为:

$$\text{TPS}(u) = \frac{t_{max} * u}{\text{Block Time}(u)} = \frac{3u}{0.9 + \log_2(u) * 0.35}$$

其中 $t_{max}$ 表示每个用户的平均交易笔数(保守设为 3)。系统的吞吐量随着并发用户数 $u$ 的增加呈水平线性扩展。

解决“短板效应”(Straggler Problem)

在传统分布式架构中,最慢的节点会拖慢全网速度。但在 Psy 的 PoUW 2.0 中,聚合任务的分发是一个开放的算力竞争市场。多个矿工可以同时竞争处理同一个聚合分支,谁最先算出正确结果并生成上一层 ZK 证明,谁就获得奖励。因此,系统的吞吐量由网络整体的算力储备和最高效的节点决定,最慢的矿工只会被淘汰,从而实现了完美的水平并行扩展(Horizontal Scalability)。

交易证明聚合流程 (User Proving Session)

sequenceDiagram
    autonumber
    actor Alice
    actor Bob
    participant Miner as Network Miner
    participant L1 as Bitcoin L1

    Alice->>Alice: 本地执行交易并生成本地 End Cap 证明
    Alice->>Alice: 生成 ZK 证明和加密状态增量 (CSTATE)
    Alice->>Miner: 提交本地证明与状态增量
    Note over Miner: 矿工利用树状递归,并发、递归地聚合数百万证明
    Miner->>Miner: 生成单一的区块证明 (Block Proof)
    Miner->>L1: 发布区块证明 commitment 结算
    Bob->>Miner: 异步同步状态
    Miner->>Bob: 投递更新后的状态树 (UCON)

4. 横向架构对比

Psy Protocol 的设计理念与当前主流网络截然不同:

特性维度 Psy Protocol Solana Polkadot Zcash
状态模型 写入分离 (PARTH) / 独立本地状态树 (UCON) 单一全局账本 异构分片多状态树 (Parachains) 单一全局账本
计算发生地 客户端本地 (链下执行) 验证者链上执行 平行链验证者链上重执行 验证者链上执行
并行验证方式 矿工并行 ZK 递归验证 验证者流水线串行/并发执行 子集验证者重执行区块验证 全局验证者全节点验证
ZK 应用目的 压缩海量并发计算,吞吐扩展 (隐私为副产品) 无原生 ZK (主要用于外部 Rollup 验证) 无原生 ZK (用以太坊桥时可能间接使用) 屏蔽发送/接收方及金额,实现纯隐私

5. 比特币 L1 验证与跨链扩展

Psy 在利用高性能并发处理 L2 业务的同时,通过极其创新的机制继承了比特币的绝对安全性:

跨链桥智能合约示例 (Solana 端)

以下 Rust 代码展示了 Solana 智能合约如何通过计算 PoW 难度并校验哈希来本地验证 Dogecoin 区块头:

use anchor_lang::prelude::*;

declare_id!("DogeBridgeSolana1111111111111111111111111");

#[program]
pub mod doge_bridge {
    use super::*;

    pub fn verify_doge_block(ctx: Context<VerifyDogeBlock>, header: DogeHeader) -> Result<()> {
        // 1. 计算 PoW 难度哈希并进行校验
        let hash = header.calculate_hash();
        require!(hash <= header.target, BridgeError::InvalidProofOfWork);

        // 2. 更新 Solana 链上记录的最新 Dogecoin 状态
        let bridge_state = &mut ctx.accounts.bridge_state;
        bridge_state.tip_height = header.height;
        bridge_state.tip_hash = hash;

        Ok(())
    }
}

#[derive(AnchorSerialize, AnchorDeserialize, Clone)]
pub struct DogeHeader {
    pub version: i32,
    pub prev_block_hash: [u8; 32],
    pub merkle_root: [u8; 32],
    pub time: u32,
    pub bits: u32,
    pub nonce: u32,
    pub height: u64,
    pub target: [u8; 32],
}

#[derive(Accounts)]
pub struct VerifyDogeBlock<'info> {
    #[account(mut)]
    pub bridge_state: Account<'info, BridgeState>,
    pub signer: Signer<'info>,
}

#[account]
pub struct BridgeState {
    pub tip_height: u64,
    pub tip_hash: [u8; 32],
}

#[error_code]
pub enum BridgeError {
    #[msg("Proof of Work hash is invalid or doesn't meet the target difficulty.")]
    InvalidProofOfWork,
}

生产环境跨链桥的工程约束

上述合约仅为基础逻辑骨架,在生产环境中,一个无需信任的 Dogecoin 桥必须解决以下约束:

  1. Solana 上的 Scrypt 算力限制:Dogecoin 采用 Scrypt 算法。在 Solana 上直接计算 Scrypt 会消耗海量 Compute Unit (CU),极易超出单笔交易的 CU 上限。生产级实现会要求算力节点在链下计算 Scrypt 并生成 ZK 证明,Solana 合约仅验证 ZK 证明。
  2. 区块分叉与重组:为应对分叉,合约必须在链上记录区块的 DAG(有向无环图)路径,并在区块达到一定确认数(如 6 个确认)后才触发解锁。
  3. 科学记数法目标解析:区块头中的难度目标通过 32 位 bits 的 compact 格式存储,合约必须在链上将其还原为 256 位无符号整数才能与 hash 进行大小对比。
  4. DigiShield 难度动态计算:Dogecoin 采用 DigiShield 逐块调整难度。合约必须在链上计算历史区块的时间戳间隔以校验 target 的合法性,防御恶意节点提交伪造低难度区块的攻击。

6. 开发者生态与现状


核心参考资料

  1. QED Protocol Blog: ZK + PARTH: An Architecture for Building Horizontally Scalable Blockchains
  2. BitVM 架构解析: BitVM 2: Permissionless Verification on Bitcoin
  3. Psy Protocol GitHub: github.com/psyprotocol
  4. 相关新闻: CryptoBriefing / Business Wire (关于狗狗币 zkVM 与千万美元融资报道)