Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR adds a new security layer before to start mining a transaction.
When receiving the StartMining message for a transaction, validation nodes request the storage nodes of this transaction to lock the address. If the address is already locked for the same address but with a different transaction data, the lock is refused and the validation node does not start the mining.
This PR does not handle malicious node which could still start the transaction mining even with no lock. And so ask the replication to storage nodes.
To handle this, the storage nodes could sign the lock request, and so the storage nodes will replication the transaction only if they have the proof of the request lock being signed by all storage nodes.
Fixes #1373
Type of change
How Has This Been Tested?
Checklist: