Skip to main content

26 posts tagged with "rust-simulation"

View All Tags

Weekly Summary – January 6, 2025

· 2 min read
William Wolff
Architect

Rust simulation

  • Added a basic simulation of central processing unit (CPU) usage/latency
  • Implemented 'lottery won' events to identify the start of CPU processing
  • Configured each node with four simulated cores, adjustable per node
  • Transaction validation and ranking block/input block/endorser block generation/validation each take one CPU task
  • All virtual CPU costs were copied from the cost estimator.

DeltaQ summary update

  • Added MIN/MAX combinators for best- and worst-case simulation results
  • The Rust simulation best case does not match the analytically best behavior
  • The Haskell simulation best case is too fast; the ΔQ expression must assume more than 200 peers per node.

Cost dashboard updates

  • Improved input parameters and computations
  • Lengthened phases and reduced endorser block rate
  • Updated CPU costs for votes and certificates
  • Revised input/output operations per second (IOPS) values based on empirical data from Cardano nodes.

Benchmarking BLS signatures

  • Benchmarked BLS votes using the Rust bls-signatures package
  • Aggregate verification significantly speeds up the process
  • Provided CPU time estimates for various operations.

Votes and certificates

  • Updated size estimates for votes
  • Added CPU time estimates for BLS votes and certificates
  • Drafted technical report sections on BLS and MUSEN certificates.

Sortition analysis

  • Analyzed sortition for input and endorser blocks and votes
  • Added findings to the draft of the first technical report.

Weekly Summary – December 30, 2024

· One min read
William Wolff
Architect

Rust simulation

  • Abandoned Waxman graph generation favoring a more straightforward distance-weighted approach to better control graph connectivity.

Haskell simulation

  • Added support for bounded and unbounded parallelism to the Leios node
  • Fixed relay protocol messages to ensure ordered delivery
  • Next steps include loading protocol configuration from disk and investigating endorser block (EB) inclusion rates.

Revised analysis of votes and certificates

  • Continued research on cryptographic options for Leios votes and certificates
  • BLS was identified as the most viable option.

Jupyter support for DeltaQ

  • Introduced new high-performance Haskell packages for DeltaQ with comprehensive test suites.

Weekly Summary – December 23, 2024

· One min read
William Wolff
Architect

GitHub actions

  • Organized continuous integration (CI) configuration with namespace prefixes for better project sorting.

Rust simulation

  • Began visualizing transaction throughput
  • Tweaked configuration settings to maximize throughput.

Haskell simulation

  • Merged code for running Praos and Leios visualizations
  • Added HLint integration for consistent module imports.

Public meeting on December 28, 2024

Weekly Summary – December 16, 2024

· One min read
William Wolff
Architect

Rust simulation

  • Optimized virtual clock to be lock-free, removing contention from the previous implementation.

Haskell simulation

  • Merged Leios visualizations on main
  • Improved peer-to-peer (P2P) visualization with block type differentiation and latency charting.

Analysis of vote size and ALBA certificates

  • Estimated minimum possible size for votes using ephemeral keys or key evolving signatures (KES)
  • Benchmarked central processing unit (CPU) time for ALBA certificates.

Weekly Summary – December 9, 2024

· One min read
William Wolff
Architect

Node discussions with IOG site reliability engineering

  • Discussed the cloud engineering aspects of Cardano node deployments relevant to Leios
  • Received recommendations for updating the cost calculator with predefined cost defaults.

Threat model analysis

  • Drafted a section on the Leios threat model analysis, detailing 25 hypothetical threats
  • Discussed potential impacts and mitigations.

Rust simulation

  • Generated new test data set to match the geographical distribution of mainnet nodes.

Weekly Summary - December 2, 2024

· One min read
William Wolff
Architect

Nix Development Environment

  • Created a separate repository for a nix develop environment with the correct Haskell compiler and dependencies.

Rust Simulation

  • Developed a fully virtual clock to decouple simulation performance from wall clock time.

ΔQ Model

  • Created ΔQ models for transaction diffusion in Rust and Praos block diffusion in Haskell simulations.
  • Identified discrepancies between simulation behavior and ΔQ expressions.