Gossip protocol, and transactions delays

I am trying to find a way to measure the delay in the broadcast of transactions., is there a way to do this? and is there some documentation on the gossip protocol used by Algorand?


Could you please describe exactly what you’re trying to archive ?

Your local node would typically attempt to broadcast the received transaction right away, but this is pretty much meaningless, since the “real” meaningful metric would be “when does the sent message reaches the entire network”.

The actual number around these can fluctuate greatly, depending on the allocated bandwidth, latency, number of hops across relays, momentary network load, and probably few more that I’ve missed here…

Empirically, when I send a transaction, it usually gets to the reminder of the network within less than a second. How do I know that ? Try to send a transaction 1 second before the next round. This means that your transaction has exactly 1 second before a proposer would make a proposal that would (include/not include) your proposal.

Thank you for the answer,
I was sending transactions between two nodes, and I wanted to compare P2P vs using Transaction to send integers between 2 computers/nodes. Now when sending P2P messages I can measure time using some tools. But want to know if there is a way to track transactions between 2 nodes in algorand.


@rhern336 ,

I think that I understand what you’re asking… you’re trying to track the propagation of the transaction across the network, and compare it with a plain direct message exchange.

I’m afraid that Algorand doesn’t support that right now, and I don’t expect to have this type of feature in the coming future. The Algorand node would (naturally) try to synchronize its transactions across the network, however, the mechanics of that are not expected to be exported and could change over time.

The Algorand blockchain ( like many other blockchains ) is focused around ensuring that your transaction would make it into a block ( eventually ). The propagation of the said transaction would likely to be optimized around network throughput rather than latency.