Devcon2 — Summary of Day 1

Words
2410
Reading
11 min
Listen
Play
9y

Shanghai.jpg
In preparation of visiting Devcon3 in Cancun I am re-publishing my LinkedIn Blog Post from October 2016.

These are my impressions and summary of Devcon2, the annual developer conference of Ethereum which was held in Shanghai 19–21st September.

What is Devcon?

Devcon is the conference for developers of the Ethereum protocol. The event took place from 19–21st September in Shanghai and was the third event of its kind. Almost all presentations where presented by the developers that work on behalf of Ethereum, directly on the protocol of the Ethereum blockchain. The content is therefore mainly about the protocol of the platform. What has been developed in the last 12 months and what is the state of the individual projects. Projects include the topics scalability, security and privacy.
Among the presenters are also companies or groups that work on issues that have to do directly with the platform but the companies are not commissioned by the Ethereum Foundation to do, such as Ethercamp (creating an environment around Smart Contracts and testing), Ethcore (an alternative client to the Ethereums own). In addition, a few applications presented as well.
Basically, every presentation was not more than 25 minutes, which made it an extraordinarily rapid change of topics and speakers. This summary does not comply with the order of the presentations, but I assigned them thematically, allowing for better readability and understanding of the topics. In addition, I had to research subjects in order to understand the content, so it takes a while to comment on all presentations that have been presented. I hope you understand that.

The first day

Difficult start
Devcon2 had a rough start from two points of view. On the one hand a hacker attack took place during the night (Shanghai time) from Sunday to Monday, slowing miners in validating new blocks. More details on the actual attack can be found here.
In addition, the registration was not up to the more than 800 participants, so that even at 9 am less than half of the participants had an event ID. Therefore, the start of the event was delayed by half an hour.
Decentralized but not de-regulated
After a brief welcome by Ming Chan and Vitalik Buterin it was time for the first presentation of the day. Peter van Valkenburgh of Coincentre spoke about the regulatory pitfalls that you should consider when developing an application or Dao. This presentation would have been ridiculed a year ago, but after the DAO fiasco and the still open question how regulators will finally rule the issue, Peter had all ears and eyes on him and gave a very interesting talk about the dos and don`ts for DAPPs and DAOs from a legal perspective. He explained that even little things like the description of the business model can have disastrous judicial implications, especially mentioning of profit sharing, or initial Coin Offering (ICO). These terms in the eyes of regulators mean that they are securities, which presupposes a very responsible provision of information and every violation of the regulation will result with time in jail.
Surely nobody was aware that the SEC (US regulatory authority) can charge down on any business, if only one US citizen uses their offer.

What’s Ethereum?
Vitalik Buterin explained in one of the first lectures what Ethereum is and why it is different from other blockchains. His presentation however did not differ much from the presentation of last year (Devcon1).

Ethereum Virtual Machine
The rest of the morning dealt with the Ethereum Virtual Machine, which is the translator of the Smart Contracts into protocol language. The Virtual Machine is essentially important for the development of Dapps because it translates the high-level language Solidity and other languages (Serpent, LLL and Mutan) into the low-level language of the blockchain. Low level means that this language communicates directly with the hardware, also called machine code or OP code. Just as Latin is the basis for many of our languages, the EVM as an example translates German into Latin.
However, the EVM is still not as efficient as other virtual machines on the market. Therefore, concepts were presented and discussed how the EVM can work faster and safer.
Another approach is to replace the EVM by a Web Assembly System. This is being discussed with the W3C. A detailed illustration of why this is advantageous and what possibilities this opens up can be found here in the presentation.
Jan Xie has unveiled his version of the EVM in Ruby. He developed a testing framework called teth. It allows you to run tests in storage in Ruby. These tests can have multiple users to test complex interactions. His presentation is not self-explanatory, unfortunately.

Smart Contracts
At least since the DAOsaster everyone knows that Smart Contracts are not really smart themselves, but only as smart as the programmer. Therefore, at Devcon many lectures devoted themselves to the topic how to make smart contracts safer. Philip Daian of the IC3 began the series of good proposals with his presentation of a three-points procedure:

  • Tools (including the formal verification and analysis models)
  • Bug Bounties
  • Recovery through emergency exits

But what he most vividly recited was that a human factor should not be missed.
Another proposal is to develop a common domain-specific language similar to SQL for databases. The syntax should be relatively simple and semantically modeled around the English vocubulary. This would replace Solidity and enable the Smart Contract to create a formal English contract. Sounds pretty useful, but was presented a bit too mathematically (for my taste).

Data storage
The blockchain is often called database, but actually it does not make sense to store large amounts of data effectively. Still it is necessary to store large amounts of data within the blockchain having native access to it. This subject has a dedicated Ethereum developer team working on it, as well as a startup called IPFS.
Swarm is the name of the database system developed by Ethereum for its blockchain. Viktor Tron and Aron Fischer explained in their presentation the reward system for peer to peer file sharing for Dapps. The aim is to pay and get paid by the Nodes for the exchange and long-term storage of data.
On the Web3 topic, Swarm is a central component, as one wants to design all digital interactions with the third version of the World Wide Web, using tools in the blockchain. The objective is not to integrate these services from private providers, but to integrate it in the infrastructure. In order to facilitate a comprehensive communications infrastructure, it does require Swarm (the database) and the ability of the nodes to communicate with each other (Whisper), as well as a live streaming option, which Viktor Tron also referred to as “streaming with adaptive transmission channels”. In total Viktor presented a very broad vision, of which I personally can not see why the blockchain has to play a role in all aspects. Perhaps one of you can comment why this is useful.
It was interesting to observe that IPFS with their “Interplanetary File System” pursue a similar approach like Swarm, still their intention is not only Blockchain driven, but cataloging data according to their own taxonomy, which is already very common. To many participants of Devcon2 it was unclear why IPFS was not used instead of Swarm at Ethereum. This would integrate the existing IPFS network and, moreover, free up resources within the Ethereum foundation for other subjects.

Scalability
Block chains currently all have the problem that you can not perform as many transactions per second due to the validation process of blocks compared to Today’s credit card providers (Ethereum = 15 tps | Visa = 2,000 tps). The problem of scalability is extremely important especially with the Ethereum blockchain since Ethereum is oriented not only on one use case (financial transactions), but many use cases can be mapped out. Especially if one imagines a IoT use case, a waiting time of 10 minutes or more for the approval of a transaction does not make sense (for example, if it takes the BAirBnB door lock 10 minutes to open).
With the vision of Viktor Trons Web3, the validation of blocks is potentiated even more.
Several speakers, including Vitalik Buterin presented their solutions to the problems.
I begin with the presentation of Vitalik because it addresses several of the problems and the discussed solutions, even partly being critical. The Mauve Revolution.

State Chanels
A State Chanel is an off chain network, they are “only” linked via an interface with the original blockchain. Transactions therefore do not take place on the original blockchain, only the status is communicated at the end. Jeff Coleman explains in his presentation very well what State Chanels are and how they work.
Heiko Hees has unveiled his version of a State Chanel, the Raiden network. The basic idea is to change from the model in which all transactions are held in the Shared Ledger, to a model of private exchange using user messages in order to sign a value transfer. According to Heiko this can scale to up to 1,000,000 tps and, moreover, the transaction is not publicly available. Raiden offers an interface to your system that can be integrated into any Dapp.
Christian Reitwiessner explained Truebit: also an Off Chain solution Trying to Fool a blockchain. Because Ethereum is Touring Complete, it requires possibly also an enormous computational power, and consumes a lot of gas and thus is extremely expensive. Thus, it needs a solution which enables the computing power to take place outside the blockchain, yet is extremely safe. In his “proof of concept” the primary question is how to guarantee the safety. Truebit is a Verification Game with an applicant and a challenger. Both break the computing process into steps and report this to the smart contract. If the two results match, the result is transferred to the blockchain, if they do not agree a new solution must be found.

Proof of Stake
Another form to scale Ethereum was provided by Vlad Zamfir in his lecture on “Casper”. Casper is an evolution of today’s Ghost Protocol (Greedy Heaviest-Observed Sub-Tree) to get from the validation process proof-of-work system to proof of stake. Basically, a blockchain is aligned so that all nodes are always on the same level and have consensus. However, the approach of Casper and the change to a Proof of Stake process assumes that it creates an asynchronous network where not all nodes at the same time have the exact same status. Nevertheless, the system must be secure and still prevent the Fundamental Problem of “Double Spending”.
Vlad showed in his presentation what the basic ideas for his actions are and what still needs to be achieved in the future. Overall a very sophisticated presentation with 65 slides that can not be presented in 20 minutes. Thus, it was unfortunately that the majority of participants (and me) did not understand the presentation and we would have loved to have a question and answer session with Vlad.

Privacy
In addition to scalability, privacy is a big issue and in particular the centralized business models do not want their transaction to be publicly available. Zcash loves Ethereum. Zcash is a new crypto currency that makes private transactions possible because the address of the sender and the receiver, and the transferred value is not publicly available. Zcash sends the information in encrypted form to the block chain, which can be decrypted by the originator of the transaction, as well as third parties that the sender gives access to.
There are three ways to allow for a blockchain to have this privacy, firstly, it can be inserted into the Ethereum network (Baby ZoE (zcash on Ethereum)), secondly, one adds the Zcash own blockchain programming options to, or thirdly, it establishes a connection of Zcash to Ethereum (project Alchemy). Zcash starts on 28 October.

Clients
Before the start of Devcon and during the week there were recurring problems with the Geth client as described at the beginning. An Ethereum client is a term for the Node, that analyzes and checks the blockchain. Ethereum itself has developed three clients, the Geth client based on the Golang language, the Eth client based on the C ++ (pronounced C plus plus) language and the Pyethapp client based on the Python programming language. In addition, further clients have developed by external programmers, of which the parity client, based on the relatively new programming language Rust, is very popular.
TJ Saw of Ethcore presented the parity client. Acting like he was presenting the latest Apple product, TJ showed mainly the simple user interface, very similar to the Ethereum own Mist browser. The main difference is the programming language that has so far shown little prone to attack, as opposed to the Geth client. One of the best features is that it treats other token as first class citizen, which simplifies interactions or trade.

Light client
Previously Ethereum was not available on a smartphone. The clients all run on PCs as they map the entire blockchain onto the PC. The Ethereum Foundation will change this and their developer Bob Summerwill builds a Light Client for Ethereum, that mirrors the functionality of the blockchain, without storing the whole chain on the device. Thus Ethereum can run on devices with low storage capacity (for example, for IoT), smartphones and portable devices (Smart Watches etc.). Currently they have managed to run the Light client on a Raspberry Pi Model A. This is for now the smallest terminal.
That was my summary of the first day.
It took a long time because I had to look into many subjects to be able to explain them and make them more tangible. As you noted, I’m not a Technical expert, but rather have a business development background. I see my task to make the themes for non-technical readers more accessible, in order to promote the general interest in the technology. I am sure that I have not understood everything exactly and therefore appreciate any comment which helps me learn more.
I will sit down next week to write about the second day of Devcon and will try to present it in the same form. I am happy about every input in the comments.

Author
Bernd Lapp was on the Advisory Board of the Ethereum Foundation. Today he is the Business Hive Lead for Swarm City, a decentralized sharing economy platform using the Ethereum Blockchain.
Learn more about Bernd and Swarm City: https://thisis.swarm.city

Devcon2 — Summary of Day 1 | Ecency