Skip to main content

65 posts tagged with "network"

View All Tags

Network Team Update

· 4 min read
Marcin Szamotulski
Network Team Lead

Overview of sprint 114.

Summary

Leios

The TxSubmission v2 demo was merged, providing an end-to-end demonstration of TxSubmission V2. A benchmark study of incremental vs. non-incremental CBOR block decoding shows that decoding blocks incrementally yields modest improvements for standard Praos blocks, and larger gains for multi-megabyte blocks — directly relevant to Leios where block sizes may grow substantially. Cardano-base was bumped to include support for Leios voting. A simple TCP congestion-window model was added to the Leios Rust simulator (sim-rs), porting the model from the Haskell simulator; mini-protocol multiplexing remains a gap to be addressed. An alternative TxSubmission V2 design without a central decision thread is under review, superseding the earlier exploration.

Ouroboros-Network

bracketFetchClient and bracketKeepAlive were decoupled by splitting FetchClientRegistry into KeepAliveRegistry and FetchClientRegistry — a prerequisite for DMQ-Node integration. Contra-tracer was upgraded to 0.2.1, unblocking the removal of iohk-monitoring-framework from cardano-node 11.1. The peer-selection governance target was renamed from selectEnvTargets to selectGovTargets. Various tracing and API improvements were merged as part of ongoing DMQ-Node integration work. A new protocol version NodeToClientV_24 for the ValidateTx local-state-query is under review.

DMQ-Node

Version 0.5.0.0 was released. The announcyness metric for peer selection was merged: it scores peers by how often they are first to announce a valid signature, with scores kept for one hour matching the churn rate. SigId validation was improved: CBOR encoding was corrected to use Hash Blake2b_256 for the sigId field, and SigExpired failures are now restricted to the ZeroSetSnapshot case. An ouroboros-network integration update is in review. Work on connecting the DMQ kernel to cardano-node continues, blocked on pr#58.

IO-Sim and TypedProtocols

io-sim and typed-protocols repositories were moved to IntersectMBO organisation on GitHub.

Leios

PR / IssueStatus
TxSubmission V2 without a decision threadin review
Block decoder: incremental vs. non-incremental benchmarkin review
Bump cardano-base for Leios votingmerged
TxSubmission v2 demomerged
simple TCP model for sim-rsmerged

Ouroboros-Network

PR / IssueStatusNotes
Add NodeToClientV_24 for ValidateTx queryin review
cardano-diffusion: label ledger peer usagein reviewcontribution by dancewithheart
Various changesmerged
Renamed selectEnvTargets to selectGovTargetsmergedcontribution by dancewithheart
Upgrade to contra-tracer 0.2.1mergedcontribution by f-f
Decouple bracketFetchClient and bracketKeepAlivemerged
cardano ping implemented with ouroboros-networkblocked

DMQ-Node

PR / IssueStatus
node kernel cleanupin progress
Updated ouroboros-network versionin review
dmq-node-0.5.0.0 pre-releasemerged
SigId validationmerged
Drop support for x86_64-darwinmerged
announcyness metric for peer selectionmerged

IOSim

PR / IssueStatus
Repo moved to IntersectMBOmerged

Typed Protocols

PR / IssueStatus
Repo moved to IntersectMBOmerged

Network Team Update

· 6 min read
Marcin Szamotulski
Network Team Lead

Overview of sprints 110, 111, 112 and 113.

Summary

Leios

The mux egress prioritisation issue was resolved, delivering static priority-based scheduling for mini-protocols. Work on weighted fair queueing with token bucket support was concluded: it allows bursty protocols to send multiple SDUs back-to-back without starving other mini-protocols. However, right now we don't have evidence that the additional complexity is really needed to achive better performance. A TxSubmission V2 demo is being merged, and an alternative design without a central decision thread is being explored.

Ouroboros-Network

Tx-submission v2 now returns results from submitTxToMempool, a prerequisite for DMQ-Node integration. The long-standing ChurnMode refactoring was merged, together with a property-based tx integrity test for cardano-diffusion. Nodes now warn about misconfigured local socket permissions (an issue identified by Claude LLM). A fix for initial syncing targets is under review, which will reduce load on bootstrap relays during node startup by setting lower active-peer targets before the first churn cycle.

DMQ-Node

Versions 0.3.0.0 and 0.4.0.0 were released. The 0.4.0.0 release includes trace-dispatcher integration, Prometheus metrics, and CLI improvements. Work is ongoing on an announciness metric for peer selection — scoring peers by how often they are first to announce a valid signature — and on connecting the DMQ kernel to cardano-node.

Leios

PR / IssueStatusSprint
TxSubmissionV2 demoin review112
tx-submission v2: undecisionin progress112
network-mux: weighted fair queueing and token bucket for burst supportin progress111
Mux: single peer performance for Leiosin progress110
Mux egress prioritisationresolved110

Ouroboros-Network

PR / IssueStatusSprintNotes
tx-submission v2: return results in submitTxToMempoolmerged113
drop support for x86_64-darwinmerged113contribution by dermetfan
Local socket access right warningsmerged113
connection-manager: added a commentmerged113
Clarify LedgerPeersConsensusInterfacein review113
Fix initial syncing targetsin review113
Various small changesin review113
cardano-diffusion: tx integrity testmerged112
ChurnMode refactoredmerged112
Code refactoring (burst engine)merged112related to WFQ
Removed AcquireConnectionErrormerged111
Updated documentationmerged111
new tracing: fixed Stateful.TraceRecvMsgmerged110
LocalRootPeers - ToJSON instancemerged110
Fixed peerselection test failuremerged110
cardano ping implemented with ouroboros-networkblocked110

DMQ-Node

PR / IssueStatusSprint
announciness metric for peer selectionin progress113
node kernel cleanupin progress113
Prometheus prefixmerged111
Prometheus counters prefixmerged111
CLI improvementsmerged111
dmq-node-0.4.0.0merged111
trace-dispatcher integrationmerged110
dmq-node-0.3.0.0 releasemerged110

IOSim

PR / IssueStatusSprint
Remove withLiftSTmerged112
io-classes-1.10.1.0merged112
Add IOSimPOR QuickCheck monadic combinatorsmerged110

Typed Protocols

PR / IssueStatusSprint
support io-classes-1.10merged112

Contra Tracer

PR / IssueStatusSprint
Contra.Tracer extra APIsmerged110

Network Team Update

· 4 min read
Marcin Szamotulski
Network Team Lead

Overview of sprints: 108 and 109.

Cardano Node 10.7.0

We relased

  • ouroboros-network-1.0.0.0 (later refined with ouroboros-network-1.1.0.0
  • cardano-diffusion-1.1.0.0 which are integrated with the ongoing cardano-node-10.7 release.

See release board for all PRs included in these releases.

Leios

PR / IssueStatus
Mux egress prioritisationin progress
Performance improvement for tx-submission v2in progress
TxSubmissionV2 demoin progress
Expand network sectionin review

Ouroboros-Network

PR / IssueStatusNotes
tx-submission robustness and testing enhancementsmerged
RNG handling in SRV lookups for public root peersclosedcontribution by Saviour Uzoukwu
cardano ping implemented with ouroboros-networkblocked
mux: refactored ReadBuffer & socket API changesmerged
ledger-peers: introduced SignLedgerPeersKindmerged
cardano-ping: output valid JSON when no pongs are receivedmerged
Add {To,From}JSON instances for TxSubmissionLogicVersionmerged
[Cardano Topology: module exports][pr#5339]merged
Haddock improvementsmerged

DMQ-Node

PR / IssueStatusnotes
SigSubmission v2merged
Integration with cardano-tracerin progress
[Churn test][#5303]merged
Updated dependencies of dmq-nodemerged
Improved documentationmerged
Fixed number of unacknowledged sigIds on the outbound sidemerged
[Added pattern synonyms for EraIndex (CardanoEras c)][pr#1919]mergedouroboros-consensus change needed for Ledger peers
Ledger peersmerged
[dmq-node-0.3.0.0 pre-release][pr#37]merged
Haddocks, docs & release scriptsmerged

IOSim

PR / IssueStatus
Added flushEventLog to MonadEventlogmerged
io-sim improvementsmerged
PR review commentsmerged
ghc-9.14 supportmerged
io-sim: io-classes constraintmerged

Network Team Update

· 2 min read
Marcin Szamotulski
Network Team Lead

Overview of sprint 107.

Cardano Node 10.5.4

We rolled out cardano-node-10.5.4 release.

Leios

PR / IssueStatus
Mux Leios Simulationmerged
Mux egress prioritisationin progress
Mux egress fairnessresolved

Ouroboros-Network

PR / IssueStatusNotes
StandardHash with NFData constraintmerged
Tracing Librariesmerged
[tx-submission robustness and testing enhancements][pr#5315]in review
RNG handling in SRV lookups for public root peersin reviewcontribution by Saviour Uzoukwu
cardano ping implemented with ouroboros-networkblocked

Documentation

Maintenance

DMQ-Node

PR / IssueStatus
SigSubmission v2in review
Integration with cardano-tracerin progress
[Set the correct magic field][pr#30]merged
[Churn test][#5303]in review

Network Team Update

· 3 min read
Marcin Szamotulski
Network Team Lead

Overview of sprints: 103, 104, 105, 106.

The most important changes are patches developed after the November fork incident on Mainnet, which make the diffusion layer more robust. These patches are released in the cardano-node-10.5.4 release. We highly recommend updating to 10.5.4 as these change make the Cardano Network more robust. We'd like to thank Karl Knutsson (CF) who developed these patches.

This report only contains issues/PRs finished/merged in the sprints 103 through 106. Work that has been carried and finished in the current sprint will be reported in the future.

Ouroboros-Network

Diffusion

Cardano-Ping

Leios

Technical Debt

Cardano-Node

DMQ-Node