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

Remove unchecked_info::account and unchecked_info::verified #4021

Merged
merged 3 commits into from
Dec 9, 2022

Conversation

clemahieu
Copy link
Contributor

This PR removes two fields in unchecked_info related to an optimisation that will not be relevant when the ascending bootstrap client is used and with the block processor pipeline improvements.

This reduces complexity around signature checking code and reduces the amount of data tracked for unchecked entries.

The original purpose of this code was a performance improvement to eliminate the need to check signatures multiple times while bootstrapping. Improvements to the bootstrap client and block processor pipeline will make this performance improvement negligible and not worth the complexity.
…er part of the signature checking optimization that's being removed. With state blocks the account can be queried directly from the block.
@clemahieu clemahieu requested review from pwojcikdev and thsfs December 8, 2022 14:57
@clemahieu clemahieu merged commit a5d9aeb into nanocurrency:develop Dec 9, 2022
simpago added a commit to rsnano-node/rsnano-node that referenced this pull request Feb 15, 2023
In pull request nanocurrency#4021 the binary representation of `unchecked_info` was
changed. We have to clear the unchecked table, because the new binary
format is not compatible with the old one.
simpago added a commit to rsnano-node/rsnano-node that referenced this pull request Feb 15, 2023
In pull request nanocurrency#4021 the binary representation of `unchecked_info` was
changed. We have to clear the unchecked table, because the new binary
format is not compatible with the old one.

This commit only clears the unchecked table for the LMDB implementation.
The RocksDB implementation doesn't have an upgrade mechanism yet.
simpago added a commit to rsnano-node/rsnano-node that referenced this pull request Feb 15, 2023
In pull request nanocurrency#4021 the binary representation of `unchecked_info` was
changed. We have to clear the unchecked table, because the new binary
format is not compatible with the old one.

This commit only clears the unchecked table for the LMDB implementation.
The RocksDB implementation doesn't have an upgrade mechanism yet.
thsfs pushed a commit to rsnano-node/rsnano-node that referenced this pull request Apr 25, 2023
In pull request nanocurrency#4021 the binary representation of `unchecked_info` was
changed. We have to clear the unchecked table, because the new binary
format is not compatible with the old one.

This commit only clears the unchecked table for the LMDB implementation.
The RocksDB implementation doesn't have an upgrade mechanism yet.
thsfs pushed a commit to rsnano-node/rsnano-node that referenced this pull request May 4, 2023
In pull request nanocurrency#4021 the binary representation of `unchecked_info` was
changed. We have to clear the unchecked table, because the new binary
format is not compatible with the old one.

This commit only clears the unchecked table for the LMDB implementation.
The RocksDB implementation doesn't have an upgrade mechanism yet.

- Delete the unchecked DB from the LMDB environment
- Simplify the unchecked handle
@thsfs thsfs added routine This item indicates the need for or supplies a routine change exclude from changelog Indicates the change is not relevant for appearing in the release changelog and removed enhancement labels May 22, 2023
clemahieu added a commit to clemahieu/nano-node that referenced this pull request Nov 6, 2023
…or::blocks regardless of type.

Negative testing for signatures of state/epoch blocks is done with ledger.fail_state_bad_signature and ledger.fail_epoch_bad_signature. Signature checking is always done within the block verification functions themselves since nanocurrency#4021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exclude from changelog Indicates the change is not relevant for appearing in the release changelog routine This item indicates the need for or supplies a routine change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants