Proposal 134032
Vote: Adopt
Reason: Build is successful, hashes match, commits match descriptions and the reasoning behind the changes is sound.
I’ve focused on reviewing Consensus, Crypto and Interface commits in order to complement @ilbert 's review. These include changes to improve network latency and to prepare for the upcoming vetKeys implementation.
Review
Features:
[199229e43]
Reduces the acceptable gap between the finalised height and the certified height from 3 blocks to 2 blocks. Introduces a backlog delay (BACKLOG_DELAY_MILLIS
) set as a constant at 2 seconds to replace the existing unit_delay
variable. If the gap has increased beyond the acceptable gap, then the notary delay (represented as certified_adjusted_delay
) is increased by 2 seconds (the backlog delay) for each block in excess of the acceptable gap. The changes are intended to reduce this gap in order to improve network latency.
[43739c195]
Changes regarding the removal of in-memory states at checkpointed heights in order to remove states sooner. Adds extra_heights_to_keep
within remove_inmemory_states_below
, to consist of heights of finalised IDKG summary blocks for which there is not yet a CUP artifact. Changes the height at which to check for DKG transcripts from get_highest_summary_block
to get_highest_finalized_summary_block
.
[210f1ef89]
Removes the Copy trait from struct NiDkgId
(ID for non-interactive DKG and enum NiDkgTag
so that a String type can be used in the enum in as part of planned changes to incorporate vetKeys, which also necessitates the use of .clone()
in several parts of the code.
[d4bba541c]
Adds Taproot support for Schnorr signatures. Relevant dependencies are added, taproot_tree_root
is added as a parameter in several functions and required additional logic is added.
[4991a5757]
Adds a metric receive_batch_latency
to indicate how long Message Routing had to wait to receive the next batch.
Chores:
[a78ac7f75]
Removes get_block_hash_string
function + related changes in order to reduce or avoid doubling up on block hash computation.
[b9cee2240]
Adjusts the required delay for block making by replacing DYNAMIC_DELAY_EXTRA_DURATION
(constant of 10 seconds) with settings.unit_delay
(varies depending on subnet size).
[44095f27b]
Effectively adds a component transcript_record
of type InitialNiDkgTranscriptRecord
to ChainKeyInitialization
, which is required by subnets using vetKeys. This is done using a Protobuf oneof
construction as explained in the commit notes.
[15d752c5d]
Changes the source crate for various types from ic_state_machine_tests
to various others so that when StateMachine tests are migrated to PocketIC then PocketIC won’t have to re-export those types.
[150771e1f]
Adds domain
field to NodeConfiguration
, api_boundary_nodes
to TopologyConfig
, and various other changes including a testnet setup in order to add API boundary nodes to the system test infrastructure.
[a05b99a4b]
Logging changes for when Consensus has extra states to keep, and addition of an error counter for success or failure of fallback to checkpoint when required states are not available in memory.
[d3ec1a960]
Renaming of various elements, mainly to remove references to “adverts” now that the P2P layer has moved away from this feature.
[ae2693f61]
Removes #[allow(unused)]
, #[allow(clippy::...)]
, etc from various code sections in order to prevent skipping over the analysis of various problems, + logging changes.
Proposal 134034
Vote: Adopt
Reason: Build is successful. Hashes match. The proposal consists of a single commit (previously seen) which enables the hashes-in-blocks feature.
Proposal 134035
Vote: Adopt
Reason: Build is successful. Hashes match. The proposal consists of a single commit (previously seen) which upgrades Linux kernel version to 6.11 and installs the kernel.
Proposal 134036
Vote: Adopt
Reason: Build is successful. Hashes match. The proposal consists of a single commit which reverts a previous commit upgrading GuestOS to Ubuntu 24.04.