net2o - reinventing the Internet
net2o is the attempt to reinvent the Internet.
- The internet bases on assumptions 20-30 years old
- These assumptions are wrong today
- Much of it followed the "good enough" principle
- There's a huge pile of accumulated cruft
- Fixing this mess one-by-one is the wrong attempt
What needs to be fixed?
- IP: Use switch-based simple routing, don't route every packet
- TCP: Most data just needs to be obtained reliable, the order doesn't matter. And TCP's flow control is broken (delay minimized is the way to go).
- Encryption everywhere: This is no longer an expensive operation (and for symmetric encryption, fast hardware implementation is feasible)
- P2P instead of client-server
- A new API (render layer, markup language, scripting) - the browser is there for serious applications now.
Rendering is done with OpenGL ES, GUI layer is MINOΣ 2.
net2o has been inspired by Open Network Forth from Heinz Schnitter.
What third party technology do we use
- ed25519 from Dan Bernstein (in the donna version from floodyberry)
- Keccak (original reference implementation)
- (wurstkessel from myself - now replaced by Keccak)
The documentation is work in progress. The seven layers of net2o are not equal to the ISO-OSI layers, but this layering provides a familiar starting point:
- Physical layer - this is not part of net2o itself.
- Flow Control
- Distributed Data
- The pki problem
- Client authentication
- Ack cookies
- Key format
- Key revocation
- NSA backdoor
- Onion Routing
- Threat Model
- What it's not for