# Day 2: Full Agenda! |Time | Event | Notes / Background material | |--- | ------ | ----- | |9:00AM | Welcome to Day 2! Please arrive by 9AM | *Coffee and pastries served for breakfast* | |9:30AM | Optimising Ethereum clients by Alexey Akhunov | <ul><li>Authenticated data structures (trees)</li><li>Persistence of state in geth and turbo-geth</li><li>Block/tx processing architectures: geth, turbo-geth, Ethermint</li><li>Latest performance data</li><li>Light clients?</li><li>Future experiments (in-memory state, graph DBs)</li></ul> |10:30AM | The Features and Future of Vyper by Jacques | https://vyper.readthedocs.io/en/latest/ | |11:30AM | eWASM Session lead by Alex Beregszaszi | <ul><li>EVMC</li><li>eWASM (current design)</li><li>testnet</li><li>demo</li><li>proposed new designs (for sharding mostly)</li><li>have a proper discussion at each of these blocks with the participants</li></ul>| |1:30PM | Lunch, served at venue | Vegetarian & vegan options available | | 2:30PM | Rent roundtable moderated by Phil Daian | _See below_ | | 3:30PM | Break | | 4:30PM | Phase II: Future by Vitalik & Justin | <a href="https://tinyurl.com/sharding-compendium">Ethereum Sharding Research Compendium | 5:30PM | Round Table: Eth1.0->2.0 by Danny Ryan |Identifying and preparing for the upcoming challenges in the transition to Eth2.0. Topics include:<ul><li>new and existing clients</li><li>web3 and other tooling</li><li>contract languages</li><li>existing contracts and applications</li><li>migrating token communities</li><li>managing user experience, expecations, and the community at large</li></ul> | 6:00 PM | End of Day | ## Background material ### Rent roundtable Phil Daian will be hosting a round table discussion on the introduction of rent. #### Background * https://www.coindesk.com/vitalik-wants-pay-stop-ethereums-runaway-growth/ * https://www.ethnews.com/ethereum-developers-talk-rent-fees-for-mainnet-smart-contracts * [academic paper; several sections on rent and mispricing of storage](https://eprint.iacr.org/2018/078.pdf) * [storage arbitrage in the absence of rent](https://gastoken.io/) * [longer form podcast on rent](http://www.zeroknowledge.fm/25) * relevant research threads * https://ethresear.ch/t/duplication-of-institutions-in-state-storage/1763 * https://ethresear.ch/t/a-simple-and-principled-way-to-compute-rent-fees/1455 * https://ethresear.ch/t/improving-the-ux-of-rent-with-a-sleeping-waking-mechanism/1480 * https://ethresear.ch/t/paying-rent-with-deposits/2221/16 * historical EIP proposals (NOT the newest rent schemes) * https://github.com/ethereum/EIPs/issues/35 * https://github.com/ethereum/EIPs/issues/87 #### Agenda Rough agenda w questions: - Background; state vs. history. [2 mins] - When a user does a transaction on Ethereum, who pays for the costs of this transaction? How do they get paid? To whom? - Background; state storage issue. [13 mins] - In Ethereum, what is "state"? How does state affect regular users of the network, say in the example of a user who holds many ERC20s and uses decentralized exchanges regularly? - What are the pain points of storing large amounts of data in state? How close are we to feeling these pain points in practice? - Do miners need to store state? Do miners need to store history? What type of node is responsible for storing both state and history? - What are the consequences of permanently losing some storage in state? What about permanently losing some part of history? - Background; commons vs. cryptoeconomics. [5 mins] - We all hear a lot that blockchains are supposed to achieve "cryptoeconomic security". What does this actually mean? - Cryptoeconomic security has primarily been studied for mining. How do full nodes relate to this picture? Archival nodes? - Is the current storage model cryptoeconomically robust? Why or why not? How does this relate to "tragedy of the commons". - Rent: concrete scheme details [5 mins] - How should the protocol or its users choose a rent to charge? - There are several options for rent; burning the rent, paying it to miners, or other. What are the trade-offs in these choices? - What proposals have there been around the case where a user's storage does expire and is no longer stored? Who would be responsible for storing such data? - Would rent be paid at the contract or storage key level? What would tradeoffs in this design space look like? - There has been some discussion of locking Ether as an alternative to actively paying rent fees. What tradeoffs exist in such designs? - Rent: teaching the controversy [5 mins] - The last time rent came up in Ethereum in late 2017 it was very politically controversial, with discussions quickly dying in favor of stateless clients. Why is this such a controversial issue? - Is rent *actually* necessary, or is it controversial for a reason? - Do you have any ideas about backwards compatibility of existing data on chain? What guarantees should we strive to maintain in a rentful model? - Rent: appropriate horizons [5 mins] - How urgent is the rent issue? What would be a plausible schedule for transitioning into a rentful model? - Does adding rent become more difficult as time goes on? Why? - For future changes to the economic or fee model, how can we balance user expectations of the system continuing to behave as it is now with sufficient flexibility to tackle future challenges? - Would you advise new blockchains to implement rent on Day 0? Why or why not? - Rent: UI/UX challenges [5 mins] - What are the primary usability challenges in implementing rent? - What is the ideal end-user abstraction or experience for dealing with rent? - Instead of rent, could we target bounded permanent state growth? What are the trade-offs in doing so? - Why do people hate rent so much? Can we rename it to something less controversial? - Rent: value of decentralization and robustness [5 mins] - In general, what is the value of a robust blockchain and how does it relate to decentralization? - How can rent bolster the robustness or decentralization of Ethereum? Is it at all related to decentralization? - What is the value of paying rent to the system as a whole? How can we show individual users this value towards overcoming the tragedy of the commons we see now.