交易就是一份凭证
它不是在请求“执行这个”。它陈述“我读了这些,我写了那些,证明在此”。任何人都可以重算并比对。
reads 为输入重新执行 program 得到的正是那些 writes。不碰磁盘,不看历史。reads 是否仍与状态相符?两个动词,两个阶段
整个设计就是把这两个问题分开 — 并在最便宜的地方各自作答。
它有效吗?
只看凭证本身就能回答。任何机器上都可以一次数千份。
- 规范形式的签名核对通过
- 重新执行的结果与 writes 相符
- 范围证明闭合(屏蔽通道)
- 无效:永不进入区块
它可应用吗?
在凭证于区块中所处的位置回答,把字节与状态表相比对。
- reads 仍然相符 → writes 被提交
- reads 已过时 → 跳过,烧掉承保人的费用
- 存储单元已被花费 → 跳过
- 无论哪种情况,区块都保持有效
从诞生到入账的流程
在服务器之间构造
钱包发起请求。每一个热门合约都有自己的定序器 — 一台普通的应用服务器 — 它保存一份状态副本,把谁先动排出次序,并把每一份凭证串接到前一份的 writes 之上。一笔触及两个合约的交易由两个定序器共同构建,并作为单一的原子凭证抵达链上。
承保人签名
一位有抵押资金的承保人对照新鲜状态进行核查,联署签名,并承担跳过风险。它在带外向发送方收费,实际上卖出的是一份预确认。任何不想要中间人的人都可以用自己的保证金自行承保 — 随时可用,无需请求许可。
网络接收并并行验证
每个节点在转发之前都会从字节核查有效性。启用抽样时,由 VRF 抽取的委员会验证每一份凭证;任何节点都可以核查任何东西,而一条消息就足以惩罚一位为垃圾内容背书的承保人。
提议者排序
一个 PoS 委员会挑选有效的凭证并组装区块。它不执行任何东西,也不持有任何应用状态。它只记住 TTL 窗口内见过的那些 ID。强制队列中的凭证必须在 F 个区块之内被打包。
串行折叠
按 (underwriter, seq, id) 排序 — 次序不由提议者选择。对每一份凭证:reads 是否与状态相符?检查点每 32 个区块最终确认一次。
谁做什么
网络的安全性不需要任何一种角色。即使他们全都消失,强制队列也能让系统继续存活。
钱包
- 做什么
- 构建凭证,声明 reads 与 writes,签名
- 看得见
- 它需要读取的那部分公开状态
- 信任
- 没有人
定序器
- 做什么
- 在链外为一个热门合约定序,把多批操作打包进一份凭证
- 被信任的部分
- 仅活性。若它说谎,凭证会被跳过,由保证金赔付
- 攫取
- 它自己那个应用的 MEV,且是明示的
承保人
- 做什么
- 联署签名,并以保证金承担跳过风险
- 看得见
- 存储单元是活的还是已花费 — 从来看不到被隐藏的数值
- 会损失
- 仅当出现可在字节中证明的过错(双重表述)时
验证节点
- 做什么
- 从字节核查有效性,转发,同步
- 需要
- 核心数。只有打算提交时才需要状态
- 成本
- 随网络增长而下降,因为它只验证其中一片
提议者(PoS)
- 做什么
- 对有效凭证排序,执行折叠,提议区块
- 看得见
- 字节,而不是含义
- 赚取
- 补贴 + 已应用凭证的优先费
强制队列
- 做什么
- 一条无需许可的出口:存入保证金,在 F 个区块内被打包,保证被应用
- 成本
- 延迟与隐私
- 保证
- 没有哪个运营者是一座监狱
在不触碰串行路径的前提下实现隐私
在公开图谱之上,用一次性地址做机密交易。它隐藏数额。它把与收款方的关联推迟。它不是 Monero,论文里就是这么说的。
什么是公开的
- 发生过一笔支付,以及是谁为它承保的
- 哪一个输出被花掉了,在花费的那一刻
- 公开通道与屏蔽通道之间的每一次跨越,数额都是明面上的
- 手续费、coinbase、向合约的支付
屏蔽池是一道围栏,不是一个警报器
折叠从不做曲线运算。它存下 32 字节的承诺,然后比较是否相等。所有繁重的密码学 — 范围证明、余额等式 — 都在并行阶段验证,并在那个便宜的市场里付费。
论文承认的取舍
隐私与抗审查无法共存于同一份凭证之中。私密模式(联署签名)有一个可以拒绝你的运营者。无需许可的模式(自行承保或强制入列)会暴露你的保证金钱包。任何被所有承保人拒绝的人,都在同一个动作里保住了花费的权利、失去了隐私。
为什么不用环签名
一个环会引用其他人的输出 — 那会让有效性成为历史的函数,并且毁掉无状态验证。Zycord 不愿放弃这一性质,所以它的隐私性弱于 Monero,这是决定的结果,不是疏忽。
网络:两个 gas 市场
一条在单一拍卖里为一切定价的链,会让一次证明验证去和一次状态写入竞价。在这里,每一种资源都有自己的价格。
并行 gas
为验证付费:签名、重新执行、字节、繁重的证明、后量子方案。
串行 gas
为折叠付费:核查 reads、writes、租约。这是每个节点都要按序运行的那个唯一循环。
跳过费被烧掉,从不支付给任何人
如果一份被跳过的凭证把费用付给提议者,那么组装区块的人就能靠制造冲突获利。烧掉它反转了激励:一次跳过占了位置却什么也赚不到,所以收入最大化就意味着让尽可能多的凭证被应用。
从上方看这个网络
四个互不重叠的层:谁定序、谁承保、谁验证、谁排序。每一层随着不同的资源而扩展。
按应用划分的定序器
普通的 web2:websocket、队列、自动扩缩容。它们为热门合约定序,并把多批操作打包成 GPU 擅长验证的形状。它们从不托管数据 — 状态始终可以仅凭链本身重建出来。
承保人市场
有抵押的承保人出售预确认:“数秒内被应用,否则我的保证金赔付”。双重表述会被字节中的一份证明所惩罚;缓慢只会付出声誉的代价。延迟永远不会变成没收。
验证委员会
按凭证由 VRF 抽取,规模的设定使一份无效凭证得以逃脱的概率可以忽略不计。任何全节点都可以审计任何东西。一条消息就足以施加惩罚。
PoS 委员会 + 折叠
提议区块,执行折叠,最终确认检查点。强制队列迫使凭证在 F 个区块内被打包并保证其被应用 — 正是这个机制让网络能在任何运营者之后继续存在,包括作者本人。