Important: Reticulum moving to 128-bit address space #72
markqvist
announced in
Announcements
Replies: 1 comment 1 reply
-
128 bit address space also better secures Reticulum against preimage attacks. I think it's worth the 6 bytes. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
When I drafted the initial spec for Reticulum, about 7 years ago, I really tried to be as foresighted as I possibly could. But of course I made some bad design decisions. Most of these have already been corrected along the way, but one pretty obvious one remains.
My original vision for Reticulum was actually a lot more limited in scope, and I wasn't even really sure whether it would all work or not. At that time I mostly envisioned Reticulum used in isolated instances of small to medium-scale networks, up to a couple of hundred thousand endpoints in size at most. I also had to deal with a very limited per-packet MTU to accommodate the kinds of mediums I wanted to support.
For those reasons, I settled on an address space size of 80 bits, which I calculated to be completely sufficient for the intended scope. That size can comfortably fit millions, even a couple of billion destinations, if you squeeze it, and accept a few collisions. It seemed sufficient, since at that time, I didn't have any ways to deal with all the issues of networks larger than that size anyways.
But things have changed. Reticulum could now potentially handle planetary-scale, or even interplanetary networks, and a billion destinations doesn't really seem to cut it anymore. Don't get me wrong, there is still a lot of work to do in other areas before Reticulum can efficiently run a network with 50 billion destinations, but barring the possibility just because of the address space size is just a bad design decision.
We are also very close to the point where I feel the wire-format and protocol must be locked in, and only changed in absolutely extreme cases (like security or privacy issues). So it is more or less now or never, if it is to be.
There will be an overhead increase of 6 bytes per packet associated with this, but I've identified a few places where this can be won back, so in most cases, it will be of no consequence.
The only real drawbacks are that destination addresses will increase in size, when represented to the user.
Does anyone have any thoughts or perspectives on this? Is the reasoning here sane? Is it better to keep Reticulum confined to 80 bits of address space, or should we just go ahead into the future with 128 bits of spaaaaace?
Beta Was this translation helpful? Give feedback.
All reactions