INTERVIEW
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 manning.com.
__________________________________________________________________
Let’s start with some definitions. What exactly are DApps?
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.
Now, what is Ethereum?
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.
Your book spends some time on smart contracts. What are these and why are they so important?
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.
What are some of the more exciting or successful DApps?
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.
Decentralization and transparency are radical ideas that challenge the control of large institutions. Why are banks and financial institutions interested in something so subversive?
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.
Now that we have DApps all cleared up, could you clear up something else? You were born in Italy, educated in Portugal, Spain, Denmark, and now living in England. Who do you root for in the World Cup?
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 freecontent.manning.com.