All About DApps

Six Questions for Roberto Infante, author of Building Ethereum DApps

By Frances Lefkowitz

Roberto Infante is software development consultant who specializes in finance. He currently works on financial risk management systems and on blockchain technology.


Take 39% off Building Ethereum DApps. Just enter intinfante into the discount code box at checkout at

DApps are decentralized applications. Rather than running in a central server (or cluster of servers) owned or leased by the organization that has developed it, DApps run on each server of a dedicated peer-to-peer network, where every server is owned by a different organization. Consequently, there is no central control or ownership. The advantage of a decentralized application over a conventional one is that a user doesn’t need to trust the owner of the application, when it comes to the validity of a transaction or of the application data, simply because there is no owner, so each transaction is validated independently by each node of the network. Systems particularly suitable to this technology are workflow management or supply-chain systems that coordinate the interaction among institutions or people that inherently do not trust each other.

Ethereum is the first blockchain-based platform that was designed to allow the development of any decentralized application. Prior to the creation of Ethereum, most blockchain-based decentralized applications were single purpose, and the great majority were cryptocurrencies, such as bitcoin, litecoin, dogecoin, and so forth.

A smart contract is the container of the logic of a DApp, whereas the blockchain is the DApp database. From a programming point of view, a smart contract looks very much like a class in any object-oriented language: it contains state variables (equivalent to member variables), functions (equivalent to member functions) and events. The main Ethereum smart-contract language is called Solidity, which is JavaScript-like. Another language that is gaining traction is Viper, which is more Python-like. A key difference between a smart contract and a component of a conventional application, such as a REST service, is that a REST service runs on a limited number of servers owned directly or indirectly by one organization. A smart contract, on the other hand, runs on each server of the underlying peer-to-peer network. So, obviously, things are also different when it comes to deployment.

The most useful DApps have been in the provenance verification and supply-chain space. For example, Everledger tracks diamonds from mining, through cutting, polishing, and up to customer sale. An indentifier is imprinted in the diamond with laser technology and all steps throughout the lifecycle of the diamond are recorded on the blockchain against that identifier. Since a blockchain is immutable and untamperable, all parties along the diamond supply-chain are confident about the authenticity of the diamond and its processing status by simply looking it up on the Everledger DApp.

It’s true that major central banks are studying cryptocurrencies, and looking into possibly even issuing their own. It’s also true that critics argue that these cryptocurrencies would be somewhat centralized, therefore missing the point of truly decentralized currencies. But what financial institutions are really focusing on now is the underlying blockchain technology. Insurance companies are starting to design shared blockchain-based claim management systems with the aim of reducing fraud, for example, to detect if a customer has started a claim against multiple insurers. One area banks are keen on is Know Your Customer checks, mandatory background checks that bank must perform on every customer to mitigate fraud and money laundering risks. Checks stored on the blockchain can be inherently trusted by all units of a financial organization and can even be shared with other financial counterparts, therefore reducing considerably these time-consuming and costly checks.

Although I have enjoyed the culture of each country I have lived in, when it comes to international football I generally support only Italy. Unfortunately Italy was not good enough to qualify for the 2018 World Cup, so I ended up sympathizing for England, since Portugal, Spain and Denmark were all eliminated in the early stages of the knockout phase. I really hope Italy qualifies for Euro 2020!

Originally published at



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Manning Publications

Follow Manning Publications on Medium for free content and exclusive discounts.