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

Treat proposal and block parts explicitly in the spec #7946

Closed
josef-widder opened this issue Nov 27, 2021 · 4 comments
Closed

Treat proposal and block parts explicitly in the spec #7946

josef-widder opened this issue Nov 27, 2021 · 4 comments
Assignees
Labels
stale for use by stalebot

Comments

@josef-widder
Copy link
Contributor

The arXiv paper just talks about Propose message that contains the block, while in the implementation, there is a Propose message that only contains the hash of the block and there are block parts gossiped around. It would be great to capture the implementation more closely in the new PBTS spec.

Originally posted by @josef-widder in tendermint/spec#369 (comment)

@josef-widder josef-widder changed the title Treat proposal and block parts explicitly in the spec PBTS: Treat proposal and block parts explicitly in the spec Nov 27, 2021
@williambanfield
Copy link
Contributor

From the perspective of the Tendermint codebase, I understand why describing the distinction is important, but from the perspective of the specification of the PBTS algorithm in relationship to the original arXiv paper, I'm not sure it's that meaningful. The number of 'messages' that a proposal is split across feels like a bit of an implementation concern to me, but perhaps there's something I'm not seeing.

@josef-widder
Copy link
Contributor Author

It is definitely an implementation concern.

I still think we should at least have a remark in the specification that a propose message in the spec is implemented via block parts etc. I don't think we need the remark to be super precise. I just want to have it mentioned. (After all, this point raised quite some discussion regarding when timely should be implemented in the implementation.)

@cason
Copy link
Contributor

cason commented Nov 30, 2021

The current state, that I should push soon: MSGDELAY applies to regular consensus messages, by which it is meant messages that have essentially constant size. That is, it applies to Proposal messages, which should have a fixed size, but not for blocks, whatever way they are disseminated.

@cason
Copy link
Contributor

cason commented Feb 9, 2022

This probably should be make clear, both in the English and in the TLA+ spec (@Kukovec ). We probably don't need explicitly to distinct a Proposal from BlockPart messages, but maybe make it clear that a process can receive a value without receiving a Proposal.

@cmwaters cmwaters transferred this issue from tendermint/spec Feb 22, 2022
@williambanfield williambanfield changed the title PBTS: Treat proposal and block parts explicitly in the spec Treat proposal and block parts explicitly in the spec May 23, 2022
@github-actions github-actions bot added the stale for use by stalebot label May 29, 2023
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jun 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale for use by stalebot
Projects
None yet
Development

No branches or pull requests

3 participants