Seminar: Distributed Ledger Technology and Smart Contracts




Seminar: Distributed Ledger Technology and Smart Contracts

Matteo Micheletti

Faculty of Science


Conference / Symposium / Seminar

Abstract: With the term DLT (Distributed Ledger Technology) we refer to any distributed, decentralized database architecture where the introduction of a new record is subjected to consensus-based validation protocols and cryptographic signatures. Blockchain, Bitcoin cryptocurrency underlying technology, is the first implementation of a DLT dating to 2008. In the following years, the interest in DLT raised exponentially, encouraging many others implementations to make their debut. Ethereum is one of those who received more attention since it introduced the concept of Smart Contract. A Smart Contract is a transaction protocol written in a Turing-complete language that executes the terms of an agreement. Loading Smart Contracts in Ethereum blockchain, where they are executed in exchange of a small fee, should enhance security and reduce transaction costs related to contracting. It is worth mentioning that Smart Contracts can be also deployed in other DLT platforms different from blockchain. One of them is IOTA, based on a DAG (Distributed Acyclic Graph) implementation of DLT called “Tangle”. The most notable difference between IOTA and blockchains is that IOTA does not need fees at all to attach new transactions. This would reduce the cost of deploying a Smart Contract even more. However, the technology to deploy Smart Contracts on DAGs is still not mature enough to be used extensively nowadays.

Another issue is that the languages used to write Smart Contracts can be difficult to use from the majority of the actors. Studies have been done to analyse Smart Contracts data from different perspectives and find ways to reduce their complexity. In my study, I collected a wide range of Smart Contracts deployed in the Ethereum blockchain by users. All of them had been written using Solidity, the main Ethereum language for writing contracts. What I did next was to analyse contracts code to identify which functionalities, i.e. bytecodes, are most used by users and find out which of those are less - or not - used and thus are not practically relevant. By coupling this information with contracts domains (i.e supply chain or agriculture) it could be possible to implement Domain Specific Languages with a reduced set of instructions.

Audience: Areas covered by this presentation include DLT (Distributed Ledger Technology) and Smart Contracts. The presentation is targeted at a beginner to intermediate audience.