Updated Nimbus Roadmap (markdown)
parent
e999d8b5b1
commit
5f6fdedbba
|
@ -8,18 +8,18 @@ tasks are specified in the same level of detail.
|
|||
## Development tasks:
|
||||
|
||||
|
||||
### 1. Select an AES and SHA256 implementation
|
||||
### 1. Select an AES and SHA256 implementation. (COMPLETED)
|
||||
|
||||
The AES library should support both AES256 in CTR mode (as per [the RLPx spec][1])
|
||||
and GCM mode (used in [Whisper v6][2])
|
||||
|
||||
Suggested library: Crypto++
|
||||
Library used: [NimCrypto](https://github.com/cheatfate/nimcrypto)
|
||||
|
||||
[1]: https://github.com/ethereum/devp2p/blob/master/rlpx.md
|
||||
[2]: https://gist.github.com/gluk256/cbdf8d1f05c72c2273cc42bce905388a
|
||||
|
||||
|
||||
### 2. Implement ECIES
|
||||
### 2. Implement ECIES (COMPLETED)
|
||||
Required for the [encyprted handshake][3]. Based on libsecp256k1.
|
||||
|
||||
Reference implementation:
|
||||
|
@ -50,16 +50,22 @@ tasks are specified in the same level of detail.
|
|||
- https://github.com/zielmicha/nim-bloom
|
||||
|
||||
|
||||
### 5. Ethereum key file
|
||||
### 5. Ethereum key file (PARTIALLY COMPLETED)
|
||||
The key file stores the keys associated with one or more accounts in
|
||||
password-protected encrypted form.
|
||||
|
||||
Reference implementation:
|
||||
- https://github.com/ethereum/eth-keyfile
|
||||
|
||||
Implementation:
|
||||
- https://github.com/status-im/nim-eth-keyfile
|
||||
|
||||
Sub-tasks:
|
||||
* [ ] Safe storage
|
||||
* [ ] Key generation / passphrase recovery
|
||||
* [X] Safe storage (PBKDF2)
|
||||
* [ ] Safe storage (SCRYPT)
|
||||
* [X] Key generation (PBKDF2)
|
||||
* [ ] Key generation (SCRYPT)
|
||||
* [ ] Password recovery (is it possible at all?)
|
||||
* [ ] Use native APIs on mobile platforms
|
||||
|
||||
Depends on:
|
||||
|
@ -121,15 +127,15 @@ tasks are specified in the same level of detail.
|
|||
routers. UPnP can be used to automate this.
|
||||
|
||||
|
||||
### 9. Authenticated handshake
|
||||
### 9. Authenticated handshake (PARTIALLY COMPLETED)
|
||||
|
||||
https://github.com/ethereum/devp2p/blob/master/rlpx.md#encrypted-handshake
|
||||
|
||||
Sub-tasks:
|
||||
* [ ] Authenticate previously known nodes with an old session key
|
||||
* [ ] Authenticate newly discovered nodes
|
||||
* [X] Authenticate newly discovered nodes
|
||||
* [ ] Support RLPx sub-protocol negotiation in the authentication message (capabilities)
|
||||
* [ ] Derive shared secrets from handshake
|
||||
* [X] Derive shared secrets from handshake
|
||||
|
||||
Depends on:
|
||||
* [Select an AES implementation](#select-an-aes-implementation)
|
||||
|
|
Loading…
Reference in New Issue