Skip to main content

11 posts tagged with "visualization"

View All Tags

Weekly Summary – May 5, 2025

· 3 min read
William Wolff
Architect

This week, the team focused on simulation analysis, security improvements, and protocol documentation, making significant progress across multiple areas.

Simulation analysis and performance

The team executed the first high-throughput simulations of Leios using the Rust simulator, with transaction rates reaching up to 1,000 TPS. They introduced two key efficiency metrics to quantify system performance:

  • Temporal efficiency, which measures the fraction of submitted transactions that make it into the ledger, with nearly 100% indicating optimal transaction inclusion
  • Spatial efficiency, which represents the ratio of transaction size to total ledger size (including IBs, EBs, and RBs), with higher values indicating better storage optimization.

Recent revisions to Full Short Leios have shown promising improvements in both efficiency metrics. The simulations revealed an average transaction lifecycle of approximately 100 seconds from submission to ledger inclusion.

The analysis produced several key visualizations that demonstrate the system's performance:

Temporal efficiency bar chart

Figure 1: Temporal efficiency comparison across different transaction rates

Temporal efficiency time series

Figure 2: Temporal efficiency trends over time

Spatial efficiency analysis

Figure 3: Spatial efficiency analysis showing ledger optimization

Transaction lifecycle visualization

Figure 4: Transaction lifecycle from submission to ledger inclusion

Protocol documentation and analysis

The team conducted an extensive analysis of transaction throughput and block characteristics, producing several key visualizations:

Transaction throughput analysis

Figure 5: Transaction throughput as a function of block size and rate

Comparative transaction lifecycle

Figure 6: Comparative transaction lifecycle between Praos and Leios

The team also completed a comprehensive profitability analysis for Leios SPOs, considering various deployment scenarios:

  • Evaluated infrastructure costs across premium and value cloud providers
  • Demonstrated profitability without reserve contributions at 50+ TPS
  • Documented the impact of diminishing future rewards due to reserve depletion
  • Analyzed comparative economics between Praos and Leios SPOs.

Profitability forecast visualization

Figure 7: Profitability forecast for Leios SPOs without reserve contributions

Security and infrastructure improvements

The team addressed several security vulnerabilities in web applications through a series of patches:

  • Fixed minor and moderate security issues in #321, #322, #323, and #325 pull requests.

Protocol enhancements

Recent protocol improvements include:

  • Implementation of revisions to Full Short Leios design to enhance both temporal and spatial efficiency
  • Optimization of protocol parameters for improved transaction processing
  • Development of a new sharding strategy in Rust simulation
  • Enhanced logging system for tracking spatial efficiency metrics.

For more detailed information about the simulations and analysis, please refer to the analysis documentation and the profitability analysis notebook.

Weekly Summary – April 28, 2025

· 2 min read
William Wolff
Architect

This week, the Leios team made significant progress in protocol documentation, simulation improvements, and transaction lifecycle analysis. The team completed a draft of the Leios CIP, enhanced simulation visualization capabilities, and conducted detailed analysis of transaction processing times in Full Leios.

Simulation and analysis

  • Completed simulation of 270 Full Leios scenarios at tag leios-2025w17
  • Resolved all outstanding discrepancies between Rust and Haskell simulation results
  • Conducted detailed transaction lifecycle analysis:
    • Average IB inclusion time: 2.4 seconds
    • Average EB referencing time: 27.6 seconds
    • Average RB referencing time: 67.2 seconds
    • Identified issues with transaction referencing and duplication in current Full Leios implementation.

Protocol documentation

  • Drafted major sections of the Leios CIP using standard CIP template
  • Documented evidence-based arguments for Leios necessity and viability
  • Pending completion of Full Leios protocol sections due to ongoing discussions.

Rust implementation

  • Publicly hosted visualization as part of the Leios documentation
  • Added new "transactions" view showing transaction state graphs over time
  • Fixed stability issues in long-running simulations
  • Implemented leios-late-ib-inclusion extension for referencing older pipeline IBs.

Plutus benchmarking

  • Documented workflow for benchmarking Plutus
  • Prepared methodology for potential experiments with increased Plutus execution budgets
  • Established framework for relating Plutus execution units to CPU time measurements.

Next steps

  • Address transaction referencing and duplication issues in Full Leios
  • Complete remaining Full Leios protocol sections in CIP
  • Investigate higher transaction rates after resolution of #305
  • Continue monitoring and optimizing transaction lifecycle performance.

Weekly Summary – April 21, 2025

· 2 min read
William Wolff
Architect

This week, the Leios team made significant progress in protocol development, focusing on simulation improvements, network protocol design, and economic analysis. The team completed extensive simulations across 648 scenarios, implemented new mini-protocols for Leios diffusion, and conducted important economic analysis regarding future reward sustainability.

Simulation and analysis

  • Completed comprehensive simulation of 648 scenarios for Full and Short Leios at tag leios-2025w16
  • Generated new analysis outputs:
    • Network, disk, and CPU resource usage summaries
    • Interactive "Leios graph" visualization showing transaction, IB, EB, RB, and vote linkages
  • Key findings from simulations:
    • Strong agreement between Rust and Haskell implementations
    • Haskell simulation shows network congestion at 16 IB/s
    • Rust simulation demonstrates higher CPU usage at elevated IB rates
    • Identified voting certification issues in Rust implementation.

Protocol development

Haskell implementation

  • Completed first draft of new mini-protocols for Leios diffusion:
    • IB-relay, EB-relay, Vote-relay for header diffusion
    • IB-fetch, EB-fetch for body diffusion
    • CatchUp protocol for historical blocks
  • Renamed short-leios command to leios to reflect full variant support.

Rust implementation

  • Fixed conformance with shared trace format
  • Resolved voting logic bug affecting EB certification
  • Updated visualization system for documentation site integration.

Economic analysis

The team conducted a detailed analysis of transaction lifecycle and future reward sustainability:

  • Analyzed seven stages of Full Leios transaction processing
  • Identified optimal stage lengths and shard configurations
  • Estimated two-minute average delay from transaction submission to RB reference
  • Projected future IB rates needed to maintain current reward levels:
    • Current Reserve depletion rate: 12.8% per year
    • Required IB rates increase from 0.008 to 0.634 blocks/slot by 2035
    • Analysis assumes constant fee-related protocol parameters.

Next steps

  • Translate transaction lifecycle model to Delta QSD for network effects analysis
  • Compare model results with Rust simulator output
  • Develop memory-pool and ledger variant models
  • Continue investigation of voting certification issues in Rust implementation.

Weekly Summary – March 24, 2025

· 2 min read
William Wolff
Architect

This week, the Leios team continued working on various aspects of the protocol and its simulation capabilities. They made progress in implementing and testing the Haskell and Rust simulators, focusing on protocol behavior under different network conditions.

Simulation progress

  • Haskell simulation

    • Moved configuration and topology parsers to the leios-trace-hs package for reuse in formal methods
    • Investigated differences in IBs referenced with Rust simulation: identified that inconsistencies were caused by the same sequence of random samples being used across different runs
    • Simplified sortition code by using an external statistics package
    • Tested Full Leios, resolving tension between r_EB/eb-max-age-slots and praos-chain-quality/η
    • Fixed cabal run ols -- generate-topology close-and-random, listing producers properly and decreasing variance in upstream peers.
  • Rust simulation

    • Investigated anomalies in simulation results: identified that earlier IB production failures were caused by low connectivity and lower CPU usage compared to the Haskell simulation
    • Refined Full Leios implementation
    • Added Full Leios support to the visualizer
    • Migrated the visualizer from Next.js to Vite.

Analysis of simulations

  • Tag leios-2025w13: simulated 198 Short Leios scenarios, varying IB production rate, IB size, network topology, CPU limits, and protocol flags
  • CPU limits: analyzed the impact of CPU constraints on IB propagation, finding that diffusion can be affected under stress conditions
  • Vote propagation: compared freshest-first and oldest-first vote propagation, with freshest-first potentially improving IB delivery reliability
  • Extended voting period: compared an extended voting period to a limited one in the Haskell simulation, observing minimal differences except for occasional improvements in reliable vote delivery.

Ongoing investigations

  • Investigating qualitative discrepancies between Haskell and Rust simulation results to determine whether they stem from differences in simulator resolution or simulation infidelities.

Additional resources

Weekly Summary – February 3, 2025

· 2 min read
William Wolff
Architect

This week, the Leios team worked on cryptography benchmarking and cost calculator improvements. The team completed a reference implementation for Leios cryptography and enhanced the online cost calculator with user-requested features. They also updated both Haskell and Rust simulations to improve visualization and network modeling capabilities.

Haskell simulation

  • Added support for Send and Receive voting stages, providing:
    • A new leios-vote-send-recv-stages configuration option
    • A configurable stage length via leios-stage-active-voting-slots
  • Implemented multiple diffusion strategies:
    • Added oldest-first strategy
    • Added configurable strategies for IBs, EBs, and votes via *-diffusion-strategy configurations
  • Created a new small scenario for 100 nodes with 2,000 kB links
    • Tuned IB parameters to utilize one-third of link capacity
    • Added configurations for both single-stage and send-recv voting
  • Fixed several simulation behaviors:
    • Improved block generation logic
    • Prevented duplicate EB inclusion in the base chain
    • Confirmed proper EB inclusion timing relative to vote diffusion
  • The main difference observed between single-stage and send-recv is that the former shows a longer tail in the CPU usage CDF when the simulation is run with unlimited cores.

Cryptography implementation

The Rust benchmarks for Leios cryptography were redesigned as a reference implementation:

  • Implemented the Fait Accompli sortition
  • Enhanced sortition to use rational arithmetic instead of quad-precision floats
  • Added Quickcheck tests for all capabilities
  • Added benchmarks for serialization
  • Optimized vote and certificate size.

Cost calculator improvements

The team enhanced the online Leios cost calculator:

  • Added support for both hyperscale and discount cloud providers
  • Made discount providers the default option
  • Added option to amortize storage costs perpetually
  • Updated defaults:
    • Single relay deployment
    • More conservative 50% disk compression
    • Perpetual storage cost amortization.

Throughput simulator

The team updated the Cardano throughput simulator with:

  • The latest cloud-computing cost model
  • Synchronized assumptions with an online cost calculator.

Rust simulation

  • Made minor fixes to the new graph generation strategy
  • Planned out a roadmap for visualization work focusing on the Leios transaction lifecycle.

Weekly Summary – January 20, 2025

· 2 min read
William Wolff
Architect

Simulation progress

Haskell implementation

  • Enhanced parameter handling with support for reading configurations and topologies from disk
  • Added a new generate-topology command for random topology generation
  • Aligned Leios sortition with algorithms from sortition benchmarks and the technical report
  • Completed analysis comparing the Praos simulation with the benchmark cluster
    • Adoption times within 10% of measured values
    • Review of simulation parameters pending
  • Next steps identified:
    • Generate topologies with block producers behind relays
    • Begin comparison with the idealized diffusion model
    • Configure and run simulations for higher throughput.

Rust implementation

  • Completed the first pass of block-level visualization
  • Updated topology files to include baked-in latencies
  • Improved output with human-readable names from the shared topology format
  • Enhanced simulation output comparability across different simulations.

Analysis and research

Sortition analysis

  • Completed a detailed analysis of the 'Fiat Accompli' sortition scheme using mainnet stake distribution (Epoch 535)
  • Key findings for 500-vote committees:
    • 406 largest stake block-producers would be deterministic voters
    • ~88 voters would be randomly selected
    • Significant certificate size reduction achieved through deterministic voter selection.

Downstream impact assessment

Started comprehensive analysis of Leios's impact on the ecosystem:

  • Identified impacts on indexers, explorers, SDKs, and APIs resulting from ledger and node changes
  • Transaction construction and memory-pool sharding effects on DApps and wallets
  • Physical layer visibility considerations for sophisticated use cases
  • High throughput implications for event filtering efficiency
  • Transaction journey time considerations from memory pool to Praos block reference.

DeltaQ analysis

  • Successfully matched ΔQ model for IB diffusion across both simulations and implementations
  • Identified key differences in simulation approaches:
    • Haskell simulation includes bandwidth effects (328ms network delay per hop at 1MB/s)
    • Rust simulation currently excludes bandwidth effects
  • Enabled cross-simulation topology sharing for consistent testing.

Weekly Summary – January 13, 2025

· 2 min read
William Wolff
Architect

Cryptography benchmarks

  • Implemented and benchmarked the complete Leios cryptography suite in the leios_crypto_benchmarks Rust crate
  • Key VRF performance metrics:
    • Proving: 240 µs
    • Verifying: 390 µs
  • Sortition performance (excluding VRF):
    • Leadership checks (RB/IB/EB): 0.17 µs per slot/pipeline
    • Vote number calculation: 3.8 µs per pipeline
  • BLS operations benchmarked:
    • Key possession proof verification: 1.5 ms per key
    • Vote generation/verification: 280 µs / 1.4 ms per vote
    • Certificate operations (300-vote quorum): 50 ms generation, 90 ms verification.

Cryptography design progress

  • Optimized vote signature size to potentially as small as 192 bytes
  • Determined that 500-vote committee certificates (60% quorum) would fit within Praos blocks at ~58 kB
  • Explored potential synergies with KES rotation and Praos VRF BLS keys
  • Completed cryptography sections for the first technical report
  • Decision made to freeze current report content and move new findings to future documents.

Simulation development

Haskell simulation

  • Achieved diffusion latency comparable to benchmark cluster data for Praos blocks
  • Integrated agreed-upon simulation parameters with the Rust team
  • Added event log output functionality with JSON support
  • Implemented 'short-leios' simulation variant matching mainnet ranking block interval
  • Fixed coordination issues in Relay mini-protocol consumers
  • Completed the PI goal by adding total data transmitted per node visualization.

Rust simulation

  • Implemented more granular CPU simulation times
  • Fixed race condition in the simulated clock
  • Started consuming a new shared configuration file format
  • Established a shared configuration format with default parameters in data/simulation/default.yaml.

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 - November 25, 2024

· One min read
William Wolff
Architect

Visualizing Node Behavior

  • Added a web server to render throughput of IBs and EBs in the Leios simulation.
  • Utilized Tracer interface for JSON-formatted traces and live graph plotting.

Discussion with Nicolas

  • Explored Leios protocol with a focus on IB to EB construction.
  • Modeled a single node with input and output queues for IBs and EBs.

Meeting with Research

  • Discussed ongoing research work and networking challenges.
  • Aimed to define a ΔQ model for Leios and explore protocol structure.

Public Meeting on November 27, 2024