Other days:

The first day of Devcon started at midday, but still had 12 talks. It was a bit of an “updates” session. The main event kicks off tomorrow morning with the keynote by Vitalik.

Highlights:

  • Universal Ethereum Logins was the show stealer for me. The demo blew me away, and there is a full SDK available now to use.
  • Lots of research into switching from Devp2p to libp2p (the networking stack IPFS uses)

EF Grants update

Ken Ng giving an overview of how EF grants foundation has been going since the launch this year.

So far has given out $11,000,000 to 75 projects over 4 waves!
Grants program is to fundamentally empower the Ethereum community and open source development. About creating up the core Ethereum platform, for others to build upon.
Want to help people build their passion projects that will help the Eth community. There will be more waves of funding, be sure to apply.

Ethereum Mist

Everton Fraga from Brazil

Submitting transactions looks scary at the moment.
Currently revamping the transaction window with a lot more details
clip_image002

Syncing improvements. Instead of a full sync, do it in stages.
clip_image003clip_image004clip_image005clip_image006clip_image007

Ethereum Name Service

Nick Johnson

clip_image008

Making it easy to attach friendly names to Ethereum addresses.
Rolled out with the .eth support with traditional DNS.
Rolling out 2 new domains .xyz & .luxe

Permissionless integration via DNSSEC
Can claim now via https://dnssec.ens.domains/ or you can use EasyDNS

More researching is ongoing for the registrar. They found that a lot of the names are being owned by just a few people.
Moving to a "yearly rent" style model to prevent squatting. Also help pay for ongoing development

clip_image009 
There will be a migration process over to the new domain registrar. If you do it within the first year then you get a year renewal.
Otherwise if you don't migrate it after a year, the name will be released.

clip_image010

Adding support to into client libraries like Web3.js 1.0, ethers.js. And other projects like Gitcoin.
They are developing a new Dapp interface. It is much slicker and easier to use.

clip_image011

EthereumJS - Our roadmap for 2019

https://github.com/ethereumjs

Is an implementation of most of the base Ethereum technologies, implemented in JS (EthVM, merkle trees, etc.)
Used by Truffle, Metamask, Embark, etc.

clip_image012

Ethereum JS virtual machine. 
Is a "web first" library, embedded in Remix and Metamask. Captures Ethereum's state transition rules.
Looking at integration with ewasm, but there are difficulties in EthereumJS being completely async, but the current specification for ewasm is synchronous.

Ethereum JS client
It isn't meant to be a R&D platform for new features and research efforts. An educational tool.
The architecture is inspired by bcoin https://github.com/bcoin-org/bcoin 
It can currently sync to the main net (fast & light syncing).
In browser can sync via libp2p.

Ethereum JS Sharding (ShasperJS)

clip_image013

For the phase 2 Ewasm research, is taking a list of ordered transactions and executing them.
Why Shasper in JS? Because it'll need to be written and supported so the other tools can use it.
Not much real info in this session.

EtherTS (Typescript)
There are lots of EthereumJS that is written Sync, and lots written async. Want to take the learnings from the last 2 years and implement them.
They started by using Typescript to help find bugs by pointing out type issues
*cheers from the crowd for using Typescript*
Will be using more Typescript in the future.

Yul

Zlex Beregszaszi, Solidity co-lead.
https://solidity.readthedocs.io/en/latest/yul.html

It is a "Language for language developers"
Last year he did a talk on Julia, but there was a naming conflict, so now it is Yul.
Easier to just show the slides for this bit. They are helping compilers build better code.
Is currently being used by Solidity, Flint, LLL

clip_image014clip_image015clip_image016clip_image017

Making ICOs fair (Reversible ICO)

Fabian Vogelsteller

He has helped build a few important things, like Ethereum wallet, mist browser, web3, ERC-20 standard, ERC-725.
Tokens allow you to own them, and transfer them.
Just a smart contract with an internal list of account balances.

What triggered the ICO explosion was the way that smart contracts could call and integrate with each other. Could creating funding contracts, token issuance, etc.
clip_image018

But people greedy. Were collecting a LOT of money, but maybe without having a solid basis for the proposed project.
So how can we make this more fair, what makes a Fair ICO?

Vitalik wrote an article on "DAICO" as one possible solution, was based on voting on the funding flow from the pool to the developers. Problem is people don't vote.

Reversible ICO

Funds are given over time based on a "tap".
Everybody can send his tokens back and get the "not yet given" funds out.

1. allocation phase. Committing funds to the project.
2. distribution phase. Funds are released slowly over time.
2.1 if at some point you think the project has gone off course, you can withdraw your tokens and get back your (not yet given) funding.
3. Swap phase. Swap out for utility tokens to use the final project, or final shares, etc.

He is going to try it out with his own ICO for https://www.lukso.io/

clip_image019clip_image020

SWARM Team update

http://Swarm.ethereum.org

Decentralised file storage.
Session is a collection of team updates

Warning: <My yearly rant as they never make any real progress>

I still do not understand why they don't just embrace IPFS as the base decentralised file store layer, and then build Ethereum specific extensions on top of this. It would help ensure there is a critical mass of decentralised file nodes, faster connection times, resolution, etc. Not only that, the community has been building on IPFS for the last 2 years.

The ONE interesting part they were doing was the SWAP/SWEAR/SWINDLE incentive layer. That would have been a great research project to put on top of IPFS, and leveraged what is already built. But this year they didn't even speak of the incentive layer!

They are just reinventing the wheel, and have delayed their own progress by YEARS.

Releases
New release process. It is now in the same repo as geth. Whenever there is a geth release, there is a swarm release.
Whenever there is a swarm release, the nodes at swarm-gaeways.net are updated to newest version.
It is easier to install now. Can get via apt-get, docker images, binaries.

Feeds
Is a pub/sub system.
Is a key/value store.
Each user can only update their own key space, but can read other key spaces..
Could be used for IoT data feeds.

clip_image021clip_image022clip_image023clip_image024

Encryption
Rolled their own encryption algorithm.
Took an existing crypto algorithm and "tweaked it".
Missed a screenshot of their variation.

I'm sure nothing has EVER gone wrong with writing your own encryption algorithm.

Access Control
Does it by encypring the data, and giving keys to just the people that should be able to access it.
Accessing content which is "access controlled" is enabled ONLY when using a local node.
Don't use a public node, as they could read anything you have access to.

clip_image025clip_image026clip_image027

Observability
Metric logging for swarm nodes. CPU, memory, number of peers, etc.
clip_image028

PSS
"yet another messaging system", why this over Whisper?
Focuses on efficiency over secrecy.
On by default, can't disable.
clip_image029clip_image030

Light Node
Only briefly connected clients that spin up, let a user do something, and then usually disappear
clip_image031

Roadmap

clip_image032clip_image033

Universal Ethereum logins

The bad UX experience of signing up first time to Ethereum is terrible. Requring taking selfies with your passport to sign up for an exchange, to get buy Ether, etc etc etc.
The UX is so bad, that there were more ICOs this year than daily average Ethereum users ;-)

clip_image034clip_image035

Showed an awesome demo of onboarding a new user, completely in browser. No keys or ether. Really watch this session for inspiration.

clip_image036clip_image037clip_image038clip_image039clip_image040clip_image041clip_image042clip_image043

Whisper

clip_image044

After Devcon 3, Implemented a libp2p version as an experiment.
It works, but the GO implementation of libp2p isn't very modular and brings in a LOT of dependencies. This needs to be resolved before it is rolled in.

Devp2p was the Ethereum team created protocol.
Libp2p is the one used by IPFS.

Currently they have implemented libp2p next to existing devp2p implementation. Will slowly migrate it across to libp2p and remove the devp2p stuff.
clip_image045

Formality

The are working on the Moon project (This was my #1 thing from last year).

Moon browser: Instead of traditional accounts and passwords, uses crypto signatures.
What if you could fork an entire web application. (not just the front end, but the eth contracts as well).

To enable this, Dapps need a formal specification. A spec of everything this Dapp promises to do.
So to enable moon browser to do something like this they needed to solve this problem.

They looked at a bunch of existing formal spec languages, but non fit. And all were slooooow.
clip_image046

So they created their own called "Formality"
clip_image047clip_image048clip_image049clip_image050

Devp2p development update

Felix Lange, Maintainer of the devp2p specification.

It’s a p2p networking stack.
Doing experiments on running devp2p apps on libp2p. Have an idea how to integrate libp2p into devp2p.

He seemed a bit defeatist. "yeah there are a bunch of implementations. Pretty much all Ethereum blockchain implementations"
State of live network. "Well we're still alive".
Development update. "This is where we usually talk of what we did in 2018. We finalised writing up the spec! And we have a test suite now"
Geth p2p changes. They implemented mitigations to a responsibly disclosed denial vector.
Sharding research is mostly being done on libp2p at the moment. Peers need to switch quickly for sharding, which doesn't work too well in devp2p right now.

Special projects

Dr. Virgil Griffith

Is a grab bag of links to cool projects.

  • Moving nash equilibriums.
    Prisoner's dilemma is non-cooperative. But can change to cooperative if they both pony up a deposit.
  • Created a new frontend for EF grants
  • Created a new wiki http://ethereum.wiki
  • https://ether.cards/ ethereum gift cards
  • peaceBridge. ETH-ETC bridge.
  • They just gave Ethereum Classic a $150k grant.
  • http://woracle.virgil.gr/ can help you create wolframe code. Can use it as an oracle to calculate big numbers
  • Using Intel SGX on desktops, allows you to use any desktop PC as a hardware wallet.
  • http://neverslash.com/ helps protect your staking machines in future.
  • http://crypto.pr/ The Crypto Paradise of the Caribbean