Ethereum Devcon1: Expert View of the Second Day
Day two of Ethereum Devcon1 was all about the development of DApps: distributed applications, the apps of the Ethereum ecosystem.
Exclusively for the readers of Cointelegraph media outlet Aron van Ammers, Chief Technology Officer and Founder of BlockStars.io, continues his exclusive report of the second day of the Ethereum Devcon1. We give you his text as it is.
Topic: DApp development strategies
Day two of Ethereum Devcon1 was all about the development of DApps: distributed applications, the apps of the Ethereum ecosystem. DApps are principally fully distributed: they require no centralized server, database or network address and are resilient to censorship and common attack vectors of traditional web apps. Because DApps on a blockchain comprise a different way of building applications, they require new tools, methods and even programming languages to develop them. Today we learned all about that.
Blockchain as a service: Microsoft Azure runs BlockApps and Ether.camp
Building DApps and contracts
The rest of the day was focused on tools and methods to build decentralized applications or DApps. In an inspiring session Christian Reitwiessner, Alex van de Sande and Fabian Vogelsteller of ETH DEV demonstrated how a decentralized marketplace with a double deposit escrow can be built as a DApp - using only a single button as the user interface.
Peter Borah of Consensys explained how smart contracts are a new abstraction in the world of programming, and gave tips on how to build good ones. Christian Reitwiessner gave a demonstration of how specific features of the Solidity smart contract language can be used to write safe contracts. Joris Bontje explained design patterns for DApps, translating well-known software patterns to the decentralized world. The Mix IDE is starting to mature, providing unique features like stepping through Solidity contracts in a debugger.
In a panel discussion we learned that already five DApp development frameworks exist: Embark, Truffle, DApple, Populus and BlockApps, each with their unique features. All of them allow for quickly starting out with building an EthereumDApp.
Middleware and on-chain services
So now we know the technicalities of building a DApp, where to go next? In a panel discussion, the specific challenges and possibilities of offering services on the Ethereum blockchain were discussed, starting out with that often heard term "trustless". According to Christian Lundkvist of Consensys we should regard the gap between "trustless" and "trusted" as a continuum. There can be DApps that are fully trustless, where neither the creator nor its users need to trust each other in any way. Piper Merriam suggested a strategy where the developer of the DApp can change its rules, but only with a lead time of two weeks. Users get a chance to agree and keep using it, or take out their assets.
Probably the most important challenge for DApps is privacy. Data and logic on a public blockchain are, by definition, public. Strategies like selective disclosure of anonymous data and zero-knowledge proofs are the most promising approaches to achieve desired levels of privacy.
Another important problem to be solved is how to deal with identity and reputation in a fully public blockchain. If my business is a DApp, how do I know my customers? Do I even need to know them? The panel agreed that reputation systems are needed, and that reputation only exists within a context: rating a person, system or otherwise user by a single number is not enough.
Finally, an important problem that developers of DApps have to deal with is of a technical nature. The so called "gas limit" forms a hard cap on how "smart" a smart contract can be in the current state of the Ethereum blockchain.
It's clear that Ethereum as a development platform is quickly maturing. The phase in which it's very hard to get even a basic example running is over. There are many options to quickly get started with building, testing, deploying and running Ethereum DApps, both on a privately managed infrastructure and hosted in a public cloud.
Going forward, Devcon1 will zoom in on the Ethereum protocols underlying all of this, then put the spotlight on the DApps that are already being built and the impact on industry and society. Stay tuned.