Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ADR: DAS node-types aka partial nodes #388

Closed
liamsi opened this issue Jun 3, 2021 · 3 comments
Closed

ADR: DAS node-types aka partial nodes #388

liamsi opened this issue Jun 3, 2021 · 3 comments
Labels
C:data-availability Component: Data Availability Proofs T:adr

Comments

@liamsi
Copy link
Member

liamsi commented Jun 3, 2021

Summary

Similar to the ADR for the DAS light-client, we should describe the modifications required for other DAS node-types.

Details

Some aspects are better described in separate focused ADRs. See:

  • Block Propagation
  • Block Sync
  • Fast Sync

Everything else that isn't already covered by these other ADRs, should still be captured in the ADR this issue is about. Including added command-line flags and config options. Non-exhaustive list of these:

  • boolean flag: full-body or partial body (maybe with more descriptive names)
  • for "partial-body": how much data / how many samples (in total?, per block?)

Other implications, like the inability to serve full block via RPC (related: #189, #195)

@adlerjohn
Copy link
Member

Note that the currently-used nomenclature is that:

  • full nodes fully download blocks
  • partial nodes do DAS and additionally fully download a configurable subset of blocks

So this ADR might be better named "partial node" rather than "DAS full node."

@liamsi liamsi changed the title ADR: DAS fullnode ADR: DAS node-types aka partial nodes Jun 12, 2021
@liamsi
Copy link
Member Author

liamsi commented Jun 12, 2021

Thanks, @adlerjohn. I updated the title and the description. As discussed on a sync call this was coming from the perspective on how to modify the existing tendermint fullnodes and prep for DAS. My understanding (also from discussions with @musalbas e.g. here and on calls) was that this should be the immediate next priority. It is debatable if partial nodes need to "participate in consensus" (meaning running the consensus reactor that deals with these messages and basically also running the same code as validators without actively signing messages). It would be good to have a clear decision on this before we move in one or the other direction.

Here is a full overview of the reactors a regular tendermint fullnode runs: https://github.com/tendermint/tendermint/blob/de5cf42ed5ab19d93a4da48b33454f32c1c899d6/docs/architecture/adr-052-tendermint-mode.md#decision

Some of the modes (node-types) in the above ADR should also end up in the specs. Or at least their relation to our node-types IMO. I'll open an issue about this in the specs repo shortly.

@liamsi
Copy link
Member Author

liamsi commented Jun 25, 2021

closing this in favour of #435

@liamsi liamsi closed this as completed Jun 25, 2021
cmwaters pushed a commit that referenced this issue Mar 13, 2023
* Fix formatting of changelog entries

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Prepare release changelog

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Build changelog

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* version: Bump to v0.34.27

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Update contributor list in thanks section

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Move changelog entry to v0.34.27 release

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Fix changelog entry formatting

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Rebuild changelog

Signed-off-by: Thane Thomson <connect@thanethomson.com>

---------

Signed-off-by: Thane Thomson <connect@thanethomson.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C:data-availability Component: Data Availability Proofs T:adr
Projects
None yet
Development

No branches or pull requests

2 participants