Купить крипто
Рынки
Спот
ФьючерсыBTC
Сбережения
Центр событий
Хаб наград
Еще
Фестиваль с 0 комиссией
FA1.2 (Tezos): Что такое FA1.2 в Tezos?FA1.2 — это стандарт взаимозаменяемых токенов для смарт-контрактов в блокчейне Tezos.Он определяет общий интерфейс для перевода токенов, разрешения на их расходование, проверкиFA1.2 (Tezos): Что такое FA1.2 в Tezos?FA1.2 — это стандарт взаимозаменяемых токенов для смарт-контрактов в блокчейне Tezos.Он определяет общий интерфейс для перевода токенов, разрешения на их расходование, проверки

FA1.2 (Tezos)

2026/10/13 15:34
#Intermediate
Humanity
H$0.05575-3.84%
PX
PX$0.013+1.56%
Blobacoin
BLOB$0.00086-50.57%
SPACE ID
ID$0.03621-4.40%
AINFT
NFT$0.0000002386+0.42%

Что такое FA1.2 в Tezos?

FA1.2 — это стандарт взаимозаменяемых токенов для смарт-контрактов в блокчейне Tezos.

Он определяет общий интерфейс для перевода токенов, разрешения на их расходование, проверки баланса и лимитов разрешений, а также получения данных об общем предложении токенов.

Стандарт официально определен в предложении по улучшению Tezos 7, также известном как TZIP-7.

Стандарт предназначен именно для взаимозаменяемых токенов: каждая единица конкретного актива FA1.2 взаимозаменяема с любой другой единицей того же актива.

Контракт FA1.2 может представлять платежный токен, токен управления, обернутую криптовалюту, актив со стабильной стоимостью, бонусный балл, валюту приложения или другой делимый цифровой актив.

FA1.2 — это интерфейс смарт-контракта, а не самостоятельная криптовалюта.

Каждый токен FA1.2 создается и управляется собственным смарт-контрактом в Tezos.

Контракт ведет реестр, связывающий адреса аккаунтов Tezos с балансами токенов.

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

FA1.2 не определяет цену токена, его правовой статус, экономическое назначение, максимальное предложение или структуру управления.

Эти характеристики зависят от конкретного контракта токена и управляющего им проекта.

Что означает FA1.2?

FA расшифровывается как Financial Application — финансовое приложение.

Число 1.2 обозначает версию интерфейса взаимозаменяемых активов, определенную в TZIP-7.

Стандарт развился из более ранних наработок по интерфейсу взаимозаменяемых токенов Tezos и добавил формальную систему разрешений для делегированных переводов токенов.

Термин FA1.2 обычно относится и к стандарту, и к токенам, реализованным в соответствии с ним.

Однако технически FA1.2 соответствует именно смарт-контракт.

Токен не становится совместимым с FA1.2 только потому, что эмитент использует это обозначение в названии, тикере, на сайте или в маркетинговом описании.

Развернутый контракт должен предоставлять требуемые точки входа с ожидаемыми типами параметров и поведением.

Зачем был создан FA1.2?

Смарт-контракты могут определять поведение токенов по-разному.

Без общего стандарта каждому кошельку и децентрализованному приложению требовался бы отдельный код интеграции для каждого взаимозаменяемого токена.

В одном токене для переводов могло использоваться одно название, а в другом — совершенно иная структура параметров.

Запросы баланса и разрешения на расходование средств также могли работать по-разному в разных контрактах.

FA1.2 обеспечивает предсказуемый интерфейс и сокращает эту фрагментацию.

Кошельки могут подготавливать переводы токенов через известную точку входа transfer.

Приложения могут запрашивать разрешение на расходование средств через известную точку входа approve.

Индексаторы могут определять изменения баланса и отображать активность с токенами в едином формате.

Инструменты разработки могут проверять, предоставляет ли контракт ожидаемый интерфейс FA1.2.

Актуальная документация Octez по FA1.2 содержит специальные инструменты для проверки совместимости, перевода токенов, разрешения на расходование средств и получения информации о токенах.

Стандартизация повышает совместимость, но не гарантирует безопасность, ценность или добросовестное управление конкретным контрактом.

Как работает токен FA1.2?

Токен FA1.2 управляется смарт-контрактом Tezos, который хранит реестр балансов аккаунтов.

При выпуске токенов контракт начисляет их на один или несколько адресов аккаунтов.

Держатель переводит токены, вызывая контракт, а не отправляя их напрямую с помощью учета баланса на уровне протокола Tezos.

Контракт проверяет исходный и целевой аккаунты, запрошенное количество, полномочия вызывающей стороны и доступный баланс.

Если проверки пройдены, контракт вычитает указанное количество из баланса отправителя и добавляет его к балансу получателя.

Если проверки не пройдены, транзакция отменяется, а реестр остается без изменений.

Аккаунт также может разрешить другому аккаунту или смарт-контракту расходовать ограниченное количество токенов со своего баланса.

Такое разрешение называется allowance.

При каждом делегированном переводе оставшийся allowance обычно уменьшается на переведенное количество токенов.

Контракт может предоставлять информацию о балансе, allowance и общем предложении через стандартизированные интерфейсы запросов.

Что такое взаимозаменяемость?

Взаимозаменяемость означает, что отдельные единицы актива можно заменять друг другом.

Одна единица конкретного токена FA1.2 обладает теми же определенными контрактом свойствами, что и другая единица этого токена.

Держателю обычно не нужно отслеживать, какую именно единицу токена он получил.

В реестре аккаунтов учитываются количества, а не уникальные идентификаторы токенов.

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

FA1.2 не предназначен для присвоения уникального идентификатора и отдельной записи метаданных каждой единице.

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

Как идентифицировать токен FA1.2?

Токен FA1.2 в первую очередь идентифицируется адресом смарт-контракта Tezos, который им управляет.

В рамках FA1.2 один контракт представляет один тип взаимозаменяемого токена, а не множество разных активов с отдельными ID.

Если в метаданных FA1.2 используется структура метаданных токена, связанная с более поздними стандартами Tezos, ID токена должен быть равен 0.

Название и тикер токена не являются надежными уникальными идентификаторами.

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

Недобросовестный эмитент также может скопировать бренд легитимного актива.

Перед переводом, выдачей разрешения или покупкой токена FA1.2 пользователям следует сверить полный адрес контракта с надежной проектной документацией.

Каковы основные точки входа FA1.2?

Интерфейс FA1.2 определяет точки входа для переводов, разрешений, запросов баланса и allowance, а также запросов общего предложения.

В официальной справке по интерфейсу Octez к основным операциям FA1.2 отнесены transfer, approve, getBalance, getAllowance и getTotalSupply.

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

Дополнительные точки входа не становятся автоматически частью стандарта FA1.2.

Точка входа transfer

Точка входа transfer переводит указанное количество токенов с одного адреса на другой.

Вызов содержит адрес отправителя, адрес получателя и количество токенов.

Если вызывающая сторона переводит токены со своего аккаунта, контракт проверяет, достаточно ли средств на балансе.

Если вызывающая сторона переводит токены с чужого аккаунта, у нее должно быть достаточное разрешение от владельца.

После делегированного перевода оставшийся allowance отправителя уменьшается.

Перевод не выполняется, если баланса или allowance недостаточно.

Точка входа transfer в FA1.2 объединяет в одном интерфейсе прямые переводы владельца и делегированные переводы.

Точка входа approve

Точка входа approve позволяет держателю токенов разрешить расходующему адресу переводить ограниченное количество его токенов.

Расходующим адресом может быть аккаунт другого пользователя или смарт-контракт.

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

Разрешение не приводит к немедленному переводу токенов.

Оно создает allowance, который можно использовать в последующих вызовах transfer.

Держатель остается владельцем токенов, пока не будет выполнен разрешенный перевод.

Точка входа getBalance

Точка входа getBalance возвращает баланс токена FA1.2, связанный с указанным адресом.

Указанный баланс хранится в контракте токена, а не в балансе tez на уровне протокола.

Кошелек, индексатор или приложение может использовать эту информацию, чтобы показать количество токенов под контролем аккаунта.

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

Точка входа getAllowance

Точка входа getAllowance возвращает оставшееся количество токенов, которое один адрес может перевести с другого адреса.

В запросе указываются и владелец токенов, и разрешенный расходующий адрес.

Нулевой результат означает, что в данный момент у расходующего адреса нет оставшегося allowance FA1.2 от этого владельца.

Положительный результат показывает максимальное количество, которое еще можно перевести в рамках зафиксированного разрешения.

Точка входа getTotalSupply

Точка входа getTotalSupply возвращает общее количество единиц токена FA1.2, учитываемое контрактом.

Общее предложение может изменяться, если в реализации предусмотрены функции выпуска или сжигания.

Запрос общего предложения не показывает, насколько токены сконцентрированы у отдельных держателей.

Он также не показывает, можно ли будет создать дополнительные токены в будущем.

Что такое allowance FA1.2?

Allowance FA1.2 — это ограниченное разрешение на расходование средств, которое владелец токенов предоставляет другому адресу.

Предположим, владелец разрешает приложению потратить 100 токенов.

С учетом правил контракта приложение может перевести с баланса владельца до 100 токенов.

Если приложение переведет 30 токенов, оставшийся allowance обычно составит 70 токенов.

Приложение не может перевести больше токенов, чем доступно на балансе владельца, даже если зафиксированный allowance выше.

Приложение также не может использовать allowance для другого контракта токена FA1.2.

Allowance остается записанным в блокчейне, пока его не используют, не изменят или не обнулят.

Отключение кошелька от сайта автоматически не отменяет allowance.

Чтобы отозвать разрешение, владелец должен отправить обновление approve в блокчейн.

Чем allowance FA1.2 отличается от разрешения оператора?

В FA1.2 используются числовые allowance.

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

Обычно allowance уменьшается по мере выполнения переводов.

В модели токенов с разрешением оператора часто предоставляется право работать с определенным типом токена без указания уменьшающегося числового лимита.

Это различие может влиять на интерфейсы кошельков и безопасность приложений.

Разрешение FA1.2 на 50 единиц не следует отображать так, будто оно дает неограниченный контроль.

Аналогично, разрешение оператора не следует трактовать как разовый числовой allowance.

Почему изменения allowance FA1.2 нужно выполнять осторожно?

Изменение существующего allowance токена может создать условие гонки.

Расходующий адрес может попытаться использовать старый allowance до подтверждения нового разрешения владельца.

Затем он может попытаться использовать новый allowance после его активации.

В TZIP-7 эта проблема частично решается запретом прямого изменения одного ненулевого allowance на другой ненулевой allowance.

Как правило, сначала владелец должен установить allowance на ноль, а затем назначить новое ненулевое значение.

В описании allowance в TZIP-7 также указано, что обнуление само по себе не дает полной гарантии защиты от всех сценариев атак, связанных с выбором времени.

Пользователю следует дождаться включения транзакции с нулевым allowance в блок, прежде чем предоставлять новое разрешение.

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

Пример allowance FA1.2

Предположим, в кошельке хранится 1 000 единиц токена FA1.2.

Владелец разрешает децентрализованному приложению расходовать 200 единиц.

Позже приложение переводит 75 единиц на смарт-контракт.

Баланс токенов владельца уменьшается до 925 единиц.

Оставшийся allowance приложения уменьшается до 125 единиц.

Если приложение попытается перевести еще 150 единиц, транзакция завершится ошибкой из-за недостаточного allowance.

Когда приложению больше не нужен доступ, владелец может обнулить allowance.

Поддерживает ли FA1.2 неограниченные разрешения?

Если контракт это допускает, держатель FA1.2 может разрешить очень большое числовое количество токенов.

Некоторые приложения могут рассматривать такое разрешение как фактически неограниченное.

Большой allowance уменьшает необходимость многократно отправлять транзакции с разрешениями.

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

По возможности следует разрешать расходовать только разумно необходимое количество токенов.

Старые или ненужные allowance следует обнулять.

Где хранятся балансы FA1.2?

В реализации FA1.2 балансы обычно хранятся в реестре внутри контракта токена.

Реестр связывает адрес каждого держателя с количеством токенов, выраженным натуральным числом.

В некоторых реализациях балансы и allowance хранятся вместе в структурированной записи реестра.

TZIP-7 описывает стандартизированную индексируемую структуру, в которой запись владельца может содержать как его баланс, так и карту allowance для расходующих адресов.

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

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

Использует ли FA1.2 ID токенов?

FA1.2 — стандарт контракта с одним токеном; в обычных переводах он не использует ID токенов для различения множества независимых типов токенов.

Если метаданные токена FA1.2 представлены в формате, общем с более новыми стандартами, ID токена фиксирован и равен 0.

Для контракта, которому нужно управлять множеством отдельных взаимозаменяемых токенов по одному адресу, обычно лучше подходит стандарт для нескольких активов.

Пользователям не следует считать, что ID токена 0 уникально определяет актив FA1.2, если им неизвестен адрес контракта.

Как работают метаданные FA1.2?

Исходный интерфейс FA1.2 в первую очередь описывает поведение реестра и allowance.

TZIP-7 не определяет самостоятельно полноценную систему метаданных контракта.

В актуальных рекомендациях по метаданным токенов используется общая форма метаданных, связанная со стандартом Tezos для нескольких активов.

ID токена, используемый в метаданных FA1.2, должен быть равен 0.

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

Информацию на уровне контракта также можно публиковать в соответствии с метаданными контракта TZIP-16.

TZIP-16 поддерживает метаданные, хранящиеся в блокчейне или размещенные офчейн, например в контентно-адресуемом хранилище либо веб-сервисах.

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

Что означает количество десятичных знаков токена FA1.2?

Балансы FA1.2 хранятся в виде целых натуральных чисел.

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

Предположим, исходный баланс в контракте составляет 1 500 000, а у токена шесть десятичных знаков.

Кошелек покажет баланс 1,5 токена.

В смарт-контракте по-прежнему записано 1 500 000 минимальных единиц.

Количество десятичных знаков не определяет рыночную цену, общее предложение или дефицитность токена.

Неверное значение decimals может привести к тому, что кошелек или приложение покажет вводящее в заблуждение количество.

Определяет ли FA1.2 максимальное предложение?

Нет, FA1.2 не требует фиксированного максимального предложения.

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

Токен может изначально иметь фиксированное предложение без функции создания новых единиц.

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

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

Опубликованный показатель предложения описывает текущее состояние и не обязательно отражает будущую эмиссию.

Требует ли FA1.2 выпуска токенов?

Нет, выпуск токенов не входит в число обязательных точек входа FA1.2.

Контракт может создать весь объем токенов при развертывании.

В нем также может быть предусмотрена пользовательская функция выпуска, контролируемая администратором или другим смарт-контрактом.

В политике выпуска следует указать, кто может создавать токены, установлен ли лимит предложения, а также можно ли передать или отменить соответствующие полномочия.

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

Требует ли FA1.2 сжигания токенов?

Нет, сжигание также необязательно.

Пользовательская функция сжигания может навсегда уменьшать балансы и общее предложение в соответствии с правилами контракта.

Функция может разрешать держателям сжигать собственные токены или быть доступной только администратору.

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

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

FA1.2 и tez

Tez — нативная криптовалюта блокчейна Tezos.

Токены FA1.2 создаются и управляются смарт-контрактами.

Баланс tez напрямую учитывается протоколом Tezos.

Баланс FA1.2 хранится в данных отдельного контракта токена.

Комиссии за транзакции в Tezos обычно оплачиваются в tez, даже если транзакция переводит токен FA1.2.

Наличие баланса FA1.2 не означает, что у пользователя автоматически достаточно tez для оплаты перевода токенов или транзакции с разрешением.

В документации Tezos по токенам объясняется различие между tez на уровне протокола и токенами, представленными в реестрах смарт-контрактов.

FA1.2 и FA2

FA1.2 предназначен специально для одного взаимозаменяемого токена, управляемого одним смарт-контрактом.

FA2 — более новый и гибкий интерфейс токенов.

FA2 может поддерживать взаимозаменяемые токены, NFT, непередаваемые активы, гибридные модели и несколько ID токенов в одном контракте.

В FA1.2 используются числовые allowance для расходующих адресов.

В стандартном FA2 обычно применяются разрешения операторов для конкретных токенов, а не уменьшающиеся числовые allowance.

В FA1.2 предусмотрены отдельные структуры для запросов на перевод одного токена, тогда как в FA2 используются структуры для пакетных переводов и запросов баланса.

FA2 также обеспечивает более явную поддержку пользовательских правил переводов.

В актуальных рекомендациях SmartPy для новых контрактов токенов предлагается использовать FA2, поскольку он подходит для более широкого спектра задач.

Эта рекомендация не означает, что существующие контракты FA1.2 недействительны.

Актуальные инструменты Octez по-прежнему обеспечивают специальную поддержку FA1.2.

FA1.2 и FA2.1

FA2.1 — предлагаемое развитие семейства FA2, включающее такие функции, как ограниченные allowance, события, ончейн-представления и функциональность, связанная с тикетами.

Концепция ограниченного allowance в нем предназначена для знакомого по FA1.2 сценария использования, сохраняя при этом более широкую структуру FA2 для нескольких активов.

В актуальной документации SmartPy FA2.1 описывается как черновой стандарт.

Предложение новых стандартов не меняет автоматически существующие контракты FA1.2.

Поддержку кошельков и приложений следует проверять отдельно для каждого стандарта.

Можно ли преобразовать токен FA1.2 в FA2?

Обычно контракт FA1.2 нельзя превратить в FA2, просто изменив его обозначение.

В этих стандартах используются разные интерфейсы и модели разрешений.

Для перехода проект может развернуть новый контракт FA2 и организовать контролируемый процесс конвертации.

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

Другой вариант — зафиксировать балансы и распределить замещающие активы.

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

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

Может ли FA1.2 поддерживать обернутые криптоактивы?

Да, контракт FA1.2 может представлять обернутую криптовалюту в Tezos.

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

Интерфейс FA1.2 стандартизирует переводы и allowance, но не гарантирует полное обеспечение обернутого токена.

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

В официальных рекомендациях Tezos по обернутым токенам подчеркивается, что обернутый актив технически отличается от исходной криптовалюты.

Может ли FA1.2 поддерживать токены со стабильной стоимостью?

Да, токен FA1.2 может быть предназначен для отслеживания стоимости фиатной валюты, товара, криптовалюты или другого базового актива.

Сам по себе FA1.2 не поддерживает целевую стоимость.

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

Токен может соответствовать FA1.2 и при этом утратить предполагаемую привязку.

Техническое соответствие стандарту не следует считать доказательством качества резервов или стабильности цены.

Как кошельки отображают токены FA1.2?

Кошелек может определить контракт FA1.2, запросить баланс пользователя и получить доступные метаданные.

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

Некоторые кошельки используют индексаторы вместо прямого обращения к каждому контракту.

В документации Tezos по индексаторам объясняется, что индексаторы упорядочивают информацию о токенах FA1.2 и FA2 для более удобного доступа приложений.

Токен может не отображаться автоматически, если его метаданные отсутствуют, не поддерживаются или еще не проиндексированы.

Если токен не отображается в кошельке, это не обязательно означает, что его ончейн-баланс равен нулю.

Пользователи могут проверить информацию о контракте и реестре с помощью совместимых блокчейн-инструментов.

Как децентрализованные приложения используют FA1.2?

Децентрализованное приложение может запросить разрешение на расходование определенного количества токенов FA1.2.

После выдачи разрешения приложение может вызвать контракт токена и перевести токены с баланса владельца.

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

Приложению не следует запрашивать allowance, превышающий разумно необходимое количество.

Перед подписанием транзакции пользователю следует проверить контракт токена, адрес расходующего средства и размер разрешения.

Приложение также должно корректно обрабатывать недостаточный баланс, недостаточный allowance и изменения разрешений.

Можно ли объединять переводы FA1.2 в пакет?

Основная точка входа transfer в FA1.2 описывает один исходный адрес, один адрес получателя и одно количество токенов на каждый вызов.

Однако одна операция Tezos может включать несколько вызовов контрактов.

Актуальные инструменты Octez поддерживают пакетные команды перевода с одного адреса нескольким получателям через контракты FA1.2.

Пакетная обработка может упростить распределение токенов и операции казначейства.

Если один из вызовов в атомарной последовательности завершится ошибкой, может не выполниться вся связанная операция, а не только ее часть.

Обработка больших пакетов также может потребовать значительного количества газа и тщательного тестирования.

Стандартные ошибки FA1.2

TZIP-7 определяет ошибки, связанные с недостаточными allowance и небезопасным изменением разрешений.

Перевод может завершиться ошибкой, если у владельца недостаточно токенов.

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

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

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

Приложениям следует формулировать сообщения об ошибках так, чтобы пользователи понимали, связана ли проблема с балансом, allowance, авторизацией или правилами контракта.

Риски безопасности токенов FA1.2

Совместимость с FA1.2 не доказывает, что смарт-контракт безопасен.

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

Администратор может иметь возможность выпускать токены, приостанавливать переводы, замораживать аккаунты, изменять метаданные или заменять важные адреса.

Скомпрометированный одобренный расходующий адрес может переводить токены в пределах доступного allowance.

Скопированные название и тикер могут создать впечатление, что мошеннический токен легитимен.

Обернутый токен может оказаться недостаточно обеспеченным, даже если его реестр FA1.2 работает корректно.

Пользователям следует изучать исходный код контракта, результаты аудитов, права администрирования, контроль предложения, allowance и правила погашения.

Риск безопасности allowance

Allowance предоставляет другому адресу прямое право распоряжаться частью баланса токенов владельца.

Вредоносное приложение может использовать разрешение сразу после его выдачи.

Скомпрометированный контракт может использовать разрешения, предоставленные до компрометации.

Большой неиспользуемый allowance может оставаться активным в течение долгого времени.

Пользователям следует внимательно проверять адрес расходующего средства и не подтверждать непонятные транзакции.

Allowance, который больше не нужен, следует обнулить.

Для выдачи или отзыва allowance FA1.2 не требуются приватные ключи и фразы восстановления.

Риск административного контроля

В пользовательских контрактах FA1.2 могут быть привилегированные администраторы.

Администратор может контролировать выпуск и сжигание токенов, приостановку операций, заморозку аккаунтов, черные списки, комиссии или обновление контракта.

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

Но они также создают риски централизации и злоупотреблений.

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

Также следует определить, можно ли передать административные полномочия или навсегда отозвать их.

Риск предложения и размывания доли

Текущий объем токена может казаться ограниченным, хотя сохраняется неограниченная возможность выпуска новых токенов в будущем.

Дополнительная эмиссия может уменьшить долю каждой существующей единицы в общем предложении.

Лимит предложения имеет значение только в том случае, если он закреплен в развернутом контракте или не менее строгом ограничении системы управления.

Обещания на сайтах или в социальных сетях не отменяют ончейн-полномочия на выпуск токенов.

Пользователям следует различать предложение в обращении, общее предложение и возможное предложение в будущем.

Риск поддельного токена

Любой пользователь может развернуть смарт-контракт Tezos, используя знакомое название или тикер токена.

Метаданные в кошельке могут сделать посторонний токен похожим на известный актив.

Адрес контракта надежнее отображаемого названия.

Пользователям следует получать подтвержденный адрес контракта из надежных первичных источников проекта.

Не следует считать незапрошенный токен, поступивший в кошелек, ценным без независимой проверки.

Ссылки в метаданных неизвестного токена могут вести на фишинговые сайты.

Риск смарт-контракта

Ошибка в программном коде может привести к несанкционированным переводам, неверным балансам, блокировке токенов или нарушению учета предложения.

Формальное соответствие интерфейсу не доказывает корректность каждой ветви внутренней логики.

Независимый аудит может снизить риск, но не гарантирует отсутствия уязвимостей.

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

В рекомендациях Tezos по рискам токенов предлагается проверять доступность исходного кода, аудиты, лимиты предложения и правила переводов.

Безопасность приватного ключа и кошелька

Владение токеном FA1.2 в конечном счете зависит от контроля над аккаунтом Tezos, которому разрешено управлять зафиксированным балансом.

Злоумышленник, получивший приватный ключ аккаунта, может подписывать переводы и разрешения.

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

В документации Octez по управлению ключами подчеркивается важность безопасного хранения и подписания операций с tez и токенами FA.

Перед подтверждением операции пользователям следует проверять ее параметры на устройстве для подписания.

Как проверить токен FA1.2

Подтвердите полный адрес контракта Tezos по надежному первичному источнику.

Проверьте, предоставляет ли контракт необходимый интерфейс FA1.2.

Изучите название токена, тикер, количество десятичных знаков и общее предложение.

Выясните, кто может выпускать и сжигать токены, приостанавливать операции, замораживать активы или обновлять токен.

Перед взаимодействием с новым приложением проверьте существующие allowance.

Если речь идет о ценных активах, изучите независимые оценки безопасности.

Для обернутых токенов и активов со стабильной стоимостью проверяйте резервы и правила погашения отдельно от интерфейса FA1.2.

Не полагайтесь на тикер, значок в кошельке или сообщение в социальной сети как на доказательство подлинности.

Рекомендации по разработке FA1.2

Разработчикам следует точно соблюдать типы точек входа и правила авторизации, определенные в TZIP-7.

Прямые переводы владельца и переводы на основании allowance следует тестировать отдельно.

Тесты должны охватывать нулевые балансы, недостаточные балансы и allowance, а также переводы на нулевое количество.

Изменение allowance должно соответствовать стандартной защите от прямого обновления ненулевого значения на другое ненулевое значение.

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

По возможности для метаданных следует использовать стабильное хранилище с защитой целостности.

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

Разработчикам следует тестировать интеграции с кошельками, индексаторами и инструментами Octez.

Перед развертыванием контрактов с высокой стоимостью активов следует провести независимую проверку безопасности.

Распространенные заблуждения о FA1.2

FA1.2 — не нативная криптовалюта Tezos.

FA1.2 — не отдельный токен и не проект.

Это стандарт, которому могут соответствовать контракты взаимозаменяемых токенов.

FA1.2 не предназначен в первую очередь для уникальных NFT.

Соответствие FA1.2 не гарантирует фиксированное предложение.

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

Разрешение не приводит к немедленному переводу токенов.

Отключение кошелька не отзывает ончейн-allowance.

Название или тикер токена не позволяют однозначно определить его контракт.

Предпочтение FA2 при новой разработке не отменяет существующие контракты FA1.2.

Корректный интерфейс FA1.2 не гарантирует, что токен безопасен, обеспечен, доступен для перевода при любых условиях или обладает финансовой ценностью.

Часто задаваемые вопросы

Что такое FA1.2 в Tezos?

FA1.2 — это стандарт смарт-контрактов взаимозаменяемых токенов Tezos, определенный в TZIP-7.

Что означает FA в FA1.2?

FA расшифровывается как Financial Application — финансовое приложение.

Является ли FA1.2 криптовалютой?

Нет, это интерфейс для создания и управления взаимозаменяемыми криптовалютами и другими токенизированными активами.

Поддерживается ли FA1.2 до сих пор?

Да, в актуальной документации Octez по-прежнему предусмотрены специальные инструменты для совместимости с FA1.2, переводов, разрешений и запросов.

Является ли FA1.2 самым новым стандартом токенов Tezos?

Нет, FA2 — более новый и гибкий стандарт, а FA2.1 в настоящее время описывается как черновой вариант развития семейства FA2.

Следует ли разработчикам создавать новые токены FA1.2?

В актуальных рекомендациях по разработке в Tezos для новых контрактов токенов обычно предлагается использовать FA2, хотя требования проектов и интеграции с устаревшими системами могут отличаться.

Можно ли создавать NFT с помощью FA1.2?

FA1.2 предназначен для взаимозаменяемых токенов, а не уникальных невзаимозаменяемых активов.

Может ли один контракт FA1.2 управлять множеством типов токенов?

Стандарт предусматривает один тип взаимозаменяемого токена на контракт.

Как идентифицировать токен FA1.2?

В первую очередь — по адресу контракта Tezos, который управляет его реестром.

Какой ID токена FA1.2 использует для метаданных?

ID токена в общем формате метаданных токенов должен быть равен 0.

Где хранятся балансы FA1.2?

Они записываются в реестре хранилища смарт-контракта FA1.2.

Что делает точка входа transfer в FA1.2?

Она переводит указанное количество токенов с исходного адреса на адрес получателя после проверки баланса и полномочий.

Что делает точка входа approve в FA1.2?

Она разрешает расходующему адресу переводить указанное количество токенов с баланса владельца.

Что такое allowance FA1.2?

Allowance — это оставшееся количество токенов, которое разрешенный адрес может перевести с баланса владельца.

Уменьшается ли allowance после использования?

Да, при делегированном переводе оставшийся allowance обычно уменьшается на переведенное количество.

Создается ли allowance при подключении кошелька?

Нет, allowance создается только после того, как пользователь подпишет и отправит соответствующую операцию approve.

Отзывает ли отключение кошелька allowance?

Нет, владелец должен изменить ончейн-allowance, обычно установив его на ноль.

Можно ли напрямую изменить ненулевой allowance на другой ненулевой?

Для защиты от известного условия гонки TZIP-7 запрещает напрямую менять одно ненулевое значение allowance на другое ненулевое.

Как следует менять allowance?

Сначала держателю следует установить allowance на ноль и дождаться подтверждения, а затем назначить новое значение, проверив, не происходило ли расходование средств в промежутке.

Требует ли FA1.2 выпуска токенов?

Нет, функция выпуска необязательна и зависит от конкретной реализации.

Требует ли FA1.2 сжигания токенов?

Нет, сжигание также является необязательной пользовательской функцией.

Гарантирует ли FA1.2 лимит предложения?

Нет, пользователям необходимо проверить фактические полномочия на выпуск токенов и правила предложения в контракте.

Как проверить баланс FA1.2?

Баланс в реестре можно получить с помощью совместимого кошелька, индексатора, запроса к контракту или команды Octez для проверки баланса FA1.2.

Как проверить allowance FA1.2?

Интерфейс getAllowance или совместимый индексатор может показать оставшееся разрешение между владельцем и расходующим адресом.

Как проверить общее предложение FA1.2?

Интерфейс getTotalSupply возвращает текущее предложение, записанное в контракте токена.

Оплачиваются ли комиссии за транзакции FA1.2 этим токеном?

Комиссии за транзакции протокола Tezos обычно оплачиваются в tez.

Может ли FA1.2 представлять обернутую криптовалюту?

Да, но соответствие FA1.2 не гарантирует наличие резервов, возможность погашения или безопасность моста.

Может ли FA1.2 представлять актив со стабильной стоимостью?

Да, но сам стандарт не гарантирует, что актив будет сохранять предполагаемую цену.

Может ли администратор FA1.2 замораживать токены?

В пользовательской реализации могут быть предусмотрены функции заморозки или приостановки операций, хотя стандарт их не требует.

Можно ли перенести токен FA1.2 на FA2?

Проект может организовать отдельный процесс миграции, но старый контракт не станет автоматически совместимым с FA2.

Безопасен ли токен FA1.2 только потому, что он соответствует стандарту?

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

Заключение

FA1.2 — стандарт взаимозаменяемых токенов Tezos, официально определенный в TZIP-7.

Он устанавливает общий интерфейс для переводов, разрешений, балансов, allowance и получения данных об общем предложении.

Смарт-контракт FA1.2 ведет реестр, связывающий адреса Tezos с балансами взаимозаменяемых токенов.

Система числовых allowance позволяет держателям разрешать приложениям или другим аккаунтам переводить ограниченное количество токенов.

Allowance требуют внимательного управления: они остаются активными в блокчейне и могут создавать риски, связанные с условиями гонки или компрометацией контракта.

FA1.2 не требует выпуска, сжигания, приостановки операций, заморозки, администрирования метаданных или фиксированного максимального предложения.

Наличие этих функций зависит от конкретной реализации контракта.

Сегодня FA2 — более гибкий стандарт для разработки новых токенов Tezos, однако контракты FA1.2 продолжают поддерживаться и использоваться.

Перед взаимодействием с незнакомым токеном FA1.2 пользователям следует проверить адрес контракта, размер allowance, контроль предложения, полномочия администратора, метаданные, историю аудитов и условия погашения.

Стандартизация FA1.2 повышает совместимость кошельков, приложений, индексаторов и инструментов разработки Tezos, но не гарантирует безопасность, подлинность, ликвидность или ценность токена.
Откат или возможность?
Откат или возможность?Откат или возможность?
Почему BTC ETF привлекли 2,4 млрд $ при ликвидациях

В тренде

Трендовые криптовалюты, которые в настоящее время привлекают значительное внимание рынка

Недавно добавленные

Криптовалюты недавно внесенные в листинг и доступные для торговли