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

Commit

Permalink
Note that partial nodes can act as storage nodes for subset of blocks (
Browse files Browse the repository at this point in the history
…#177)

* Add note that partial nodes can be like storage nodes.

* Improve and expand node types desc.
  • Loading branch information
adlerjohn authored Jun 8, 2021
1 parent 06be920 commit fc1da81
Showing 1 changed file with 34 additions and 4 deletions.
38 changes: 34 additions & 4 deletions src/specs/node_types.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,27 +79,57 @@ At most secure under a weak subjectivity assumption.

For convenience, we will define several common parameter configurations:

1. [Full nodes](https://en.bitcoin.it/wiki/Full_node) provide the strongest security guarantees. Block bodies do not need to be stored.
1. [Full nodes](https://en.bitcoin.it/wiki/Full_node) provide the strongest security guarantees.
- Block headers: [Extended Block Headers](#extended-block-headers)
- Block bodies: [Full Bodies](#full-bodies)
- Storage: Not stored beyond a parameter
- Serving: Served to the network
- Transactions: [Full Transactions](#full-transactions)
- Fraud proofs:
- State transition: produce, consume
- Erasure coding: produce, consume
1. Partial nodes are capable of producing fraud proofs of invalid transactions and contribute to validating the erasure coding of random blocks.
- Block headers: [Extended Block Headers](#extended-block-headers)
- Block bodies: [Partial Bodies](#partial-bodies)
- Storage: Not stored beyond a parameter
- Serving: Served to the network
- Transactions: [Full Transactions](#full-transactions)
- Fraud proofs:
- State transition: produce, consume
- Erasure coding: produce (partial), consume
1. Light nodes perform Data Availability Sampling (DAS) and are secure under an honest minority.
- Block headers: [Extended Block Headers](#extended-block-headers)
- Block bodies: [Sampled Bodies](#sampled-bodies)
- Storage: Not stored beyond a parameter
- Serving: Served to the network
- Transactions: [No Transactions](#no-transactions)
- Fraud proofs:
- State transition: consume
- Erasure coding: consume
1. Superlight nodes do not perform DAS and are secure under an honest majority.
- Block headers: [Compact Block Headers](#compact-block-headers)
- Block bodies: [No Bodies](#no-bodies)
- Storage: Not stored
- Serving: Not served to the network
- Transactions: [No Transactions](#no-transactions)
1. Light validator nodes can produce new blocks with strong security guarantees and light resource requirements.
- Fraud proofs:
- State transition: consume
- Erasure coding: consume
1. Storage nodes provide the same security guarantees as full nodes.
- Block headers: [Extended Block Headers](#extended-block-headers)
- Block bodies: [Sampled Bodies](#sampled-bodies)
- Block bodies: [Full Bodies](#full-bodies)
- Storage: Fully stored in [erasure-coded form](./data_structures.md#2d-reed-solomon-encoding-scheme)
- Serving: Served to the network
- Transactions: [Full Transactions](#full-transactions)
1. Storage nodes provide the same security guarantees as full nodes. Block bodies (in [erasure-coded form](./data_structures.md#2d-reed-solomon-encoding-scheme)) are stored and served to the network.
- Fraud proofs:
- State transition: produce, consume
- Erasure coding: produce, consume
1. Partial storage nodes provide the same security guarantees as partial nodes.
- Block headers: [Extended Block Headers](#extended-block-headers)
- Block bodies: [Full Bodies](#full-bodies)
- Storage: Partially stored in [erasure-coded form](./data_structures.md#2d-reed-solomon-encoding-scheme)
- Serving: Served to the network
- Transactions: [Full Transactions](#full-transactions)
- Fraud proofs:
- State transition: produce, consume
- Erasure coding: produce (partial), consume

0 comments on commit fc1da81

Please sign in to comment.