Why is are new projects (ETH 2.0, Polkadot (Substrate) ) favouring Libp2p over DevP2P?
I have seen this answer, but it doesnt really drawn strict comparisons.
Why is are new projects (ETH 2.0, Polkadot (Substrate) ) favouring Libp2p over DevP2P?
I have seen this answer, but it doesnt really drawn strict comparisons.
devp2p is the older network wire protocol, for propagating blocks and other low-level functionality between Ethereum nodes. It was designed specifically for Ethereum from scratch, in isolation from other distributed systems and open source projects.
libp2p is the wire protocol used by IPFS, which in many ways supplies the distributed file storage that complements Ethereum and has since grown to a be a more general protocol (like Ethernet is a general Layer 2 protocol for the Internet).
libp2p supports, for example, encrypted connections and works in the browser, both of which are useful for truly decentralized apps in the future that guard your privacy.
The general reason for communities choosing a more general library over a specific homegrown one is to benefit from more code contributions and developer effort ("many eyes make bugs shallow"), reduced duplication of effort, newer features over time, and the ability to concentrate on the other areas which are truly unique to Ethereum rather than reinventing the wheel.
substrate
, would you be interested in a dedicated Stack Exchange Q&A site for Substrate, Polkadot, et al. -- check out the Area51 Substrate Proposal