Ethereum DevCon4 ended recently, after 4 full and intense days, with tens of talks, workshops and satellite events, gathering more than 5.000 attendees. Here are my a few of my takeaways from the event.

Day zero

The first talk I attended was Refundable ICOs by Fabian Vogelsteller. RICOs are trying to shift the power from the fundraiser to the investor by using two different mechanisms: locking raised Ethers and slowly making them available to the project over the course of roughly 2 years and, in addition, allowing investors to withdraw their remaining Ethers at any time, by simply returning the tokens to the smart contract. This will obviously work for the teams that will continually deliver measurable progress. But given the uncertainty of the amount raised, it is suited more as an additional round, meant to involve the community, rather than as a primary fundraising tool.

At a satellite evening event, Amaury Martiny from Parity Labs presented light.js, a substitute for web3.js, built on top of a light client. This means that the library will talk directly to full nodes, avoiding API providers like Infura – which has come to serve billions of requests through web3 API – thus becoming a centralization point. As a light client, it does not store the full state or transaction history, but only retrieves relevant data on a need basis. It also caches it accordingly. He also mentioned a proof-of-concept wallet for both native and ERC20 tokens. However the library is not production-ready and one of the main challenges to scale it to thousands of apps and millions of users is incentivizing the full nodes to support the new traffic, which won’t be trivial.

The last talk of the day for me was Polkadot and Substrate by Fabian Gompf, from Parity Labs. The substrate is no more, no less than a framework to build blockchains, while Polkadot is a new interchain communications layer meant to connect any two blockchains. This is really good stuff but just too sophisticated to understand on the spot. It needs further study.

Day one

Day one started with a keynote by Vitalik Buterin on the latest updates on Ethereum 2.0 research. Sharding, Proof of Stake, EWASM – these are major improvements that will be included in the next version of the protocol. And, starting from that moment, it no longer carries the name Ethereum 2.0 but Serenity.

The next talk I attended was Trusted Computing for Blockchains – by Consensys and Intel reps. Trusted computing means using dedicated hardware, that is now present in most recent CPUs, to execute signed and pre-approved code in an isolated environment. It ultimately relies on proprietary, closed source hardware and its firmware, which is a major issue when you’re building an open source, trust-less, decentralized protocol. Thumbs up for the audience for raising this concern.

However, the promise trusted computing brings could solve some important existing problems. Currently, miners are able to reorder transactions in a block they forge and moreover, they can easily mount a front-running attack. Because they are in between a user that submits a transaction and the finality of storing it on the blockchain, miners can observe when a significant buy or sell order will be executed and profit from it, by placing their own transaction in front of it, thus immediately benefiting from the price change of the latter order. It’s a well-known issue that can be mitigated but not completely avoided.

With trusted computing, the hope is that code ran by miners will be signed and guaranteed by the special execution hardware. However, this hardware is rather made to execute simple functions, like cryptographic primitives, not complex application code. In addition, the transaction order depends on network events which, I guess, cannot be dealt with the trusted computing environment. When possible, a miner could manipulate the network events by using a proxy machine. So I don’t quite understand how it would work but it’s certainly an exciting topic.

Leave a Comment:

Your email address will not be published. Required fields are marked *