Research papers on blockchain smart contracts
Luca Guida and Florian Daniel, Supporting Reuse of Smart Contracts Through Service Orientation and Assisted Development, IEEE International Conference on Decentralized Applications and Infrastructures, San Francisco, USA, 2019.
This paper focuses on two of the key challenges a developer encounters when reusing smart contracts: finding actionable information about existing smart contracts (descriptors) and writing the necessary integration logic to invoke selected contracts and implement missing functions. As for the former issue, the paper proposes a smart contract description format that allows the developer to search for publicly available contracts, understand which features a contract exposes and how to invoke them, according to a service-oriented approach. For the latter, the paper implements a simple, model-driven development environment consisting in a visual programming editor that provides a set of modeling constructs encoding specific, reuse-oriented code patterns. The approach is implemented and demonstrated in the context of the blockchain platform Ethereum and its programming language Solidity. The results obtained show that the proposed approach can be beneficial in the development of composite smart contracts and generic blockchain applications.
Florian Daniel and Luca Guida, A Service-Oriented Perspective on Blockchain Smart Contracts, IEEE Internet Computing, vol. 23, no. 1, pp. 46-53, 2019.
Smart contracts turn blockchains into distributed computing platforms. This paper studies whether smart contracts as implemented by a state-of-the-art blockchain technology may serve as a component technology for a computing paradigm like service-oriented computing in the blockchain, in order to foster reuse and increase cost-effectiveness.

The thesis investigates whether smart contracts as implemented by state-of-the-art blockchain technology can be exploited as building blocks of a new service-oriented, trustworthy computing paradigm. Moreover, it proposes a methodology and a tool to support the development of smart contracts, their description, and their composition, in order to foster the reuse of widely tested contracts and libraries, thus improving the overall compliance with security and programming best practices and increasing cost-effectiveness. More specifically, this research proposes a formal description format and a registry prototype for Ethereum smart contracts, thus facilitating their discovery and reuse. Furthermore, it introduces a block-based visual programming editor prototype for Ethereum smart contracts, thus addressing the lack of tools supporting the development process. Both the prototypes have been tested and assessed through the development of a case study in the insurance field.




