SEFeb 5
Sovereign-by-Design A Reference Architecture for AI and Blockchain Enabled SystemsMatteo Esposito, Lodovica Marchesi, Roberto Tonelli et al.
Digital sovereignty has emerged as a central concern for modern software-intensive systems, driven by the dominance of non-sovereign cloud infrastructures, the rapid adoption of Generative AI, and increasingly stringent regulatory requirements. While existing initiatives address governance, compliance, and security in isolation, they provide limited guidance on how sovereignty can be operationalized at the architectural level. In this paper, we argue that sovereignty must be treated as a first-class architectural property rather than a purely regulatory objective. We introduce a Sovereign Reference Architecture that integrates self-sovereign identity, blockchain-based trust and auditability, sovereign data governance, and Generative AI deployed under explicit architectural control. The architecture explicitly captures the dual role of Generative AI as both a source of governance risk and an enabler of compliance, accountability, and continuous assurance when properly constrained. By framing sovereignty as an architectural quality attribute, our work bridges regulatory intent and concrete system design, offering a coherent foundation for building auditable, evolvable, and jurisdiction-aware AI-enabled systems. The proposed reference architecture provides a principled starting point for future research and practice at the intersection of software architecture, Generative AI, and digital sovereignty.
SEMar 12, 2021
Automatic Generation of Blockchain Agri-food Traceability SystemsLodovica Marchesi, Katiuscia Mannaro, Raffaele Porcu
Supply chain management, product provenance and quality certification are among the first and most popular applications of blockchain technology, due to the inherent trust and inalterability provided by the blockchain technology. However, the proposed supply chain management systems based on blockchain and smart contract technology tend to be specific to the particular production and production process. In this paper we present a general-purpose approach for the agri-food supply chain management, proposing a system that can be configured for most agri-food productions. The primary purpose is to provide a methodology to facilitate and make more efficient the development of such applications. It is based on general smart contracts and apps interacting with the same smart contracts, which are configured, starting from the description of the specific system to be managed, given using json files. A case study on olive oil production is described, to show how our approach works.
CRAug 9, 2020
Security checklists for Ethereum smart contract development: patterns and best practicesLodovica Marchesi, Michele Marchesi, Livio Pompianu et al.
In recent years Smart Contracts and DApps are becoming increasingly important and widespread thanks to the properties of blockchain technology. In most cases DApps are business critical, and very strict security requirements should be assured. Developing safe and reliable Smart Contracts, however, is not a trivial task. Several researchers have studied the security issues, however none of these provide a simple and intuitive tool to overcome these problems. In this paper we collected a list of security patterns for DApps. Moreover, based on these patterns, we provide the reader with security assessment checklists that can be easily used for the development of SCs. We cover the phases of design, coding, and testing and deployment of the software lifecycle. In this way, we allow developers to easily verify if they applied all the relevant security patterns to their smart contracts. We focus all the analysis on the most popular Ethereum blockchain, and on the Solidity language.
CRApr 30, 2020
A Blockchain Architecture for Industrial ApplicationsLodovica Marchesi, Michele Marchesi, Roberto Tonelli
The Blockchain and the programs running on it, called Smart Contracts, are more and more applied in all fields requiring trust and strong certifications. In this work we compare public and permissioned blockchains for industrial applications. We propose a complete, original solution based on Ethereum to implement a decentralized application. This solution is characterized by a set of validator nodes running the blockchain using Proof-of-Authority consensus, and including an Explorer enabling users to check blockchain state, and the source code of the Smart Contracts running on it. From time to time, the hash digest of the last mined block is written into a public blockchain to guarantee immutability. The right to send transactions is granted by validator nodes to users by endowing them with the local Ethers mined. Overall, the proposed approach has the same transparency and immutability of a public blockchain, without its drawbacks.
STJan 4, 2020
Forecasting Bitcoin closing price series using linear regression and neural networks modelsNicola Uras, Lodovica Marchesi, Michele Marchesi et al.
This paper studies how to forecast daily closing price series of Bitcoin, using data on prices and volumes of prior days. Bitcoin price behaviour is still largely unexplored, presenting new opportunities. We compared our results with two modern works on Bitcoin prices forecasting and with a well-known recent paper that uses Intel, National Bank shares and Microsoft daily NASDAQ closing prices spanning a 3-year interval. We followed different approaches in parallel, implementing both statistical techniques and machine learning algorithms. The SLR model for univariate series forecast uses only closing prices, whereas the MLR model for multivariate series uses both price and volume data. We applied the ADF -Test to these series, which resulted to be indistinguishable from a random walk. We also used two artificial neural networks: MLP and LSTM. We then partitioned the dataset into shorter sequences, representing different price regimes, obtaining best result using more than one previous price, thus confirming our regime hypothesis. All the models were evaluated in terms of MAPE and relativeRMSE. They performed well, and were overall better than those obtained in the benchmarks. Based on the results, it was possible to demonstrate the efficacy of the proposed methodology and its contribution to the state-of-the-art.
SEDec 19, 2019
ABCDE -- Agile Block Chain Dapp EngineeringLodovica Marchesi, Michele Marchesi, Roberto Tonelli
Cryptocurrencies and their foundation technology, the Blockchain, are reshaping finance and economics, allowing a decentralized approach enabling trusted applications with no trusted counterpart. More recently, the Blockchain and the programs running on it, called Smart Contracts, are also finding more and more applications in all fields requiring trust and sound certifications. Some people have come to the point of saying that the "Blockchain revolution" can be compared to that of the Internet and the Web in their early days. As a result, all software development revolving around the Blockchain technology is growing at a staggering rate. The feeling of many software engineers about such huge interest in Blockchain technologies is that of unruled and hurried software development, a sort of competition on a first-come-first-served basis which does not assure neither software quality, nor that the basic concepts of software engineering are taken into account. This paper tries to cope with this issue, proposing a software development process to gather the requirement, analyze, design, develop, test and deploy Blockchain applications. The process is based on several Agile practices, such as User Stories and iterative and incremental development based on them. However, it makes also use of more formal notations, such as some UML diagrams describing the design of the system, with additions to represent specific concepts found in Blockchain development. The method is described in good detail, and an example is given to show how it works.
SESep 25, 2018
An Agile Software Engineering Method to Design Blockchain ApplicationsMichele Marchesi, Lodovica Marchesi, Roberto Tonelli
Cryptocurrencies and their foundation technology, the Blockchain, are reshaping finance and economics, allowing a decentralized approach enabling trusted applications with no trusted counterpart. More recently, the Blockchain and the programs running on it, called Smart Contracts, are also finding more and more applications in all fields requiring trust and sound certifications. Some people have come to the point of saying that the "Blockchain revolution" can be compared to that of the Internet and the Web in their early days. As a result, all the software development revolving around the Blockchain technology is growing at a staggering rate. The feeling of many software engineers about such huge interest in Blockchain technologies is that of unruled and hurried software development, a sort of competition on a first-come-first-served basis which does not assure neither software quality, nor that the basic concepts of software engineering are taken into account. This paper tries to cope with this issue, proposing a software development process to gather the requirement, analyze, design, develop, test and deploy Blockchain applications. The process is based on several Agile practices, such as User Stories and iterative and incremental development based on them. However, it makes also use of more formal notations, such as some UML diagrams describing the design of the system, with additions to represent specific concepts found in Blockchain development. The method is described in good detail, and an example is given to show how it works.