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

INDY-1757: Double digest validation implemented #1150

Merged
merged 14 commits into from
Apr 11, 2019

Conversation

ArtObr
Copy link
Contributor

@ArtObr ArtObr commented Apr 5, 2019

Signed-off-by: ArtObr artemobruchnikov@gmail.com

ArtObr added 13 commits April 5, 2019 11:25
Signed-off-by: ArtObr <artemobruchnikov@gmail.com>
Signed-off-by: ArtObr <artemobruchnikov@gmail.com>
Signed-off-by: ArtObr <artemobruchnikov@gmail.com>
Signed-off-by: ArtObr <artemobruchnikov@gmail.com>
Signed-off-by: ArtObr <artemobruchnikov@gmail.com>
Signed-off-by: ArtObr <artemobruchnikov@gmail.com>
Signed-off-by: ArtObr <artemobruchnikov@gmail.com>
Signed-off-by: ArtObr <artemobruchnikov@gmail.com>
Signed-off-by: ArtObr <artemobruchnikov@gmail.com>
Signed-off-by: ArtObr <artemobruchnikov@gmail.com>
Signed-off-by: ArtObr <artemobruchnikov@gmail.com>
Signed-off-by: ArtObr <artemobruchnikov@gmail.com>
plenum/common/txn_util.py Show resolved Hide resolved
plenum/persistence/req_id_to_txn.py Outdated Show resolved Hide resolved
plenum/persistence/req_id_to_txn.py Outdated Show resolved Hide resolved
plenum/persistence/req_id_to_txn.py Outdated Show resolved Hide resolved
plenum/server/node.py Outdated Show resolved Hide resolved
plenum/server/replica.py Outdated Show resolved Hide resolved
plenum/test/common/test_digest_validation.py Outdated Show resolved Hide resolved
plenum/test/common/test_digest_validation.py Outdated Show resolved Hide resolved
assert len(idrs) == 1
assert req_obj1.digest in idrs


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would also be great to have the following tests:

  1. Make the Primary malicious, so that it sends already ordered requests (with the same full signature). Make sure that other nodes do not process such requests and initiate a view change.
  2. Make the Primary malicious, so that it sends already ordered requests (with a different full signature). Make sure that other nodes do not process such requests and initiate a view change.
  3. Have 2 reqs with the same payload but different signatures. Have 2 nodes having one version of the request propagated, and 2 nodes having a different version. Make sure that only one version of the request is ordered on all nodes, and all nodes have equal ledgers.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 and 2 implemented

Signed-off-by: ArtObr <artemobruchnikov@gmail.com>
plenum/persistence/req_id_to_txn.py Show resolved Hide resolved
plenum/persistence/req_id_to_txn.py Show resolved Hide resolved
plenum/server/node.py Show resolved Hide resolved
plenum/test/common/test_digest_validation.py Show resolved Hide resolved
plenum/test/common/test_digest_validation.py Show resolved Hide resolved
@ashcherbakov
Copy link
Contributor

Approving, but please process existing comment, and add test #3.

@ashcherbakov ashcherbakov merged commit d58e357 into hyperledger:master Apr 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants