Управляемые Fungible Assets 101

Современный технологический стек Aptos построен на основе стандарта Fungible Asset (FA) - безопасной для типов эволюции унаследованного модуля токенов. FA представляет каждый токен как объект, с интегрированными функциями для минта, сжигания, вывода и внесения средств. Такая конструкция дает разработчикам возможность запускать активы, совместимые с кошельками и протоколами DeFi, устраняя необходимость в обширном коде.

Хотя классические активы FA в основном управляют обновлением баланса, этот подход сталкивается с ограничениями при введении сложностей, связанных с DeFi и RWA. Классические токены типа ERC-20, включая классические активы FA, понимают только обновление баланса, но реальные сценарии требуют большего:

Болевая точка | Воздействие
Заявления о доходности вручную | Пользователи подписывают лишние транзакции; APY не оптимизированы
Специальные механизмы оплаты | Команды копируют-вставляют налоговую логику в каждую интеграцию dApp
Проверки соответствия | Внесетевые сервисы закрывают трансферы, нарушая доверительный UX
Фрагментированный учет | Инструменты аналитики считывают события вместо того, чтобы читать достоверные данные о состоянии

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

Вводим Dispatchable Fungible Assets (DFA): более мощный вариант FA.

Диспетчеризуемые движимые активы (DFA)

Диспетчеризуемые движимые активы (DFA) модернизируют FA с динамической диспетчеризацией: эмитенты могут подключать пользовательские функции Move, которые автоматически выполняются при передаче токена. Токен может передавать доходность, направлять комиссионные сборы или блокировать санкционированные адреса.

Ключевые возможности, открываемые DFA

  • Автоматизированное вознаграждение - проценты или вознаграждения по ставке начисляются во время передачи; нет этапа предъявления требований

  • Программируемое управление - применение блокировок без голосования или правил делегирования на уровне активов.

  • Встроенное разделение комиссий - фиксированный б/с в казну протокола без использования DEX

  • Переводы с учетом требований регуляторов - встраивание (потенциально с поддержкой zk) проверок KYC/AML непосредственно в пути ввода/вывода средств в сети.

Токены DFA остаются ABI-совместимыми с любым кодом, который уже говорит на языке FA. Кошельки, SDK и внутрисетевые протоколы видят одну и ту же передаточную функцию; логика диспетчеризации - это невидимый механизм.

Как это работает

Два объекта определяют каждый актив FA:

  1. Структура метаданных (название, символ, десятичные числа)
  2. FungibleStore, который отслеживает остатки по каждому адресу

DFA добавляет третий компонент - таблицу диспетчеров, которая сопоставляет каждый актив с индивидуальными обработчиками вывода/ввода средств.

Хуки(Hooks) - это пользовательские функции Move, которые автоматически запускаются каждый раз, когда токены покидают или входят в кошелек. Эти хуки выполняются в рамках одной транзакции, делая основную логику невидимой для пользователя и одновременно реализуя такие мощные возможности, как потоковая доходность, маршрутизация комиссии или блокировка санкционированных адресов.

Вот как выглядит простой хук в Move:

public fun on_deposit(store: &mut FungibleStore, amount: u64) {
    // Custom logic executes automatically on every deposit
    farming::auto_stake(store, amount);
    loyalty::award_points(store.owner, amount / 100);
}

public fun on_withdraw(store: &mut FungibleStore, amount: u64) {
    // Validation logic can block transfers
    assert!(compliance::is_kyc_verified(store.owner), EKYO_REQUIRED);
    farming::auto_unstake(store, amount);
}

Сила этого подхода в том, что существующие кошельки, DEX и протоколы DeFi продолжают работать без изменений. Токены DFA сохраняют полную ABI-совместимость со стандартным интерфейсом FA - внешние контракты по-прежнему вызывают ту же функцию fungible_asset::transfer(), но теперь эта функция может запускать пользовательскую бизнес-логику за кулисами. Это означает, что существующая инфраструктура (интеграция с кошельками, смарт-контракты DEX, аналитические панели) автоматически поддерживает токены DFA, не требуя обновлений или патчей.

Давайте посмотрим на это в действии на практическом примере.

Токен, соответствующий требованиям KYC: Пошаговое руководство

Опираясь на приведенный выше код Move, вот как регулируемый стейблкоин будет осуществлять проверку соответствия с помощью DFA:

  1. Создать токен → Разверните регулируемый стейблкоин с требованиями KYC
  2. Регистрация хуков → Прикрепите функцию check_kyc_status() к хуку депозита
  3. Перевод → Алиса пытается отправить 100 единиц стейблкоина на кошелек Боба
  4. Срабатывание хука → Депозитный хук срабатывает до того, как стейблкоины поступят на счет Боба
  5. Пользовательская логикаcheck_kyc_status(bob_address) запрашивает белый список в сети
  6. Если Боб прошел KYC-верификацию, перевод завершается нормально
  7. Если Боб не верифицирован, транзакция возвращается с ошибкой «KYC_REQUIRED»

С точки зрения Боба, он получает стейблкоины как любой другой токен - проверка соответствия происходит автоматически, без дополнительных действий. С точки зрения DEX, они по-прежнему вызывают стандартные функции FA, но соответствие требованиям теперь обеспечивается на уровне токена, а не требует специфической интеграции в DEX.

По умолчанию токен Aptos FA не является диспетчеризуемым; он ведет себя как простая монета. Когда вы «включаете» диспетчеризацию, вы можете подключить хуки с помощью API register_dispatch_functions (см. документацию для разработчиков), где вы указываете FunctionInfo для дополнительных переопределений вывода, депозита или производного баланса. Если вы передадите option::none(), будет использоваться поведение по умолчанию. Хуки также могут быть зарегистрированы при создании токена, что часто предпочтительнее, так как для регистрации последнего требуется доступ к constructor_ref, который может быть недоступен после инициализации.

Поскольку обработчики живут внутри модуля актива, они наследуют безопасность ресурсов Move. Они могут вызывать любую библиотеку в сети, открывая путь к композитным финансовым примитивам, построенным на едином стандарте токенов. Для получения практических примеров реализации этих паттернов ознакомьтесь с примерами кода DFA на Aptos Learn.

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

Исследование конкретного случая: xLPTs

xLPT от Thala - пример диспетчеризируемого FA в дикой природе. Thala Labs создала xLPT в качестве токена поставщика ликвидности на Aptos. Он представляет собой заблокированные токены поставщика ликвидности (LP), полученные из пулов ликвидности Thala, которые автоматически зарабатывают вознаграждение за фарминг, основанный на объеме торгов и потенциальных стимулах для токенов. Как правило, токены LP ограничены и не подлежат передаче.

xLPTs компании Thala - это структурированные, приносящие доход продукты, которые усилены veTHL, передаются и могут быть использованы в любом протоколе Aptos DeFi.

Как xLPT использует DFA

Контракт xLPT Move регистрирует определенные функции диспетчеризации во время инициализации токена:

  • onDeposit hook : Вызывает farming::stake каждый раз, когда xLPT переводит средства на счет, автоматически закладывая базовый LPT в ферму.

  • onWithdraw hook : Вызывает farming::unstake при переводе xLPT со счета, автоматически снимая ставку с LPT.

Таким образом, баланс фарминга автоматически обновляется при каждом переводе токенов, позволяя владельцам постоянно зарабатывать вознаграждения без ручных требований. В результате пользовательский опыт реально улучшается: xLPT ведет себя как любой другой токен - может использоваться в качестве залога или для переводов - и при этом приносит доход.

Для более глубокого изучения механики налогообложения в DFA посетите сайт Aptos Learn, где представлены аналогичные схемы отправки для сбора платы и дано полное руководство.

Преимущества для пользователей и сценарии, реализуемые с помощью DFA

Диспетчерские FA открывают множество удобных возможностей и новых сценариев использования DeFi:

  • Токены автоматических сборов/платежей: В токен может быть встроена комиссия за каждый перевод (например, 2% в казначейство). Пользователи торгуют токеном как обычно, а плата автоматически взимается в сети.

  • Процентные токены: Как и в xLPT, токены могут накапливать вознаграждение для владельцев. Примером может служить «монета доходности», которая автоматически увеличивается в цене или отправляет вознаграждение на отдельный баланс при каждом переводе.

  • Временные замки и наделение правами: Внедрите графики наделения правами, например токен, который нельзя вывести или передать, пока не истечет срок блокировки (вводится в действие крючком). Это похоже на автоматическое депонирование.

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

  • Лояльность и вознаграждения: Токены, связанные с розничными брендами, могут предоставлять очки лояльности или скидки при использовании, но все они находятся в сети. Токен розничной подарочной карты может начислять баллы на ваш счет при каждой трате (крючок начисляет баланс лояльности пользователя).

  • Механизмы динамического снабжения: Токен может сжигать или чеканить дополнительные запасы на основе моделей использования. Например, дефляционный токен, который сжигает часть при переводе, или токен с ребазингом, который регулирует запас на каждую транзакцию.

Эти сценарии улучшают пользовательский опыт благодаря кодированию логики непосредственно в токене. Пользователям не нужно взаимодействовать с отдельными контрактами или помнить, что нужно требовать вознаграждение - поведение происходит автоматически. Для разработчиков DFA означает объединение нескольких шагов в один. Вместо двухэтапного процесса «поставить LP → подождать → потребовать вознаграждение» пользователь может просто держать токены типа xLPT и наблюдать за накоплением вознаграждения.

Готовы разрабатывать помощью DFA?

Отправляемые гибкие активы переопределяют возможности токена, встраивая интеллектуальные возможности в его основную логику передачи. Независимо от того, создаются ли токены LP с доходностью, стабильные монеты с регулятивным контролем или подарочные карты с поддержкой лояльности, DFA позволяет свести всю сложность к единому, удобному стандарту. Вместо того чтобы собирать вместе dApps, контракты и пользовательские потоки, DFA позволяет токену делать всю работу.

Будущее DeFi на Aptos не просто быстрее - оно умнее, и DFA - один из стандартов, способствующих этому сдвигу.

Готовы к разработке на основе DFA? Начните с официальной документации для разработчиков и изучите практические примеры кода, чтобы увидеть эти паттерны в действии.