js-libp2p
js-libp2p copied to clipboard
[Meta] Crypto updates
This is a meta issue to track work I will be doing around various crypto updates in libp2p.
Noise
We are planning on deprecating libp2p-secio in favor of libp2p-noise. ETA's are based on current estimated timelines of IPFS version updates and are subject to change.
- [x] js-libp2p uses
libp2p-noisein all tests - [x] js-libp2p uses
libp2p-noisein all examples - [x] Integrate
libp2p-noiseinto js-ipfs as fallback forlibp2p-secio(ETA: June 23rd)- [ ] Remove support for
libp2p-secioin js-ipfs (ETA: Aug 11th)
- [ ] Remove support for
ed25519 Keys (ETA: [email protected])
- [ ] js-libp2p defaults to ed25519 keys in all tests
- [x] libp2p/interop tests are being done on ed25519 keys
- [x] ipfs/interop tests are being done on ed25519 keys
- [x] ed25519 keys in
libp2p-cryptomatch the API of rsa keys (they currently differ)- [x] Shoud fix https://github.com/ipfs/js-ipfs/issues/2553
Big Fixes
- [ ] Resolve MAC Invalid error
- [x] Interop ed25519 key marshaling https://github.com/libp2p/js-libp2p-crypto/issues/175
cc @achingbrain @hugomrdias @vasco-santos
@jacobheun we should default PeerId.create to use ed25519 keys as well. When would be a good time for that in this timeline?
@jacobheun we should default PeerId.create to use ed25519 keys as well. When would be a good time for that in this timeline?
@vasco-santos we could time a breaking change of PeerId with the 0.29 work so that we time that with signed peer records.
The major outstanding issue left for this is Keychain support for ed25519 keys, which is due to a lack of import/export support in js-libp2p-crypto.
I believe all outstanding items have been implemented. Feel free to reopen if not the case