技术白皮书 v2.3
BlazePhoenix-Dex 是一个链上流动性聚合器,建立在一条主张之上:报价与它的执行是同一次计算。路由在执行它的那笔交易内部,从公开的池状态出发,由一个任何读者都能重跑的无状态库推导出来;在结算时具有约束力的那个数字,由同一个分发器在执行帧中重新推导。没有路由服务,没有价格预言机,没有守护机器人,也没有升级通道。本文规定五份合约——Core、Hub、Solver、Router、Quoter——以及元方程(Meta-Equation)的各个算子:八重分发器 Ω(Eightfold Dispatcher Ω)、确定性推导 𝒟(Deterministic Derivation 𝒟)、铁律下限 Φ(Iron-Law floor Φ)、活力场 Ψ(Vitality Field Ψ)与反诈骗投影算子 Ξ(anti-scam projector Ξ)。它们背后是一条纪律,计量学设计(Metrological Design):凡是能测量的坐标都去测量,其余的都做成单调的,使得虚假的输入只伤害提供它的人。每一项保证都与它的强制执行位置和它的边界一并写出。验证装置连同它的分母一起印出:在发布配置下 1,320 项测试中有 1,319 项为绿,203 个精选变异体中 203 个被杀死,针对 43 条有状态不变量投放的 15 个变异体中有 14 个被察觉,强度为 2(63 行,258 对)和 3(168 行,1,636 组)的覆盖阵列,14 + 5 条蜕变关系,三个彼此一致的优化器构建,以及一项关于报价如何变旧的 240 样本研究。这一切没有确立什么,同样被小心地写明。本文所述的代码是 V2,尚未部署;已部署的世代是 V1,以 codehash 钉住,使两者绝不混同。
状态:本文描述什么,以及什么已经部署
本文描述的第 2 版代码树在代码库中,尚未部署;已部署的世代是第 1 版,在每一条网络上都以 codehash 钉住,使两者绝不混同。文中的每一个数字都在 main 8949a9d 上测得,并与它的分母一并印出;中文全文见 https://blazephoenix.xyz/whitepaper/zh.md;以英文原文为准:https://blazephoenix.xyz/whitepaper.md
§1 问题:报价是别人替你算出的一个承诺
设想你在一座有二十家车商的城市里卖车。一个好的中介会走遍二十家,找出最好的价格,或许还会把这笔交易拆给其中两家。多数链上“中介”是在自己的数据库里查价——那份数据可能已经陈旧——然后给你看一个结果。你无法验证他们真的看遍了二十家,也无法验证他们给你看的就是最好的那个。你能验证的只有:到目前为止,他们一直是诚实的。
§2 答案与纪律
BlazePhoenix-Dex 有一个入口点,接受六个值——两种代币、数量、你的最小可接受额、一个接收方、一个截止时间——并在执行这笔交易的内部,从属于公开状态的池储备里算出路由:走哪些交易场所、各分多少、按什么顺序。因为路由是由公开代码从公开状态推导出来的,任何人都可以重新推导一遍。
§3 元方程(Meta-Equation)与依赖预算
整个聚合器可以读作对一个表达式的最大化。给定输入代币 t_in、输出代币 t_out 和数量 x,Solver 在可采纳的路由中搜索那条使净收到价值最大的路由,并受一条可行性下限与一道反诈骗闸门的约束。
§4 八重分发器 Ω(Eightfold Dispatcher Ω)
直白地说:一个知道如何为每一种池定价的函数。精确地说:Core 中的 universalQuote(QuoteCtx, amountIn) 就是供 Solver 使用、也供 Quoter 预览使用的报价分发器;它返回预期产出,以及供拆单分配器(Split Allocator)使用的、以代币计价的深度,而它无法定价的池会返回零,并在任何东西被发送出去之前被剔除。
§5 Uniswap V4 全流程
Uniswap V4 不是一份新的池合约;它是一种新形态的交易场所,并且它推翻了 2020 至 2024 年间建成的每一个路由器所依赖的四条假设。池没有地址——它们是某个单例合约存储中的条目,以一个哈希为键。任意代码在兑换过程中运行——钩子会在路由器正在执行的结算的既定点位上被调用。手续费不必是常数。而且池可能持有链的原生币,而原生币没有 balanceOf。本节从结构上回答了这四点,使得一条 V4 腿——对 Solver、对各条下限、对交易者而言——与任何其他腿都无从分辨。
§6 Solidly 求解器
有些不变量没有简单到可以安全复现的闭式,而复现它们恰恰就是本协议在别处拒绝的那种复制风险。对于这类交易场所,分发器改为询问池本身,通过该场所所暴露的最窄的诚实通道——并为那些不作答的分叉备下一份复制实现。
§7 确定性推导 𝒟(Deterministic Derivation 𝒟)
一个池在被定价之前,必须先被找到。业界的答案是去问:对场所工厂的一次调用读取一个存储映射并返回一个地址,调用方相信工厂的说法。BlazePhoenix 支持这个答案——四种工厂调用模式覆盖了那些部署不可复现的场所——但只要算术允许,它更倾向于一个更强的答案:直接算出地址,不做任何外部调用。算出来的地址,任何拥有同样三项输入的人都能验证;取回来的地址,只能选择信任。
§8 单槽位(Monoslot)
在 EVM 上做任何事情,存储都是最主要的开销:一次冷 SLOAD 是 2,100 gas,而一个把池的各项属性散落在不同槽位里的注册表,会在评估的每一条路由上、为每一个池、为每一项属性重复支付这笔开销。BlazePhoenix 把一个池的全部路由状态打包进单独一个 256 位字——单槽位——只读一次,再用纯算术解码。
§9 自愈注册表(Self-Healing Registry)与活力场 Ψ(Vitality Field Ψ)
多数聚合器之所以知道自己的交易场所,是因为有守护机器人在链下为池建索引并把名单推上链——一个受信任的流程、一个陈旧窗口、一项运营依赖,而这三样正是一个在链上求解路由的协议不能接受的。BlazePhoenix 采取相反的立场:注册表通过交易流动性来认识流动性。
§10 路由与拆单分配器(Split Allocator)
恒定乘积池按一条规则定价:它的两项储备相乘,永远不得缩小。以手续费保留率 γ 投入 Δ(0.30 % 的场所费意味着 γ = 0.997),你收到 yγΔ / (x + γΔ),你自己的输入就在分母里:你在同一个池里推得越多,之后每一枚代币的价钱就越差。滑点是算术,它的解药同样是算术:把同一笔订单拆到同一交易对的多个池上,每个池被推动的幅度都更小。
§11 执行层与铁律下限 Φ(Iron-Law floor Φ)
Solver 提议;Router 处置——要么原子地完成,要么什么也不做。Router 是唯一移动资金的合约,在两笔交易之间不持有任何东西,并建立在一条原则之上:每一件关切用一套机制,普遍适用。凡是它能测量的,它都不去假设。
§12 报价的两个表面,以及报价如何变旧
被称作“你的报价”的那个数字可能来自两个地方,而它们是不同的代码路径:一个是 Quoter,一份只读的预览合约,界面会在你签名之前调用它;另一个是帧内路径,Solver 与 Router 在正在执行的交易内部计算报价。§4.4 给出了逐类的真相;本节给出这两个表面,并测量它们之间的落差。
§13 费用政策:两种机制与盈余规则(Surplus Rule)
直白地说:协议只收一次 0.28 %,从一个被测量的金额中收取,以国库愿意持有的币种收取,并把这件事记账。精确地说:PROTOCOL_FEE_BPS = 28 是 Core 中的编译期常量,已部署字节码里任何地方都没有 setter;费用是 mulDivUp(base, 28, 10,000)——向上取整,因此对任何非零基数都不可能出现零费用——按 TREASURY1_SHARE = 3,000 bps 分给第一个国库,余下的给第二个(以 fee − t1 计算,因此两者之和永远等于费用,不留尘埃),两个国库在构造时固定,并可由单向门(One-Way Door)永久冻结。
§14 安全模型
直白地说:Router 在两笔交易之间不持有任何东西,每一次兑换要么全成要么全不成,而这个代码库考虑过的每一类攻击,要么由一项具名的检查来回应,要么被明确点名为不在范围内。精确地说:威胁目录是 docs/assurance/threats.json,共 23 类,取自公开的攻击记录;每一类都点名那个拒绝它的守卫符号,并且只要该符号离开 src/ 或具名的测试离开 test/,一个 CI 脚本就会让构建失败。对一份目录的覆盖,是已被考虑之物的下限,绝不是存在之物的上限。
§15 验证装置,实测
直白地说:这里的每一个数字都与它所对照测量的分母一并印出,可以从一次干净的检出用脚本或具名的 forge 命令(附录 C)重新算出,并且后面跟着它没有确立什么。精确地说:被测量的代码树是 main 8949a9d 以及成为它的那条分支,在发布配置下(optimizer_runs = 300,via_ir),2026-09-05。
§16 架构与体积
直白地说:五份合约,其中一份是纯数学,被另外四份导入,而没有任何一段数学被定义两次。精确地说:Core 是一个无状态库,没有存储、没有所有者、没有升级通道;Hub、Solver、Router 与 Quoter 都导入它,且没有任何一方重新定义某个原语,所以对这套数学的一次审计就覆盖了每一个使用者。
§17 实测性能
直白地说:本节中的一切都是在真实链的分叉上测得的——真实的交易场所,陌生人存入的真实储备,同一份字节码——并且就按这个含义标注。精确地说:一个数字只有在代码库中有公开测试装置能复现它时才会出现在这里;装置、链与日期都与它一并印出。分叉上的测量是关于行为的证据,不是部署记录;部署记录见 §19。§12 与 §15 的测量来自 2026-09-05;本节的测量活动在 2026 年 8 月执行,其装置位于 test/fork/。
§18 剥到骨头的DEX
十七节的机制,压缩成一页。只有一项工作:接收两个代币、一个数量、你的最低收款、一个接收人和一个截止时间,返回链上公开流动性能交付的最大输出——或者拒绝,并给出说明原因的代码。五个合约共享一套数学(Core、Hub、Solver、Router、Quoter);六种交易场所由一个调度器定价;四个入口通向一个执行器;每笔交易下都有三道底线和你自己的最低值;0.28%的费用编译在代码中,没有人能改动。
§19 部署状态
本文记录的是代码库,而代码库是准绳:本文与源码不一致时,以源码为准。存在两个世代,且它们绝不混同。
§20 代币 — BZPX
十亿BZPX,永久固定,一个朴素的ERC-20:18位小数,无增发路径,无转账费,无rebasing,无转账钩子,无暂停或黑名单。2.3版分配:市场流动性 520,000,000 (52%),Staking释放 180,000,000 (18%),Airdrop & Bounties 130,000,000 (13% — 原50,000,000空投、原50,000,000研究资金池,以及从市场流动性转出的30,000,000),团队 103,000,000 (10.3%),合作伙伴 60,000,000 (6%),营销 7,000,000 (0.7%)。
§21 研究计划与安全记录
在这个项目还没有配得上这个名字的研究计划之前,独立研究者们就已经带着敌意读过源码——没人邀请,也没有任何承诺——并私下披露了他们所见。本文所述的代码,正是从他们的阅读中活下来的代码。他们每个人报告了什么、后来如何处理,都存放在这类记录应当存放的地方:代码库的 SECURITY.md 与 SECURITY_HALL_OF_FAME.md 中,紧挨着代码,每一条都可以双向核对。本节记录他们是谁、敌意阅读能得到什么,以及所发现之物的形状。
§22 你必须信任什么,以及你不必信任什么
每个协议都自称无需信任;几乎没有哪个能把自己的例外一一列出。这里是完整清单,每一项权力都与限定它的那条界线一并写出。
§23 相关工作
路由。Angeris、Evans、Chitra 与 Boyd 把跨恒定函数做市商的路由表述为一个凸规划,其最优解会拉平各场所之间的边际价格;Diamandis、Resnick、Chitra 与 Angeris 为之给出一个高效的对偶分解算法。
§24 结论
我们的出发点,是把聚合器建立在一条纪律之上——测量,而不是相信——并且在每一个原本可以听信他人之言而取用某个数字的地方都守住它:路由、价格、下限、费基、场所集合、一个池自称在交易的那一对代币,甚至协议自身的成本模型。
Questions, a partnership or a bug to report? Contact us or email contact@blazephoenix.xyz