Skip to main content

37 posts tagged with "update"

View All Tags

Weekly Summary – June 17, 2025

· 3 min read
William Wolff
Architect

This week, the Leios team conducted extensive experiments using the previously developed network topologies to study transaction and input block throughput limits under realistic conditions. The team also conducted empirical bandwidth measurements between data centers, advanced formal methods capabilities, and created initial CDDL specifications for core Leios components.

CDDL specification draft

  • Created initial CDDL specifications for core Leios components:
    • Input blocks with VRF lottery and single IB/slot limits
    • Endorser blocks as a new aggregation block type
    • Ranking blocks as Conway extension with optional certificates
    • BLS voting system with persistent/non-persistent voters and key registration
  • Followed crypto-benchmarks implementation approach while maintaining Conway CDDL compatibility
  • Established foundational structures in the first draft covering common base components
  • Future iterations will add detailed specifications for design variants, including full sharding, overcollateralization, and protocol extensions.

Formal methods

  • Added support for Late IB inclusion to the formal specification of Full-Short Leios
  • Profiled leios-trace-verifier performance, identifying that approximately 60% of execution time is spent in garbage collection
  • Improved performance significantly by switching to --nonmoving-gc garbage collection strategy.

Bandwidth measurements

  • Conducted empirical bandwidth measurements using iperf3 between data centers in North America and Europe
  • Measured bidirectional connections across multiple cloud providers (OVH, AWS, CenturyLink)
  • Results ranged from 95 Mbps to 973 Mbps, depending on geographic distance and the provider
  • Identified 100 Mbps as a conservative lower bound for inter-datacenter connections
  • Observed 5-20% reduction in individual link speeds when multiple simultaneous connections are active.

Large-scale network experiments

  • Conducted comprehensive experiments using both the 750-node and 10,000-node network topologies with Haskell and Rust simulations
  • Studied transaction and IB throughput limits for realistic scenarios up to 300 TPS and 32 IB/s
  • Key findings from the 750-node mini-mainnet experiments are documented in analysis results and summary slides:
    • The 750-node mini-mainnet serves as a suitable replacement for the 10,000-node pseudo mainnet for performance measurements
    • Substantial agreement between Haskell and Rust simulations for mini-mainnet scenarios
    • Block propagation times under one second, consistent with empirical observations from pooltool.io
    • Protocol can support 25 MB/s throughput with 1 Gb/s links before degradation
    • Mean transaction time from mempool to ledger is approximately 150 seconds
    • Achieved 80% disk-space efficiency with ~20% network traffic overhead
    • Six-core VM is sufficient for peak demand at 300 TPS, with average demand under two cores
  • Results from 10,000-node pseudo-mainnet experiments are available in analysis documentation and presentation slides:
    • Average transaction lifecycle of 100 seconds from mempool to ledger
    • Approximately 80% efficiency for both disk and network usage
    • Six CPU cores are sufficient for peak load handling even at high TPS rates
    • Block propagation time averaged under one second across the large network.

Weekly Summary – June 10, 2025

· 2 min read
William Wolff
Architect

This week, the Leios team focused on improving simulation analysis tools and creating more practical network topologies. Key achievements include enhancing the trace processor with additional data extraction capabilities and developing a smaller, more efficient 'miniature mainnet' topology for repeated experimentation.

Trace processor enhancements

  • Enhanced the leios-trace-processor to extract CPU, resource, and message-receipt data from simulation trace files
  • Eliminated the need for using older, lower-performance scripts for analyzing simulation results
  • Added comprehensive data output options:
    • Transaction lifecycle data
    • CPU utilization metrics
    • Resource consumption data
    • Message receipt tracking
  • Improved analysis efficiency for large simulation datasets.

Miniature mainnet topology

  • Created a more practical 750-node topology that faithfully mimics mainnet characteristics while addressing performance limitations of the 10,000-node pseudo-mainnet
  • Achieved a network diameter, stake distribution, and edge degree closely matching those of the mainnet
  • Key network metrics:
    • 216 block producers and 534 relay nodes
    • 19,314 total connections with 5-hop network diameter
    • Average of 25.75 connections per node
    • Clustering coefficient of 0.332
    • Average latency of 64.8ms with maximum of 578.3ms
    • 84.85% asymmetry ratio
  • Documented the methodology and results in topology-v2.ipynb
  • Deployed the network configuration in topology-v2.yaml
  • Enabled more practical, repeatable experimentation with realistic network characteristics.

Weekly Summary – June 3, 2025

· 2 min read
William Wolff
Architect

This week, the Leios team focused on infrastructure improvements, formal methods advancement, and large-scale network simulation. The team successfully resolved outstanding CI issues, enhanced the formal specification with Full-Short Leios support, and began simulating a realistic 10,000-node pseudo-mainnet topology.

Infrastructure improvements

  • Fixed outstanding CI bugs #368 and #379, enabling all CI checks to pass.

Formal methods advancement

  • Added Full-Short Leios as a special case of Short Leios to the formal specification
  • Implemented trace verification capabilities for Full-Short Leios.

Pseudo-mainnet topology simulation

  • Designed and initiated comprehensive simulations from 1 to 300 TPS using the new pseudo-mainnet topology
  • Created a realistic 10,000-node network with:
    • 2,657 block producers and 7,343 relay nodes
    • Realistic stake distribution and geographic distribution
    • Two relays per block producer with realistic latencies
    • 298,756 total connections with 6-hop network diameter
  • Observed significant performance challenges within the large-scale simulation:
    • Rust simulation: six minutes of network time in 10 hours at one TPS
    • Performance degradation at higher TPS rates (one minute network time in 10 hours at 300 TPS)
    • Haskell simulation requires optimization for practical large-network analysis.

Rust simulation enhancements

  • Implemented random sampling of transactions from the Leios memory pool to ensure different IBs contain different transactions when possible
  • Added simulation support for the Leios variant, where IBs contain transaction references rather than full transaction bodies
  • Enhanced transaction handling for high-traffic scenarios.

Analysis of conflicts and incentives

  • Completed comprehensive analysis of transaction conflicts, ledger design, and fee incentives
  • Key findings on conflict management:
    • Honest duplicates and conflicts are unavoidable with local sortition
    • Memory pool rules can minimize conflicts through prompt transaction removal
    • Collateral requirements for failed transactions conflict with Cardano's guarantees
  • Identified block producer compensation strategies for handling conflicting transactions
  • Proposed EB-level optimization through bitmap-based transaction validation to reduce persistent storage of duplicates and conflicts.

Weekly Summary – May 26, 2025

· 3 min read
William Wolff
Architect

The Leios team completed a significant analysis of overcollateralization schemes and continued advancing the Rust simulation infrastructure. They also focused on understanding transaction duplication and conflict probabilities in shardless scenarios while enhancing simulation tooling to better track transaction lifecycle events.

Overcollateralization analysis

  • Completed comprehensive analysis of shardless overcollateralization, where transactions are randomly sampled from the memory pool
  • Found that probabilities of duplication and conflicts are minimized when the concurrency period is as short as possible
  • Determined that conflict probability is always greater than duplication probability
  • Identified that longer transaction residence times correspond to lower probabilities of duplication or conflict, where transaction residency time is defined as the average time a transaction stays in the memory pool before reaching an IB (calculated as memory pool size divided by transaction throughput)
  • Discovered that spatial efficiency is greater for longer residence times
  • Found that the tradeoff between probabilities of duplication and conflict is insensitive to protocol parameters
  • Showed that the expected number of conflicts in IBs scales proportionately with the fraction of conflicting transactions and transaction throughput
  • Identified that, at a given throughput, reducing the probability of duplicates or conflicts can be at odds with minimizing the total number of conflicts
  • Found that probabilistic computation of conflicts is about 20% lower than naive estimates
  • Determined that at 100 TPS with favorable protocol parameters, an overcollateralization factor of nearly 400x is necessary in adversarial scenarios where the memory pool is filled with conflicting transactions
  • Concluded that having successful transactions pay for all conflicting ones is too risky due to potential attacks on honest transactions using common UTXO inputs
  • Identified that consuming collateral from conflicted transactions in IBs is more viable, though it breaks existing UX guarantees
  • Noted ongoing discussions about the realism of creating 400 mutually conflicting transactions, given that individual mempools would not include conflicting transactions, and attack scenarios would require coordination across multiple nodes
  • Documented detailed findings in the overcollateralization analysis notebook.

Simulation development

Transaction lifecycle analysis

  • Analyzed protocol performance across transaction throughput scenarios up to 300 TPS
  • Found that the protocol performs well with essentially every transaction reaching the ledger up to 300 TPS, where breakdown occurs
  • Noted that the 100-node network is more stressful than a realistic mainnet would be
  • Achieved space efficiency above 80% for moderate-throughput scenarios
  • Measured average transaction latency of about 100 seconds (95th percentile at 200 seconds) to reach the ledger.

Rust simulation improvements

  • Added 'TXLost' events to the simulation output to detect transaction loss scenarios
  • Enhanced the ability to track where Leios can lose transactions with various parameter choices.

Data processing optimization

  • Developed a new leios-trace-processor tool to replace script-based analyses
  • Achieved significantly faster processing of simulation results compared to previous scripts
  • Enabled analysis of much longer and larger simulation datasets
  • Created standardized CSV output format for transaction lifecycle data, including creation, IB inclusion, EB inclusion, and RB inclusion timestamps.

Weekly Summary – May 19, 2025

· 2 min read
William Wolff
Architect

This week, the Leios team focused on improving simulation capabilities, enhancing transaction processing, and expanding the test coverage. The team also made significant progress in addressing transaction inclusion rates and developing a comprehensive conformance testing framework.

Simulation improvements

Rust simulation

  • Investigated and addressed poor transaction inclusion rates
  • Implemented 'late IB inclusion' extension to Full Leios, significantly improving transaction ledger inclusion odds
  • Identified and addressed issues with non-sharded input transactions causing excessive duplication
  • Made several key enhancements:
    • Enabled late IB inclusion by default
    • Fixed the off-by-one error in late IB inclusion logic
    • Added praos-fallback-enabled setting for throughput investigation
    • Improved transaction deduplication in Praos blocks.

Testing framework

Conformance testing

  • Developed a comprehensive catalog of potential conformance tests
  • Implemented a property-based testing suite for trace verification
  • Added both positive and negative test cases covering:
    • Genesis slot operations
    • Block production (RB, IB, EB)
    • Vote generation
    • Various production patterns (sporadic, noisy)
    • Invalid scenarios (equivocation, gaps)
  • Successfully verified golden traces against the Agda specification.

Documentation

Formal specification

  • Launched comprehensive web-based documentation for the Ouroboros Leios formal specification at leios.cardano-scaling.org/formal-spec
  • Enhanced documentation features:
    • Interactive exploration of Leios modules
    • Type linking between related components
    • Full text search capabilities
    • Improved accessibility of formal specification details.

Transaction lifecycle analysis

  • Conducted detailed analysis of transaction processing efficiency
  • Generated a cumulative probability model for transaction ledger inclusion
  • Analyzed the relationship between IB production rate and stage length
  • Created visualization of transaction-to-block inclusion probabilities.

transaction-to-block inclusion probabilities

Next steps

  • Continue monitoring and optimizing transaction inclusion rates
  • Expand conformance test coverage as the Agda specification evolves
  • Further investigate transaction sharding strategies
  • Refine transaction lifecycle model based on simulation results.

Weekly Summary – May 12, 2025

· 2 min read
William Wolff
Architect

This week, the team made significant progress on simulation improvements, trace verification, and a comprehensive analysis of Leios' transaction processing capacity.

Trace verification

  • Improved the trace verifier with better error handling and reporting
  • Added support for starting verification from non-initial states
  • Created manually curated test cases for the Leios trace verifier
  • Integrated the trace verifier into Nix infrastructure and CI builds
  • Removed deterministic conformance testing in favor of a trace-based approach.

Simulation improvements

Haskell simulation

  • Conducted an informal review assessing code quality, design, and implementation
  • Analyzed the simulation organization and identified areas for future improvement
  • Found that most prospective changes to the Leios protocol would only involve a small fraction of the codebase
  • Determined that adding memory pool and transactions would take approximately 100-200 hours of labor.

The review of the Haskell simulator was documented in detail in PR#353, covering its statistics, organization, code quality, design, implementation, and documentation aspects.

Rust simulation

  • Added tx-start-time and tx-stop-time parameters to avoid effects of slow starts or sudden terminations on transaction analysis
  • Created a new Leios variant full-without-ibs where endorser blocks directly reference transactions.

Documentation and analysis

The team ran higher excess-capacity simulations to test hypotheses about transaction inclusion. The transaction lifecycle simulations raised the question of whether duplicated transactions in IBs were preventing other transactions from ever being included. The team ran simulations with IBs produced at three times the normal rate to test this, providing ample space for transaction duplication.

Detailed analysis showed that transaction loss persisted despite increased capacity, indicating that other factors are preventing transactions from reaching the ledger. The results are documented in:

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 – April 14, 2025

· 3 min read
William Wolff
Architect

This week, the team made substantial progress in both the Haskell and Rust simulations, refined cost estimates, and carried out detailed analyses of the transaction lifecycle and Full Leios simulations.

Simulation improvements

Haskell simulation

  • Completed the first draft of new mini protocols for Leios diffusion
    • Modeled protocols after block-fetch and node-to-node transaction submission from ouroboros-network
    • Included IB relay, EB relay, and vote relay for header diffusion and body announcements
    • Included IB fetch and EB fetch for body diffusion
    • Worked on the CatchUp protocol for older blocks
    • See simulation/docs/network-spec for full protocol details
  • Renamed short-leios command to leios as it now covers the full variant as well
    • short-leios is kept as alias for compatibility.

Rust simulation

  • Fixed conformance issues with the shared trace format
  • Fixed a bug in the voting logic that prevented EBs from receiving enough votes to be included on-chain
  • Updated visualizations to use smaller trace files in preparation for hosting on the documentation site.

Revisions to the cost dashboard

The cost dashboard was updated with lower and more realistic IO estimates.

Transaction lifecycle analysis

The Jupyter notebook Analysis of transaction lifecycle estimates the delay introduced at each of the seven stages of Full Leios as a transaction progresses from the memory pool to being referenced by a Praos block.

Key findings from the analysis:

  1. Reducing stage lengths below 10 slots offers little benefit
  2. The number of shards should remain low enough to maintain a high IB rate per shard relative to the stage length
  3. Low EB rates result in many orphaned IBs
  4. With realistic parameters, the delay from transaction submission to its inclusion in an RB is approximately two minutes.

Potential next steps:

  • Translate the model into Delta QSD to capture network effects
  • Compare the model's output with results from the Rust simulator
  • Extend the model to account for different memory pool and ledger variants under evaluation.

Simulation and analysis of Full Leios

The team conducted comprehensive simulations using both Haskell and Rust simulators at tag leios-2025w16. The simulations covered 648 scenarios of Full and Short Leios with varied parameters:

  • IB production rate
  • IB size
  • EB production rate
  • Stage length
  • CPU constraints.

Two new output files were generated:

  1. A summary of network, disk, and CPU resource usage over the course of the simulation
  2. The vertices and edges of the Leios graph, showing linkages between transactions, IBs, EBs, RBs, and votes (can be visualized as an interactive web page).

Key findings:

  • The Rust and Haskell simulations show generally close agreement
  • The Haskell simulation encounters network congestion at 16 IB/s, while the Rust simulation does not
  • The Rust simulation consumes more CPU at high IB rates than the Haskell simulation
  • In some cases, the Rust simulation does not produce enough votes to certify an EB.

Detailed results are available in the Jupyter notebook analysis/sims/2025w16/analysis.ipynb.