探索Berachain:原生协议与技术要点分析
Berachain最近在市场上热度很高,这并不奇怪。它不仅在架构上做了不少创新,更关键的是,它通过一套精心设计的流动性共识机制(Proof-of-Liquidity, PoL),确实为区块链长期存在的流动性问题提供了一个很有想象力的解法。随着主网上线临近,Berachain也顺势推出了激励计划和TGE,想要吸引和扶持早期的生态用户和项目方。
作为Ronin Network、Merlin Chain、Manta Network、Self Chain等多条公链的官方安全审计合作伙伴,Beosin在这篇文章中,会从
Berachain的整体架构出发,深入拆解其三大原生应用的设计逻辑以及关键的合约执行流程

1. 架构
Berachain是一条Layer1上的EVM等效链。它最大的特色,就是引入了三重代币模型和流动性共识机制(Proof-of-Liquidity)。简单说,就是把流动性、共识和治理这三件事巧妙地绑在了一起,让生态里的流动性提供者能得到更多实实在在的激励。
说到架构,Berachain的设计思路很清晰,主要分两层:
- :这一层负责打包区块和达成共识。它的基础是CometBFT,一个基于Tendermint的共识协议,能快速确认交易,还能抵抗拜占庭故障(BFT)。BeaconKit在CometBFT之上做了一层封装,让它能跟任何兼容以太坊虚拟机(EVM)的执行环境交互。
BeaconKit共识层
- :这一层直接用的是以太坊的EVM。好处不言而喻,开发者可以把以太坊上的智能合约和DApp直接搬过来,现有的工具链也基本都能用。
EVM执行层
节点方面,Berachain分
验证节点和RPC节点

- :负责执行智能合约代码、管理状态变化、处理交易逻辑。通过Ethereum Engine API,Berachain支持Geth、Erigon、Nethermind、Besu、Reth、Ethereumjs这6种主流EVM执行客户端。
执行客户端
- :负责让网络节点之间达成共识,确保交易和区块的验证与排序。Berachain用的是BeaconKit。
共识客户端
2. Proof-of-Liquidity(PoL)
Berachain的PoL代币经济模型,核心围绕三个代币展开:
- :链上原生Gas代币,用来付手续费,也是验证者的质押品。
$BERA
- :治理代币,用于链上治理、奖励分配和验证者委托。它的特别之处在于,BGT是一种soulbound代币,不能转账,但可以按1:1的比例兑换成BERA。
$BGT
,BERA不能换回BGT。这个设计意味着,只有真正参与生态(比如提供流动性、借贷)的用户才能参与治理,而不是靠砸钱买票。注意,这是单向操作
- :原生稳定币,跟1美元挂钩,用于生态内外的交易。HONEY是完全抵押的,可以通过把白名单里的抵押品存入金库来铸造。不同的抵押品有不同的铸造率,这些参数由BGT治理决定。
$HONEY

PoL跟传统的PoW或PoS不同,它把链上所有流动性提供者的贡献都考虑进去了。通过流动性挖矿和质押,PoL激励用户更深度地参与生态。下面以原生的去中心化交易所BEX为例,梳理一下PoL的核心流程:
- 用户先质押BERA,成为有出块资格的验证者。
- 系统随机选一个活跃的验证者来提议新区块。
- 提议区块的验证者会获得BGT奖励,然后由该验证者决定把这些奖励分配给链上不同的金库。
- 对于BEX,流动性提供者通过在BEX池子里存入代币(比如HONEY和BERA)来提供流动性,拿到流动性凭证代币(比如$HONEY-WBERA)。然后,他们把这些凭证质押到奖励金库里,按贡献分BGT。
- BGT持有者可以把代币委托给自己信任的验证者,增加该验证者在分配奖励时的权重。这个权重不影响验证者的出块概率,但能影响BGT的流向。
目前,BGT的主要来源是Berachain上的三个官方原生DApp:原生的去中心化交易所BEX、原生的非托管借贷协议Bend,以及原生的去中心化杠杆交易平台Berps。接下来,我们重点看看这三个项目的业务逻辑。
3. PoL与BEX
BEX(Berachain Exchange)是链上的原生DEX,用户可以在上面自由交易任意一对加密资产。作为原生交易所,它和PoL共识机制结合得很紧:
- :BEX上的流动性池可以通过治理升级为PoL奖励金库,从而获得BGT奖励。
流动性池
- :用户提供流动性,拿到LP代币,再把这些代币质押到PoL奖励金库里赚BGT。
流动性提供者
- :BEX治理机制允许通过提案把新的流动性池列入PoL奖励金库的白名单。
治理

研究测试网合约后发现,BEX的代码架构主要分三部分:
BeraCrocMultiSwap合约
CrocSwapDex合约
Path合约

这些Path合约的功能分别如下:
- :合约升级相关。
BootPath
- :跟交易无关的管理逻辑,比如池子初始化、超额抵押。
ColdPath
- :最常用的交易逻辑,比如单步代币兑换。
HotPath
- :当交易跨越预设的流动性边界点(bump point)时触发,用于重新评估或调整流动性。因为处理边界情况的逻辑比较复杂,所以单拎出来了。
KnockoutPath
- :处理复杂的、由多个单一操作组合而成的长链订单交易。
LongPath
- :包含单个原子操作的中级组件,在执行复杂复合操作时,可以被调用。
MicroPaths
- :DEX进入紧急状态时,限制所有操作,只允许特定管理操作。
SafeModePath
- :包含流动性提供者的核心操作逻辑,比如铸造/销毁环境流动性、铸造/销毁集中范围流动性。
WarmPath
3.1 添加流动性
我们重点看看
添加流动性和代币兑换
接着,合约调用ProxyCaller合约的callUserCmd函数,根据proxyIdx袋里调用对应的Path合约,这里就是WarmPath。WarmPath的commitLP函数根据传入的参数,会进入不同的添加流动性分支,包括直接添加指定数量的流动性,以及按pool中的base或quote代币计价来算出应添加的数量。
最后,WarmPath的mintAmbientLiq函数负责铸造流动性,它会调用SettleLayer合约的settleFlows函数,给用户铸造对应的流动性凭证代币。

移除流动性的逻辑跟添加类似,这里就不再赘述。
3.2 代币兑换
用户用BEX兑换代币时,先调用BeraCrocMultiSwap合约的multiSwap函数,这个函数会按兑换路径,在CrocSwapDex合约里分步完成兑换。接着,再调用CrocSwapDex的caluserCmd函数,进入指定的HotPath或KnockoutPath执行具体逻辑(最常见的是HotPath)。HotPath会调用MarketSequencer的swapOverPool函数,计算出兑换的数量,最后再通过SettleLayer的settleFlows函数,给用户转出目标代币。

总的来说,BEX相比传统的Uniswap V2,有几个显著特性:
- :为了省Gas,BEX会把当前曲线状态从链上存储复制到内存里,等交易完成后再写回链上。快照保存的信息包括价格根(priceRoot)、流动性种子(ambientSeeds)和集中流动性。关于流动性种子等概念,可以参考Ambient Finance (Crocswap)的白皮书。
曲线状态(CurveState)管理
- :BEX的代码允许逐步执行交易,尤其是在大额交易跨越多个流动性边界时,系统会遍历每个区间,逐步消耗流动性,直到完成交易或触及用户设定的价格上限。它还使用了位图结构,类似Uniswap V3,来快速定位下一个可用流动性区间。不过,目前BEX链上的池子大多采用环境流动性(即在全局范围内提供流动性),而非指定价格的集中流动性,所以日常兑换操作跟Uniswap V2差别不大。
交易执行(Swap Execution)
4. PoL与Bend
Bend是Bera链上的非托管借贷协议,提供基础的借贷服务。它跟PoL的联系也同样紧密:
借款人可以抵押加密货币(比如wBTC)来借入HONEY,同时在借贷过程中还能获得一定数量的BGT。
Bend的参与者主要分三种:提供HONEY的流动性提供者、抵押借款的借款人、以及确保协议健康的清算人。
下图为该项目的主要架构

通过分析测试网合约,流动性提供者通过supply接口存入HONEY,会以1:1的比例获得AHONEY代币。随着时间的推移,AHONEY的余额会随着利息的累积而增长。流动性提供者随时可以用AHONEY通过withdraw接口1:1地取出HONEY,实现盈利。
借款人则通过borrow接口抵押资产,借出低于抵押品价值的HONEY,同时获得债务代币vdHONEY。vdHONEY和HONEY一样,会随时间增加,意味着借款人需要偿还更多HONEY。但关键是,借款人在借HONEY的同时,也能获得BGT奖励,这极大激发了借款意愿,维持了借贷池生态,也为PoL共识做了贡献。
在Bend里,任何人都可以成为清算人。
4.1 添加流动性
流动性存入时,supply函数会先更新当前储备缓存和利率,确保数据是最新的,然后检查ATOKEN是否达到铸造上限。如果一切正常,就1:1铸造ATOKEN给提供者。提取时,withdraw函数也会更新缓存和利率,根据最新利息计算用户当前的ATOKEN余额,然后1:1取出对应资产。但要注意,如果流动性提供者本身也有借款,那得在健康系数符合要求的情况下才能取出。目前,在Berachain上只有HONEY可以作为借贷资产,其他抵押品不能靠借贷产生利息。
4.2 借贷
借款人要先通过supply函数抵押足够资产,再调用borrow函数。borrow函数会更新储备缓存,然后调用validateBorrow函数验证借贷合法性,包括检查借贷上限、抵押品价值、用户信用等。验证通过后,根据抵押品价值铸造对应数量的vdHONEY,然后用户拿到HONEY。
还款时,repay函数同样先更新缓存和利率,根据最新数据算出需偿还的HONEY数量。成功还款后,销毁对应数量的vdHONEY。借款人只有在偿还足够多的vdHONEY,使得提取抵押品后仍处于健康状态时,才能用withdraw函数取回抵押品。
4.3 清算
当借款人抵押品价值不足时,任何人都可以调用liquidationCall函数进行清算。这个函数会先更新债务缓存,然后检查借款人的健康因子和抵押品可用性。如果健康因子小于1,清算成功执行,销毁债务代币,抵押品发送到储备金库地址。清算人获得抵押品价值的5%作为奖励。
5. PoL与Berps
Berps是Berachain上的去中心化杠杆交易平台,主要用于永续合约交易。原生稳定币HONEY是所有交易的抵押品、支出和存款的基础。
目前,Berps测试网已支持BTC、ETH、ATOM和TIA这四种代币的U本位永续合约交易。

Berps的架构跟市面上已有的去中心化永续交易平台比较类似,主要有以下几个核心合约:

- :用户交易(包括清算)的入口。合约会检查交易是否合法,通过后为用户创建对应交易。
Entrypoint
- :计算和管理借贷费用。
FeesAccrued
- :计算和管理所有交易对相关的费用。
FeesMarkets
- :管理所有交易对的参数和限制。
Markets
- :管理用户提交的订单,存储用户资金。
Orders
- :更新交易的状态变化。
Settlement
- :作为交易者的对手方,提供交易流动性。用户可以存钱到Vault赚取平台手续费和PoL代币激励。
Vault
6. 总结
总的来说,Berachain是一条基于Cosmos SDK构建的EVM等效L1区块链。它最核心的竞争力,就是这个独特的流动性证明(PoL)共识机制。
跟其他链不同的是,Berachain拿出的不只是白皮书和代币,而是直接配套了BEX、Bend和Berps这三驾马车,让用户一上链就能玩转代币兑换、流动性挖矿、借贷、永续交易等全套DeFi服务。再配合PoL的经济激励,