(2022-05-21) Brander Layered Protocols
Layering is a special form of modularity that restricts interactions between modules. A module assigned to a layer can use any of the modules in the same or in a lower layer; however, it cannot use a module belonging to a higher layer. (Barbara van Schewick, 2010)
A modular design breaks a system down into units
Layered design goes a step further, organizing modules into levels with distinct responsibilities.
Each layer solves a problem
*But why is it that systems tend to evolve these distinct pace layers?
The stability of the network as a platform allows innovation on top of that platform…*
Bringing it back to Subconscious, I wanted to share a few notes. This is early prototype stage stuff, so things may change, but here’s how we’re thinking about layering the stack for Subconscious multiplayer and sync.
Layer 1. IPFS
All credit goes to cdata who has been leading design of the Noosphere protocol, and prototyping an implementation in Rust
Layer 3. Subtext, our simple markup for note-taking.
Layer 4. Subconscious ties it all together into a world-wide networked note-taking app.