Ethereum DevCon4 — Day 0

The fourth iteration of the great gathering of Ethereum friends is happening in Prague, this is a summary of some talks that we visited on day 0 of DevCon4:

The state of Whisper

Guilaume Ballet

Whisper is the fully privacy-preserving messaging protocol developed alongside the Ethereum blockchain. Whisper provides full metadata anonymity and aims at hiding who is talking to whom. It is one of the three original pillars of the Ethereum ecosystem (next to the blockchain and storage with Swarm). An operational testnet is available although stewardship of this project has been pushed between different teams (Ethereum Foundation, go-Ethereum team, Parity team) that led to inconsistencies in protocol development and implementation, e.g. the Parity Whisper version is not compatible with others. As libp2p seems to be getting a lot of love by various teams in the community, a pull request for whisper is currently pending but provides some major restructuring efforts. As a next step, a libp2p transport mechanism will be used for Whisper in the future.

Some downsides of Whisper are becoming more obvious than ever with mobile dApps leveraging the Whisper protocol for messaging (e.g. Status): The Proof-of-Work required as an integral element of the protocol is draining mobile phone batteries rapidly and the snowball-random-routing is leading to significant overhead traffic. Research on optimizing traffic is ongoing.

State of the ENS

Nick Johnson, Jeff Lau

Ethereum Name Service (ENS) is the domain name service that gives a human readable name to your Ethereum address or dApp. Nick Johnson, the founder of ENS, announced a few changes that are going to happen till ENS V2 comes out in May 2019. For now, a more beautiful branding and new logo were presented. Apart from the .eth domain, two other top-level domains (TLDs) are becoming available in the next weeks: “.xyz” and “.luxe” are purchasable via traditional DNS registrars. The process of ENS registry changes from bid to instant buy with a different pricing schema. Instead of an auction mechanism. A yearly rent (payable upfront) will be applied, which is of a similar magnitude as traditional DNS service fees. The upgrade of the ENS is scheduled next year. Current ENS owners will have one year to migrate to the new registrar. Or, there’s the option of releasing the old ENS name and get deposits back. Last but not least, a cool demo of the new ENS management dApp was presented.

devp2p development update

Felix Lange

Devp2p is the integrated networking stack that is enables Ethereum nodes talking to each other. It is not only used by Ethereum nodes but also, e.g. by the Swarm distributed file system and the Status mobile app also used it. Interestingly, while Ethereum node explorers like ethernodes currently report around 14’000 Ethereum nodes, the participants in the distributed hash table (DHT) are a lot more as also other projects seem to be relying on devp2p. Maturity of the Ethereum ecosystem is evidenced here by no new attacks on network level. Researchers published an eclipse attack which could have isolated Ethereum nodes by surrounding them with malicious attackers. This discovery has been responsibly disclosed by the researchers and addressed by the Ethereum client team before publication by implementing a different peer discovery mechanism. A short overview of EIP 778 “business cards for nodes”, EIP 868 (node discovery via ENR) and EIP 1459 (DNS node discovery, not via DHT) was given. Especially the zero-roundtrip encryption scheme around EIP 868 were highlighted. Such infrastructure allows for negotiating capabilities such as transport options and prices for incentive systems on network level between nodes.

SWARM Team Update

Aron Fischer, Swarm Team

The SWARM team presented an update on their project progress: They extended their access control options on SWARM, which offers three modes using a passphrase (anybody with the passphrase can access), private key-based and the most fine-grained ACT (which is more or less like ACT on unix). They also worked on more observability of swarm by adding more logging, metrics and distributed tracing. PSS mechanism, LightNode Implementation. Moreover, their underlying messaging protocol “Postal Service over Swarm (PSS)” got improved by built-in encryption, pluggable handlers and proper session keys. Last but not least they are working on a light node for mobile support.

Ethereum Mist — progress and challenges ahead

Alex Van de Sande, Everton Fraga, Marc Garreau, Philipp Langhans, Ryan Ghods

Everton Fraga presented updates on the Mist browser which is a graphical user interface to the Ethereum blockchain with a wallet and interface to smart contracts. The Mist team has mostly worked on the UX improvement, e.g. for “executing a transaction” or the “transaction history” which used to look pretty basic but now got a major re-design. Moreover, they have improved the annoying launch/syncing time experience of the Mist browser. Instead of waiting for a complete sync with an Ethereum node, the Mist browser now connects to an infura node and starts synching in the background. Besides UX improvements, the Mist team also refactored and improved the underlying architecture.

Yul — Intermediate language for Ethereum

Alex Beregszaszi

Today, smart contract developers have the choice of implementing their smart contract in the high level language Solidity based on Javascript (inheriting many of the issues of the JS dungeons) or ultra low level in assembly. Yul, formerly called Julia, serves as a new middle ground that is optimized for verifiability and auditability. The language is a heavily augmented assembly language that does have some additional and higher level features such as for- and switch-statements. Next, Yul will be integrated into other languages such as Solidity.

EthereumJS — Our Roadmap for 2019

Holger Drewes, Jared Wasinger, Casey Detrio, Vinay Pulim, Alex Beregszaszi

EthereumJS team gave some update of their development on the Javascript implementation of the Ethereum Virtual Machine (EVM) and client. On the virtual machine side, all EIPs of Constantinople have been implemented and the release is expected in 2 to 3 weeks. On the client side, the EthereumJS team firstly clearifies the rationale behind the development of the client — it is definitely not for reinventing another major client to be used in production like Geth or Parity. Ethereum aims at being a working client that empowers and hardens existing JS libraries. The client shall also serve as an educational tool. The team aims at shipping a PoC of the stateless client next year. Vinay Pulin demonstrated the client’s light sync from browser (through libp2p and injected web socket) in his presentation. Moreover, the EthereumJS team shared their vision of the TypeScript being used to write smart contracts with ewasm and merging existing TS libraries. FYI, the team is looking for contribution.

How To Design for Humans & Get Users Onboard

Tara Tan, Connie Yang

Tara Tan from IDEO and Connie Yang from Coinbase gave an overall overview of the many challenges the crypto ecosystem is currently facing from the design perspective. The enormous potential of blockchain technology has been recognised by technologists and specific groups of people. This community currently works on solutions that represent a meaningful positive impact on our lives. It is, therefore, notably clear we need to work on making it easy for everybody to use the technology safely and effectively.

The team talked about a “Design Movement in Crypto” and we look forward to joining it developing human centered solutions.

RICO — Making ICOs fair, by making them reversible

Fabian Vogelsteller

Fabian Vogelsteller, the creator of ERC20 token and thereby indirect father of the common ICO, introduced the idea of “Reversible ICO (RICO)”. After seeing many get-rich-quick ICOs that did not deliver much or even outright exit scam ICOs, Fabian is trying to improve the state of current ICOs. Instead of giving a large and immediately available pot of ETH to the project team, the funds are made available gradually with continuous payout. Investors have a chance to send back their tokens and thereby withdraw the non-distributed fraction of their contributed funds at all times. As the project matures, the remaining funds decrease and the investor can only claim back a small fraction of their initial funds. This might lead to projects actually delivering on their initial promises as otherwise investors could just deplete their funding.

Universal Ethereum Logins

Alex Van de Sande

Alex Van de Sande walked us through his “Universal Login” for decentralised applications on Ethereum. Parting from the idea that non-tech savvy users don’t care about ether, private key backup or gas price, and all they want is to use different apps smoothly and easily, Universal Login is being developed to offer “the best onboarding on the web”. It starts with the user selecting a username and creating an account. What happens behind the scenes is the user chooses an ENS name, a key pair is generated and stored locally (in the browser or device), and a smart contract is deployed. This contract (the identity contract) will accept messages signed with the public key and the user doesn’t even need to remember its address, only the chosen ENS name. The best part, there is no single server with private data that could be subject of attack. The user owns their account and can use it to log into different apps, from multiple devices.