Folding LES into ETH
Problem
The LES subprotocol competes the ETH in two ways. The first, it fragments developer mindshare between the two protocols. Second, it can fragment the code bases that support both. Consolidating the two would be an all around community win.
Proposal 1: Dropping the DHT
The DHT approach to LES feels too fragile and complex for adoption. Specifically:
- It’s a very complex idea
- Debugging issues is incredibly challenging
- How well it supports use cases (i.e. performance and reliability) is unclear
Proposal 2: Adding the Various LES Messages to ETH
Incorporate a subset of the LES messages to ETH (especially proof-related ones) and possibly make them more granular/higher-level. Again drawing from the Parity LES documentation:
Keep
-
(Get)Proof. However, the interface could be made more high-level so that the proof for whether the account state trie, account storage trie(s), or both are being requested.
-
(Get)ContractCodes
-
(Get)TransactionProofs would now have to be (Get)BlockProofs now that the intermediate state root has been removed from transaction receipts.
Remove
- Capabilities as they would now be apparent from the proposal for making pruned state apparent.