Massimo Bartoletti

dblp:58/6881 · DBLP profile ↗
← Back
46ranked-venue papers
44as first author
15since 2021 · last 2026
0000-0003-3796-9774ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 17 · 15 first-author · 3 since 2021Theory of computation · 15 · 15 first-author · 6 since 2021Security and privacy · 8 · 8 first-author · 4 since 2021Systems, architecture and hardware · 4 · 4 first-author · 2 since 2021Computer networks · 2 · 1 first-authorArtificial intelligence and machine learning · 1 · 1 first-author · 1 since 2021Databases, data management, data science and information retrieval · 1 · 1 first-author
YearPublicationVenuePosition
2026 Scalable UTXO smart contracts via fine-grained distributed state
abstract
UTXO-based smart contract platforms face an efficiency bottleneck, in that any transaction sent to a contract must specify the entire updated contract state. This requirement becomes particularly burdensome when the contract state contains dynamic data structures, as needed in many use cases to track interactions between users and the contract. The problem is twofold: on the one hand, a large state in transactions implies a large transaction fee; on the other hand, a large centralized state is detrimental to the parallelization of transactions — a feature that is often cited as a key advantage of UTXO-based blockchains over account-based ones. We propose a novel UTXO-based blockchain model, named hybrid UTXO (hUTXO) , along with a technique to efficiently execute smart contracts on it. The key idea underlying hUTXO is the distribution of the contract state across multiple UTXOs, enabling transactions to access only the specific portions of the state they need, thereby reducing their size (and fees). Our hUTXO model also borrows features from account-based models (in particular, the handling of the contract balance), making it “hybrid” in nature. To simplify the development of smart contracts in hUTXO, we introduce a high-level smart contract language (named hURF), along with a compiler into hUTXO transactions. We show how to exploit our framework to parallelize the validation of transactions on multi-core CPUs. We implement our technique and provide an empirical validation of its effectiveness.
Massimo Bartoletti, Riccardo Marchesin, Roberto Zunino
Future Gener. Comput. Syst.1
2025 A Theoretical Basis for MEV
Massimo Bartoletti, Roberto Zunino
FC (2)1
2025 Certified Algorithms for Numerical Semigroups in Rocq
Massimo Bartoletti, Stefano Bonzio, Marco Ferrara
CICM1
2025 Smart contract languages: A comparative analysis
abstract
Smart contracts have played a pivotal role in the evolution of blockchains and Decentralized Applications (DApps). As DApps continue to gain widespread adoption, multiple smart contract languages have been and are being made available to developers, each with its distinctive features, strengths, and weaknesses. In this paper, we examine the smart contract languages used in major blockchain platforms, with the goal of providing a comprehensive assessment of their main properties. Our analysis targets the programming languages rather than the underlying architecture: as a result, while we do consider the interplay between language design and blockchain model, our main focus remains on language-specific features such as usability, programming style, safety and security. To conduct our assessment, we propose an original benchmark which encompasses a wide, yet manageable, spectrum of key use cases that cut across all the smart contract languages under examination. • We give an abstract overview of smart contract platforms, discussing the impact of different design choices. • We illustrate by examples how different design choices give rise to different programming styles for smart contracts. • We consider 6 leading smart contract languages: Solidity (Ethereum), Rust (Solana), Aiken (Cardano), PyTeal (Algorand), Move (Aptos), SmartPy (Tezos). • We develop an open-source benchmark of use cases of smart contracts, implemented in all the languages in our selection. • Based on our benchmark, we evaluate smart contract languages focussing on their security, code readability, usability, and functionalities.
Massimo Bartoletti, Lorenzo Benetollo, Michele Bugliesi, Silvia Crafa, Giacomo Dal Sasso, Roberto Pettinau, Andrea Pinna 0002, Mattia Piras, Sabina Rossi, Stefano Salis, Alvise Spanò, Viacheslav Tkachenko, Roberto Tonelli, Roberto Zunino
Future Gener. Comput. Syst.1
2024 Secure compilation of rich smart contracts on poor UTXO blockchains
abstract
Most blockchain platforms from Ethereum onwards render smart contracts as stateful reactive objects that update their state and transfer crypto-assets in response to transactions. A drawback of this design is that when users submit a transaction, they cannot predict in which state it will be executed. This exposes them to transaction-ordering attacks, a widespread class of attacks where adversaries with the power to construct blocks of transactions can extract value from smart contracts (the so-called MEV attacks). The UTXO model is an alternative blockchain design that thwarts these attacks by requiring new transactions to spend past ones: since transactions have unique identifiers, reordering attacks are ineffective. Currently, the blockchains following the UTXO model either provide contracts with limited expressiveness (Bitcoin), or require complex run-time environments (Cardano). We present Illum, an Intermediate-Level Language for the UTXO Model. Illum can express real-world smart contracts, e.g. those found in Decentralized Finance. We define a compiler from Illum to a bare-bone UTXO blockchain with loop-free scripts. Our compilation target only requires minimal extensions to Bitcoin Script: in particular, we exploit covenants, a mechanism for preserving scripts along chains of transactions. We prove the security of our compiler: namely, any attack targeting the compiled contract is also observable at the Illumlevel. Hence, the compiler does not introduce new vulnerabilities that were not already present in the source Illumcontract. We evaluate the practicality of ILLUM as a compilation target for higher-level languages. To this purpose, we implement a compiler from a contract language inspired by Solidity to ILLUM, and we apply it to a benchmark or real-world smart contracts.
Massimo Bartoletti, Riccardo Marchesin, Roberto Zunino
EuroS&P1
2024 DeFi Composability as MEV Non-interference
Massimo Bartoletti, Riccardo Marchesin, Roberto Zunino
FC (2)1
2024 Solvent: Liquidity Verification of Smart Contracts
Massimo Bartoletti, Angelo Ferrando 0001, Enrico Lipparini, Vadim Malvone
IFM1
2023 Sound approximate and asymptotic probabilistic bisimulations for PCTL
abstract
We tackle the problem of establishing the soundness of approximate bisimilarity with respect to PCTL and its relaxed semantics. To this purpose, we consider a notion of bisimilarity inspired by the one introduced by Desharnais, Laviolette, and Tracol, and parametric with respect to an approximation error $\delta$, and to the depth $n$ of the observation along traces. Essentially, our soundness theorem establishes that, when a state $q$ satisfies a given formula up-to error $\delta$ and steps $n$, and $q$ is bisimilar to $q'$ up-to error $\delta'$ and enough steps, we prove that $q'$ also satisfies the formula up-to a suitable error $\delta"$ and steps $n$. The new error $\delta"$ is computed from $\delta$, $\delta'$ and the formula, and only depends linearly on $n$. We provide a detailed overview of our soundness proof. We extend our bisimilarity notion to families of states, thus obtaining an asymptotic equivalence on such families. We then consider an asymptotic satisfaction relation for PCTL formulae, and prove that asymptotically equivalent families of states asymptotically satisfy the same formulae.
Massimo Bartoletti, Maurizio Murgia 0001, Roberto Zunino
Log. Methods Comput. Sci.1
2022 A Sound Up-to-n, δ Bisimilarity for PCTL
Massimo Bartoletti, Maurizio Murgia 0001, Roberto Zunino
COORDINATION1
2022 Formal Analysis of Lending Pools in Decentralized Finance
Massimo Bartoletti, James Hsin-yu Chiang, Tommi A. Junttila, Alberto Lluch-Lafuente, Massimiliano Mirelli, Andrea Vandin
ISoLA (3)1
2022 A theory of Automated Market Makers in DeFi
abstract
Automated market makers (AMMs) are one of the most prominent decentralized finance (DeFi) applications. AMMs allow users to trade different types of crypto-tokens, without the need to find a counter-party. There are several implementations and models for AMMs, featuring a variety of sophisticated economic mechanisms. We present a theory of AMMs. The core of our theory is an abstract operational model of the interactions between users and AMMs, which can be concretised by instantiating the economic mechanisms. We exploit our theory to formally prove a set of fundamental properties of AMMs, characterizing both structural and economic aspects. We do this by abstracting from the actual economic mechanisms used in implementations, and identifying sufficient conditions which ensure the relevant properties. Notably, we devise a general solution to the arbitrage problem, the main game-theoretic foundation behind the economic mechanisms of AMMs.
Massimo Bartoletti, James Hsin-yu Chiang, Alberto Lluch-Lafuente
Log. Methods Comput. Sci.1
2022 Verifying liquidity of recursive Bitcoin contracts
abstract
Smart contracts — computer protocols that regulate the exchange of crypto-assets in trustless environments — have become popular with the spread of blockchain technologies. A landmark security property of smart contracts is liquidity: in a non-liquid contract, it may happen that some assets remain frozen, i.e. not redeemable by anyone. The relevance of this issue is witnessed by recent liquidity attacks to Ethereum, which have frozen hundreds of USD millions. We address the problem of verifying liquidity on BitML, a DSL for smart contracts with a secure compiler to Bitcoin, featuring primitives for currency transfers, contract renegotiation and consensual recursion. Our main result is a verification technique for liquidity. We first transform the infinite-state semantics of BitML into a finite-state one, which focusses on the behaviour of a chosen set of contracts, abstracting from the moves of the context. With respect to the chosen contracts, this abstraction is sound, i.e. if the abstracted contract is liquid, then also the concrete one is such. We then verify liquidity by model-checking the finite-state abstraction. We implement a toolchain that automatically verifies liquidity of BitML contracts and compiles them to Bitcoin, and we assess it through a benchmark of representative contracts.
Massimo Bartoletti, Stefano Lande, Maurizio Murgia 0001, Roberto Zunino
Log. Methods Comput. Sci.1
2021 A Theory of Automated Market Makers in DeFi
Massimo Bartoletti, James Hsin-yu Chiang, Alberto Lluch-Lafuente
COORDINATION1
2021 Computationally sound Bitcoin tokens
abstract
We propose a secure and efficient implementation of fungible tokens on Bitcoin. Our technique is based on a small extension of the Bitcoin script language, which allows the spending conditions in a transaction to depend on the neighbour transactions. We show that our implementation is computationally sound: that is, adversaries can make tokens diverge from their ideal functionality only with negligible probability.
Massimo Bartoletti, Stefano Lande, Roberto Zunino
CSF1
2021 A theory of transaction parallelism in blockchains
abstract
Decentralized blockchain platforms have enabled the secure exchange of crypto-assets without the intermediation of trusted authorities. To this purpose, these platforms rely on a peer-to-peer network of byzantine nodes, which collaboratively maintain an append-only ledger of transactions, called blockchain. Transactions represent the actions required by users, e.g. the transfer of some units of crypto-currency to another user, or the execution of a smart contract which distributes crypto-assets according to its internal logic. Part of the nodes of the peer-to-peer network compete to append transactions to the blockchain. To do so, they group the transactions sent by users into blocks, and update their view of the blockchain state by executing these transactions in the chosen order. Once a block of transactions is appended to the blockchain, the other nodes validate it, re-executing the transactions in the same order. The serial execution of transactions does not take advantage of the multi-core architecture of modern processors, so contributing to limit the throughput. In this paper we develop a theory of transaction parallelism for blockchains, which is based on static analysis of transactions and smart contracts. We illustrate how blockchain nodes can use our theory to parallelize the execution of transactions. Initial experiments on Ethereum show that our technique can improve the performance of nodes.
Massimo Bartoletti, Letterio Galletta, Maurizio Murgia 0001
Log. Methods Comput. Sci.1
2020 A True Concurrent Model of Smart Contracts Executions
Massimo Bartoletti, Letterio Galletta, Maurizio Murgia 0001
COORDINATION1
2020 Renegotiation and Recursion in Bitcoin Contracts
Massimo Bartoletti, Maurizio Murgia 0001, Roberto Zunino
COORDINATION1
2020 Bitcoin Covenants Unchained
Massimo Bartoletti, Stefano Lande, Roberto Zunino
ISoLA (3)1
2020 Dissecting Ponzi schemes on Ethereum: Identification, analysis, and impact
Massimo Bartoletti, Salvatore Carta, Tiziana Cimoli, Roberto Saia
Future Gener. Comput. Syst.1
2019 Developing secure bitcoin contracts with BitML
abstract
We present a toolchain for developing and verifying smart contracts that can be executed on Bitcoin. The toolchain is based on BitML, a recent domain-specific language for smart contracts with a computationally sound embedding into Bitcoin. Our toolchain automatically verifies relevant properties of contracts, among which liquidity, ensuring that funds do not remain frozen within a contract forever. A compiler is provided to translate BitML contracts into sets of standard Bitcoin transactions: executing a contract corresponds to appending these transactions to the blockchain. We assess our toolchain through a benchmark of representative contracts.
Nicola Atzei, Massimo Bartoletti, Stefano Lande, Nobuko Yoshida, Roberto Zunino
ESEC/SIGSOFT FSE2
2019 A Journey into Bitcoin Metadata
Massimo Bartoletti, Bryn Bellomy, Livio Pompianu
J. Grid Comput.1
2019 Preface for the special issue on Interaction and Concurrency Experience 2017
Massimo Bartoletti, Laura Bocchi, Ludovic Henrio, Sophia Knight
J. Log. Algebraic Methods Program.1
2018 BitML: A Calculus for Bitcoin Smart Contracts
abstract
We introduce BitML, a domain-specific language for specifying contracts that regulate transfers of bitcoins among participants, without relying on trusted intermediaries. We define a symbolic and a computational model for reasoning about BitML security. In the symbolic model, participants act according to the semantics of BitML, while in the computational model they exchange bitstrings, and read/append transactions on the Bitcoin blockchain. A compiler is provided to translate contracts into standard Bitcoin transactions. Participants can execute a contract by appending these transactions on the Bitcoin blockchain, according to their strategies. We prove the correctness of our compiler, showing that computational attacks on compiled contracts are also observable in the symbolic model.
Massimo Bartoletti, Roberto Zunino
CCS1
2018 Progress-Preserving Refinements of CTA
abstract
We introduce the model of communicating timed automata (CTA) that extends the classical models of finite-state processes communicating through FIFO perfect channels and timed automata, in the sense that the finite-state processes are replaced by timed automata, and messages inside the perfect channels are equipped with clocks representing their ages. In addition to the standard operations (resetting clocks, checking guards of clocks) each automaton can either (1) append a message to the tail of a channel with an initial age or (2) receive the message at the head of a channel if its age satisfies a set of given constraints. In this paper, we show that the reachability problem is undecidable even in the case of two timed automata connected by one unidirectional timed channel if one allows global clocks (that the two automata can check and manipulate). We prove that this undecidability still holds even for CTA consisting of three timed automata and two unidirectional timed channels (and without any global clock). However, the reachability problem becomes decidable (in $\mathsf{EXPTIME}$) in the case of two automata linked with one unidirectional timed channel and with no global clock. Finally, we consider the bounded-context case, where in each context, only one timed automaton is allowed to receive messages from one channel while being able to send messages to all the other timed channels. In this case we show that the reachability problem is decidable.
Massimo Bartoletti, Laura Bocchi, Maurizio Murgia 0001
CONCUR1
2018 Fun with Bitcoin Smart Contracts
Massimo Bartoletti, Tiziana Cimoli, Roberto Zunino
ISoLA (4)1
2017 Timed Session Types
abstract
Timed session types formalise timed communication protocols between two participants at the endpoints of a session. They feature a decidable compliance relation, which generalises to the timed setting the progress-based compliance between untimed session types. We show a sound and complete technique to decide when a timed session type admits a compliant one. Then, we show how to construct the most precise session type compliant with a given one, according to the subtyping preorder induced by compliance. Decidability of subtyping follows from these results.
Massimo Bartoletti, Tiziana Cimoli, Maurizio Murgia 0001
Log. Methods Comput. Sci.1
2016 Developing Honest Java Programs with Diogenes
Nicola Atzei, Massimo Bartoletti
FORTE2
2016 Faderank: An Incremental Algorithm for Ranking Twitter Users
Massimo Bartoletti, Stefano Lande, Alessandro Massa
WISE (2)1
2015 Compliance and Subtyping in Timed Session Types
Massimo Bartoletti, Tiziana Cimoli, Maurizio Murgia 0001, Alessandro Sebastian Podda, Livio Pompianu
FORTE1
2015 Model checking usage policies
abstract
We study usage automata, a formal model for specifying policies on the usage of resources. Usage automata extend finite state automata with some additional features, parameters and guards, that improve their expressivity. We show that usage automata are expressive enough to model policies of real-world applications. We discuss their expressive power, and we prove that the problem of telling whether a computation complies with a usage policy is decidable. The main contribution of this paper is a model checking technique for usage automata. The model is that of usages, i.e. basic processes that describe the possible patterns of resource access and creation. In spite of the model having infinite states, because of recursion and resource creation, we devise a polynomial-time model checking technique for deciding when a usage complies with a usage policy.
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Roberto Zunino
Math. Struct. Comput. Sci.1
2015 Vicious circles in contracts and in logic
Massimo Bartoletti, Tiziana Cimoli, Paolo Di Giamberardino, Roberto Zunino
Sci. Comput. Program.1
2015 Lending Petri nets
Massimo Bartoletti, Tiziana Cimoli, G. Michele Pinna
Sci. Comput. Program.1
2015 Choreographies in the wild
Massimo Bartoletti, Julien Lange, Alceste Scalas, Roberto Zunino
Sci. Comput. Program.1
2014 A Semantic Deconstruction of Session Types
Massimo Bartoletti, Alceste Scalas, Roberto Zunino
CONCUR1
2014 Circular Causality in Event Structures
abstract
We propose a model of events with circular causality, in the form of a conservative extension of Winskel's event structures. We study the relations between this new kind of event structures and Propositional Contract Logic. Provable atoms in the logic correspond to reachable events in our event structures. Furthermore, we show a correspondence between the configurations of this new brand of event structures and the proofs in a fragment of Propositional Contract Logic.
Massimo Bartoletti, Tiziana Cimoli, G. Michele Pinna, Roberto Zunino
Fundam. Informaticae1
2012 On the Realizability of Contracts in Dishonest Systems
Massimo Bartoletti, Emilio Tuosto, Roberto Zunino
COORDINATION1
2010 A Calculus of Contracting Processes
abstract
We propose a formal theory of contract-based computing. We model contracts as formulae in an intuitionistic logic extended with a "contractual'' form of implication. Decidability holds for our logic: this allows us to mechanically infer the rights and the duties deriving from any set of contracts. We embed our logic in a core calculus of contracting processes, which combines features from concurrent constraints and calculi for multiparty sessions, while subsuming several idioms for concurrency.
Massimo Bartoletti, Roberto Zunino
LICS1
2010 Static Enforcement of Service Deadlines
abstract
We consider the problem of statically deciding when a service always provides its functionality within a given amount of time. In a timed π-calculus, we propose a two-phases static analysis guaranteeing that processes enjoy both the maximal progress and the well-timedness properties. Exploiting this analysis, we devise a decision procedure for checking service deadlines.
Massimo Bartoletti, Roberto Zunino
SEFM1
2009 nu-Types for Effects and Freshness Analysis
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Roberto Zunino
ICTAC1
2009 Planning and verifying service composition
abstract
A static approach is proposed to study secure composition of services. We extend the λ-calculus with primitives for selecting and invoking services that respect given security requirements. Security-critical code is enclosed in policy framings with a possibly nested, local scope. Policy framings en force safety and liveness properties. The actual run-time behaviour of services is over-approximated by a type and effect system. Types are standard, and effects include the actions with possible security concerns – as well as information about which services may be invoked at run-time. An approximation is model checked to verify policy framings within their scopes. This allows for removing any run-time execution monitor, and for determining the plans driving the selection of those services that match the security requirements on demand.
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002
J. Comput. Secur.1
2009 Local policies for resource usage analysis
abstract
An extension of the λ-calculus is proposed, to study resource usage analysis and verification. It features usage policies with a possibly nested, local scope, and dynamic creation of resources. We define a type and effect system that, given a program, extracts a history expression, that is, a sound overapproximation to the set of histories obtainable at runtime. After a suitable transformation, history expressions are model-checked for validity. A program is resource-safe if its history expression is verified valid: If such, no runtime monitor is needed to safely drive its executions.
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Roberto Zunino
ACM Trans. Program. Lang. Syst.1
2008 Semantics-Based Design for Secure Web Services
abstract
We outline a methodology for designing and composing services in a secure manner. In particular, we are concerned with safety properties of service behaviour. Services can enforce security policies locally and can invoke other services respecting given security contracts. This call-by-contract mechanism offers a significant set of opportunities, each driving secure ways to compose services. We discuss how to correctly plan services compositions in several relevant classes of services and security properties. To this aim, we propose a graphical modelling framework, based on a foundational calculus called lambda-req. Our formalism features dynamic and static semantics, so allowing for formal reasoning about systems. Static analysis and model checking techniques provide the designer with useful information to assess and fix possible vulnerabilities.
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Roberto Zunino
IEEE Trans. Software Eng.1
2007 Types and Effects for Resource Usage Analysis
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Roberto Zunino
FoSSaCS1
2006 Types and Effects for Secure Service Orchestration
abstract
A distributed calculus is proposed for describing networks of services. We model service interaction through a call-by-property invocation mechanism, by specifying the security constraints that make their composition safe. A static approach is then proposed to determine how to compose services and guarantee that their execution is always secure, without resorting to any dynamic check.
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002
CSFW1
2005 Enforcing Secure Service Composition
abstract
A static approach is proposed to study secure composition of software. We extend the /spl lambda/-calculus with primitives for invoking services that respect given security requirements. Security-critical code is enclosed in policy framings with a possibly nested, local scope. Policy framings enforce safety and liveness properties of execution histories. The actual histories that can occur at runtime are over-approximated by a type and effect system. These approximations are model-checked to verify policy framings within their scopes. This allows for removing any runtime execution monitor, and for selecting those services that match the security requirements.
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002
CSFW1
2005 History-Based Access Control with Local Policies
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002
FoSSaCS1