Skip to content
This repository has been archived by the owner on Mar 24, 2023. It is now read-only.

Note that partial nodes can act as storage nodes for subset of blocks #177

Merged
merged 2 commits into from
Jun 8, 2021
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/specs/node_types.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,3 +103,5 @@ For convenience, we will define several common parameter configurations:
- Block headers: [Extended Block Headers](#extended-block-headers)
- Block bodies: [Full Bodies](#full-bodies)
- Transactions: [Full Transactions](#full-transactions)

Note: partial nodes may also serve the purpose of storage nodes (distributing shares to the network) for a subset of blocks.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I see. Hmm, the nomenclature is kinda confusing.

So the difference between a Storage Node and a Full Node is only the fact that one stores the erasure-coded Block bodies and the other doesn't necessarily (e.g. could be validators). Otherwise, they are the same. For partial nodes it remains unclear if they store (parts of the block bodies) or not until this Note at the bottom.

Here is what I think could improve this:

Remove the specific node-type. Either add a bullet-point to each other called "Stores:" and list what it is expected to store (and if it is optional). Or, add a section about storage as all other nodes types (besides supe-light-nodes) will in reality "store and served to the network".

While at it:

Light validator nodes can produce new blocks with strong security guarantees and light resource requirements.

We decided that this node-type does not exist anymore.