proposal - 133900
Vote: ADOPT
Reason:
The changes appeared sound, with all hashes matching and no cause for concern. I noted, however, that the canister_creation_fee
was left unchanged despite prior discussions on the forum about its potential increase, though this isn’t a reason to halt deployment. On the whole, the update introduces promising features like VetKeys, which I am excited about.
Hash Match: MATCH
2 Urls: MATCH
Feedback:
canister_creation_fee
stayed the same at 100_000_000_000
even though blog mentions increase.
Proposer Check: MATCH
Overall Summary:
Introduces a range of changes primarily to improve subnet performance, implement cycle fee adjustments, and add foundational support for VetKeys, a new cryptographic feature for enhanced data privacy on the Internet Computer. Fee increases, particularly for message execution and instruction fees, aim to balance operational costs with increased demand on resources, although the canister_creation_fee
remains unchanged despite prior discussions. VetKeys integration has been a long time coming and it’s exciting to see progress being made.
Commits Summary
Features:
e7b16eab4
Increased DYNAMIC_DELAY_MAX_NON_RANK_0_BLOCKS
from 5 to 10. With the threshold increased, the additional delay for higher-ranked proposals will trigger less frequently, allowing non-rank-0 blocks to proceed more often without the dynamic delay penalty.
e3c408cd0
Currently, only small ingress messages are pushed directly, while larger ones require an advert and request, adding latency. Expanding direct message pushing could reduce this delay and improve validation efficiency, though it may occasionally increase bandwidth use for unnecessary messages. So is_latency_sensitive
is set to true to activate.
c5e9e2af1
This change is in combination with commit e3c408cd0
. The refresh_period
in the ConsensusBouncer
struct defines how frequently the bouncer function checks the pool to identify unnecessary or expired ingress messages. Setting this period to 1 second means the function will check for these messages every second, allowing it to quickly identify and discard expired or unnecessary messages.
237990ccb
Checks for ingress_expiry
in Query
and ReadState
requests when the sender is not anonymous, enhancing validation of expiration times for non-anonymous users.
161b12ce8
derivation path handling through the DerivationIndex
and DerivationPath
structures, allowing for BIP32-style key derivation in PrivateKey
and PublicKey
with derive_subkey
and derive_subkey_with_chain_code
methods. ckd
and ckd_pub
helper functions to support key derivation along a path, providing SLIP-10-compatible hierarchical deterministic key generation.
d361dd692
Substantial increases in cycle fees across multiple configurations and test files, including UNIVERSAL_CANISTER_CYCLE_MARGIN
and various execution fees for operations like update_message_execution_fee
and ten_update_instructions_execution_fee
. This got discussed at length on the forum FEES$$$.
Message Base Fee: Increasing from 590K cycles to 5M cycles.
Instruction Fee: Increasing from 0.4 cycles to 1 cycle per instruction.
canister_creation_fee
stayed the same at 100_000_000_000
even though blog mentions increase.
74751adc0
By skipping the per-canister overhead deduction when total_instructions_used
is zero, the system avoids unnecessary overhead for canisters that lack sufficient cycles. Matches description.
71f3b769c
Tracking the ReplicaVersion
in various components of the Internet Computer’s execution and scheduling processes. This includes updating structs like Batch
to store the replica_version
and modifying test utilities and test builders to account for this new field.
b29e83ac7
Enables allowed_viewers
for canister log visibility.
3006ab867
Introduce memory-based eviction thresholds for sandbox processes by adding a max_sandboxes_rss
limit to manage memory usage, in addition to the existing process count thresholds. The evict_sandbox_processes
function and associated sandbox stats are now enhanced to track and handle memory usage per sandbox, with new logic to determine when to evict based on combined RSS limits. Additionally, default values for max_sandbox_count
and max_sandboxes_rss
are increased.
39f67a628
These are the fun VetKey changes for end to end encryption on the IC. This is the start and more changes are to come. This code introduces a preliminary structure to integrate vetKD (vetKeys) by adding a new variant, VetKd
, to the MasterPublicKeyId
type used in registry configurations and management canister types. It updates KeyConfig
, ChainKeyConfig
, and relevant APIs, enabling future support.
0515bc380
The goal of this change is to phase out older certification versions, beginning with setting the minimum supported version to V17, as a step toward simplifying and aligning with the new messaging model.
fa22c9fa9
This change sets a limit on the number of messages that can be inducted in a stream slice to ensure it doesn’t exceed a specified maximum, by calculating an upper bound based on stream indices and halting message induction when that bound is reached.
ac6c9d1e5
More realistic 10,000 limit for handling stream messages, accounting for actual bottlenecks and practical usage patterns.
8c2e0c98e
This change got introduced in a prev proposal but then got reverted. This commit introduces the change again to enable H/2 support for outcalls.
993fc8586
Custom metrics_tool
service to the system. This tool collects specific metrics, such as TLB shootdowns, writes them in Prometheus format, and integrates them into the monitoring system by generating metrics files compatible with node_exporter
. Metrics collection every minute.
Bugfixes:
f306fcb8c
Adds tracking of an additional metric, certification_share_height
, by including it in NodeMetrics
and parsing it from lines labeled with artifact_pool_certification_height_stat{pool_type="validated",stat="max",type="certification_share"}
.
3d590ec5a
Use synchronous RwLock
operations across several modules, simplifying the handling of shared state by replacing tokio::RwLock
with std::sync::RwLock
. This matches the description. Removes async locks.
e70f04d9f
UX changes to enter key
55297ccfd
Field fix to match spec.
ec12a4eea
Increase MAX_HEADER_LIST_SIZE
because it broke sending of headers greater than 16KB. This fixes that.
218fdbcaa
Reverts the idle
changes from commit 52bc5275e
.
52bc5275e
Allows the adapter to remain idle until activity is detected, thus reducing resource usage when no new events are received.
b56d5e1ba
AdapterState
to use a watch
channel, allowing it to track the time of the last received request asynchronously and avoid panics on MacOS related to time calculations. This update introduces two new asynchronous methods, idle
and active
, that leverage the watch
channel to monitor and manage adapter idle and active states based on the idle_seconds
threshold. The improvement is a more responsive idle-state management system, allowing the adapter to efficiently await activity and transition in and out of idle mode without unnecessary delays.
582ce51a6
Detailed error context message in the get_ipmi_mac
function for failed ipmitool
executions, capturing the status and standard error output to aid debugging if parsing the IPMI LAN MAC address fails.
677aa6862
Update thiserror
7be43416d
Update typenum
53f97714f
rustix
patch to fix determinism issues
dac2f36f9
Stricter matching criteria for filtering IPv6 addresses.
361d09aeb
Improve perf by adding timing measurements to the tool, specifically by recording and printing the total elapsed time in milliseconds, from the start to the end of processing.
3753b4388
Updates the IPv6 network configuration by modifying the ipv6_prefix
and ipv6_gateway
values to a new subnet, adjusting them from 2a00:fb01:400:200
to 2a00:fb01:400:44
.
Chores:
80dc25b52
Change relates to commit chore(consensus): move notary related functions from consensus_utils crate to notary.rs in consensus crate (#2310)
. It relocates notary-related functions from the consensus_utils
crate directly into the notary.rs
file within the consensus
crate, effectively consolidating notary logic into a more specific module and reducing dependencies on consensus_utils
.
d3cfffac1
Addition of a PerTypeMetrics
struct, which tracks the minimum, maximum, and count metrics for both certification and certification share artifacts. These metrics are integrated into the PoolMetrics
struct, allowing for enhanced observability of certification pool states.
4f7cebee1
Remove the current_replica_version
parameter from several functions in the consensus modules, instead using the replica_version
directly obtained from the Block
structure. This refactor reduces redundancy by accessing the version dynamically within each function.
10150fb34
Renaming persistent_pool
to validated
throughout the code, emphasizing that the pool stores only validated certification data.
c5e6242f5
Remove the #![allow(clippy::unwrap_used)]
directive from various test files, ensuring that unwrapping operations are avoided where possible for better error handling practices. clippy.toml
file is modified to allow expect
and unwrap
in tests.
4899bba2c
Upgrade tower
dependency from version 0.4.13 to 0.5.1 and tower-http
from 0.5.2 to 0.6.1, along with adjustments to dependencies and configurations to align with these versions. Mutex
and RwLock
, are now used directly instead of tower::buffer::Buffer
wrappers in several places.
54f0fae1c
Add #![allow(clippy::disallowed_types)]
to multiple modules to suppress specific Clippy lint warnings related to the use of discouraged types, particularly asynchronous locks like tokio::sync::Mutex
and tokio::sync::RwLock
.
c84916512
remove_inmemory_states_below
function now accepts an additional parameter, extra_heights_to_keep
, allowing specific states to be retained even if they are below the standard height threshold. The goal is to optimize memory usage by discarding in-memory states more promptly at checkpointed heights, while selectively retaining necessary states for current CUP creation and validation.
619190192
Bump rules_rust-v0.53.0
35a25eaf6
Update of the proc-macro2
dependency from version 1.0.88 to 1.0.89 across multiple entries in the dependency files, updating the corresponding checksum for integrity verification. URLs associated with the proc-macro2
package download have been updated to match the new version reference.
7dede601c
Enhancement of the eval_command_with_retries
function in the updated script, which now captures and logs additional diagnostic information (such as the output of ip -6 addr show
, ip -6 route show
, and configured DNS servers) when a command fails after multiple retries.
60ce9d351
Revert for remove existing certificates
36cbd803b
Update base image refs
proposal - 133901
Vote: ADOPT
Hash Match: MATCH
2 Urls: MATCH
Proposer Check: MATCH
[cc1319059]
Enable HASHES_IN_BLOCKS_FEATURE_ENABLED
proposal - 133902
Vote: ADOPT
Hash Match: MATCH
2 Urls: MATCH
Proposer Check: MATCH
[f910b32ef]
The updated Dockerfile adds a step to download, verify, and install the 6.11 Linux kernel and related modules, ensuring the new kernel version is included in the base image.