devnet · zchain-poker-devnetPLAY 娱乐筹码 · REAL 托管映射 · v1 托管网络
finality: soft accepted → BFT ordered → proven → finalized/claimable
四种状态来自技术方案 §5.1。v1 当前实际达到 soft accepted(桌级软确认)与 proven(批次证明);BFT ordered 与 finalized/claimable 属于 v1.5 / Phase 2 路线图,尚未上线。软确认不代表最终确认,也不能单独授权 REAL 提现。

ZChain Poker 文档 · docs v1.3.0-alpha (ABI v1.3)

Texas AIR 与公开输入

公开输入决定"证明了什么";本页逐字段列出 scope v2。

AIR 概述

Texas canonical tagged AIR 是手写约束的 STARK AIR,覆盖:

  • 牌局状态转移(洗牌/发牌承诺、下注动作、街推进、摊牌);
  • 状态镜像链:每个转移绑定 pre/post 镜像承诺;
  • nullifier 消耗与 custody 恒等式(盲注面额自 hand-start 镜像起被覆盖);
  • rake opening(可选):min(floor(pot·bps/10⁴), cap, pot),mode 0 → 0。

一批次可含多手(first/last_hand_id),单 canonical batch 出一张证明;E2E 正例为 3 人 REAL 桌完整一手单批次出证。

公开输入:TexasArchiveScope v2 字段表

borsh 字段序与 ArchivedCanonicalTaggedProof 公开字段逐字段一致:

字段类型说明
log_size, num_columnsu32 × 2AIR trace 形状
table_idu64桌标识,与结算记录一致
first_hand_id, last_hand_idu32 × 2手边界
first_call_seq, last_call_sequ32 × 2调用序列边界
transition_countu16转移数(> 0 才有效)
first/last_transition_kindu8 × 2首末转移类型
reveal_timeout_cascade_count / _scheduleu8, [u8;9]揭牌超时级联
batch_digest[u8;32]批次摘要
pre/post_state_commitment[u8;32] × 2首/终态承诺
pre/post_state_root[u8;32] × 2首/终态 SMT 根(v1.2 绑定进 attestation)
pre/post_lifecycle_root[u8;32] × 2生命周期子状态根
pre/post_overlay_root[u8;32] × 2覆盖层子状态根
pre/post_settlement_commitment[u8;32] × 2结算承诺
pre/post_custody_commitment[u8;32] × 2托管承诺
pre/post_state_image_bytesVec<u8>定宽状态镜像(CanonicalStateImage v5,1680B)
range_claimed_sum[u32;4]范围声明累计
rake_openingOptionRakeOpeningScope { rake_mode, rake_bps, rake_cap }
blind_openingOptionBlindOpeningScope { small_blind, big_blind, ante_mode, ante_amount }

尾缀字段(rules_hash / state_object_key / state_opening_epoch / stark_proof_bytes)不进镜像;镜像一致性由适配器测试钉住。

状态镜像偏移(CanonicalStateImage v5,1680B,u64 LE)

偏移字段
66chip_pool
74pot(逐字节绑定 record.pot——P0-2)

镜像字节被 Fiat–Shamir 范围绑定 + 端点投影约束:翻转任一字节都会使证明验证失败(深度篡改负例已验证)。

结算侧绑定

证明不单独生效:SettlementRecord 校验要求 scope 的 table_id、终态承诺、pre/post_state_root 与声明一致,potrecord.pot 逐字节相等,rake opening 与费率公式一致。关系见ABI 摘要 §4