运营方会问的六个问题。按顺序排列。
本站其他页面按信息架构组织——架构、故障史、信任层。这一页则按抱持怀疑的运营方真正想知道的问题来组织——作答紧凑,且按被问到的先后顺序排列。
它到底做什么?
L1(网关)验证 SV2 表面;L2(Shield)重新推导 template 的每个声明字段,并与独立 mempool 交叉校验。单一二进制文件。
出问题时它会告诉我什么?
指标流与日志行上都带有具名 reason code——网关 code 加上 22 个 v2_invariant_*。看到一个,复制它,去文档里搜。不做静默丢弃。
会立即产生无效区块的缺陷。从原始区块字节重新推导。
CoinbaseValueCoinbaseHeightMerkleRootWitnessCommitmentMismatchTxCount会导致区块大概率成为孤块,或在下游被判为无效的缺陷。
TemplateWeightSigopsCoinbaseSigopsWitnessCommitmentMissingCoinbaseBip34在 v2.0.0 的生产观察周期干净完成后接入。
CoinbaseScriptLengthCoinbaseOutputCountWeightExceedsMaxSigopsExceedMaxNonCoinbaseNullPrevoutHeaderVersionLowDuplicateTx将 template 中非 coinbase 的 txid 与一份独立的 bitcoind mempool 视图交叉核对。当未知 tx 比例超过 tolerance_pct 时拒绝。
权威来源: rg-consensus::ConsensusViolation::ALL_CODES
怎么配置?
基线 61 个 TOML 键,另加 [policy.mempool] 下的 8 个新键。跨各 reload tier 均可热重载。
8 个新键全部可选并带默认值,因此旧配置无需改动即可继续加载。
成本是多少?许可证是什么?
三种接入模式:Shadow(免费,仅告警)、Observe(需许可,不强制执行)、Inline(需许可,fail-closed)。
让网关运行在你现有路径之后,裁决 = 仅告警。share 流零改动。
自托管的 Docker 技术栈加许可证密钥。需要 mainnet bitcoind(或使用 rg-feed-server)。
fail-closed 强制执行。网关位于 share 路径中。
observe 与 inline 两种模式都需要运营方侧的 bitcoind:已同步、资源充足、RPC 可达,并通过环境变量或 [policy.mempool] 接通 rpc_* 凭据。
为什么不运行现有的矿池网关?
与 Stratum Reference Implementation 矿池的逐项功能对照——这是我们调研中唯一点名的可比对象。其余几种选择(内部自维护的 Core 分叉、demand-broker 代理、什么都不做)是运营决策,不是产品。
Stratum Reference Implementation(SRI)是 SV2 协议可实现性的权威证明。Veldra 面向的是需要验证、而不只是需要连通性的矿池运营方。
DATUM 及其他矿工侧 template 协议属于生态背景。Veldra 的验证层与矿池运行哪一种矿工侧协议无关。
今天已经接通了什么?还有什么仍在计划中?
v2.0.0 在同一个发布中接入 Phase 1(Tier 1 + Tier 2 不变量——10 个 reason code)与 Phase 2(Class M mempool 真值基准)。Phase 1.5 在生产观察周期之后增加 7 个 Tier 3 兜底不变量。v3.x 是一份设计草图——selfish mining 检测。
Invariant Shield Phase 1 加上 Phase 2 的 mempool 真值基准。
v2.0.0 的生产观察周期干净完成后,七个 Tier 3 兜底不变量随之接入。
selfish mining 检测。per-tx detail 模式,加上 v2.0.0 中已交付的四项 Phase 2 指标,已经为时间序列检测备好了数据形态:检测那些未知 tx 集合在时间上聚集、且指纹在结构上彼此一致的 template。v3.x 的设计从已交付的 Phase 2 表面出发——无需协议变更,除了在运营方策略中开启 per-tx detail 之外没有迁移成本。