Tip difference - Guild Liveview

I couldn’t find the answers to the questions below on the forum or guild git so I’ll start a new topic. Feel free to reference if some information is already available and I missed it!

  1. How reliable is the Tip (diff) indicator that we see in Guild LiveView?
    As the Reference tip is also an offline calculation based on genesis values I wonder how big the deviation from reality is. With other words; in how far can we trust this indicator.

  2. How important is this variable? How bad is it if your Nodes incidentally go above a Tip diff of 40? Are there risks of not minting an assigned block?

  3. If the outcome of the questions above confirm that Tip (diff) is indeed an important indicator. How can we then optimise it? (let’s try to answer this with the assumption that the node at least has the advised minimum requirements and therefore no know bottlenecks in memory, processor speed or bandwidth.

  4. Last but not least, and sort of connected to 3; Does it have a big influence when your relays are on different continents? In my situation I have 1 relay geographically close to my block producer and one on a different continent. As expected the RTT values differ quite a bit. The close one is at 9 where my USA relay is around 122.

1 Like

I also would like to know the answers to these questions! gLiveView is a useful tool however the interpretation of the tip diff is no where to be found.

The calculation is quite simple. Reference can be calculated based on the system time and tells what the most current Slot Time might be. The diff is just the difference between the last slot you received to a slot which would have been created just right now

It’s quite normal to see the TIP diff going up to 40. I configured my monitoring to alert me when it goes over 50 for 5 Minutes. This happened occationally, mostly at ~22:50 CET. Since the update to 1.26.1 if not seen it so far (the update contained some performance improfements).

Some maths about the theoretical best values you can reach: Every epoch there are 21600 Slots (=4320 / Day = 180 / hour = 3 / minute) → So there is a slot every 20 Seconds on average. Actually the real values differ because of network distribution latencies.

So, agreed, the value is important, but not everything about it is in your control.

I think the primary factor about it is which peers you are connected to. You cannot have more actual data than your peers. If you use topologyUpdate you get quite random peers. Beside of that of course bottlenecks in processing on your end may cause delays. To differentiate you can compare your tip diff with the generated blocks shown on adapools for example. If there was no block when you experience a high tip diff it was not your fault.

Well, yes and no. Good connectivity is of course important but if you have one close this one will update your core just a little faster compared to the other one. But 122ms are not a disaster i would say :wink:

7 Likes

This was awesome and I really appreciate both the questions and the answers! Thank you.

Would you care to also talk about slots? I have often seen that my Block numbers on 2 relays and a Producer are in sync on my grafana display - but at the same time the “slots” values can vary between the machines by up to 12. I expect some of this may be reporting latency from Prometheus. But how much difference in slots is too much?