2

I've been attempting to classify the information flows and protocols within the Ethereum system. To do this, I extended the OSI model to include 4 extra layers: consensus (the algorithm by which consensus is achieved amoungst computers), user interface, social, and governance.

The below is an intial effort based, in part, on this answer.

| Layer        | Ethereum Blockchain Protocols                               |
------------------------------------------------------------------------------

| Governance   | EIP process, Influencer announcements and social consensus  |

| Social       | Github, Reddit, SE, Slack, Word of Mouth etc                |

| UX/UI        | Geth, Parity, PyEthApp, Mist                                |

| Consensus    | Block derivation and PoW (Yellow Paper)                     |

| Application  | Kademlia, RPC, IPC                                          |

| Presentation | AES, ECDSA                                                  |

| Session      |                                                             |

| Transport    | DevP2P, RLPx, TCP                                           |

| Network      | As public internet                                          |

| Data Link    | As public internet                                          |

| Physical     | As public internet                                          |

Are there any ommisions or incorrect entries?

Does something like this already exist?

Would you change the upper 4 layers?

What other ways of doing it are there?

  • 1
    This might be suitable for framing :-) Possibly outside the scope of your project but I'll throw the idea out there anyway. I can see an opportunity to insert some layers above your UX/UI ... web3 API ... and above that, nodejs, python, browser single-page app. Possibly UX/UI is a lower-level app interface to "state", web3 is an API, apps talk to web3, and servers/clients talk to users. I like how the model continues "up" the stack to social and governance. This could be a valuable resource. . – Rob Hitchens - B9lab Feb 24 '17 at 22:54
  • 1
    I always thought DevP2P and RLPx were application layer (or session - do they maintain sessions?), and that everything (except UDP-based node discovery) was TCP. (I think..?) – Richard Horrocks Feb 24 '17 at 23:49
  • 1
    Do Geth, Parity and PyEthApp deserve to be UX/UI? I'm thinking in the future Dapp developers won't need to know what they are, so the general users will never interact with them. Having said that, I'm not sure where else they'd fit into the model. (Perhaps "Consensus"?) – Richard Horrocks Feb 24 '17 at 23:52
  • 1
    Add "UDP" for transport. (For node discovery.) – Richard Horrocks Feb 24 '17 at 23:53
  • 1
    Add "Gitter" for social. – Richard Horrocks Feb 24 '17 at 23:55
1

It's not quite the same thing in that it uses a different form of abstraction, but there's a Consensys tool called EthOn that provides a way to visualise data flows within Ethereum in an ontological way, using Web Ontology Language (OWL).

Example illustrations can be found at this link.

It was first described in this Medium post.

0

A wiki version, including Rob Hitchens' and Richard Horrocks' suggestions:

| Layer        | Ethereum Blockchain Protocols                                              |
---------------------------------------------------------------------------------------------

| Governance   | EIP process, Influencer announcements and social consensus                 |

| Social       | Github, Gitter, Reddit, SE, Slack, Word of Mouth etc                       |

| UX/UI        | Geth, Parity, PyEthApp, Mist, browser+nodejs+web3, etherscan etc           |

| Consensus    | Block derivation and PoW (Yellow Paper)                                    |

| Application  | Kademlia, RPC, IPC                                                         |

| Presentation | AES, ECDSA                                                                 |

| Session      | DevP2P, RLPx                                                               |

| Transport    | TCP, UDP (discovery)                                                       |

| Network      | As public internet                                                         |

| Data Link    | As public internet                                                         |

| Physical     | As public internet                                                         |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.