Presentando Olive Oil Trust

Ver en GitHub

La tecnología blockchain es adecuada para hacer frente a una serie de desafíos a los que se enfrentan las cadenas de suministro en la actualidad, como la gestión y la calidad de los datos.

Información de fácil acceso, inmutable y actualizada es clave para mejorar tanto la confianza entre los consumidores en la autenticidad del producto como la visibilidad de los miembros en la cadena de valor.

Para abordar estos problemas, he desarrollado Olive Oil Trust y esta es la primera publicación de una serie de publicaciones para su presentación.

En este artículo

Concepto

Olive Oil Trust es un sistema de trazabilidad para el aceite de oliva implementado en Ethereum que permite a sus miembros rastrear y comerciar con una representación de sus propios productos en forma de token ERC-1155, y a los clientes finales rastrear y comprar esos tokens.

Está concebido para adaptar el flujo de trabajo de la cadena de valor larga del aceite de oliva a la cadena de bloques mediante el uso de contratos inteligentes.

Esto puede verse como una red de colaboración de olivareros, almazaras, fabricantes de botellas, plantas embotelladoras, distribuidores, minoristas y certificadores.

Los certificadores atestigüan la validez de un producto para un estándar determinado mediante la creación de certificados.

Estos certificados al igual que tipos de tokens se pueden utilizar para establecer instrucciones para la creación de un token dependiente.

Por lo tanto, se introduce una ontología para la creación de tokens dependientes (similar al modelo introducido por Westerkamp et al.).

Un token dependiente es un token que depende de la disponibilidad de otros tokens para ser acuñados, siendo el resultado de transformar estos tokens en uno nuevo.

En cambio, los tokens independientes son tokens que no requieren la acuñación de otros tokens.

Como podemos ver, existe una especificidad en lo que respecta a los tipos de tokens que se pueden usar al acuñar un token dependiente de un determinado tipo.

Sin embargo, si se certifican los tipos de tokens requeridos por adelantado, un miembro podría establecer instrucciones utilizando certificados en lugar de tipos de tokens.

Es decir, de esta manera se podrían usar tokens de cualquier tipo que esté certificado por el certificado que aparezca en las instrucciones en lugar de tokens del único tipo indicado si no se usaran certificados.

Flujo de productos

La secuencia de acciones necesarias para que un cliente final adquiera la propiedad de un token de una botella de aceite de oliva en Olive Oil Trust se resume a continuación:

  1. Un olivarero acuña un lote de tokens que representan algún tipo de aceitunas y lo deposita en un depósito en garantía (a partir de ahora utilizaré el término escrow).

  2. Una almazara interesada en ese lote hace una oferta, fijando así el precio de estas aceitunas.

  3. El olivarero cierra el trato si la oferta le parece conveniente, de lo contrario, la oferta puede ser revertida y el olivarero tendría que esperar una nueva oferta.

En teoría, los olivareros llevan sus aceitunas a las almazaras para que puedan ser limpiadas, clasificadas, muestreadas y pesadas, conociendo así la cantidad de aceituna y su grasa, lo que determina su precio.

  1. La almazara establece instrucciones sobre cómo acuñar tokens de aceite de oliva de un determinado tipo. Por ejemplo, se necesitan 7 kg de aceitunas de la variedad Picual para producir 1 litro de aceite de oliva virgen extra.

  2. La almazara acuña un lote de aceite de oliva y deposita una cantidad de tokens de aceite de oliva en un escrow.

  3. Un fabricante de botellas acuña un lote de tokens de botellas de algún tipo y los deposita en un escrow, fijando un precio por adelantado.

  4. Una planta embotelladora considera los escrows de la almazara y del fabricante de botellas y paga el precio de estos tokens con el siguiente acuerdo de los vendedores.

  5. La planta embotelladora establece instrucciones sobre cómo acuñar tokens de cierto tipo de botellas de aceite de oliva y, ahora que posee tokens de aceite de oliva y tokens de botellas, procede a acuñar un lote.

  6. Para que la planta embotelladora intercambie estos tokens de botellas de aceite de oliva con un distribuidor, se empaquetan (en sentido figurado, más información en el siguiente post) en un token de una unidad industrial, es decir, un token que representa un palé, y el token del palé se deposita en un escrow.

  7. Tanto el comprador como el vendedor llegan a un acuerdo y el distribuidor obtiene la propiedad de estos palés a cambio de su precio.

  8. Ahora bien, para que el distribuidor pueda comercializar el aceite de oliva dentro del palé tiene que desempaquetar el palé. Este proceso transferirá la propiedad de los tokens dentro del palé desde la dirección del contrato de la unidad industrial a la dirección del distribuidor y quemará el token que representa al palé.

  9. Luego se repite el proceso pero con un minorista como comprador. El distribuidor empaqueta una serie de tokens de botellas de aceite de oliva y comercializa con el minorista un token de palé que comprende estas unidades, que luego desempaqueta y vende los tokens de botellas de aceite de olive a un cliente final.

Repositorio

Tres partes principales, o workspaces, constituyen el monorepositorio del proyecto: contratos inteligentes, subgrafo y front end.

En los siguientes posts trato de explicar estas partes en detalle:

Referencias

  1. M. Westerkamp, F. Victor and A. Küpper, "Blockchain-Based Supply Chain Traceability: Token Recipes Model Manufacturing Processes," 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), Halifax, NS, Canada, 2018, pp. 1595-1602, doi: 10.1109/Cybermatics_2018.2018.00267. [DOI link]

Artículos relacionados

Trazabilidad

Presentando Olive Oil Trust: subgrafo

Subgrafo para consultar datos de Olive Oil Trust de una manera eficiente usando TheGraph.

DeFi

Cómo crear una aplicación de analítcas de DEXs

Introducción a la obtención y representación de datos de DEXs utilizando TheGraph y React.js

Trazabilidad

Presentando Olive Oil Trust: front end

Aplicación de Next.js que da soporte a los miembros y clientes de Olive Oil Trust,...

Microservicios

Propuesta de una aplicación bancaria con arquitectura basada en microservicios

Aplicación bancaria de arquitectura basada en microservicios que incluye aplicaciones de back end, front end,...

zk-SNARK

Cómo desarrollar una DApp de conocimiento cero

Esta entrada ofrece una introducción a cómo desarrollar una aplicación capaz de generar y validar...

DeFi

Guía de principio a fin para crear una DApp específica para un token ERC-20

Aplicación descentralizada para operar con un token ERC-20 acuñable


¿Preparado para #buidl?

¿Está buscando colaboración en algún proyecto de Web3 o a un desarrollador para que se una a su equipo?. Entonces, no dude en contactarme por e-mail o en mi perfil de LinkedIn. También me puede encontrar en GitHub.