Devcon 4 report: day 2 - Ethereum 2.0 keynote
Other days:
Today had less sessions and was less intense. Apart from the keynote by Vitalik and SpankChain sessions there isn’t much to report on.
Opening
The MC wrote a song (I tried to take a video but was too far back to get anything good, I'm sure there are videos online).
He is tokenising his songs and putting online https://www.jonathanmann.net/devcon
Welcome to Devcon 4
Aya Miyaguchi, Ethereum foundation
Ran through her history of learning about blockchain & Ethereum.
Ethereum has a chance to empower society with it's decentralisation, but we need to protect against it being used to restrict people by centralised powers (traditional companies and gov). Important for Ethereum community to keep these values as we scale.
Ethereum foundation keeps on making sure it minimises power in individual people. It wants to see itself as helping connect and foster collaboration in the community and connecting dots. But its goal is to grow the Ethereum community, not itself. Is why it didn't structure itself in the way of a traditional startup or corporate.
She has invited a number of special guest speaker for the week. Like the internet archive
Ethereum 2.0
Vitalik Buterin
It is the 10 year anniverary of Satoshi's Bitcoin whitepaper.
Ethereum 2.0 is a collection of research projects that have been ongoing over the last number of years.
Back in 2014 he wrote a paper on how slashing could be used in a "proof of stake algorithm".
There was a bunch of aborted research in 2014 around different scaling mechanisms. Poof of proof of work, Hub & spoke chains, hypercubes.
During 2015-16 was a bunch of quiet research.
Resarch on "consensus by bet". Some people would bet, which influence others to bet on those blocks, until one of the blocks have enough backing.
Wrote a scalability paper in 2015.
Wrote about the "data availability problem". Could allow malicious parties to not publish data, which is required in sharding.
Everything got stopped in 2016 after the DAO attack, and the Shanghai DOS attacks.
But still quite worki happening on ewasm.
First Casper FFG paper came out.
At Devcon last year he showed the new sharding design.
Vlad released Casper CBC paper.
End of 2017 they released a Casper FFG proof of concept of a hybrid proof of stake system. Would allow gradual upgrade and migration. This research got very far.
But meanwhile there was a lot of working happening on Sharding. During a retreat in March they had a lot more details solidify. But they realised that there were teams trying to implement hybrid proof of stake inside existing blockchain, then a separate group that is trying to make a sharding system and a validating contract. The 2 groups weren't really talking to each other. Realised they could reduce a lot of work if they just integrated them better.
It did mean that they lost a bunch of work that had already been done. But it meant that it would be simpler, and be better integrated, and the final state would be much better. (I think they did a great thing being able to step back, not worry about the sunk cost, and made the better overall decision).
Meanwhile LOTS more research happening on things like cross shard transactions and contracts.
Development happening on beacon chain implementations.
Ethereum 2.0's real name is "Serenity".
Gets us closer to it being "the world's computer"
Phase 0 will be part way between main net and test net. The beacon chain will be there and running, but can't really do anything with it directly.
Phase 1 will do sharding of data. NOT sharding of state. Could do decentralised twitter on the blockchain. But no smart contract applications.
Phase 2: enabling state transitions (smart contracts)
Track overview
Scalability
Layer 1 (sharding, casper), Layer 2 (state channels, plasma, sidechains), ZK-SNARKS, light clients, etc.
Suggested sessions:
Making sense of layer 2 - Josh Stark
Snarks for mixing signalling - Barry whitehat
Ethereum 2.0 sessions
Designing robust systems
Privacy
Lots of centralised companies are harvesting our data. We need to take the web back.
Suggested talks:
LibSubmarine - Temporarily hide transactions on Ethereum - Stephane Gosselin https://guidebook.com/guide/117233/event/21956198/
Plugging the metadata leaks in the ethereum ecosystem - Peter szilagyi https://guidebook.com/guide/117233/event/21956182/
Developer Experience
Suggested session on EthPM https://guidebook.com/guide/117233/event/21956118/
UX design
She just flicked through many session names. Nothing jumped out.
Society & systems
Technology changes society. And society can influence tech.
Events around Prague
http://Guides.pragueBlockchainWeek.cz
http://Events.pragueBlockchainweek.cz
Decentralized development, what does that even mean?
Amber from Clovyr
https://clovyr.io/
Web 3.0 is about trying to keep data close to where it resides, decentralisation, data portability,
Development of blockchain clients (Bitcoin, Ethereu, zcash). Funnily enough the core code contributors of those clients are centralised in just a few developers hands. But if you look at something like kubernetes they have sooo many more people contributing.
How about code hosting, 90%+ of projects are all hosted on Github.
Browser 3.0
Mist team.
Current browsers are owned by centralised companies who track (Chrome, Safari, setting default search engine, etc).
Metamask extension was removed from Chrome store for a while. Chrome apps all got killed off.
Lets build our own. Lets start by using Electron.
Current web3 clients on the desktop are Metamask, Brave, Ethereum Mist, Parity. 3 of those 4 were built on Electron. But electron has a lot of security issues which is a bad thing for crypto private keys
Electron keeps lagging far behind the latest versions of chromium, meaning it is vulnerable to known exploits for long periods of time. Mist team don't want this so they are building their own electron alternative called Tau.
SpankChain: Payment Channels in Production
https://spankchain.com/
https://beta.spankchain.com NSFW!
Their "pegged" stable token is called Booty.
It all goes into the "spank bank".
Took 4 attempts at payment channels.
2nd, the MVP. Was a unidirectional ether only. Issues they had was that querying infura was non-deterministic, and Truffle timeout was 240 seconds which meant things failed in production.
3rd they launched. They got hacked when they unlocked their geth node for the deployment. Was only unlocked for 140 seconds and lost all the funds in that wallet.
4th they upgraded it. Had p2p virtual channels, ERC-20. The contract got hacked "they got spanked". Worked with the hacker to fix the bugs.
The rewrote the smart contract and the UX. There were issues with the original version trying to get adult performers to join payment channels, as they'd need Eth to pay the gas to run the transaction. So Spankchain would need to send the performers enough gas before the show starts, to open the channel. And then do the same again when they close.