From 2fe5b1d04cdbbaf094362865656f193dd9d053e5 Mon Sep 17 00:00:00 2001 From: Sam Richards Date: Wed, 1 Jun 2022 13:12:01 +0200 Subject: [PATCH] Add (broken) header ids --- src/content/community/research/index.md | 152 ++++++++++++------------ 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/src/content/community/research/index.md b/src/content/community/research/index.md index 84a24e9776f..422e3d7c992 100644 --- a/src/content/community/research/index.md +++ b/src/content/community/research/index.md @@ -5,29 +5,29 @@ sidebar: true lang: en --- -# Active areas of Ethereum research +# Active areas of Ethereum research {#active-areas-of-ethereum-research} One of the primary strengths of Ethereum is that it is constantly being improved by an active research and engineering community. There are many enthusiastic, skilled people worldwide that would like to apply themselves to outstanding issues in Ethereum, but it is not always easy to find out what those issues are. This page aims to outline key areas of active research as a rough guide to Ethereum's cutting edge. -## How Ethereum research works +## How Ethereum research works {#how-ethereum-research-works} Ethereum research is open and transparent. The culture is to make research tools and outputs as open and interactive as possible, for example through executable notebooks. Ethereum research is generally rapid, with new findings posted and discussed in the open on forums such as [ethresear.ch](https://ethresear.ch/) rather than reaching the community through traditional publications after rounds of peer review. -## General research resources +## General research resources {#general-research-resources} Regardless of the specific topic, there is a wealth of information on Ethereum research to be found at [ethresear.ch](https://ethresear.ch) and the [Eth R&D Discord channel](https://discord.gg/n7JxAeRu). These are the primary places where Ethereum researchers discuss the latest ideas and development opportunities. This May 2022 report from [DelphiDigital](https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum) also covers a lot of ground. -## Protocol research +## Protocol research {#protocol-research} Protocol research is concerned with Ethereum's base layer - the set of rules defining how nodes connect, communicate, exchange and store Ethereum data and come to consensus about the state of the blockchain. The protocol can be divided into two top-level categories: consensus and execution. -### Consensus +### Consensus {#consensus} Consensus research is concerned with [Ethereum's proof-of-stake mechanism](/developers/docs/consensus-mechanisms/pos/), for example identifying and patching vulnerabilities, quantifying cryptoeconomic security, increasing the security or performance of client implementations and developing light clients. Some fundamental redesigns of the protocol to confer large improvements to Ethereum are also being researched, for example single slot finality. Furthermore, the efficiency and safety and monitoring of the peer-to-peer networking between consensus clients are also important research topics. -#### Background reading +#### Background reading {#recent-research} [Introduction to proof-of-stake](/developers/docs/consensus-mechanisms/pos/) @@ -37,7 +37,7 @@ Consensus research is concerned with [Ethereum's proof-of-stake mechanism](/deve [Gasper paper](https://arxiv.org/abs/2003.03052) -#### Recent research +#### Recent research {#recent-research} [Ethresear.ch Consensus](https://ethresear.ch/c/consensus/29) @@ -47,17 +47,17 @@ Consensus research is concerned with [Ethereum's proof-of-stake mechanism](/deve [Proposer-builder separation](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance) -### Execution +### Execution {#recent-research-1} The execution layer is concerned with executing transactions, running the [Ethereum virtual machine (EVM)](/developers/docs/evm/) and generating execution payloads to pass to the consensus layer. There are many active areas of research, especially as execution clients are updated ready for [the Merge](/upgrades/merge/). This includes building out light client support, research into gas limits and incorporating new data structures (e.g. Verkle Tries). -#### Background reading +#### Background reading {#recent-research-1} [Introduction to the EVM](/developers/docs/evm) [Ethresear.ch execution layer](https://ethresear.ch/c/execution-layer-research/37) -#### Recent research +#### Recent research {#recent-research-1} [Database optimizations](https://github.com/ledgerwatch/erigon/blob/devel/docs/programmers_guide/db_faq.md) @@ -69,33 +69,33 @@ The execution layer is concerned with executing transactions, running the [Ether [Data availability sampling](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding) -## Client Development +## Client Development {#client-development} Client development makes the outcomes from protocol research into reality by building them into Ethereum clients - implementations of the Ethereum protocol. This includes updating the client specifications as well as building specific implementations. An Ethereum node is required to run two pieces of software: 1) a consensus client to keep track of the head of the blockchain, gossip blocks and handle consensus logic and 2) an execution client to support the Ethereum Virtual Machine and execute transactions. The [nodes and clients page](/developers/docs/nodes-and-clients/) explains about nodes and clients and includes links to all current client implementations. You can also find a history of all Ethereum upgrades on our [history page](/history/). -### Execution Clients +### Execution Clients {#execution-clients} [Execution client specification](https://github.com/ethereum/execution-specs) [Execution API spec](https://github.com/ethereum/execution-apis) -### Consensus Clients +### Consensus Clients {#consensus-clients} [Consensus client specification](https://github.com/ethereum/consensus-specs) [Beacon API specification](https://ethereum.github.io/beacon-APIs/#/Beacon/getStateRoot) -## Scaling and performance +## Scaling and performance {#scaling-and-performance} There are ongoing efforts to scale Ethereum using a variety of techniques including sharding the blockchain, danksharding and using rollups. Introductory information on scaling Ethereum is available on our [scaling page](/developers/docs/scaling). -### Layer 2 +### Layer 2 {#recent-research-2} There are now several Layer 2 protocols that scale Ethereum using different techniques for batching transactions and securing them on Ethereum layer 1. This is a very rapidly growing topic with a lot of research and development potential. -#### Background reading +#### Background reading {#recent-research-2} [Introduction to layer 2](/layer-2/) @@ -103,7 +103,7 @@ There are now several Layer 2 protocols that scale Ethereum using different tech [Polynya: Rollups, DA and modular chains](https://polynya.medium.com/rollups-data-availability-layers-modular-blockchains-introductory-meta-post-5a1e7a60119d) -#### Recent research +#### Recent research {#recent-research-2} [Arbitrum's fair-ordering for sequencers](https://eprint.iacr.org/2020/269.pdf) @@ -113,11 +113,11 @@ There are now several Layer 2 protocols that scale Ethereum using different tech [L2Beat](https://l2beat.com/) -### Bridges +### Bridges {#recent-research-3} One particular area of layer 2 that requires more research and development is safe and performant bridges. This includes bridges between various Layer 2s and bridges between Layer 1 and Layer 2. This is a particularly important area of research because bridges are commonly targeted by hackers. -#### Background reading +#### Background reading {#recent-research-3} [Introduction to blockchain bridges](/bridges/) @@ -127,15 +127,15 @@ One particular area of layer 2 that requires more research and development is sa [Valkue locked in bridges]() -#### Recent research +#### Recent research {#recent-research-3} [Validating bridges](https://stonecoldpat.github.io/images/validatingbridges.pdf) -### Sharding +### Sharding {#recent-research-4} Sharding Ethereum's blockchain has long been part of the development roadmap. However, new scaling solutions such as "Danksharding" are currently taking center stage. -#### Background reading +#### Background reading {#recent-research-4} [Introduction to Ethereum sharding](/upgrades/shard-chains/) @@ -147,33 +147,33 @@ Sharding Ethereum's blockchain has long been part of the development roadmap. Ho [Danksharding (Polynya)](https://polynya.medium.com/danksharding-36dc0c8067fe) -#### Recent research +#### Recent research {#recent-research-4} [EIP-4844: Proto-Danksharding](https://github.com/ethereum/EIPs/pull/5088) [Vitalik on sharding and data availability sampling](https://hackmd.io/@vbuterin/sharding_proposal) -### Hardware +### Hardware {#recent-research-5} [Running nodes](/developers/docs/nodes-and-clients/run-a-node/) on modest hardware is fundamental to keeping Ethereum decentralized. Therefore, active research into minimizing the hardware requirements to run nodes is an important area of research. -#### Background reading +#### Background reading {#recent-research-5} [Ethereum on ARM](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/) -#### Recent research +#### Recent research {#recent-research-5} [ecdsa on FGPAs](https://ethresear.ch/t/does-ecdsa-on-fpga-solve-the-scaling-problem/6738) -## Security +## Security {#security} Security is a broad topic that might include spam/scam prevention, wallet security, hardware security, crypto-economic security, bug hunting and testing of applications and client software and key-management. Contributing to knowledge in these areas will help stimulate mainstream adoption. -### Cryptography & ZKP +### Cryptography & ZKP {#recent-research-6} Zero-knowledge proofs (ZKP) and cryptography are critical for building privacy and security into Ethereum and its applications. Zero-knowledge is a relatively young but fast-moving space with many open research and development opportunities. Some possibilities include developing more efficient implementations of the [Keccak hashing algorithm](https://hackmd.io/sK7v0lr8Txi1bgION1rRpw?view#Overview), finding better polynomial commitments than currently exist or reducing the cost of ecdsa public key generation and signature verification circuits. -#### Background reading +#### Background reading {#recent-research-6} [0xparc blog](https://0xparc.org/blog) @@ -181,17 +181,17 @@ Zero-knowledge proofs (ZKP) and cryptography are critical for building privacy a [Zero Knowledge podcast](https://zeroknowledge.fm/) -#### Recent research +#### Recent research {#recent-research-6} [Recent advance in elliptic curve cryptography](https://ethresear.ch/t/the-ec-fft-algorithm-without-elliptic-curve-and-isogenies/11346) [Ethresear.ch ZK](https://ethresear.ch/c/zk-s-nt-arks/13) -### Wallets +### Wallets {#recent-research-7} Ethereum wallets can be browser extensions, desktop and mobile apps or smart contracts on Ethereum. There is active research into social recovery wallets that reduce some of the risk associated with individual-user key management. Associated with development of wallets is research into alternative forms of account abstraction, which is an important area of nascent research. -#### Background reading +#### Background reading {#recent-research-7} [Introduction to wallets](/wallets/) @@ -203,7 +203,7 @@ Ethereum wallets can be browser extensions, desktop and mobile apps or smart con [EIP-4337 Account Abstraction](https://eips.ethereum.org/EIPS/eip-4337) -#### Recent research +#### Recent research {#recent-research-7} [Validation focused smart contract wallets](https://ethereum-magicians.org/t/validation-focused-smart-contract-wallets/6603) @@ -213,19 +213,19 @@ Ethereum wallets can be browser extensions, desktop and mobile apps or smart con [Publishing code code at EOA addresses](https://github.com/ethereum/EIPs/pull/5003) -## Community, education and outreach +## Community, education and outreach {#community-education-and-outreach} Onboarding new users onto Ethereum requires new educational resources and approaches to outreach. This might include blog posts and articles, books, podcasts, memes, teaching resources events and anything else that builds communities, welcomes new starters and educates people about Ethereum. -### UX/UI +### UX/UI {#recent-research-8} For Ethereum to onboard more people the UX/UI must be improved. This requires designers and UI and product experts to re-examine the design of wallets and apps. -#### Background reading +#### Background reading {#recent-research-8} [Ethresear.ch UX/UI](https://ethresear.ch/c/ui-ux/24) -#### Recent research +#### Recent research {#recent-research-8} [Web3 Design Discord](https://discord.gg/FsCFPMTSm9) @@ -233,17 +233,17 @@ For Ethereum to onboard more people the UX/UI must be improved. This requires de [Ethereum Magicians UX discussion](https://ethereum-magicians.org/t/og-council-ux-follow-up/9032/3) -## Economics +## Economics {#recent-research-9} There are complex crypto-economic factors relating to Ethereum's native asset (ether) and the tokens built on top of it (for example NFTs and ERC20 tokens). -#### Background reading +#### Background reading {#recent-research-9} [Rollup economics from first principles](https://barnabe.substack.com/p/understanding-rollup-economics-from?utm_source=url) [Robust Incentives Group](https://ethereum.github.io/rig/) -#### Recent research +#### Recent research {#recent-research-9} [Empirical analysis of EIP1559]([https://arxiv.org/abs/2110.04753) @@ -255,15 +255,15 @@ There are complex crypto-economic factors relating to Ethereum's native asset (e [EIP 1559: One month later](https://arxiv.org/abs/2110.04753) -### PoS incentives +### PoS incentives {#recent-research-10} When Ethereum transitions to proof of stake, its native asset (ether) will be used as collateral by validators. The cryptoeconomics of this determines the security of the network. Sophisticated validators may be able to exploit the nuances of the incentive layer to theior own advantage by extracting MEV or launching explicit attacks. -#### Background reading +#### Background reading {#recent-research-10} [Robist Incentives Group: PoS incentives](https://ethereum.github.io/beaconrunner/) -#### Recent research +#### Recent research {#recent-research-10} [Vitalik on PBS](https://notes.ethereum.org/s3JToeApTx6CKLJt8AbhFQ#Hybrid-PBS-can-we-use-proposers-only-for-inclusion-of-last-resort) @@ -271,29 +271,29 @@ When Ethereum transitions to proof of stake, its native asset (ether) will be us [Low-cost attacks on Ethereum 2.0 by sub 1/3 stakeholders](https://arxiv.org/abs/2102.02247) -### Liquid staking and derivatives +### Liquid staking and derivatives {#recent-research-11} Liquid staking allows users with less than 32 ETH to receive staking yields by swapping ether for a token representing staked ether that can be used in DeFi. However, the incentives and market dynamics associated with liquid staking as well as its effect on Ethereum's security (e.g. centralization risks). -#### Background reading +#### Background reading {#recent-research-11} [Ethresear.ch liquid staking](https://ethresear.ch/search?q=liquid%20staking) -#### Recent research +#### Recent research {#recent-research-11} [Handling withdrawals from Lido](https://ethresear.ch/t/handling-withdrawals-in-lidos-eth-liquid-staking-protocol/8873) [Withdrawal credentials](https://ethresear.ch/t/withdrawal-credential-rotation-from-bls-to-eth1/8722) -### Fee markets +### Fee markets {#recent-research-12} Ethereum transaction fees protect the network from spam, denial-of-service attacks and bad smart-contract code. However, it also affects the end-user by influencing the cost of interacting with Ethereum. Balancing network security with end-user user-experience is an ongoing challenge that requires further research and development. -#### Background reading +#### Background reading {#recent-research-12} [EIP-1559 (Robust Incentives Group)](https://ethereum.github.io/abm1559/notebooks/eip1559.html) -#### Recent research +#### Recent research {#recent-research-12} [EIP-4396](https://eips.ethereum.org/EIPS/eip-4396) @@ -303,75 +303,75 @@ Ethereum transaction fees protect the network from spam, denial-of-service attac [Cross domain MEV](http://arxiv.org/abs/2112.01472) -## Testing +## Testing {#testing} -### Formal verification +### Formal verification {#recent-research-13} Formal verification is writing code to verify that Ethereum's consensus specifications are correct and bug-free. There is an executable version of the specification written in Python that requires maintenance and development. Further research can help to improve the Python implementation of the specification and add tools that can more robustly verify correctness and identify issues. -#### Background reading +#### Background reading {#recent-research-13} [Introduction to formal verification](https://ptolemy.berkeley.edu/projects/embedded/research/vis/doc/VisUser/vis_user/node4.html) [Formal Verification (Intel)](https://www.cl.cam.ac.uk/~jrh13/papers/mark10.pdf) -#### Recent research +#### Recent research {#recent-research-13} [Formal verification of the deposit contract](https://github.com/runtimeverification/deposit-contract-verification) [Formal verification of the Beacon Chain specification](https://github.com/runtimeverification/deposit-contract-verification) -## Data science and analytics +## Data science and analytics {#data-science-and-analytics} There is a need for more data analysis tools and dashboards that give detailed information about activity on Ethereum and the health of the network. -### Background reading +### Background reading {#recent-research-14} [Dune Analytics](https://dune.com/browse/dashboards) [Client diversity dashboard](https://clientdiversity.org/) -#### Recent research +#### Recent research {#recent-research-14} [Robust Incentives Group Data Analysis](https://ethereum.github.io/rig/) -## Apps and tooling +## Apps and tooling {#apps-and-tooling} The application layer supports a very diverse ecosystem of programs that settle transactions on Ethereum's base layer. App teams are constantly finding new ways to leverage Ethereum to create lower-friction, composable, permissionless and censorship resistant versions of important Web2 apps or creating completely new web3-native concepts. At the same time, new tooling is being developed that makes building increasingly complex Ethereum apps easier. -### DeFi +### DeFi {#recent-research-15} Decentralized finance (DeFi) is one of the primary classes of application built on top of Ethereum. DeFi aims to create composable "money legos" that allow users to store, transfer, lend, borrow and and invest crypto-assets using smart contracts. This is a fast-moving space that is constantly updating. Research into secure, efficient and accessible protocols is constantly needed. -#### Background reading +#### Background reading {#recent-research-15} [DeFi](/defi/) [Coinbase: What is DeFi?](https://www.coinbase.com/learn/crypto-basics/what-is-defi) -#### Recent research +#### Recent research {#recent-research-15} [Decentralized finance, centralized ownership?](https://arxiv.org/pdf/2012.09306.pdf) [Optimism: The road to sub-dollar transactions](https://medium.com/ethereum-optimism/the-road-to-sub-dollar-transactions-part-2-compression-edition-6bb2890e3e92) -### DAOs +### DAOs {#recent-research-16} DAOs are one of the key classes of application being built on top of Ethereum. There is a lot of very active research into how they may develop to replace corporations and other traditional organizations. -#### Background reading +#### Background reading {#recent-research-16} [Dao Collective](https://daocollective.xyz/) -#### Recent research +#### Recent research {#recent-research-16} [Mapping the DAO ecosystem](https://www.researchgate.net/publication/358694594_Mapping_out_the_DAO_Ecosystem_and_Assessing_DAO_Autonomy) -### Developer tools +### Developer tools {#recent-research-17} Tools for Ethereum developers are rapidly improving. There is lots of active research and development to do in this general area. -#### Background reading +#### Background reading {#recent-research-17} [Tooling by programming language](/developers/docs/programming-languages/) @@ -385,29 +385,29 @@ Tools for Ethereum developers are rapidly improving. There is lots of active res [CryptoDevHub: EVM Tools](https://cryptodevhub.io/wiki/ethereum-virtual-machine-tools) -#### Recent research +#### Recent research {#recent-research-17} [Eth R&D Discord Consensus Tooling channel](https://discordapp.com/channels/595666850260713488/746343380900118528) -### Oracles +### Oracles {#recent-research-18} Oracles are used to import off-chain data on-chain in a permissionless and decentralized way. This enables dapps to be reactive to real world phenomena such as price fluctuations in real-world assets, events in off-chain apps or even changes in the weather. -#### Background reading +#### Background reading {#recent-research-18} [Introduction to Oracles](/developers/docs/oracles/) -#### Recent Research +#### Recent Research {#recent-research-18} [Survey of blockchain oracles](https://arxiv.org/pdf/2004.07140.pdf) [Chainlink white paper](https://chain.link/whitepaper) -### App security +### App security {#recent-research-19} Hacks on Ethereum nearly always exploit vulnerabilities in individual applications rather than the base protocol. Hackers and app developers are locked in an arms race to develop new attacks and defenses. This means there is always important research and development required to keep apps safe from hacks. -#### Background reading +#### Background reading {#recent-research-19} [Wormhole exploit report](https://blog.chainalysis.com/reports/wormhole-hack-february-2022/) @@ -415,15 +415,15 @@ Hacks on Ethereum nearly always exploit vulnerabilities in individual applicatio [Rekt News](https://twitter.com/RektHQ?s=20&t=3otjYQdM9Bqk8k3n1a1Adg) -#### Recent research +#### Recent research {#recent-research-19} [ethresear.ch Applications](https://ethresear.ch/c/applications/18) -### Technology stack +### Technology stack {#recent-research-20} Apps on Ethereum are rarely fully decentralized because they rely on some centralized tooling or infrastructure. Decentralizing the full tech stack is an important research area. -#### Background reading +#### Background reading {#recent-research-20} [Coinbase: Intro to Web3 Stack](https://blog.coinbase.com/a-simple-guide-to-the-web3-stack-785240e557f0) @@ -433,10 +433,10 @@ Apps on Ethereum are rarely fully decentralized because they rely on some centra [Introduction to decentralized storage](/developers/docs/storage/) -#### Recent research +#### Recent research {#recent-research-20} [Smart contract composability](/developers/docs/smart-contracts/composability/) -## Sources of Funding +## Sources of Funding {#sources-of-funding} You can get involved with Ethereum research and get paid for it! For example, the [Ethereum Foundation](/foundation/) recently ran an [Academic Grants](/community/grants/academic-grants-round/) funding round. Information on active and upcoming funding opportunities can be found on the [Ethereum grants page](/community/grants/).