ChainSafe / ChainSafe/discv5

Upgrade AES to use nodejs builtins

Open
#200 1 comment 1 reaction 0 assignees View on GitHub
prio-low
Dominant language
TypeScript
Stars
31
Forks
21
PR merge metrics
No merged PRs in 30d

Description

`discv5` currently uses the `bcrypto` implementation of the AES ciphers and this can relatively painlessly be switched to use the nodejs builtin equivalents. This work was already done in #197 and should be easily pulled out into a standalone PR and appeared to provide a modest performance improvement at the same time.

Node builtins
✔ benchmark aes cipher encryption/decryptions 23322.53 ops/s 42.87700 us/op - 2322 runs 0.101 s

With bcrypto
✔ benchmark aes cipher encryption/decryptions 21194.07 ops/s 47.18300 us/op - 2137 runs 0.102 s

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the AES-related work in issue #197 and locate the current discv5 use of bcrypto. Replace that implementation with the Node.js built-in equivalent, then run the AES encryption/decryption benchmark to confirm the ciphers still work and compare performance.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, typescript
Domain
cryptography
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.