Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Acta Agriculturae Scandinavica, Sección B — Suelos y Plantas
Ciencia
ISSN: (Impreso) (En línea) Página de inicio de la revista: https://www.tandfonline.com/loi/sagb20
Hacia una solución agrícola para la cadena de suministro de
productos usando blockchain: estudio de caso Agrocadena con
BigchainDB
Kevin Gordillo Orjuela, Paulo Alonso GaonaGarcía & Carlos Enrique
Montenegro Marín
Para citar este artículo: Kevin Gordillo Orjuela, Paulo Alonso GaonaGarcía & Carlos Enrique
Montenegro Marin (2021) Hacia una solución agrícola para la cadena de suministro de productos
usando blockchain: estudio de caso Agrocadena con BigchainDB, Acta Agriculturae Scandinavica,
Sección B — Soil & Ciencia vegetal, 71:1, 116, DOI: 10.1080/09064710.2020.1840618
Para enlazar a este artículo: https://doi.org/10.1080/09064710.2020.1840618
Publicado en línea: 10 de noviembre de 2020.
Envíe su artículo a esta revista
Vistas del artículo: 2091
Ver artículos relacionados
Ver datos de Crossmark
Citando artículos: 18 Ver artículos citando
Los términos y condiciones completos de acceso y uso se pueden encontrar
en https://www.tandfonline.com/action/journalInformation?journalCode=sagb20
Machine Translated by Google
ACTA AGRICULTURAE SCANDINAVICA, SECCIÓN B — CIENCIA DEL SUELO Y LAS PLANTAS 2021, VOL.
71, núm. 1, 1–16 https://doi.org/
10.1080/09064710.2020.1840618
Hacia una solución agrícola para la cadena de suministro de productos usando blockchain:
estudio de caso Agrochain con BigchainDB
Kevin Gordillo Orjuela, Paulo Alonso GaonaGarcía and Carlos Enrique Montenegro Marín
Facultad de Ingeniería, Universidad Distrital Francisco José de Caldas, Bogotá, Colombia
ABSTRACTO HISTORIA DEL ARTÍCULO
En los últimos años se ha hecho un esfuerzo por mejorar la gestión de la cadena de suministro (SCM) y el Recibido el 11 de julio de 2020
control de la trazabilidad en diferentes sectores industriales, por ejemplo, en la agricultura una de las principales Aceptado el 17 de octubre de 2020
preocupaciones es saber dónde está el producto en un momento determinado y dónde estará. próximo.
PALABRAS CLAVE
El problema aquí es, como muchos otros sistemas, la centralización de la información y los problemas de
cadena de bloques; cadena grande
confianza derivados de la interacción humana con las transacciones en el sistema. En base a este contexto de DB; agricultura; cadena de suministro;
falta de confianza, se propone el diseño y desarrollo de una plataforma utilizando una base de datos basada en modelo de cadena de bloques
tecnologías Blockchain, el principal esfuerzo de la plataforma es proponer una solución para la agricultura SCM
y el control sobre internet tomando como caso de estudio el proceso de negociación de la agricultura colombiana. .
Introducción
producto, permitiendo el almacenamiento y recuperación de
La apertura de Colombia a los tratados de libre comercio con datos mediante tarjetas o etiquetas con antenas pasivas sobre
diferentes naciones exige que el país busque nuevas formas de los artículos en proceso. A diferencia de los códigos de barras,
dar valor agregado a sus productos y de certificar la calidad y el no es necesario procesar uno por uno los contenedores de
origen de los bienes que produce. artículos, como cajas o paquetes, en la cadena de producción,
Además, hoy en día no existe una plataforma unificada para la sino que, por el contrario, se pueden procesar en lotes. En
comercialización de productos agrícolas, lo que representa un segundo lugar, la cadena de bloques permite la descentralización
gran esfuerzo para los agricultores que necesitan comercializar de los datos/sistema y la inmutabilidad de las transacciones, lo
sus productos con los supermercados y plazas de mercado de que mejora la confianza en el sistema y, como menciona Feng,
todo el país. puede reducir el costo del propio sistema.
En el sector agropecuario colombiano, como afirma Ana En Colombia, la escasez de herramientas tecnológicas,
María Ibáñez en Ibañez (2016), la innovación tecnológica en el especialmente aquellas que contribuyan a una comunicación y
sector es casi nula, lo que frena el avance productivo y la coordinación efectiva entre productores y comercializadores,
interconexión entre mercados. constituye una de las variables que determina la ineficiencia
Ibáñez estima que, con una inversión en celulares para consulta técnica en la agricultura (Cañón et al. 2014) .
de precios, se podría reducir la pérdida de cosechas entre 11% En este punto cobra relevancia un sistema integral para el
y 14%. control de la cadena de suministro; permitiendo la comunicación
Existen varias iniciativas de sistemas para la gestión de entre los actores del sistema de tal manera que siempre se
suministros utilizando tecnología blockchain. Una de las más conozca el estado de un producto.
conocidas es la alianza IBM–Walmart para el proyecto expuesto En este contexto, la motivación de este trabajo es proponer
en Chantz (2018), que permite la trazabilidad de los productos una forma de gestionar la cadena de suministro de bienes
agrícolas que llegan al supermercado. Este proyecto permite un utilizando una plataforma que utiliza nuevas tecnologías como
mejor nivel de producción en pequeñas parcelas y mejora la blockchain y cloud computing con el fin de mejorar la
eficiencia en el manejo de inventarios. agroindustria colombiana y desconfiar de terceros. . Como se
cita en Lee y Le (2010), la cadena de suministro no es un tema
Por otro lado, el trabajo propuesto por Tian (2016) establece nuevo, ha sido ampliamente estudiada y no solo trae beneficios
las ventajas de utilizar tecnología de identificación por económicos para una empresa como reducción de costos y
radiofrecuencia (RFID) y blockchain juntas en un sistema de mejora del ciclo de procesos; también aumenta la competitividad
información. Primero, la tecnología RFID permite la identificación en el mercado actual cuyo dinamismo es alto.
inequívoca de un
CONTACTO Carlos Enrique Montenegro Marin © 2020 Informa UK cemontenegrom@udistrital.edu.co
Limited, operando como Taylor & Francis Group
Machine Translated by Google
2 KG ORJUELA ET AL.
El artículo se divide de la siguiente manera. Apartado 'Anterior Gestión de la cadena de suministro
trabajo analizando el estado de blockchain en la cadena de Desde mediados de 1998, el tema de SCM ha ganado relevancia
suministro agrícola' presenta los antecedentes, que expone trabajos en la industria. Por ejemplo, en una conferencia de 1995 sobre
relacionados que le dieron importancia a la presente propuesta y gestión logística, el 13,5% de los temas se referían al término SCM.
examina los antecedentes del problema. Para 1997 había crecido al 22,4% (Mentzer et al. 2001). Sin
En la sección 'Aproximación metodológica' se presenta el diseño embargo, surge la pregunta: ¿Por qué la popularidad del término?
metodológico del estudio y su correspondiente implementación. La Según los autores, una de las razones es el crecimiento industrial
sección 'Agrochain: plataforma para el control de la cadena de de las empresas que las 'empuja' a ser más competitivas en el
suministro basada en blockchain' tiene como objetivo revisar, mercado ya mejorar la eficiencia de sus procesos. Otra razón está
analizar y discutir la evidencia encontrada para proponer una relacionada con el control de inventarios, proveedores y manejo de
solución para la cadena de suministro de productos utilizando la materias primas.
cadena de bloques. La sección 'Prueba de rendimiento' presenta un
método para validar el diseño del modelo propuesto. En la Sección
'Análisis de resultados' analizamos los resultados encontrados. Por otro lado, la cadena de suministro se ha fortalecido en los
Finalmente, las conclusiones y el trabajo futuro se presentan en la últimos años gracias a la aplicación de tecnologías como las
Sección 'Conclusiones'. etiquetas RFID para reducir la pérdida de productos en su proceso
de transporte. El uso de Big data, para entender las necesidades
del mercado (consumidores) y mejorar o crear nuevas funcionalidades
Trabajo previo analizando el estado de
en los productos, así como el uso de nuevas tecnologías para la
blockchain en la cadena de suministro agrícola
visualización de información en tiempo real para mejorar la toma
Entonces, ¿qué es Blockchain? Como propuso Satoshi Nakamoto de decisiones y la trazabilidad de los productos ( Kamble et al. 2020).
en Nakamoto (2008) uno de los principales problemas de la gestión
del dinero y las transacciones comerciales es la delegación de
confianza en terceros para validar esas transacciones. Muchas
veces, esta confianza otorgada a terceros conduce a la manipulación SCM y blockchain Hasta
de información financiera y personal por intereses políticos o ahora se ha dicho suficiente sobre la importancia de las cadenas de
fraudulentos, esto se debe a que se está confiando en una entidad suministro y blockchain en la industria moderna.
para mediar transacciones simples. Lo que se discutirá a continuación será una breve descripción del
Blockchain establece que cada vez que se realiza una trabajo previo realizado por otros autores sobre este proyecto:
transacción, esta debe ser registrada y agrupada en un bloque, este Cadena de suministro usando Blockchain y etiquetas RFID.
bloque contiene una función hash (una cadena de texto inalterable
de la información) que asegura la integridad de todas las En primer lugar, tenemos el trabajo de Lu y Xu (2017), quienes
transacciones que contiene. Como las transacciones son llevó a cabo la construcción de una plataforma denominada 'ori
llevado a cabo, los bloques crecen. Para tener un historial de todas ginChina'. Este proyecto tiene como objetivo rastrear suministros
las transacciones realizadas en la red, los bloques deben estar utilizando Blockchain como una base de datos descentralizada. Para el
concatenados mediante su función Hash. Los nodos de la red autores, hacer uso de esta tecnología asegura la transparencia en
supervisan la validación de las transacciones de un bloque antes de el proceso, la inmutabilidad de la información y automatiza el
incluirlo en la cadena de bloques. Los nodos de red que validan las cumplimiento normativo
transacciones se conocen generalmente como mineros. A medida proceso.
que crezcan los bloques, se necesitará más capacidad de cómputo La arquitectura propuesta por Lu y Xu se basa en la definición
para validar las transacciones realizadas. del proceso de negocio de certificación de productos. Como se
Si bien en principio Blockchain es una tecnología que nació y se muestra en la Figura 1, el proceso comienza con la solicitud de un
desarrolló especialmente para transacciones monetarias (en proveedor, o 'minorista', para que su producto sea certificado (las
particular criptomonedas), hoy en día podemos encontrar certificaciones más comunes están relacionadas con la calidad).
aplicaciones como: gestión de la cadena de suministro (SCM), Luego de esto, una entidad administradora avala la solicitud y asigna
gestión de registros médicos, auditoría de obras, control de acceso, una entidad para auditar la planta procesadora del producto, y un
voto electrónico. , entre otros. laboratorio para realizar un ensayo a una muestra del producto a
certificar. Luego del proceso de auditoría y pruebas de laboratorio,
se consolida el resultado y se emite una certificación sobre el
Aplicaciones de blockchain en la industria
producto, luego la certificación llega al solicitante y así finaliza el
Ahora presentamos algunas aplicaciones de la tecnología proceso de cadena de certificación.
blockchain como antecedente para el trabajo expuesto en este
papel.
Machine Translated by Google
ACTA AGRICULTURAE SCANDINAVICA, SECCIÓN B — CIENCIA DEL SUELO Y LAS PLANTAS 3
Figura 1. Proceso de negocio para la certificación de productos. Fuente: (Lu y Xu 2017, p. 24).
El desafío de la cadena de suministro palabras del autor: 'En los mercados tradicionales gana
agrícola La gestión del suministro en el sector agrícola importancia la palabra y el prestigio de los interesados en
colombiano presenta dos peculiaridades importantes la transacción; cuando ingresa un nuevo proveedor, debe
según un documento técnico del Departamento Nacional ser presentado por alguien con tradición comercial dentro
de Planeación (DNP) (Misión para la Transformación del del mercado” (Misión para la Transformación del Campo
Campo 2014). El primero, existe un sistema de distribución 2014).
de materias primas denominado 'canal tradicional' donde La segunda peculiaridad es el 'canal moderno', en este
los productos son llevados al consumidor final o a las canal el precio de los artículos negociados es fijo, y la
grandes superficies directamente por el productor, como calidad de cosecha/recepción es estándar. Este 'canal' ha
se muestra en la Figura 2. sido implementado y regulado por cadenas de
La figura 2 muestra el canal de comercio tradicional; supermercados que exigen niveles más estrictos de
los productores envían sus artículos tanto a los calidad y controles sobre los productos agrícolas con los
recolectores/transportistas como a los almacenes y que comercian.
mercados. Este proceso, según el documento técnico, se Para lograr esto, se han implementado una serie de
realiza de manera informal y con base en la tradición, requisitos que, en ocasiones, son difíciles de cumplir por
donde existe una gran cantidad de intermediarios, la parte de los pequeños productores, estos requisitos
negociación se realiza a través del regateo y no existen
estándares de calidad definidos para producir o comercializar los productos. En
Figura
́ 2. Caudal para canal tradicional
́ definido por NPD. Fuente: Figura
́ 3. Caudal para canal ḿ oderno definido por NPD. Fuente:
(Misión para la Transformación del Campo 2014). (Misión para la Transformación del Campo 2014).
Machine Translated by Google
4 KG ORJUELA ET AL.
Suele delegarse el cumplimiento en mayoristas o intermediarios persistencia. Parte de esa revisión se expone en la Sección
que se encargan de envasar o reenvasar el producto para llevarlo 'Trabajo previo que analiza el estado de blockchain en la cadena
al cliente. En la figura 3 se muestra cómo se lleva a cabo este de suministro agrícola' del documento actual. Esa revisión nos
proceso. ayudó a definir la arquitectura de la aplicación y la funcionalidad
Como se puede observar en la figura anterior, los productores de la plataforma.
envían sus artículos a los recolectores o asociaciones de productores . Definición arquitectónica: en esta parte definimos algunos aspectos
para que luego estos se encarguen de enviarlos a los mayoristas y a considerar antes de iniciar el desarrollo de la plataforma, en la
estos a su vez a los acondicionadores de productos y tiendas Sección 'Agrochain: plataforma para el control de la cadena de
departamentales. suministro basada en blockchain' mostramos
aspectos que consideramos relevantes para un adecuado diseño
de los componentes.
Preocupaciones de seguridad con sistemas centralizados
. Desarrollo del prototipo: en esta fase comenzamos el desarrollo de
En 2015 y 2017 historias clínicas e información de la plataforma utilizando la documentación adecuada de
más de 78 millones de pacientes fueron robados por piratas BigchainDB y Azure Cloud (esta fue la nube pública elegida para
informáticos en una empresa con un sistema centralizado que se el proceso de implementación). Para el desarrollo del frontend
suponía que era seguro (Daghera et al. 2018). Por lo tanto, en un primero diseñamos unos wireframes que nos ayudaron a
sistema centralizado es riesgoso mantener toda la información distribuir los componentes en la aplicación web.
sensible en un solo nodo porque un atacante toma toda la información
evitando la necesidad de atacar múltiples fuentes. Blockchain mitiga . Fase de prueba: en esta tarea realizamos algunas pruebas
ese riesgo porque la información se codifica y se mantiene en una funcionales, prueba unitaria y la más importante, la prueba de
red de igual a igual. carga. Esta última prueba nos permitió determinar la
eficiencia de la plataforma en una primera fase y, de implementarse
Por otro lado, como se menciona en Crosby et al. (2016) nosotros, en un caso real, qué implicaciones tendría y aspectos a mejorar
los humanos, confiamos en entidades de terceros para la seguridad o implementar antes de un despliegue real.
y la privacidad de nuestros activos digitales. Pero esos terceros
pueden ser hackeados, o alguien puede manipular la información en . Resultados y conclusiones: al final analizamos los resultados que
su beneficio o porque es más engañoso. obtuvimos, e hicimos algunas conclusiones y observaciones de
conveniente En el escenario de SCM hay un par de vulnerabilidades, cómo implementar la plataforma en un contexto real. Además,
pero especialmente como se menciona en Wagner y Bode (2006) probamos si Big chainDB puede ser preciso para administrar un
cuando una empresa concentra sus actividades de abastecimiento proceso con muchas transacciones por segundo.
en un solo o pequeño número de proveedores, pierde la capacidad
de cambiar entre proveedores en situaciones disruptivas. ciones y
aumentando el retraso organizativo. Por lo tanto, es necesario que
las empresas involucradas en SCM se conecten entre sí y no
Agrochain: plataforma para el control de la cadena de
centralicen sus actividades, proveedores y datos.
suministro basada en blockchain
En esta sección, presentamos el desarrollo de un modelo basado en
una plataforma para la cadena de suministro basada en tecnologías
Enfoque metodológico
blockchain y web.
Para este proyecto hemos adoptado las siguientes etapas de Primero, la Figura 4 representa el proceso tal como lo concebimos
investigación: usando tecnologías blockchain y RFID. Los agricultores llevan el
producto a los recolectores, inmediatamente el producto se etiqueta
. Formulación del problema y objetivos de investigación: primero con una etiqueta RFID y se escanea para cargar la primera
analizamos algunas necesidades y algunas desventajas que transacción en la plataforma. Luego, la transacción se incluye en
enfrentan los agricultores en comparación con las grandes una cadena de bloques privada y en una base de datos relacional
empresas. En base a ello definimos unos objetivos que pretenden para la plataforma web. En una cadena de suministro básica podría
definir el diseño y desarrollo de un prototipo de una plataforma haber otros eventos como almacenamiento, transporte y entrega.
que permita a los usuarios registrar sus productos y rastrear su Esos eventos también deberían incluirse en la cadena de bloques.
estado a lo largo de la cadena de suministro. registros de la base de datos como parte del sistema de trazabilidad,
para lograrlo, cada vez que los productos pasen de una etapa a otra
. Revisión de artículos: hicimos una revisión con otros artículos se debe escanear su etiqueta RFID y se debe registrar el evento en
publicados en diciembre de 2019 sobre blockchain, SCM, la plataforma web.
problemas agrícolas y tecnologías para inmutables. En la Sección 'Datos para incluir en el activo y metadatos de
Machine Translated by Google
ACTA AGRICULTURAE SCANDINAVICA, SECCIÓN B — CIENCIA DEL SUELO Y LAS PLANTAS 5
Figura 4. Proceso del sistema de trazabilidad para el registro y transporte de productos. Fuente: elaboración propia.
Transacciones BigchainDB' discutimos cómo se ve este registro y qué El siguiente paso en la cadena de suministro tiene dos caminos, el
tipo de información podemos editar y primero ocurre cuando el producto requiere empaque o tratamiento
lo que no podemos. especial antes de ir a los supermercados y tiendas. La segunda, cuando
Además, en la Figura 4 mostramos una sección opcional para el producto puede cargarse directamente a transporte solo es necesario
contratos inteligentes. Esos contratos pueden usarse para el proceso registrar el evento de transporte en el sistema y la recepción de la
de automatización de pagos, puede definir algunas reglas en el contrato mercancía. Este flujo trata de incluir el 'canal tradicional' expuesto en la
que deben cumplirse antes de que una transacción pueda considerarse Sección 'Gestión de la cadena de suministro'.
totalmente completada.
Sin embargo, esa no es la principal preocupación de este artículo y
puede ser parte de un trabajo futuro. En la Figura 5, también definimos cuál debe ser el proceso final
Con base en la revisión realizada en la Sección 'Gestión de la para la 'distribución normal' que consiste en la mercadería, descarga y
cadena de suministro', definimos un diagrama para mostrar el proceso verificación técnica de las mercancías, si algo no cumple con el acuerdo
de interacción estándar que se debe seguir para registrar nuevos inicial o los productos no están en buenas condiciones , el Supermercado
registros en el sistema. En la Figura 5, podemos ver que todo el proceso o receptor puede devolver la mercancía o destruirla. El flujo de retorno
comienza en la parte de cosecha. no está contemplado en este caso y puede ser parte de un trabajo
Primero, si el agricultor no posee una semilla, debe comprarla, de lo futuro.
contrario, si posee la semilla, sigue el proceso de almacenamiento y
tratamiento.
Una vez que la cosecha ha crecido y está lista para ser consumida,
BigchainDB y almacenamiento de datos
se debe seguir el proceso de alistamiento, algunos productos no
necesitan ningún proceso de empaque o alistamiento, de ser así, el BigchainDB es, como mencionan en su sitio web: "Con alto rendimiento,
proceso de etiquetado RFID y el almacenamiento del producto son los baja latencia, potente funcionalidad de consulta, control descentralizado,
siguientes pasos en el proceso de flujo. En caso contrario, se debe almacenamiento de datos inmutable y soporte de activos integrado,
estar realizando un proceso de selección y descarte, limpieza del BigchainDB es como una base de datos con características de cadena
producto y envasado. de bloques" (Comisión Europea 2020) .
Algunos productos pueden necesitar refrigeración, en ese caso el Seleccionamos esta base de datos porque es de código abierto,
producto debe seguir el proceso en el rectángulo de 'refrigeración', hay tiene controladores para Java, Python y Javascript y también puede
unas etiquetas RFID que permiten medir la temperatura y esa medida ejecutar un solo nodo en cualquier máquina virtual.
se puede registrar dentro de los datos de transacción, de esta manera Esta base de datos define dos transacciones principales. La primera
podemos controlar el frío cadena para productos específicos que una es CREAR transacciones, que básicamente permite a los usuarios
requieren esta característica específica. crear un nuevo registro en la base de datos. El
la segunda es la transacción TRANSFER que permite al usuario
Machine Translated by Google
6 KG ORJUELA ET AL.
Figura 5. Proceso de flujo básico para el registro de eventos de gestión de la cadena de suministro. Fuente: elaboración propia.
transferir la propiedad de determinado registro a otro usuario. información de la transacción. En la Figura 6, mostramos un buen
Además, los bloques de transacciones de BigchainDB están ejemplo, del sitio oficial de BigchainDB, de estos tres elementos.
compuestos por tres elementos principales: Activo, Metadatos e
ID de transacción.
Un activo en BigchainDB representa objetos físicos o digitales
Datos a incluir en el activo y metadatos de
que queremos representar, por ejemplo, una bolsa con manzanas
Transacciones de BigchainDB
o una lata de leche. La información dentro del activo es inmutable,
es decir, no puede modificarla. Para nuestro proyecto específico necesitamos algunos datos
Por otro lado, los metadatos permiten al usuario agregar definidos en la Figura 7. Primero, definimos algunos metadatos
información nueva o adicional a las transacciones, por ejemplo, si que se pueden usar en el proceso de trazabilidad de un producto,
el sujeto A vende la bolsa de manzanas al sujeto B, los metadatos esta definición de datos no es estática y, si es necesario, se
podrían contener información sobre la transacción, como precio, pueden agregar más campos. Estos datos pueden cambiar en
fecha, temperatura, etc. Estos metadatos se pueden actualizar cada transacción, por ejemplo, la identificación del estado cambia
con cada transacción. en cada paso de la cadena del producto porque identifica la
Finalmente, la identificación de la transacción es la identificación acción que se ha tomado para el
de la transacción representada con una función hash en todo el producto en sí.
Machine Translated by Google
ACTA AGRICULTURAE SCANDINAVICA, SECCIÓN B — CIENCIA DEL SUELO Y LAS PLANTAS 7
Figura 6. Ejemplo de transacción de bicicleta utilizando BigchainDB. Fuente: sitio oficial de BigchainDB.
BigchainDB define una API para crear o transferir transacciones. En la Figura 8 Arquitectura de la plataforma
se muestra un ejemplo de cómo los datos, definidos en la Figura 7, viajan a
En el siguiente apartado se realizará la definición arquitectónica de la aplicación para
BigchainDB . Esta figura muestra los datos json con metadatos, activos e ID de
el control de la cadena de suministro de productos agrícolas. Como se mencionó, el
transacción. Campos que no están en uso en la trans actual
proyecto tiene como objetivo desarrollar una plataforma web que permita la trazabilidad
de estos productos utilizando tecnologías de lectura de etiquetas RFID.
acción, se puede establecer como nulo.
Figura 7. Datos definidos para transacciones (registros) en BigchainDB para trazabilidad de productos. Fuente: elaboración propia.
Machine Translated by Google
8 KG ORJUELA ET AL.
Figura 8. Ejemplo de archivo JSON con metadatos, activos e ID de transacción para el consumo de la API de BigchainDB. Fuente: elaboración propia.
Dado que el proyecto requiere la integración de múltiples aplicación de gestión de persistencia, persistencia de archivos
tecnologías, decidimos hacer un modelo arquitectónico y autenticación.
basado en capas; cada capa está estructurada por uno o más En la Figura 9 mostramos la distribución arquitectónica de
componentes que incluyen tareas específicas como la la plataforma Agrochain. A continuación describimos cada
interacción con el cliente, el manejo de la lógica de la aplicación, la tcapa y su función.
ransacción
Figura 9. Definición de la arquitectura de la aplicación. Fuente: elaboración propia.
Machine Translated by Google
ACTA AGRICULTURAE SCANDINAVICA, SECCIÓN B — CIENCIA DEL SUELO Y LAS PLANTAS 9
Figura 10. Escaneo de una manzana con smartphone y lector RFID.
. Capa web: El propósito de esta capa es presentar la plataforma Elija BigchainDB para garantizar la inmutabilidad de la
y su interacción con el cliente final, se construirá utilizando el auditoría de la aplicación.
marco web Java Server Faces (JSF) para java y Primefaces
para hacer que la capa web sea más amigable. Esta capa se
comunicará a través de servicios RESTful con la capa La segunda es una base de datos relacional SQL que
intermedia que contiene la lógica comercial para contendrá información básica para el funcionamiento de los
almacenamiento y manejo de eventos. eventos y acciones de la capa web, por ejemplo, el registro de
. Capa backend: la capa de aplicación contendrá la lógica para empresas, usuarios, punteros a bloque de transacciones, etc.
leer etiquetas RFID y comunicarse con la capa de
almacenamiento para administrar transacciones. Incluye . Capa de autenticación: Para acceder a la plataforma se requiere
operaciones Blockchain y SQL CRUD. un sistema de autenticación, dicho sistema requeriría mucho
. Capa de almacenamiento Base de datos: Esta capa se esfuerzo en horas de desarrollo si se hiciera desde cero. Por
compone de dos bases de datos. La primera es una base de este motivo, se utilizará Azure Active Directory para autenticar
datos NoSQL que nos permitirá registrar las transacciones realizadas la capa web. Entonces, una integración entre los
en la plataforma en Blockchain, para ello
Figura 11. Trazabilidad del producto en múltiples etapas del proceso.
Machine Translated by Google
10 KG ORJUELA ET AL.
se realizó la capa de negocio y la API para la gestión de El nodo que usamos para la prueba es una máquina Linux de la
credenciales. nube azul, el sistema operativo es Ubuntu 18.00 y la base de datos de
Blockchain en BigchainDB como se describió anteriormente. La
máquina tiene 2 CPU virtuales y 8 GB de
Caso de prueba de la plataforma RAM, además de eso, incluimos un disco sólido para mejorar las
operaciones de escritura y lectura.
En las Figuras 10 y 11 podemos ver la principal característica de la Elegimos Azure porque hay máquinas virtuales
plataforma. Primero, necesitamos vincular el teléfono inteligente más barato que Amazon AWS y Google Cloud, además de eso,
Android con la plataforma usando un código QR generado. obtenemos 200 USD en el primer mes que usamos la plataforma, por
Luego, podemos escanear la etiqueta RFID e introducir la información lo que, para esta implementación y hacer algunas pruebas, es
del producto en base a los metadatos y campos descritos en la Figura conveniente usar esta nube pública.
7. Además, llevamos a cabo nuestra prueba con JMeter, que es un
Cuando se escriben y guardan los datos, se creará una transacción proyecto de Apache que se ejecuta en una máquina virtual Java y se
de cadena de bloques y se enviará a la base de datos en la nube, puede usar como una herramienta adhoc para pruebas de carga y
incluido el número de RFID. La base de datos replicará y validará la rendimiento. En nuestro caso, usamos para pruebas web sobre
información con los nodos en el
httpsprotocol. Esta herramienta admite la parametrización de variables
red. En las secciones de transacciones el usuario puede
y el control de aserciones; por lo tanto, podemos verificar la respuesta
buscar la trazabilidad completa escaneando o tecleando el número del código http final para filtrar los resultados buenos y malos.
RFID, ya que la información es inmutable y están vinculadas entre sí, Además de eso, podemos agregar subprocesos de ejecución por
en la Figura 11 la pantalla muestra los registros y las modificaciones solicitud y obtener un buen gráfico que nos ayude a realizar algunos
realizadas por los usuarios. análisis.
Ahora bien, para comprobar el número de transacciones por Establecimos un número aleatorio de hilos para
segundo que puede soportar la plataforma, en el siguiente apartado se pruebas de aplicaciones, primero probamos con alrededor de 500
realizan algunas pruebas. subprocesos al mismo tiempo y la base de datos (BigchainDB) tuvo un
buen rendimiento, luego aumentamos la cantidad de solicitudes a 1000
y la Figura 12 muestra el resultado.
Prueba de rendimiento
Como se muestra en la figura anterior, alrededor del 33 % de las
En el escenario actual (una aplicación que se puede utilizar de forma solicitudes fallaron y el 66 % tuvieron éxito. Esto significa que el
masiva) necesitamos realizar una prueba de rendimiento que nos software puede servir a alrededor de 600 subprocesos (usuarios) con
permita determinar la cantidad de un solo nodo que sirve a la aplicación. Pero la tasa de solicitudes
petición que puede manejar la aplicación por segundo y el límite de su aceptadas y rechazadas no proporciona información completa sobre
capacidad para medir la calidad de servicio (QOS). Algunas estadísticas el rendimiento del sistema. Además, en la Figura 13, mostramos el
básicas, con respecto al sistema, se muestran a continuación. tiempo de respuesta en el tiempo, como puede ver, hay una especie
de relación lineal
Figura 12. Gráfico circular con porcentaje de solicitud correcta e incorrecta utilizando Apache JMeter. Fuente: elaboración propia, Apache JMeter.
Machine Translated by Google
ACTA AGRICULTURAE SCANDINAVICA, SECCIÓN B — CIENCIA DEL SUELO Y LAS PLANTAS 11
Figura 13. Tiempo de respuesta promedio sobre el tiempo transcurrido utilizando Apache JMeter. Fuente: elaboración propia, Apache JMeter.
entre el tiempo de respuesta y la cantidad de tiempo que se llevan a De las estadísticas anteriores podemos deducir que el rendimiento
cabo las pruebas. Significa que cuanto más solicitudes http hagamos, promedio de la API de BigchainDB es de aproximadamente 24,22
más tiempo llevará completarlas. transacciones por segundo (T/s). Además, el tiempo de respuesta
Además, detectamos la cantidad máxima de solicitudes por segundo promedio en milisegundos (ms) es de aproximadamente 8609 ms.
que puede atender la base de datos a través de la API RESTful. En Para capturar datos más precisos cuando la base de datos
En la Figura 14 hay un pico que coincide en la misma hora/minuto con contiene cientos de registros, digamos 100 K, escribimos un algoritmo
el pico de la Figura 15, esto significa que cuando la aplicación supera simple, que se muestra a continuación, para la población de la base de
las 110 solicitudes por segundo, comienza a fallar y se recupera parte datos con el fin de tener suficiente cantidad de datos para realizar más
de las transacciones entrantes. pruebas y ver si el Se mantiene el comportamiento y el tiempo de
respuesta del sistema.
Figura 14. Transacciones por segundo durante el tiempo de prueba transcurrido con Apache JMeter. Fuente: elaboración propia, Apache JMeter.
Machine Translated by Google
12 KG ORJUELA ET AL.
Figura 15. Códigos de respuesta Http por segundo, la mayoría de ellos son azules, pero en el pico del gráfico mencionado anteriormente, hay un par de
solicitudes rebotadas. Fuente: elaboración propia, Apache JMeter.
Algoritmo 1: población masiva para Blockchain y 17 la tasa no disminuye sino que aumenta, lo que es positivo porque podemos
Base de datos trabajar con una cantidad muy grande de transacciones por día y no
Entrada: Metadatos M; activo A; clave privada Pk para sitios de
preocuparnos demasiado por el rendimiento de la base de datos cuando se
transacciones: produce el proceso de inserción.
100,000 b64_private_key: b64String
Para i = 1: iteraciones
M←create_metadata() En el segundo escenario, el rendimiento promedio es de 35,3 T/s y el
A←create_random_asset()
tiempo de respuesta promedio es de aproximadamente 8485 ms. Eso es incluso
Pk←generate_key_pair(b64_private_key)
done← signSendTransaction(M, A, Pk) fin mejor que el primer escenario, aunque no mejora demasiado.
para
imprimir el tiempo transcurrido
Como Blockchain se basa en la descentralización y distribución
Ponga la carga entrante en múltiples nodos como una red de igual a igual,
Este proceso tardó aproximadamente 3 horas y 48 minutos en completarse.
Después de esto, teníamos alrededor de 105 K de registros en la base de agregamos un nuevo nodo a la base de datos y repetimos la prueba para ver
el comportamiento de la base de datos. Lo que encontramos es que el tiempo
datos de la cadena de bloques y procedimos a usar JMeter nuevamente para
de respuesta promedio es de aproximadamente 7496 ms, lo que significa que
medir la tasa de respuesta ahora que tenemos una cantidad considerable de
se redujo en orden
datos. Como se puede ver en las Figuras 16
Figura 16. Gráfico circular con porcentaje de solicitudes correctas e incorrectas después de llenar la base de datos con una cantidad considerable de datos.
Fuente: elaboración propia, Apache JMeter.
Machine Translated by Google
ACTA AGRICULTURAE SCANDINAVICA, SECCIÓN B — CIENCIA DEL SUELO Y LAS PLANTAS 13
Figura 17. Respuesta Http por segundo después de llenar la base de datos. Fuente: elaboración propia, Apache JMeter.
Figura 18. Gráfico circular con porcentaje de solicitud correcta e incorrecta con dos nodos atendiendo las solicitudes entrantes. Fuente: elaboración propia,
Apache JMeter.
de aproximadamente un segundo y la tasa de transacción aumentó en paquetes de 250 solicitudes de esta forma cada nodo recibe y
en el orden de 38,09 T/s, aunque el porcentaje de falla y éxito que procesa alguna parte de los datos, luego, usando JMeter repetimos
se muestra en la Figura 18 no cambió demasiado para la misma la prueba anterior. La Figura 19 muestra que el porcentaje de error
cantidad de transacciones. Es decir, cuantos más nodos no se reduce drásticamente y, en la Figura 20, podemos ver que la
significan más rendimiento, no al menos en la forma en que cantidad de transacciones por segundo no aumentó pero el tiempo
realizamos la prueba en esta fase. de respuesta fue menor que antes. Entonces, ahora, la tasa de
BigchainDB usa Tendermint para distribuir la aplicación en cierta transacción es de aproximadamente 36,72 T/s y el tiempo de
cantidad de nodos, lo que significa que podemos enviar respuesta promedio es de 1290 ms.
transacciones a un nodo y luego, los datos se replicarán entre los
otros nodos de la red. Así, podemos mejorar el rendimiento de la
Análisis de resultados
aplicación, dividiendo las solicitudes y enviándolas a los diferentes
nodos. Con base en los resultados anteriores, podemos inferir el estado
futuro del sistema cuando los usuarios reales comiencen a usarlo.
Luego, para el escenario de 1 K transacciones, creamos otros Usando la 'ley de Little' descrita en (Little 1961) y citada para (Kat
dos nodos (cuatro en total) y dividimos las transacciones tepur y Nambiar 2015) de la siguiente manera, si en un sistema cerrado
Machine Translated by Google
14 KG ORJUELA ET AL.
Figura 19. Gráfico circular con porcentaje de solicitud correcta e incorrecta con cuatro nodos que atienden las solicitudes entrantes. Fuente: elaboración
propia, Apache JMeter.
existe un número de usuarios N esperando ser atendidos en la cola obtenida en el primer caso anterior, con una respuesta media de
y cada uno espera entre interacciones con el sistema por un tiempo 8,6 s. En este caso no existe el tiempo Z por lo que si reemplazamos
Z y si tenemos una tasa de rendimiento X produciendo un tiempo los valores en la ecuación obtenemos el siguiente resultado:
de espera R, entonces podemos establecer que:
N = X (R + Z) (1)
N = 24,22 T/s (8,60 s + 0)
Con base en (1) podemos calcular el número de usuarios o
= 208, 29 Transacciones (usuarios)
transacciones que esperarán para ser atendidos usando los datos
Figura 20. Gráfica de transacciones por segundo cuando cuatro nodos están activos y las transacciones están distribuidas. Fuente: elaboración propia,
Apache JMeter.
Machine Translated by Google
ACTA AGRICULTURAE SCANDINAVICA, SECCIÓN B — CIENCIA DEL SUELO Y LAS PLANTAS 15
Entonces, de las mil (1 K) transacciones, alrededor de 208,29 distribuir la carga entre los nodos o participantes de la red.
esperarán alrededor de 8,60 s para ingresar al sistema para
procesar su solicitud, con un solo nodo de blockchain. Esta medida Hoy en día, la cadena de suministro de bienes de Colombia no
no está nada mal, y, cuando añadimos tres nodos más al sistema, está completamente integrada, hay muchas prácticas tradicionales
usando de nuevo (1) podemos establecer que: basadas en la negociación de confianza entre conocidos, en este
escenario, una plataforma como la que propusimos en el presente
documento podría eliminar la confianza de terceros, mejorar la
N = 36,72 T/s (1,29 s + 0) = 47, 37 Transacciones (usuarios)
SCMand control sobre los productos. Además, como se trata de
Entonces, podemos decir que para 1 K de transacciones, utilizando una plataforma abierta, puede involucrar a agricultores y empresas
cuatro nodos y dividiendo las transacciones de forma equitativa, emergentes que pueden negociar sus productos en un mercado
unos 47,37 usuarios deben esperar unos 1,29 s para procesar su abierto. Ya mostramos que nuestra plataforma propuesta es
solicitud. robusta y puede manejar una gran cantidad de transacciones por
Como mostramos antes, cuando la base de datos aumenta su segundo y puede escalar fácilmente en un plano horizontal.
cantidad de datos, el rendimiento no cambia demasiado, al final es forma.
una base de datos NoSQL y el rendimiento es bastante mejor en Finalmente, una cosa interesante que encontramos es que
la inserción que una base de datos relacional. Si bien existe un cuantos más datos introduzcamos en el sistema no significa,
costo asociado para mantener cuatro nodos, en este caso necesariamente, que el rendimiento se reducirá. Esto es bastante
implementamos BigchainDB dentro de las máquinas virtuales en interesante porque se sabe que blockchain reduce su rendimiento
Azure con un costo aproximado de 70,08 USD por mes cada VM. cuanto más datos obtiene.
Esperamos, en el trabajo futuro, probar nuevamente el
Tomando en consideración el anterior número de nodos (cuatro) rendimiento de la aplicación cuando tenga lugar el escenario de
y el tiempo de espera (1,29 s) podemos establecer que el número producción real y comiencen a llegar millones de transacciones.
de nodos necesarios para cierto número de usuarios se puede
estimar como:
Declaración de divulgación
Nodos = (4)(1.29 s)XthroghputExpectec/Nexpected (2)
Los autores no informaron ningún posible conflicto de intereses.
Entonces, por ejemplo, si esperamos alrededor de un millón de
solicitudes por hora, eso es alrededor de 278 T/s y queremos que
solo el 20 % de esa cantidad de solicitudes, como 55,60, espere
Reconocimiento
1,29 s, podemos usar (2) para estimar el número de nodos Este trabajo fue financiado por la beca COLCIENCIAS (Colombia): 812
de 2018, en la Universidad Distrital Francisco José de Caldas. De la
necesarios:
misma manera, Blockchain y seguridad también se está trabajando
Nodos = 5,16 (278 T/s)/55,60 = 25,8 Nodos como tema de investigación del Grupo de Investigación.
Entonces, para un millón de transacciones por hora un tiempo de
espera de 1,29 s para el 20% de las transacciones, necesitaremos Fondos
unos 26 nodos. El coste asociado a esto, teniendo en cuenta el Este trabajo fue financiado por la Beca Jóvenes Investigadores 812 de
precio que da Azure, es de unos 1822,08 USD/mes. Debemos 2018 de COLCIENCIAS (Colombia), en la Universidad Distrital Francisco
tener en cuenta que este costo se distribuye entre los actores del José de Caldas. De la misma manera, Blockchain y seguridad también
sistema y podría ser más económico que una base de datos se está trabajando como tema de investigación del Grupo de Investigación
GIIRA. Web: https://minciencias.gov.co/convocatorias/mentalidady
centralizada.
cultura/jovenesinvestigadorese innovadores
Conclusiones Notas sobre los contribuyentes
Una base de datos distribuida basada en Blockchain, como Big Kevin Gordillo Orjuela es Ingeniero en Sistemas y estudiante de maestría
chainDB, puede mejorar el rendimiento del sistema cuando más en Ciencias de la Información y la Comunicación en la Facultad de
nodos participan en el proceso. Y, para Agrochain, el proyecto que Ingeniería de la Universidad Distrital Francisco José de Caldas, Bogotá
– Colombia. Sus intereses de investigación incluyen minería de datos,
desarrollamos, cuando esperamos millones de transacciones por
arquitectura de software, web semántica y blockchain.
día, puede ser una buena alternativa para tener este tipo de bases
Paulo Alonso GaonaGarcía es Profesor Asociado y miembro activo del
de datos y asegurar los datos que contienen.
grupo de investigación GIIRA en la Facultad de Ingeniería de la
Universidad Distrital Francisco José de Caldas, Bogotá – Colombia.
BigchainDB no tiene un equilibrador de carga per se, por lo que Obtuvo su Ph.D. en Información de la Ingeniería y el Conocimiento en
existe la necesidad de desarrollar un punto de entrada capaz de re la Universidad de Alcalá en 2014. Terminó un
Machine Translated by Google
dieciséis KG ORJUELA ET AL.
Ingeniero en Sistemas en 2003 y obtuvo un MSc en Kamble S, Gunasekaran A, Gawankar S. 2020. Lograr un rendimiento sostenible
Ciencias de la Información y la Comunicación en 2007 en la Universi en una cadena de suministro agrícola basada en datos: una revisión de la
papá Distrital Francisco José de Caldas. Su interés de investigación investigación y las aplicaciones. Int J Prod Econ. 219:179–194. 10.1016/
incluye ciencia web, redes y comunicaciones, seguridad de la información, j.ijpe.2019.05.022.
aprendizaje electrónico, visualización de información, web semántica y cadena Kattepur A, Nambiar M. 2015. Modelado de rendimiento de aplicaciones web
de bloques. de varios niveles con diferentes demandas de servicio.
Talleres IPDPS 2015, Hyderabad, India. págs. 10. ffhal 01118352f.
Carlos Enrique Montenegro Marín es Doctor en Sistemas y Servicios Informáticos
para Internet de la Universidad de Oviedo, Asturias, España (2012). Posee un
Lee TR(S, Le TPN. 2010. Cadena de suministro poderosa: aplique áreas de
Diploma de estudios avanzados 2008 de la Universidad Pontificia de Salamanca.
gestión social y científica a la gestión de la cadena de suministro para
Él es MSc. Ciencias en Sistemas de Información y Comunicación de la
mejorar la coordinación de los participantes de la cadena de suministro.
Universidad Distri tal Francisco José de Caldas. Es ingeniero de sistemas. Sus
2010 8ª Conferencia Internacional sobre Gestión e Información de la Cadena
intereses de investigación incluyen tecnología orientada a objetos, procesadores
de Suministro; IEEE. 1: 1–6.
de lenguaje, software de modelado con DSL, MDA y Blockchain.
Pequeño JCD. 1961. Una prueba de la fórmula de colas: L=λW. Resolución de
operación 9(3):383–387.
Lu Q, Xu X. 2017. Sistemas adaptables basados en blockchain: un estudio de
caso para la trazabilidad de productos. Software IEEE 34(6):21–27.
doi:10.1109/MS.2017.4121227. http://ieeexplore.ieee.org/stamp/stamp.jsp?
Referencias
tp=&arnumber=8106871&isnumber= 8106863 .
Cañón M, Ramírez A, GutiérrezFranco E, LópezOspina H. 2014.
Modelo de Optimización aplicada a la agroindustria colombiana: Plan logístico Mentzer JT, DeWitt W, Keebler JS, Min S, Nix NW, Smith CD, Zacharia ZG.
integrado para la exportación de feijoa fresca. Boletín de Matemáticas. 21:17– 2001. Definición de la gestión de la cadena de suministro. Logista de
31. autobuses J. 22:1–25. doi:10.1002/j.21581592.2001. tb00001.x.
Chantz H. 2018. Clima, marchitar, ya sea: cómo blockchain permite la agricultura
de precisión. https://www.ibm.com/blogs/blockchain/2018/05/weatherwither Misión para la Transformación del Campo. 2014. Propuesta para desarrollar un
whetherhow blockchainenablesprecisionagriculture/. modelo eficiente de Comercialización y Distribución de Productos (Documento
técnico para la Misión para la Transformación del Campo). Bogotá D.C.
Crosby M, Nachiappan, Pattanayak P, Verma S, Kalyanaraman V. 2016.
Tecnología blockchain: más allá de Bitcoin. AIR (Revisión de Innovación Nakamoto S. 2008. Bitcoin: un sistema de efectivo electrónico de igual a igual.
Aplicada), No. 2. 27/08/2018, de Bitcoin.org Sitio. https://bitcoin. org/bitcoin.pdf.
Daghera GG, Mohler J, Milojkovic M, Babu Marella P. 2018.
Ancile: marco de preservación de la privacidad para el control de acceso y la OASIS Abierto. 2013. Todos los derechos reservados. http://docs.oasisopen.
interoperabilidad de los registros de salud electrónicos utilizando tecnología org/ubl/UBL2.1.html. Consultado el: 29/05/2020 15:45 horas.
de cadena de bloques. Sustain Cities Soc. 39:283–297. Tian F. 2016. Un sistema de trazabilidad de la cadena de suministro
Comisión Europea. 2020. BigchainDB GmbH. El Fondo Europeo de Desarrollo agroalimentario para China basado en tecnología RFID y blockchain. 13ª
Regional – FEDER. https://www. bigchaindb.com/#características. Consultado Conferencia Internacional sobre Sistemas de Servicios y Gestión de Servicios
el: 29/05/2020 13:00 h. (ICSSSM); Kunming, China, IEEE: 1–6. 10
Ibáñez AM. 2016. El proceso de paz con las farc: ¿una oportunidad para reducir 1109/ICSSSM.2016.7538424.
la pobreza rural y aumentar la producti vidad agropecuaria? Revista de Wagner SM, Bode C. 2006. Una investigación empírica sobre la vulnerabilidad de la
Ingeniería. 44:8–13. cadena de suministro. J Compras Gerencia de Suministros 12:301–312.