七个合约。 一套数学。

整个协议只有七个合约,而它的两台引擎以同样的方式构建:底层是一个纯数学库,由上层的工作合约导入,因此没有任何数字被重复定义,也没有任何合约信任不是自己算出来的值。五个构成聚合器,两个构成质押引擎。下面的每一个地址都是 Base 上真实且已验证的部署;同一份字节码运行在 Ethereum、Optimism、Arbitrum 和 Robinhood Chain 上(完整矩阵见 /verify)。

Aggregator Pentad(聚合器的五个合约)

“五个合约,其中一个是纯数学,由另外四个导入。”Core 负责计算;Hub 负责记忆;Solver 负责决策;Router 负责结算;Quoter 负责预览。每一个都只暴露一条紧凑的错误路径,使 revert 面与正常路径同样清晰可读。

BlazePhoenixCore纯库 · 内联,无独立地址

Ω · 𝒟 · Φ · Ψ —— 纯数学库,无状态。没有存储、没有 owner、没有升级路径,只有函数。the Eightfold Dispatcher Ω、Deterministic Derivation 𝒟、the Iron Law Φ 与 the Vitality Field Ψ 都以纯计算的形式存在于此。由另外四个合约导入;数学不会在其他任何地方被重新定义。

Hub0x428554DEe93A1B8B5Bc6Fd19adDAfe55106fc04C

Ψ · 注册表 —— 场所注册表与活力场。以 ERC-7201 命名空间保存候选池注册表(每个交易对 16 packed slots)、活力场以及桥接代币集合,因此它的存储永远不可能与调用方的槽位发生冲突。

Solver0xB1902990260975dD4C89ad74B1f317bc100CB830

𝒰(route) —— 只读路径优化器。一个纯粹的只读路径优化器,在各条路由上最大化元方程,且不触碰任何自己无法推导出的状态。它只做决策,从不结算。

Router0x2a779f9Be49aac57495A8B6467Cc325a8a47Eb9f

Φ · execute —— 原子化执行,唯一转移资金的合约。它是唯一转移价值的合约,并且在调用方给定的最小输出下限内原子化地完成转移——the Iron Law Φ 的下限在链上重新推导,因此被污染的前端永远无法把它调低。静息状态下不持有任何资产。

Quoter0x4cEF0615614B212895F45Aa1D4833B16666E18d3

previewPlan —— 链下预览的镜像。通过 previewPlan 为链下预览镜像 Solver,在构造上产出与 Router 将要实现的完全相同的数字。报价本身就是执行逻辑。

5 个合约。

Staking Dyad(质押的两个合约)

同样的纪律,应用于协议自身的资本:一个纯数学库,以及导入它的引擎。由于抵押品与借出资产是同一种代币(BZPX),任何地方都不存在价格预言机——整个攻击面在构造上就不存在。

BlazePhoenixMathLib纯库 · 内联,无独立地址

mulDiv · rawBalanceOf —— 纯数学库,内联。包含所有比例计算都要经过的完整 512-bit 先乘后除,以及 rawBalanceOf——让合约读取自身背书资产的 staticcall。全部为 internal,因此被内联进引擎的字节码(无独立地址),正如 Core 之于聚合器。

BlazePhoenixStaking0x3f60C7aa0c36a78D200405feBE143d2Cf3fA0c77

conserves —— 由偿付能力强制约束的引擎。多数协议拆成三个合约来做的事——金库、借贷市场与锁仓加成——在这里由一个合约完成,通过单一的 UserInfo 记录与两个累加器进行对账,每一条转移价值的路径都被 conserves 守卫包裹。180M BZPX 按两年一次的减半曲线在 16 年内释放;偿付能力是一个 revert 条件,而不是仪表盘上的读数。

2 个合约。

每台引擎所立足的那一个方程

聚合器在候选路由上最大化单一目标函数——取净输出,但只取那些越过 the Iron Law Φ 下限的路由,并按各资金池的活力加权:

<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mrow><mi>𝒰</mi><mo>(</mo><mi>route</mi><mo>)</mo><mo>=</mo><mi>𝟙</mi><mo>[</mo><msub><mi>y</mi><mtext>net</mtext></msub><mo>≥</mo><mi>Φ</mi><mo>·</mo><msub><mi>y</mi><mtext>quote</mtext></msub><mo>]</mo><mo>·</mo><msub><mi>y</mi><mtext>net</mtext></msub><mo>·</mo><munder><mo>∏</mo><mi>i</mi></munder><msubsup><mi>Ψ</mi><mi>i</mi><msub><mi>w</mi><mi>i</mi></msub></msubsup></mrow></math>

质押引擎立足于 the Master Conservation Identity(主守恒恒等式)——物理余额等于账本所欠,由 conserves 守卫在每笔交易中强制执行,因此资不抵债的状态是不可达的,而不只是可被观测的:

balanceOf(this) + totalBadDebt
  == (totalStaked − totalDebt) + rewardReserve + protocolReserve
     + (totalRewardDistributed − totalRewardsPaid)

可以免费从链上实时读取:/solvency(或 isSolvent() · solvency() · auditInvariants())。

自己动手验证全部内容

这里没有任何一处要求你信任。质押引擎此刻正在运行,并且具备偿付能力:

cast call 0x3f60C7aa0c36a78D200405feBE143d2Cf3fA0c77 "isSolvent()(bool)" --rpc-url https://mainnet.base.org

代码许可:合约在 2030 年之前采用 BUSL-1.1——可自由阅读、审计与验证;生产环境使用需要许可。请成为伙伴,而不是克隆 ›

English(完整架构页面)