0

I use the subscription feature of the Solana node to obtain the latest slot and record the timestamp when the latest slot is received. Then, I use the getblocktime API to retrieve the block time for the corresponding slot. The time difference between these two values consistently falls within the range of 2000ms to 4000ms. However, the Solana block time is approximately 450ms, right? Is this delay considered normal?

I found a website, https://www.validators.app/ping-thing?locale=en&network=mainnet, that also provides information related to latency. I observed that the order of magnitude is consistent, but I would like to confirm with others who have run Solana nodes.

Is this delay considered normal in the Solana network?

1 Answer 1

0

The delay between a slot being processed and block being available is not actually the time spent producing the block, but the time spent confirming the block on the network, ie. collecting enough votes to move the chain forward.

While a block is being confirmed, the network keeps moving forward and processing blocks, which is why you can have a block time of 450ms, but a confirmation time of 2000ms-4000ms.

Note that the blockTime on a block is also an estimate based on the stake-weighted votes of the network around a particular block.

You can read more about the block time calculation at https://docs.solana.com/implemented-proposals/validator-timestamp-oracle#calculating-stake-weighted-mean-timestamp

4
  • Thank you for your response. After seeing your reply, I have two questions: 1、On Solana, when subscribing to blocks, am I getting blocks that are finally confirmed, meaning blocks before this block won't be subject to reorganization? 2、Can the currently provided official Solana API perform similar actions to Ethereum, where I can use the block state for price predictions immediately upon receiving the block, without waiting for final confirmation?
    – yan liu
    Commented Jan 13 at 4:39
  • 1. It depends on the commitment that you provide, finalized or confirmed. It's technically possible for a confirmed block to get rolled back in the protocol, but we haven't seen it in practice. 2. You can probably safely use confirmed blocks, but as I mentioned in my previous answer, it's technically possible for them to get rolled back / reorganized.
    – Jon C
    Commented Jan 13 at 10:09
  • I tried use confirmed in blocksub ws methed ,delay is still 2000ms~3000ms,and I have 2 questions here 1、In Solana, is local state modification of obtained blocks done after the processed state or after the commitment state? If Solana's apply block occurs after commitment, then regardless of the method used, the latest block state can only be obtained after 2000 milliseconds. 2、In Ethereum, non-validators only need to receive blocks sent by validators without waiting for the voting process. In Solana, is the process of collecting votes necessary for both validators and non-validators?
    – yan liu
    Commented Jan 15 at 3:57
  • If you want to ask more questions, please create new questions! No one will be able to find the answers otherwise.
    – Jon C
    Commented Jan 15 at 16:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.