-
Notifications
You must be signed in to change notification settings - Fork 14
Note that partial nodes can act as storage nodes for subset of blocks #177
Conversation
src/specs/node_types.md
Outdated
- 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. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Light validator nodes can produce new blocks with strong security guarantees and light resource requirements.
While this is slightly orthogonal, I would strongly suggest removing this type. We decided last week to drop this node type.
Left some opinionated suggestions how to improve the other changes: #177 (comment)
IMO, this still needs to be clearer.
Also wanted to bring in the perspective that the node-types section & specification should inform this: celestiaorg/celestia-core#388 and will play a big role in defining parts of next big milestone: celestiaorg/celestia-core#381 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel there is still some redundancy between the definitions between the different node types and this could be further simplified (i.e. this should be a table).
But this is already so much better!
Ref: #175.
Note that storage nodes were already defined at the bottom: https://github.com/lazyledger/lazyledger-specs/blob/de7abfcbed571d5980b25c9ea2b182d141270232/src/specs/node_types.md#node-type-definitions
Expand node type descriptions.
Rendered: https://github.com/lazyledger/lazyledger-specs/blob/adlerjohn/expand_storage_nodes/src/specs/node_types.md#node-type-definitions