Skip to main contentA-REX Foundation

Стандарт

A-REX Core — стандарт

Что определяет стандарт, что делает совместимый токен, как он меняется и как становится ERC. Нормативный текст предоставляется через ранний доступ.

Статус

Черновик 2.1.0-alpha.2, до подачи, со схемой метаданных партии 1.2.0. Текст написан в формате Ethereum Request for Comments, чтобы его можно было подать в ethereum/ERCs, когда независимые разработчики применят интерфейсы в продакшене. Он будет опубликован под CC0; эталонная реализация распространяется под MIT. Пока не появятся два независимых разработчика реализаций, принятые изменения помечаются как предварительные.

Версии

У стандарта и его эталонной реализации разные номера версий. Название вроде «alpha.10» само по себе означает версию эталонной реализации, а не стандарта.

ЧтоВерсияЧто это
Стандарт (A-REX Core)2.1.0-alpha.2Спецификация и её интерфейсы. Текст, предложенный после этой версии, помечен как «Предложено» и в неё не входит.
Схема метаданных партии1.2.0 выпущена, 1.4.0 предложенаДокумент партии вне блокчейна, который фиксирует токен.
Эталонная реализация2.0.0-alpha.10Контракты под лицензией MIT, реализующие стандарт 2.1.0-alpha.2.
Набор тестов соответствия1.1.0Тесты по каждому пункту, которые запускает любая реализация; поставляется вместе с эталонной реализацией.

Номера считают разное: стандарт считает изменения спецификации, реализация — свои собственные выпуски. Оба начались с 2.0.0; версия 2.1 стандарта не изменила ни одного интерфейса, события или требования, поэтому реализация 2.0 его реализует.

Что он определяет

A-REX Core — небольшое расширение ERC-1155 и ERC-7943. Партия (партия физического товара или право на будущую партию) — это один id токена ERC-1155. Стандарт добавляет к ней четыре уровня:

УровеньИнтерфейсЧто охватываетОбязателен
0ERC-1155, ERC-165, IERC7943MultiTokenбалансы и пакетные переводы; заморозка, принудительный перевод, допуск счетовда
1IARexBatchзапись о партии: открытые коды товара и единицы, время производства и истечения срока, ссылка на происхождение, обязательство по документу вне цепочки, статус жизненного цикла и происхождение, когда партия делится, объединяется или перерабатываетсяда
2IARexHook, IARexHookManagerодин упорядоченный конвейер внешних контрактов правил; правило отвечает машиночитаемой причинойда
3IARexAttestсертификаты, инспекции и декларации по партии и теме от эмитентов, которым доверяют по этой темерекомендуется, в токене или во вспомогательном контракте

Что делает совместимый токен

  • Ведёт себя как обычный токен ERC-1155, поэтому кошельки, маркетплейсы и индексаторы работают без изменений.
  • Предоставляет механизм принуждения ERC-7943: партию можно заморозить или переместить по решению суда, из-за залога или отзыва, и каждое такое действие видно в цепочке.
  • Ведёт запись о каждой партии и фиксирует каждое деление, объединение или этап переработки, так что исходные партии всегда можно отследить.
  • Пропускает каждый перевод через свой конвейер правил и может объяснить, почему перевод отклонён.
  • Объявляет интерфейсы, которые реализует, чтобы инструменты могли его распознать.

Контракт правил (хук) совместим, если реализует IARexHook. Один контракт правил может обслуживать множество токенов.

Как проверяется совместимость

Эталонная реализация поставляется с набором тестов совместимости, который от неё не зависит: к проверяемой реализации он обращается только через интерфейсы стандарта и небольшой адаптер, который пишут её авторы. Каждый тест указывает положение, которое он проверяет; всего положений 89, из них 75 уровня MUST и 14 уровня SHOULD. Прогон завершается вердиктом, и заявление о совместимости должно объяснять каждое пропущенное положение. Положения, которые нельзя наблюдать в цепочке, например правило, что ссылка на происхождение не содержит персональных данных, оставлены на ревью.

Предложено, но не выпущено

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

ПредложениеЧто оно изменило бы
ADR-019 (Предложено): возможности в стандарте, политика в профиляхСтандарт фиксирует роли, события, форматы данных, семантику приостановки и отзыва и правила конфиденциальности; кто может использовать возможность, включена ли она и какие списки или органы применяются, переносится в версионируемые профили политики для каждой юрисдикции и организации. Предложение вносит два уточнения: ссылка на происхождение НЕ ДОЛЖНА выводиться из местоположения (никакого хеша или кодирования координат или геометрии участка); аттестацию отзывает её эмитент или отзывающая сторона, которой он делегировал это право, а административной роли в 2.x НЕ СЛЕДУЕТ отзывать аттестацию, которую она не выдавала, и начиная с 3.0 она НЕ ДОЛЖНА этого делать, чтобы уже развёрнутые токены оставались соответствующими стандарту; по тому же правилу повторная аттестация никогда не заменяет запись другого эмитента и не восстанавливает отозванную.
ADR-017 (Предложено): extensions в метаданныхСхема метаданных 1.3.0 добавила бы необязательный объект extensions — по одному элементу на правило, проверяемому фрагментом схемы из дескриптора правила.
ADR-024 (Предложено): места в виде кодов ISOНачиная со схемы метаданных 1.3.0, origin.region — это код административной единицы по ISO 3166-2, например BR-MG (код страны по ISO 3166-1, если единица не применима), проверяемый по шаблону; название для людей помещается в необязательное поле origin.regionName. Документы более ранних версий остаются действительными.
ADR-025 (Предложено): хуки, привязанные к одному токенуХук может быть привязан к одному токену при развёртывании, если он делает этот токен общедоступным и отклоняет любой вызов с другого адреса именованной ошибкой; непривязанные хуки по-прежнему обслуживают любой вызывающий их токен. Эталонный хук прослеживаемости привязан.
ADR-018 (Предложено): задекларированный углеродный следПартия может нести углеродный след продукта, задекларированный названной третьей стороной и скопированный из PACT 3.0.3 в extensions.pact_pcf со статусом верификации; он никогда не рассчитывается, не суммируется и не передаётся другим партиям.
ADR-020, ADR-021, ADR-022 (Предложено): эталонные адаптерыИнструменты ERC-3643 читают каждую партию через представление, которое ничего не может разрешить или запретить; утверждения ONCHAINID действительны, пока A-REX доверяет их подписанту; зеркало действующих сертификатов и записей о партиях в EAS. Информативно: они не добавляют требований.
ADR-023 (Предложено): несколько значений в данных одной передачиПоле data передачи может быть помеченным конвертом не более чем из 8 записей, каждая из ключа и значения, чтобы каждое правило читало только свой ключ; данные длиной 32 байта сохраняют прежнее значение. Не добавляет никаких требований.
ADR-026 (Предложено): сетиA-REX Core остаётся стандартом EVM: любая сеть EVM уровня paris или новее может нести конформный токен, сети обозначаются идентификаторами CAIP-2, и стандарт не ведёт их списка; доказательства вокруг токена можно привязать к любой сети.
Схема метаданных 1.4.0 (Предложено)Запись upstream может указывать network CAIP-2 партии, на которую она ссылается; партия в сети, которая не является EVM, обозначается своим активом CAIP-19.
Дескриптор правила arex.module/1 (информативный, Предложено)JSON-документ, который правило или дополнение публикует, чтобы потребители интегрировали его без специального кода.
Форматы arex.vocab/1, arex.anchor-proof/1 и arex.report-sources/1 (информативные, Предложено)Собственный словарь организации для полевых работ, процессов и этапов; доказательства того, что запись существовала без изменений, привязанные к любой сети; источники цифр отчёта, по одной строке на запись.

Информативные сопоставления с GS1 EPCIS 2.0, UN Transparency Protocol 0.7.0, PACT 3.0.3, ERC-3643 и Ethereum Attestation Service не добавляют требований; их краткое описание — в разделе Интероперабельность.

Что остаётся за рамками

Нет списка культур, сортов или сертификатов: коды открыты. Нет персональных данных в цепочке: ни координат участков, ни имён, ни идентификаторов физических лиц, ни значений, вычисленных из местоположения участка. Не требуется никакой поставщик идентичности, оракул или реестр, и никакая политика: кто может применять принуждение, приостанавливать работу или проводить скрининг и по каким спискам, решает эмитент в рамках своей юрисдикции. Кривые порчи, процессы поставки, углеродный учёт и страхование строятся как правила или вспомогательные контракты; эталонная реализация демонстрирует некоторые из них, и совместимость от них не зависит.

Версионирование

Интерфейсы версионируются вместе со стандартом. Изменение функции, события или требования — это мажорная версия с заметкой о миграции. Необязательные дополнения, например новые рекомендуемые коды или поля метаданных, — минорная версия: схема метаданных 1.1.0 открыла схему кодов товаров, а схема 1.2.0 добавила ссылки на партии других токенов (upstream). Схемы метаданных 1.3.0 и 1.4.0 имеют статус «Предложено» и не выпущены. Каждый документ, действительный по более ранней схеме, остаётся действительным. До подачи интерфейсы ещё могут меняться, всегда как мажорная версия.

Путь к ERC

Текст подаётся в ethereum/ERCs, когда выполнены четыре условия: развёртывание в продакшене с реальными партиями работает шесть месяцев; существуют как минимум три независимых контракта правил; у эталонной реализации есть опубликованный внешний аудит; интерфейсы не менялись в течение одного цикла релизов. Дорожная карта — в разделе Дальнейшее развитие.

Что этот сайт не публикует

Нормативные положения, исходники интерфейсов и их идентификаторы, коды отказа и схема метаданных партии остаются в репозитории стандарта, пока он закрыт. Компании, которые хотят реализовать A-REX, выпускать с ним партии или проводить его аудит, запрашивают доступ на чтение на странице Запросить ранний доступ. Каждый запрос рассматривается вручную; одобренные читатели получают доступ только на чтение к стандарту и эталонной реализации. Материалы остаются конфиденциальными до публикации под CC0, и ранний доступ не даёт эксклюзивности.