Стандарт
A-REX Core — стандарт
Что определяет стандарт, что делает совместимый токен, как он меняется и как становится ERC. Нормативный текст предоставляется через ранний доступ.
Статус
Черновик 2.1.0-alpha.2, до подачи, со схемой метаданных партии 1.2.0. Текст написан в формате Ethereum Request for Comments, чтобы его можно было подать в ethereum/ERCs, когда независимые разработчики применят интерфейсы в продакшене. Он будет опубликован под CC0; эталонная реализация распространяется под MIT. Пока не появятся два независимых разработчика реализаций, принятые изменения помечаются как предварительные.
Что он определяет
A-REX Core — небольшое расширение ERC-1155 и ERC-7943. Партия (партия физического товара или право на будущую партию) — это один id токена ERC-1155. Стандарт добавляет к ней четыре уровня:
| Уровень | Интерфейс | Что охватывает | Обязателен |
|---|---|---|---|
| 0 | ERC-1155, ERC-165, IERC7943MultiToken | балансы и пакетные переводы; заморозка, принудительный перевод, допуск счетов | да |
| 1 | IARexBatch | запись о партии: открытые коды товара и единицы, время производства и истечения срока, ссылка на происхождение, обязательство по документу вне цепочки, статус жизненного цикла и происхождение, когда партия делится, объединяется или перерабатывается | да |
| 2 | IARexHook, IARexHookManager | один упорядоченный конвейер внешних контрактов правил; правило отвечает машиночитаемой причиной | да |
| 3 | IARexAttest | сертификаты, инспекции и декларации по партии и теме от эмитентов, которым доверяют по этой теме | рекомендуется, в токене или во вспомогательном контракте |
Что делает совместимый токен
- Ведёт себя как обычный токен ERC-1155, поэтому кошельки, маркетплейсы и индексаторы работают без изменений.
- Предоставляет механизм принуждения ERC-7943: партию можно заморозить или переместить по решению суда, из-за залога или отзыва, и каждое такое действие видно в цепочке.
- Ведёт запись о каждой партии и фиксирует каждое деление, объединение или этап переработки, так что исходные партии всегда можно отследить.
- Пропускает каждый перевод через свой конвейер правил и может объяснить, почему перевод отклонён.
- Объявляет интерфейсы, которые реализует, чтобы инструменты могли его распознать.
Контракт правил (хук) совместим, если реализует IARexHook. Один контракт правил может обслуживать множество токенов.
Как проверяется совместимость
Эталонная реализация поставляется с набором тестов совместимости, который от неё не зависит: к проверяемой реализации он обращается только через интерфейсы стандарта и небольшой адаптер, который пишут её авторы. Каждый тест указывает положение, которое он проверяет; всего положений 85, из них 74 уровня MUST и 11 уровня SHOULD. Прогон завершается вердиктом, и заявление о совместимости должно объяснять каждое пропущенное положение. Положения, которые нельзя наблюдать в цепочке, например правило, что ссылка на происхождение не содержит персональных данных, оставлены на ревью.
Предложено, но не выпущено
Эти изменения записаны и открыты для рассмотрения. Ни одно из них не принято: каждое ждёт подтверждения двух независимых разработчиков реализаций, а изменения уровня MUST подчиняются правилу для мажорных изменений.
| Предложение | Что оно изменило бы |
|---|---|
| ADR-019 (Предложено): возможности в стандарте, политика в профилях | Стандарт фиксирует роли, события, форматы данных, семантику приостановки и отзыва и правила конфиденциальности; кто может использовать возможность, включена ли она и какие списки или органы применяются, переносится в версионируемые профили политики для каждой юрисдикции и организации. Предложение вносит два уточнения: ссылка на происхождение НЕ ДОЛЖНА выводиться из местоположения (никакого хеша или кодирования координат или геометрии участка); аттестацию отзывает её эмитент или отзывающая сторона, которой он делегировал это право, а административной роли в 2.x НЕ СЛЕДУЕТ отзывать аттестацию, которую она не выдавала, и начиная с 3.0 она НЕ ДОЛЖНА этого делать, чтобы уже развёрнутые токены оставались соответствующими стандарту. |
ADR-017 (Предложено): extensions в метаданных | Схема метаданных 1.3.0 добавила бы необязательный объект extensions — по одному элементу на правило, проверяемому фрагментом схемы из дескриптора правила. |
| ADR-018 (Предложено): задекларированный углеродный след | Партия может нести углеродный след продукта, задекларированный названной третьей стороной и скопированный из PACT 3.0.3 в extensions.pact_pcf со статусом верификации; он никогда не рассчитывается, не суммируется и не передаётся другим партиям. |
| ADR-020, ADR-021, ADR-022 (Предложено): эталонные адаптеры | Инструменты ERC-3643 читают каждую партию через представление, которое ничего не может разрешить или запретить; утверждения ONCHAINID действительны, пока A-REX доверяет их подписанту; зеркало действующих сертификатов и записей о партиях в EAS. Информативно: они не добавляют требований. |
Дескриптор правила arex.module/1 (информативный, Предложено) | JSON-документ, который правило или дополнение публикует, чтобы потребители интегрировали его без специального кода. |
Информативные сопоставления с 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). Каждый документ, действительный по более ранней схеме, остаётся действительным. До подачи интерфейсы ещё могут меняться, всегда как мажорная версия.
Путь к ERC
Текст подаётся в ethereum/ERCs, когда выполнены четыре условия: развёртывание в продакшене с реальными партиями работает шесть месяцев; существуют как минимум три независимых контракта правил; у эталонной реализации есть опубликованный внешний аудит; интерфейсы не менялись в течение одного цикла релизов. Дорожная карта — в разделе Дальнейшее развитие.
Что этот сайт не публикует
Нормативные положения, исходники интерфейсов и их идентификаторы, коды отказа и схема метаданных партии остаются в репозитории стандарта, пока он закрыт. Компании, которые хотят реализовать A-REX, выпускать с ним партии или проводить его аудит, запрашивают доступ на чтение на странице Запросить ранний доступ. Каждый запрос рассматривается вручную; одобренные читатели получают доступ только на чтение к стандарту и эталонной реализации. Материалы остаются конфиденциальными до публикации под CC0, и ранний доступ не даёт эксклюзивности.