What I Learned at BuildEth 2019

The State of the Ethereum Network (Scott Bigelow, Amberdata)

Amberdata is a tool keeping track of trends on the Ethereum network:

Dapps have become more tightly integrated together

The State of the Community (Grant Hummer, Chromatic Capital)

User community is not there yet for Ethereum. Today there’s barely 20,000 users per day across all dapps. The most popular dapps see 1,000 users per day. This is ridiculously low by web standards.

DeFi is the exception! It has the potential to attract a lot of users because of the use cases it unlocks.

Dev community is healthy, with 1.3M users on Meetups. EthGlobal hackathons are blooming. Investors are the least important part of the community.

The Ethereum Foundation (Albert Ni, Ethereum Foundation)

Nothing really important to note here except one quote and one book. Quote: “Coherence is not completeness”. Which we can interpret as: it’s easier to have a strong opinion with less information.

And one book: Good Strategy Bad Strategy.

A Tour of the DApp Landscape (Orest Byskosh, Ausum Ventures)

This was more or less an inventory of all the interesting dapps out there.

Did you know? Nick Szabo coined the term smart contract. From inception to August 2018, over 28B dollars have been raised.

Collectibles:

Games and gambling are significantly more successful with users:

Decentralized finance:

Wallets, UX/UI, and More (Austin Griffith, Burner Wallet)

Several interesting concepts here:

The Finality Gadget: Putting ETH2 to Work (Alex Stokes, Ethereum Foundation)

This talk went over my head a bit, forgive me for the rough notes.

ETH 2.0 rollout will happen in 3 phases:

Phase 0 (beacon chain): beacon chain is a systel-level blockchain. Along with beacon chain, Casper (PoS consensus) is being rolled out. Empty references to shards are being dropped.

Phase 1: 1024 shards are being added to shard data. Blocks just have 16kb of random data. Canonical shards are crosslinked into the beacon chain.

Phase 2: eWASM VM, flexible execution environments, and sharding of application chains

Ethereum 1.x can be improved today without waiting for ETH2.0. One of these things is Finality Gadget.

Finality Gadget (part of Casper):

Under normal conditions ETH1.0 block hashes enter the beacon chain with every beacon block. The casper consensus finalizes these beacon blocks. if an ETH1.0 block hash is finalized on the beacon chain, then every block beneath it in on the ETH 1.0 chain is implicitly finalized as well.

More details are available in this blog post.

How We Developed the ETH2 Client (Terence Tsao, Prysmatic Labs)

This talk wasn’t very dense. Takeaways:

Using Randomness in Smart Contracts (Haseeb Qureshi, Metastable)

Really interesting session. The first idea is that the blockchain itself does not have good solutions for sources of randomness:

VDFs (Verifiable Delay Functions) are hard function that can only be computed sequentially (not parallelizable). Example: iterative hashing. Iterative hashing is a VDF but cannot be verified easily (to verify the output, the verifier has to compute the iterative hashes).

Final solution: f(D, N1 ^ N2 ^ N3 ...). See also NEAR’s article on randomness, which explores these notions and goes a step further.

Writing Smart Contracts with ZK Proofs (Elena Nadolinski, Beanstalk Network)

Very good talk. Link to slides.

What are ZKPs? (Zero-Knowledge Proofs). It’s a system to reveal knowledge of a solution to a probem without revealing the solution itself. For instance, if I want to reveal the knowledge of a solution to a “where is Waldo” problem, I can take a close-up picture of Waldo without any surrounding context to prove that I know where he is. But that doesn’t reveal his location on the page.

ZKPs are different from privacy. ZKPs, fundamentally, are computation proofs. In math terms, if f(x) = y, ZKPs are a way to reveal a proof and y, without revealing x, to convince somebody that I’ve done computation f

ZKPs have a lot of possible applications:

ZKPs come in different flavors:

Projects using ZKPs: Coda, beanstalk (privacy coin), 0x, Zcash, monero. Matter

Tooling for SNARKS:

Tooling for STARKs:

Tooling for Bulletproofs:

What’s easiest to start with

Geofencing with ERC 1404 (Mason Borda, TokenSoft)

Interesting talk, mostly because I work for Coinbase Custody and ERC20 regulation is relevant. The speaker is a Tokensoft employee. Their clients: Hedera (Hashgraph), Tezos, tokenized funds, real estate and more. They’ve got more than 30 clients at the moment

Their approach is to treat all ERC20s as a security token, asset-backed or not. The need for a standard comes from banking regulations (KYC/AML), securities laws, tax regulations (more specifically regulation S and D).

One specific regulation that’s hard to comply with on the Ethereum blockchain is the distribution compliance period, during which tokens cannot cross borders. ERC 1404 helps with tracking this.

Other things possible with ERC1404:

Pretty dull discussion overall. The main problem is discoverability. We talked about Squarelink and how it approaches the problem, but never talked about concrete solutions.

PY-EVM: Reinventing Sync is Easier than Optimizing Python (Jason Carver, Ethereum Foundation)

Trinity is the Python client for the ethereum blockchain, powered by py-evm.

This talk was about the different strategies for syncing a node. This isn’t something I’ve given a lot of thought before. There’s “regular sync”, “fast sync”, and “beam sync”. “Beam sync” is a new syncing strategy.

Regular sync:

Fast sync:

Bottlenecks for fast sync are account/storage download. The chain progresses forward while download is happening, and peers might drop old roots (happens every 100 blocks or so).

Beam sync:

The main benefit here is that all beam-syncing peers will download the same trie nodes. There’s a big caching opportunity.

Ethereum Name Service as a UX Solution (Brantly Millegan, Ethereum Name Service)

Namecoin (.bit) is a blockchain just dedicated to naming. Ethereum Name Service (ENS) is a smart contract dedicated to naming, built on top of Ethereum.

Unlike DNS, ENS has no servers! It’s entirely based on smart contracts. It’s been integrated into a ton of wallet apps and even browsers! Typing somename.eth in opera “just works” and loads IPFS websites. For browsers which do not support .eth directly, .eth.link is a compatibility layer to load IPFS websites. Example: http://almonit.eth.link/.

In closing

Super high-quality conference for the price that it cost (I paid $75 for my ticket!). I’d highly recommend it for people who want to get more familiar with the Ethereum ecosystem/community.