-
Notifications
You must be signed in to change notification settings - Fork 8.9k
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
Follower: check if join block different from fetched block #4265
Conversation
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 don't think that simply removing the check without providing a countermeasure in the same fix is a good idea.
With this change, the code allows an orderer to pull blocks while disregarding the join block, which obviously was retrieved from somewhere.
The genesis block cannot be validated, and thus the current code completely puts the validity of the genesis block in the mercy of the orderer it is retrieved from.
This check lets you know that you have diverged from the chain.
24e27bf
to
eebdca3
Compare
@yacovm I agree with what you said. I am changing the mechanism such that:
In the future, we may consider to stop the chain in events like this and reflect it in the status, as proposed in FAB-18106 I also added a couple of unit tests for this scenario. |
As long as the follower doesn't evolve into a fully fledged consenter, we're good. |
0bc0137
to
d45719c
Compare
d45719c
to
d87bbc2
Compare
- before fetched block is committed - don't panic - continue to retry - improve channel participation Verifier to check DataHash== hash(block.Data) Signed-off-by: Yoav Tock <tock@il.ibm.com> Change-Id: I7089df4f1bfc200a5f17582df0da7d4172f8f09b
d87bbc2
to
f84c2f0
Compare
Change-Id: I7089df4f1bfc200a5f17582df0da7d4172f8f09b
Type of change
Description
Follower: revert check of join block different from fetched block
Related issues
Addresses #4264