2 research outputs found

    EDALoCo: Enhancing the accessibility of blockchains through a low-code approach to the development of event-driven applications for smart contract management

    Get PDF
    Blockchain is a cutting-edge technology based on a distributed, secure and immutable ledger that facilitates the registration of transactions and the traceability of tangible and intangible assets without requiring central governance. The agreements between the nodes participating in a blockchain network are defined through smart contracts. However, the compilation, deployment, interaction and monitoring of these smart contracts is a barrier compromising the accessibility of blockchains by non-expert developers. To address this challenge, in this paper, we propose a low-code approach, called EDALoCo, that facilitates the development of event-driven applications for smart contract management. These applications make blockchain more accessible for software developers who are non-experts in this technology as these can be modeled through graphical flows, which specify the communications between data producers, data processors and data consumers. Specifically, we have enhanced the open-source Node-RED low-code platform with blockchain technology, giving support for the creation of user-friendly and lightweight event-driven applications that can compile and deploy smart contracts in a particular blockchain. Additionally, this platform extension allows users to interact with and monitor the smart contracts already deployed in a blockchain network, hiding the implementation details from non-experts in blockchain. This approach was successfully applied to a case study of COVID-19 vaccines to monitor and obtain the temperatures to which these vaccines are continuously exposed, to process them and then to store them in a blockchain network with the aim of making them immutable and traceable to any user. As a conclusion, our approach enables the integration of blockchain with the low-code paradigm, simplifying the development of lightweight event-driven applications for smart contract management. The approach comprises a novel open-source solution that makes data security, immutability and traceability more accessible to software developers who are non-blockchain experts

    Arquitecturas software y herramientas de modelado para la integraci贸n del procesamiento de eventos complejos y blockchain

    Get PDF
    Blockchain es una tecnolog铆a de vanguardia que proporciona un libro de contabilidad distribuido e inmutable para almacenar transacciones, garantizando la seguridad, fiabilidad, trazabilidad, inmutabilidad y transparencia de la informaci贸n. El comportamiento de la blockchain puede programarse mediante contratos inteligentes, que pueden utilizarse para especificar acuerdos entre distintas partes en tiempo de dise帽o y para validar el cumplimiento de las condiciones acordadas en tiempo de ejecuci贸n. Sin embargo, la implementaci贸n y gesti贸n de contratos inteligentes es una tarea dif铆cil no solo para expertos en la materia, sino tambi茅n para desarrolladores de software, ya que requiere conocimientos avanzados de lenguajes de prop贸sito espec铆fico como Solidity. Adem谩s, este lenguaje no soporta directamente la definici贸n de reglas de negocio con correlaci贸n temporal de eventos y tiene restricciones en cuanto a los tipos de valores y su longitud. Las malas pr谩cticas en la programaci贸n de contratos inteligentes pueden generar fallos o vulnerabilidades, provocando p茅rdidas econ贸micas. Cualquier intento de ataque, por ejemplo, tratando de manipular los datos de la blockchain tambi茅n puede causar errores y otras anomal铆as en la red blockchain. No obstante, detectar este tipo de situaciones de inter茅s en tiempo real o comprobar autom谩ticamente situaciones an贸malas dentro de la red blockchain es actualmente un h谩ndicap. Para dar respuesta a todos estos problemas, esta tesis doctoral en forma de compendio de art铆culos, titulada "Arquitecturas software y herramientas de modelado para la integraci贸n del procesamiento de eventos complejos y blockchain", aborda el reto de integrar las tecnolog铆as de blockchain y el procesamiento de eventos complejos (Complex Event Processing, CEP). CEP es una tecnolog铆a potente que permite analizar y correlacionar grandes vol煤menes de datos con el fin de detectar autom谩ticamente patrones de inter茅s en tiempo real. El objetivo principal de esta tesis doctoral es el desarrollo de arquitecturas software (centralizadas, distribuidas y contenerizadas) y herramientas de modelado para dar soporte a la integraci贸n de CEP y blockchain. Para lograr este objetivo, se han elaborado estudios del estado del arte y se han dise帽ado, implementado y probado arquitecturas y herramientas de modelado para la integraci贸n de CEP y blockchain. Estas herramientas permiten, entre otras cosas, la monitorizaci贸n en tiempo real de los datos generados en las redes blockchain y la detecci贸n autom谩tica de anomal铆as en estas redes mediante patrones de eventos, la invocaci贸n autom谩tica de contratos inteligentes cuando se cumplen las condiciones de los patrones de eventos, as铆 como la gesti贸n de contratos inteligentes de forma amigable. Esta integraci贸n se ha logrado a trav茅s de soluciones ligeras y portables, y eliminando las engorrosas tareas de configuraci贸n a la hora de desplegarlas y utilizarlas, facilitando as铆 la interacci贸n y uso por parte de expertos en el dominio de aplicaci贸n, pero no en las tecnolog铆as.Blockchain is a cutting-edge technology that provides a distributed and immutable ledger for storing transactions, ensuring security, reliability, traceability, immutability and transparency of information. The behavior of the blockchain can be programmed by means of smart contracts, which can be used to specify agreements between different parties at design time and to validate compliance with agreed conditions at runtime. However, the implementation and management of smart contracts is a difficult task not only for experts in the field, but also for software developers, as it requires advanced knowledge of specific-purpose languages such as Solidity. Moreover, this language does not directly support the possibility of defining business rules with temporal correlation of events and has restrictions on the types of values and their length. Bad practices in smart contract programming can generate bugs or vulnerabilities causing economic losses. Any attack attempt, for example, trying to manipulate the blockchain data can also cause errors and other anomalies in the blockchain network. Nevertheless, detecting this type of situations of interest in real time or automatically checking anomalous situations within the blockchain network is currently a handicap. To alleviate all these problems, this doctoral thesis in the form of a compendium of papers, entitled "Software architectures and modeling tools for integrating complex event processing and blockchain", addresses the challenge of integrating blockchain and Complex Event Processing (CEP) technologies. CEP is a powerful technology that allows analyzing and correlating large volumes of data with the purpose of automatically detecting patterns of interest in real time. The main objective of this doctoral thesis is the development of software architectures (centralized, distributed and containerized) and modeling tools to support the integration of CEP and blockchain. To achieve this goal, state-of-the-art studies have been carried out as well as the design, implementation and testing of architectures and modeling tools for integrating CEP and blockchain. These tools allow, among other things, the real-time monitoring of data generated in blockchain networks and the automatic detection of anomalies in these networks by matching event patterns, the automatic invocation of smart contracts when event pattern conditions are satisfied, as well as the smart contract management in a user-friendly way. This integration has been achieved through lightweight and portable solutions, and eliminating the cumbersome configuration tasks when deploying and operating them, thus facilitating the interaction and use by experts in the application domain, but not in the technologies
    corecore