Whitepaper · 12
Interoperabilidad
Cómo encaja un token A-REX en lo que ya existe: estándares de tokens de Ethereum, motores de cumplimiento, estándares de datos de trazabilidad y de pasaportes de producto, huellas de carbono, registros de documentos legales, sistemas de identidad, infraestructura entre cadenas y sistemas agrícolas actuales.
Con el ecosistema de Ethereum
Un token A-REX Core es un token ERC-1155. Las billeteras, exploradores, marketplaces e indexadores compatibles con ERC-1155 funcionan sin cambios: saldos, transferencias múltiples, uri(id), aprobaciones y verificación del receptor en las transferencias seguras. A-REX agrega eventos y vistas; no quita nada.
Un token A-REX Core es un multitoken ERC-7943. Los motores de cumplimiento y las plataformas de custodia diseñados para ERC-7943 reconocen canTransfer, forcedTransfer, setFrozenTokens, canSend y canReceive sin adaptaciones. El Automated Compliance Engine de Chainlink ya demostró su compatibilidad, y las plataformas de emisión de la coalición ERC-7943 lo están adoptando.
| Estándar | Relación |
|---|---|
| ERC-1155 | base; A-REX Core es una extensión |
| ERC-165 | detección de interfaces; se publican cinco ids |
| ERC-7943 | obligatorio; sus controles de cumplimiento se adoptan tal cual |
| ERC-3643 | adaptador de referencia (ADR-020, Propuesto): cada lote puede leerse como un token ERC-3643 (saldos, elegibilidad, cantidades congeladas, pausa, movimientos) mediante una vista que lee directamente del token y un hook de solo notificación que no puede permitir ni rechazar nada; el token de A-REX no cambia. Probado con T-REX 4.1.6. Envolver un módulo de cumplimiento de ERC-3643 como IARexHook, y envolver un lote como un valor ERC-3643, siguen siendo diseños sin implementar. Leer un lote a través de ERC-3643 no lo convierte en un valor. |
| Claims de ERC-735 / ONCHAINID | los temas de claim equivalen directamente a temas de IARexAttest (bytes32(uint256 topic)); un emisor de claims de referencia (ADR-021, Propuesto) presenta la situación de una empresa en A-REX como claims de ONCHAINID que solo son válidos mientras A-REX confía en su firmante, se comprueban en el momento en que se leen y solo el firmante los revoca. Probado con ONCHAINID 2.2.1. |
| Ethereum Attestation Service | los UID de esquema son temas válidos de IARexAttest; un espejo de referencia (ADR-022, Propuesto) publica en EAS los certificados y los registros de lotes vigentes bajo dos esquemas sin contrato resolver, y revoca sus copias cuando A-REX los revoca, deja de confiar en ellos o los modifica. Probado con EAS 1.4.0. Un registro IARexAttest basado en EAS sigue siendo un diseño sin implementar. |
| ERC-7201 | estructura de almacenamiento de la implementación de referencia |
| ERC-7573, patrones de retención y depósito en garantía | la entrega contra pago y el depósito en garantía se resuelven con hooks o contratos complementarios; el estándar no define cómo se liquida |
| ERC-7802 / Chainlink CCIP | los adaptadores de acuñación y quema entre cadenas pueden envolver el token; el linaje queda en la cadena de origen y lo que viaja son las referencias |
Con estándares de datos de trazabilidad
GS1 EPCIS 2.0 / CBV
El estándar publica un mapeo informativo, evento por evento:
| En la cadena | EPCIS 2.0 |
|---|---|
BatchCreated | ObjectEvent ADD, bizStep = creating_class_instance (a nivel de lote) o commissioning cuando se asignan ids de instancia, quantityList (unidad según la Rec. 20), datos maestros del lote en ilmd |
TransferSingle / TransferBatch | ObjectEvent OBSERVE con las partes titulares como origen y destino; sin bizStep para un simple cambio de titularidad, y shipping/receiving solo cuando los metadatos o un hook de trazabilidad indican que los bienes se movieron |
BatchTransformed | TransformationEvent (inputQuantityList, outputQuantityList, transformationID tomado de processRef); bizStep = repackaging para una reagrupación, creating_class_instance para un procesamiento |
BatchCreated con referencias upstream | TransformationEvent cuando los bienes se procesaron a partir del lote de otro token; si no, un ObjectEvent con el proveedor como origen; el epcClass compartido lo une al evento del propio proveedor |
ForcedTransfer | ObjectEvent OBSERVE, holding cuando los bienes quedan bajo retención legal |
BatchStatusChanged | ObjectEvent con la disposition tomada de la tabla de estados del emisor |
Attested / AttestationRevoked | ObjectEvent (inspecting, o sampling para un laboratorio) con la referencia del certificado |
metadatos gs1.* | GTIN, LGTIN, SSCC, GLN, Digital Link |
metadatos extensions | ilmd del evento de creación; una huella declarada como arex:declaredFootprint |
El esquema de metadatos usa a propósito los nombres de EPCIS/CBV. Así, un exportador solo tiene que mapear campos, no conceptos.
UN Transparency Protocol (UNTP 0.7.0)
Un mapeo informativo convierte un lote, sus eventos y sus atestaciones en credenciales de UNTP 0.7.0, con los mismos identificadores que el mapeo de EPCIS para que ambos se puedan unir:
| A-REX | Credencial de UNTP | La emite |
|---|---|---|
| el lote, su origen, su instalación y sus certificados | Digital Product Passport (credentialSubject es un Product, uno por lote) | el emisor del lote |
| acuñación y procesamiento; transferencias y recepciones; quemas, cambios de estado y correcciones de metadatos | Digital Traceability Events: MakeEvent; MoveEvent; ModifyEvent, cada uno vinculado a su transacción | el emisor del lote |
| una atestación de un certificador o de un laboratorio | una referencia a la Digital Conformity Credential del evaluador | el evaluador, nunca el emisor del lote |
Las credenciales siguen el W3C Verifiable Credentials Data Model 2.0 y se firman con VC-JOSE-COSE bajo el did:web del emisor; la revocación usa una Bitstring Status List. Una credencial firmada también se puede anclar a su lote como una atestación cuya referencia es el hash de la credencial: el ancla prueba el compromiso y la firma prueba el contenido. Una credencial lleva solo lo que contienen el token o sus metadatos, y los valores que requieren un método (una huella, una puntuación de riesgo) solo aparecen cuando una parte identificada los declaró. El mapeo indica lo que no cubre, empezando por el Digital Product Passport de la UE: el ESPR no se aplica a los alimentos, los piensos ni las plantas y animales vivos, y A-REX no hace ninguna afirmación de pasaporte para ellos.
Huellas de carbono declaradas (PACT 3.0.3)
ADR-018 (Propuesto) permite que un lote lleve una huella de carbono de producto calculada por un tercero, en extensions.pact_pcf del documento de metadatos. El fragmento sigue campo por campo las WBCSD PACT Technical Specifications 3.0.3: quién la declaró, la unidad declarada y el período de referencia, la huella con y sin absorción biogénica, y un estado de verificación obligatorio que nombra al verificador cuando la huella está verificada. Se copia; nunca se calcula, se suma ni se traslada a los lotes hechos a partir del lote, y no es un crédito de carbono (ADR-014). El mapeo es un derivado independiente de PACT y no copia ningún archivo de PACT.
Códigos de producto y de unidad
Un código de producto es keccak256("<SCHEME>:<CODE>") para cualquier esquema: el Sistema Armonizado (HS), las nomenclaturas arancelarias nacionales (NCM en el Mercosur, CN y TARIC en la UE, HTS en Estados Unidos, entre otras), FAO, CPC, GTIN o uno propio del emisor. Desde el esquema de metadatos 1.1.0, el esquema en el documento también es abierto, así que los metadatos pueden reflejar el código en la cadena. Las unidades son códigos de la Recomendación 20 de UN/CEFACT (KGM, TNE, LTR), la lista que ya usan EDI, EPCIS y las aduanas.
FSMA 204
Los elementos de datos clave son campos de metadatos (traceabilityLotCode, GLN, fechas, cantidades) y eventos. El CTE de transformación es BatchTransformed, y la solicitud de registros en 24 horas se responde con una consulta al indexador. El mapeo completo está en el capítulo regulatorio.
Codex, ISO 22000, GLOBALG.A.P. y certificaciones orgánicas
Todos son temas de atestación. El estándar no los enumera: keccak256("GLOBALGAP:IFA"), keccak256("AREX:CERT:ORGANIC_EU") y keccak256("CODEX:MRL") son convenciones que el emisor publica junto con su esquema de metadatos.
Con registros de documentos legales
Los tokens A-REX hacen referencia a los instrumentos legales. No los reemplazan mientras una jurisdicción no reconozca al token en sí:
| Instrumento | Dónde está | Cómo lo referencia el token |
|---|---|---|
| Recibo de almacén electrónico de EE. UU. (7 CFR 869) | proveedor de EWR autorizado por el USDA | documents[].registry, originRef |
| CPR-e, CDA/WA de Brasil | registradoras autorizadas por el Banco Central | documents[].registryId; lote previo a la cosecha con producedAt == 0 |
| Certificado de depósito / warrant de Argentina (Ley 9.643) | almacén | hash en originRef |
| Conocimiento de embarque electrónico (jurisdicciones con MLETR) | plataforma de eBL | hash del documento; en las jurisdicciones con MLETR, el token mismo puede cumplir el requisito de control exclusivo |
| Declaración de debida diligencia del EUDR | Sistema de Información de la UE | origin.eudr.ddsReference, atestación EUDR:DDS |
Con sistemas de identidad
El token solo pregunta canSend(account) / canReceive(account). Detrás de esa pregunta puede haber:
- una lista de cuentas habilitadas o bloqueadas que administra el emisor (
EligibilityHook); - un registro de identidad ONCHAINID con temas de claim (el modelo de ERC-3643);
- atestaciones de Ethereum Attestation Service sobre la cuenta;
- credenciales verificables que se validan fuera de la cadena y que un relayer refleja en la cadena;
- un esquema nacional de identidad digital (billetera eIDAS 2.0 en la UE) a través de un verificador de credenciales.
Ninguna de estas opciones forma parte del estándar. Por eso, un emisor en Brasil y otro en Alemania pueden usar proveedores distintos y seguir siendo interoperables.
Con motores de reglas y plataformas
Una regla o un complemento puede publicar un descriptor arex.module/1: un documento JSON con sus parámetros, ajustes, campos del lote requeridos, tipos de certificado, eventos, códigos de rechazo y cómo pasa su estado a una versión nueva. Una plataforma, una billetera, un indexador o un auditor que lee descriptores integra una regla nueva sin código a medida. El formato es informativo y Propuesto; pasa a ser un formato recomendado cuando lo consume un segundo implementador independiente. La revisión 1.1 agrega una lista opcional e informativa ops con las operaciones que gobierna una regla; si falta, se desconocen, y nunca se usa para aplicar controles.
Despliegue en varias cadenas
El estándar no depende de ninguna cadena en particular. Estos son los patrones prácticos:
- Una sola cadena principal por emisor (recomendado): el linaje y los controles de cumplimiento se mantienen coherentes. Las demás cadenas tienen versiones envueltas del token mediante adaptadores al estilo de ERC-7802 o CCIP.
- Cadena EVM con permisos, para emisores cuya autoridad de protección de datos o institución ancla lo exija; el EDPB prefiere expresamente los diseños con permisos. El bytecode es el mismo.
- Réplicas para dar liquidez: un id de lote en la cadena principal y un wrapper ERC-20 en otra. El wrapper debe respetar
canTransferdel token original o limitarse a titulares habilitados.
El linaje nunca sale de su cadena; las referencias, sí. Entre tokens de la misma cadena o de cadenas distintas, un lote hecho a partir del lote de otro token lo nombra en la lista upstream de sus metadatos (esquema 1.2.0) por id de cadena, contrato e id de token. Esas referencias son afirmaciones del emisor, que hay que contrastar con el token de origen.
Con sistemas de gestión agrícola y ERP
Los puntos de integración son los mismos que para cualquier token ERC-1155, más las vistas de lote:
- Escritura: un servicio de originación tiene
ISSUER_ROLEy llama acreateBatcha partir de eventos del ERP (boleta de báscula, emisión de certificados), asetBatchStatus/setBatchMetadataa partir de eventos del almacén y atransforma partir de órdenes de procesamiento. - Lectura: un indexador vuelca los lotes, el linaje, las atestaciones y los eventos de cumplimiento en las tablas de trazabilidad del ERP, y genera exportaciones EPCIS para socios comerciales y reguladores.
- Verificación previa: con
transferCheck, el ERP puede explicarle un rechazo al operador antes de enviar la transacción. - Identificadores: las claves GS1 de los metadatos conectan con los repositorios EDI y EPCIS existentes; las unidades UN/CEFACT ya están en los ERP.
Matriz de compatibilidad
| Capacidad | Estado |
|---|---|
| Billeteras / marketplaces ERC-1155 | nativo |
| Herramientas de cumplimiento ERC-7943 | nativo |
| Herramientas ERC-3643 que leen lotes | adaptador de referencia (ADR-020, Propuesto) |
| Módulos de cumplimiento ERC-3643 como hooks | diseño, sin implementar |
| Claims de ONCHAINID a partir de la situación en A-REX | emisor de claims de referencia (ADR-021, Propuesto) |
| Atestaciones ERC-735 / EAS | equivalencia de temas; espejo en EAS (ADR-022, Propuesto) |
| Exportación EPCIS 2.0 | mapeo informativo de eventos; nombres de campos en el esquema; lo resuelve el indexador |
| Credenciales UNTP 0.7.0 | mapeo informativo; las firma el emisor (did:web, VC-JOSE-COSE) |
| Huellas PACT 3.0.3 | extensions.pact_pcf (ADR-018, Propuesto) |
| Descriptores de reglas | arex.module/1 (informativo, Propuesto) |
| Linaje entre tokens | metadatos upstream (esquema 1.2.0) |
| EVM con permisos | mismo bytecode |
| Entre cadenas | wrappers; el linaje queda en la cadena principal |