TechFlow Logo
Войти/ Регистрация
Газ ETH
Gwei
Страх
gas
Исследование Berachain: анализ нативного протокола и ключевых технических аспектов

Исследование Berachain: анализ нативного протокола и ключевых технических аспектов

2025.02.07
Поделиться
Анализ архитектуры Berachain, дизайна трех основных нативных приложений и связанного с ними процесса выполнения контрактов.

Автор: Beosin

Berachain, как блокчейн, привлекающий значительное внимание рынка, обладает множеством инноваций и особенностей, которые привлекли большое внимание сообщества и разработчиков. Berachain предлагает уникальное решение проблем ликвидности в цепи благодаря механизму PoL и модели с тремя токенами. Поскольку запуск основной сети Berachain уже близок, Berachain запустила программу стимулов и TGE, чтобы привлечь и поддержать ранних пользователей экосистемы и проекты Berachain.

В этой статье мы расскажем об архитектуре Berachain, дизайне трех нативных приложений и соответствующих процессах выполнения контрактов, чтобы помочь читателям глубже понять Berachain.

1. Архитектура

Berachain — это Layer 1 блокчейн, совместимый с EVM. Особенностью этой цепи является внедрение модели с тремя токенами и механизма консенсуса ликвидности (Proof-of-Liquidity), который объединяет ликвидность, консенсус и механизмы управления, предоставляя больше стимулов для поставщиков ликвидности в экосистеме цепи.

Архитектура Berachain主要分为两个层级:

(1)Уровень консенсуса BeaconKit. Этот уровень в основном отвечает за механизм консенсуса блокчейна, используя CometBFT в качестве базового алгоритма консенсуса и внедряя на его основе Proof-of-Liquidity. CometBFT — это протокол консенсуса на основе Tendermint, который обеспечивает быстрое подтверждение транзакций и византийскую отказоустойчивость (BFT). В Berachain BeaconKit дополнительно инкапсулирует CometBFT, позволяя ему взаимодействовать с любой средой выполнения, совместимой с виртуальной машиной Ethereum (EVM).

(2)Уровень выполнения EVM. Уровень выполнения Berachain использует ту же виртуальную машину, что и Ethereum — EVM(Ethereum Virtual Machine),确保 Berachain 支持现有的以太坊工具链、智能合约和生态系统,使开发者能够直接移植以太坊上的智能合约和去中心化应用程序(dApps)到 Berachain。

В Berachain узлы делятся на два типа: узлы валидаторов и RPC-узлы. Каждый узел может быть настроен как полный узел или архивный узел. Каждый тип узла представляет собой комбинацию клиента выполнения и клиента консенсуса, что означает, что на уровне выполнения он поддерживает любой клиент выполнения EVM и сопрягается с клиентом консенсуса BeaconKit и фреймворком, созданным Berachain.

● Клиенты выполнения: отвечают за выполнение кода смарт-контрактов, управление изменениями состояния и выполнение логики транзакций. Используя Ethereum Engine API, Berachain поддерживает 6 основных клиентов выполнения EVM: Geth, Erigon, Nethermind, Besu, Reth и Ethereumjs.

● Клиенты консенсуса: отвечают за достижение консенсуса между узлами сети, обеспечивая проверку и сортировку транзакций и блоков. Berachain использует BeaconKit в качестве клиента консенсуса.

2. Proof-of-Liquidity(PoL)

Модель токеномики Proof-of-Liquidity (PoL) Berachain в основном涉及三个核心代币:

$BERA: BERA — это нативный токен газа Berachain, используемый для оплаты комиссий за транзакции и в качестве токена стейкинга для валидаторов.

$BGT: Токен управления Berachain, используемый для участия в управлении цепью, распределения вознаграждений и делегирования валидаторам. Уникальность этого токена по сравнению с обычными токенами управления заключается в том, что BGT является soulbound-токеном, что означает, что он непередаваем, то есть пользователи не могут переводить BGT между разными адресами, но этот токен можно обменять на BERA в пропорции 1:1. Следует отметить, что это односторонняя операция, BERA нельзя обменять обратно на BGT. BGT как непередаваемый soulbound-токен означает, что только пользователи, фактически участвующие в экосистеме Berachain (например, предоставление ликвидности, кредитование и т.д.), могут участвовать в управлении, а не через покупку или торговлю.

$HONEY: Нативный стейблкоин Berachain, используемый для обеспечения стабильного и надежного средства обмена внутри и за пределами экосистемы Berachain. Официально заявлено, что его стоимость привязана к 1 доллару США. HONEY — это полностью обеспеченный стейблкоин, который может быть создан путем внесения обеспеченных активов из белого списка в хранилище. Разные обеспеченные активы имеют разные коэффициенты создания, определяемые управлением BGT.

Механизм Proof of Liquidity (PoL), используемый Berachain, отличается от традиционных механизмов консенсуса (таких как PoW или PoS). PoL учитывает вклад всех поставщиков ликвидности экосистемы цепи. Через фарминг ликвидности и стейкинг Berachain использует PoL для стимулирования большего количества пользователей к участию во всей экосистеме Berachain. Ниже на примере нативной децентрализованной биржи Berachain BEX представлен основной процесс PoL в экосистеме Berachain:

  • Начальный стейкинг: Пользователи сначала стейкают BERA, становясь валидаторами с правом создания блоков.

  • Предложение блока: Случайным образом выбирается активный валидатор для предложения нового блока.

  • Распределение вознаграждений: Валидатор, предложивший блок, получает токены управления (BGT) и распределяет их между различными хранилищами вознаграждений в экосистеме цепи. Этот параметр устанавливается каждым валидатором.

  • Поставщики ликвидности: Для BEX поставщики ликвидности могут предоставлять ликвидность, внося токены (например, HONEY и BERA) в пулы BEX, и получать токены ликвидности (например, $HONEY-WBERA), стейкая их в хранилища вознаграждений, тем самым получая вознаграждения BGT в соответствии со своим вкладом.

  • Делегирование токенов управления: Держатели BGT могут делегировать их активным валидаторам, увеличивая вес распределения вознаграждений этого валидатора при предложении блоков, тем самым влияя на распределение BGT, но этот вес не влияет на вероятность создания блоков валидатором.

Поскольку в настоящее время токены управления BGT в основном поступают из трех официальных нативных DApp на Berachain: нативной децентрализованной биржи Berachain BEX, нативного некастодиального протокола кредитования Berachain Bend и нативной децентрализованной платформы маржинальной торговли Berps, в этой статье мы в основном расскажем о бизнес-логике этих трех проектов.

3. PoL и BEX

BEX (Berachain Exchange) — это нативный протокол децентрализованной биржи (DEX) Berachain, позволяющий пользователям торговать любой парой криптоактивов без посредников. BEX является важной частью экосистемы Berachain. Как нативная децентрализованная биржа, она тесно интегрирована с механизмом консенсуса PoL следующим образом:

  • Пулы ликвидности: Пулы ликвидности на BEX могут быть обновлены через управление до статуса хранилищ вознаграждений PoL,从而有资格获得 BGT 奖励。

  • Поставщики ликвидности: Пользователи могут предоставлять ликвидность на BEX и получать токены LP, а затем стейкать эти токены в хранилища вознаграждений PoL для заработка вознаграждений BGT.

  • Управление: Механизм управления BEX позволяет через предложения включать новые пулы ликвидности в белый список хранилищ вознаграждений PoL, чтобы эти пулы могли получать вознаграждения BGT.

Изучив контракты в тестовой сети, текущая основная архитектура кода BEX разделена на три части. Первая часть — это контракт BeraCrocMultiSwap (https://bartio.beratrail.io/address/0x21e2C0AFd058A89FCf7caf3aEA3cB84Ae977B73D). Этот контракт в основном отвечает за обмен токенов по нескольким путям. Когда обмен токенов пользователя включает промежуточные токены, необходимо вызывать этот контракт;

Вторая часть — это контракт CrocSwapDex (https://bartio.beratrail.io/address/0xAB827b1Cc3535A9e549EE387A6E9C3F02F481B49). Этот контракт отвечает за все операции пользователя с пулами, включая добавление и удаление ликвидности, обмен токенами и т.д.;

Третья часть — это контракты Path. В цепи BEX всего 8 типов контрактов класса Path. Разные контракты Path соответствуют разным функциям. В зависимости от параметра User Cmd, соответствующего разным операциям, переданным пользователем в контракт CrocSwapDex, CrocSwapDex будет вызывать соответствующий Path через прокси для выполнения указанной логики.

Основная логика проекта разделена на следующие категории в соответствии с разными функциями Path:

  • BootPath: Функции, связанные с обновлением контрактов

  • ColdPath: Логика управления, не связанная с транзакциями, включая инициализацию пулов и функции избыточного обеспечения

  • HotPath: Отвечает за наиболее распространенную логику транзакций, одношаговый обмен токенов

  • KnockoutPath: Это событие触发,当交易跨越一个预定的流动性边界点或价格点(称为 bump point)时,用于重新评估或调整流动性。与普通交易路径不同,代码 для пересечения границ ликвидности сложен и не может быть полностью включен в HotPath, обрабатывающий обычные обмены, поэтому обрабатывается отдельно

  • LongPath: Отвечает за обработку длинных сложных заказов (Long-chain Compound Orders), обычно指的是在去中心化交易平台或流动性池中,由多个单一操作组合而成的复杂交易

  • MicroPaths: Содержит промежуточные компоненты, связанные с单一原子操作,这些组件在执行复杂的复合操作时,能够在已预加载的流动性曲线的上下文中被调用

  • SafeModePath: Основная цель — ограничить все другие операции при переходе контракта DEX в аварийное состояние, разрешая только определенные операции управления

  • WarmPath: Содержит основную логику операций поставщиков ликвидности, создание окружающей ликвидности(Mint ambient liquidity)、создание концентрированной диапазонной ликвидности(Mint concentrated range liquidity)、уничтожение окружающей ликвидности(Burn ambient liquidity)、уничтожение концентрированной диапазонной ликвидности(Burn concentrated range liquidity)

3.1 Добавление ликвидности

В этой статье в основном介绍添加流动性和代币兑换两种常见逻辑。当用户添加流动性时,首先通过前端或者合约调用 CrocSwapDex 合约的 userCmd 函数,其中 callpath 是一个 16 位索引,用于标识通过 DELEGATECALL 将命令调用转发到的对应的 Path 合约;

Затем контракт вызывает функцию callUserCmd контракта ProxyCaller, вызывая через прокси соответствующий контракт Path, в данном случае контракт WarmPath; Функция commitLP контракта WarmPath войдет в соответствующую ветвь логики добавления ликвидности в зависимости от переданных параметров. Контракт включает три логики добавления ликвидности: MINT_AMBIENT_LIQ_LP、MINT_AMBIENT_BASE_LP、MINT_AMBIENT_QUOTE_LP, которые представляют собой прямое добавление указанного количества ликвидности, а также расчет количества добавляемой ликвидности на основе базового токена или токена quote в пуле.

Наконец, функция mintAmbientLiq контракта WarmPath в основном отвечает за создание ликвидности. Этот контракт вызовет функцию settleFlows контракта SettleLayer, создавая для пользователя соответствующие токены-квитанции ликвидности.

Логика удаления ликвидности аналогична добавлению ликвидности, поэтому в этой статье она подробно не рассматривается.

3.2 Обмен токенов

Когда пользователь использует BEX для обмена токенов, сначала вызывается функция multiSwap контракта BeraCrocMultiSwap. Эта функция будет выполнять обмен шаг за шагом в контракте CrocSwapDex в соответствии с путем обмена; затем вызывается функция caluserCmd контракта CrocSwapDex для входа в指定的 HotPath 或 KnockoutPath 中执行具体的兑换逻辑,此处使用最常见的 HotPath 合约; HotPath вызовет функцию swapOverPool контракта MarketSequencer, рассчитывая количество обмениваемых токенов; наконец, контракт HotPath снова вызовет функцию settleFlows контракта SettleLayer, переводя пользователю целевые токены, полученные после обмена.

Таким образом, BEX по сравнению с традиционными DEX, такими как Uniswap V2, обладает следующими характеристиками:

Управление состоянием кривой(CurveState)

Снимок состояния кривой(Snapshotting CurveState): Для оптимизации расхода газа BEX копирует текущее состояние кривой(CurveState)из цепочечного хранилища(EVM Storage)в память и после завершения транзакции перезаписывает измененное состояние обратно в цепь.

Информация, сохраняемая в снимке, включает корень цены(priceRoot)、семена ликвидности(ambientSeeds)и концентрированную ликвидность(concLiq_)。О концепциях, таких как семена ликвидности, можно ознакомиться в白皮书 Ambient Finance (Crocswap): https://crocswap-whitepaper.netlify.app/

Выполнение транзакций(Swap Execution)

Пошаговое выполнение транзакций: Архитектура кода BEX позволяет выполнять транзакции поэтапно, особенно при крупных транзакциях, которые могут пересекать несколько границ ликвидности (например, tick в Uniswap V3). При пересечении границы ликвидности необходимо повторно调整流动性和价格。Итеративный расчет: Перебирая каждый интервал ликвидности (или tick), система постепенно потребляет или накапливает ликвидность транзакции, пока транзакция не будет завершена или не будет достигнут ценовой лимит пользователя.

Структура битовой карты: Podobno Uniswap V3, Ambient DEX использует битовую карту для标记每个价格范围内的流动性是否存在,并通过位图快速查找下一个可用流动性区间。Однако, поскольку в настоящее время ликвидность пулов в цепи BEX использует окружающую ликвидность, то есть поставщики ликвидности предоставляют ликвидность глобально, а не добавляют концентрированную ликвидность указанным способом цены, поэтому в настоящее время операции обмена токенов мало чем отличаются от Uniswap V2.

4. PoL и Bend

Bend — это некастодиальный протокол кредитования в цепи Bera, основное назначение которого — предоставление базовых услуг кредитования для экосистемы Berachain. Этот проект является важной частью экосистемы Berachain. Как официальный рынок кредитования, он тесно интегрирован с механизмом консенсуса PoL следующим образом.

Заемщики могут занимать токены HONEY, внося криптоактивы в качестве обеспечения (аналогично wBTC и т.д.). Одновременно с кредитованием они также могут получить определенное количество токенов управления, что помогает механизму консенсуса PoL完善分配 BGT。А поставщики HONEY могут предоставлять ликвидность HONEY, тем самым получая долю процентов от кредитования.

В Bend есть три основных участника:

1. Поставщики ликвидности токенов $HONEY(Suppliers).

2. Заемщики, вносящие криптоактивы в качестве обеспечения для займа токенов HONEY(Borrowers).

3. Ликвидаторы, обеспечивающие платежеспособность протокола(Liquidators).

Ниже представлена основная архитектура проекта:

Изучив контракты в тестовой сети, в настоящее время поставщики ликвидности будут вносить токены HONEY через интерфейс supply, чтобы получить соответствующее количество токенов AHONEY в пропорции 1:1 в качестве вознаграждения. Со временем баланс токенов AHONEY, полученных этими пользователями, будет увеличиваться по мере роста процентов. Это помогает поддерживать экосистему пула кредитования, гарантируя, что у заемщиков всегда есть средства для кредитования. В дальнейшем поставщики ликвидности также могут использовать интерфейс withdraw, чтобы забрать соответствующее количество токенов HONEY, используя токены AHONEY в пропорции 1:1, тем самым реализуя прибыль.

Заемщики могут использовать интерфейс borrow для внесения обеспечения, тем самым занимая токены HONEY на сумму ниже стоимости обеспечения, и получать соответствующее количество vdHONEY, то есть токенов долга. Токены vdHONEY аналогичны токенам HONEY и также будут увеличиваться в количестве со временем, что потребует от заемщиков возврата большего количества токенов HONEY. Однако в цепи Bera заемщики одновременно с займом токенов HONEY также получают определенное количество токенов управления (BGT), что стимулирует активность заемщиков, поддерживает экосистему пула кредитования и одновременно вносит вклад в консенсус PoL.

В Bend任何人都可以成为清算人。当借贷人的健康系数小于 1 时,则证明借贷人的抵押品价值不足以覆盖债务价值,清算人就可以启动清算,并且获得抵押品中的 5% 价值作为清算奖励,从而激励清算人进行清算。

4.1 Добавление ликвидности

Когда поставщики ликвидности вносят ликвидность, функция supply сначала обновит текущий кэш резервов и процентные ставки. Это помогает поддерживать здоровье кэша резервов и процентных ставок, а также随时获取最新的储备缓存数据,接着会验证当前的 ATOKEN 代币是否达到铸造上限,避免铸造过多的 ATOKEN 代币。

Если эти проверки и обновления пройдут успешно, то поставщикам ликвидности будет напрямую создано соответствующее количество токенов ATOKEN в пропорции 1:1. Когда поставщики ликвидности извлекают ликвидность, функция withdraw также сначала обновит текущий кэш резервов и процентные ставки, затем рассчитает текущий最新的余额 токенов ATOKEN пользователя на основе текущих最新的 процентов, тем самым извлекая соответствующие токены обеспечения в пропорции 1:1.

Следует отметить, что если здесь поставщики ликвидности осуществили кредитование, то они могут извлечь соответствующее количество ликвидности только при здоровом факторе кредитования. И в текущем Berachain только токены HONEY могут быть использованы в качестве активов для кредитования, другие обеспеченные активы не могут получать проценты через кредитование.

4.2 Кредитование

Когда заемщики используют Bend для кредитования, сначала необходимо иметь достаточное количество обеспечения, внесенного в пул через функцию supply, затем вызвать функцию borrow для кредитования. Функция borrow сначала обновит кэш резервов, обеспечивая最新的信息 о резервах,接着调用 validateBorrow 函数验证本次借贷的合法性,验证包括借贷上限,抵押品价值,用户信用等信息。Если эти проверки пройдут, то будет создано соответствующее количество токенов долга, то есть токенов vdHONEY, на основе стоимости обеспечения, только после чего можно будет получить соответствующее количество токенов HONEY.

Когда заемщикам необходимо погасить кредит, функция repay также сначала обновит кэш резервов и процентные ставки, и получит количество токенов HONEY, которое заемщик погашает в этот раз, на основе кэша резервов и процентной ставки кредитования. После успешного погашения будет уничтожено соответствующее количество токенов vdHONEY. Заемщики могут использовать функцию withdraw для извлечения соответствующего количества обеспечения только после успешного погашения достаточного количества токенов vdHONEY, чтобы текущий долг оставался в здоровом состоянии при извлечении обеспечения.

4.3 Ликвидация

Когда стоимость обеспечения заемщика недостаточна,任何人都可以调用 liquidationCall 函数作为清算人进行清算。Функция liquidationCall сначала обновит данные кэша долга, затем вызовет функцию validateLiquidationCall для проверки фактора здоровья заемщика и доступности обеспечения. Если текущая стоимость долга заемщика превысила предел ликвидации, это приведет к слишком низкому фактору здоровья. Если фактор здоровья меньше 1, то ликвидатор может успешно выполнить ликвидацию, уничтожить токены долга заемщика и одновременно отправить обеспечение на адрес хранилища резервов. Ликвидатор может получить 5% стоимости обеспечения из этой ликвидации в качестве вознаграждения за ликвидацию, тем самым стимулируя ликвидаторов проводить ликвидацию.

5. PoL и Berps

Berachain Berps — это децентрализованная платформа маржинальной торговли, позволяющая торговать бессрочными фьючерсными контрактами. А нативный стейблкоин Berachain $HONEY является базовым токеном для обеспечения, расходов и депозитов всех транзакций. Пользователи могут получать доход, предоставляя торговую ликвидность в хранилище $bHONEY. Депозитарии хранилища будут зарабатывать торговые комиссии,_generated Berps, и выступать контрагентом для позиций трейдеров. Кроме того, хранилище Berps также может получать стимулы PoL, то есть пользователи, вносящие средства в хранилище, получат $BGT.

В настоящее время Berps запущена в тестовой сети и поддерживает торговлю U-маржинальными бессрочными контрактами для четырех токенов: BTC, ETH, ATOM и TIA.

Архитектура Berps очень похожа на существующие на рынке децентрализованные платформы бессрочной торговли, в основном包括以下重要的合约:

● Entrypoint: Вход для пользователей для проведения транзакций (включая ликвидацию). Контракт Entrypoint проверит, является ли транзакция, инициированная пользователем, законной. Если проверка пройдена, контракт создаст соответствующую транзакцию для пользователя.

● FeesAccrued: Расчет и управление комиссиями за кредитование

● FeesMarkets: Расчет и управление комиссиями, связанными со всеми торговыми парами

● Markets: Управление параметрами и ограничениями всех торговых пар

● Orders: Управление ордерами на транзакции, submitted пользователями, и хранение средств пользователей

● Settlement: Обновление изменений состояния транзакций

● Vault: Выступает контрагентом для трейдеров, предоставляя ликвидность для транзакций. Пользователи могут вносить средства в Vault для получения дохода от комиссий платформы и стимулов токенами PoL.

6. Заключение

Таким образом, Berachain — это L1 блокчейн, совместимый с EVM, построенный на основе Cosmos SDK, использующий уникальный механизм консенсуса Proof-of-Liquidity (PoL). Пользователи, предоставляющие ликвидность для Berachain, получат вознаграждения от механизма PoL. Используя PoL, Berachain усилила ликвидность и безопасность цепи. По сравнению с другими блокчейнами, Berachain имеет нативные приложения BEX, Bend и Berps, предоставляющие пользователям ряд услуг DeFi, таких как обмен токенов, фарминг ликвидности, кредитование и бессрочная торговля. В сочетании с PoL это позволит Berachain продемонстрировать отличные результаты в глубине торговли DeFi и пользовательском опыте.

Присоединяйтесь к официальному сообществу TechFlow

В избранное
Поделиться