Polygon Block Performance

    What was the maximum and minimum recorded time between two blocks? How many transactions are done in a block on average? How do these numbers compare to L1 such as Flow or Solana, or other L2 such as Arbitrum or Optimism?

    db_img

    Introduction

    In today’s investigation, we’ll be looking at how quickly blocks are being produced on Polygon vs other chains as well as how many transactions fit each block.

    Agenda:

    1. Time between Blocks
    2. Aggregates on Transactions per block
    3. Summary & Evaluation

    Parameters & Refresh:

    date_trunc : minutely,hourly,daily,weekly,monthly

    Refresh time: Daily

    NOTE: Only considering ~ 1 month's worth of data here, since some of the network tables I’m using have not been backfilled all the way yet.

    Loading...

    1. Time between Blocks

    In the above graph, we can look at the average and the actual time it takes between the creation of each new block for a select few blockchains. I have chosen the following blockchains to show the variety in time between block creation between them, as well as to show the similarities and differences more clearly.

    Polygon and Avalanche:

    Polygon and Avalanche have very similar block creation times, with Avalanche at about 2 seconds and Polygon at about 2.3 seconds per new block creation. What is interesting to see in this comparison and when looking at the real-time data (houlry by default) is that Polygons block creation time fluctuates much more wildly, at least when compared to Avalanche. This could mean that there are higher requirements on Polygon to reach a consensus and this could be because Polygon needs 128 block confirmations for each transaction [Source Polygon] whereas Avalanche only needs 20 block confirmations per transaction [Source Avalanche].

    Osmosis:

    In the case of Osmosis what we can see is that it takes about 6.2 seconds per block creation with a different amount of block confirmations (assumed, couldn’t find source) than Polygon, Avalanche and Ethereum. What is interesting here is the very* correlated time spikes of time between block creation daily. This could be that a big amount of core validators have a specific time daily that they update and reboot, hence the slowdown in block creation.? (speculation)

    Ethereum

    Last but not least, in the case of Ethereum on average, it takes about 14-15 seconds for block finality and about 12 confirmations for transaction finality [Ethereum Source]. Ethereum has been (approximately) like this, since its inception and only deviates here and there (see the beginning of chart).

    Loading...
    Loading...
    Loading...

    2. Aggregates on Transactions per block

    In this section, we’ll look at how “full” each block is by the network. Here I chose as many networks as possible. The bigger the max and mins the bigger and “fuller” each block was at the worst (most congested) and best (least congested) time of the network. The furthest away these values are from the average and median values, the less likely they are to take place in reality when transacting on x network.

    Ethereum and Binance

    Both Ethereum and Binance max transactions per block are ~ 2-2.5x the average or median values for transactions per block. This makes me wonder if by looking further in the past these max and min values are even more divergent from the average.

    Osmosis

    Osmosis is a “lone wolf”, somehow and in the last month, the max transactions per block have reached 11.25x that of the average value. This is ==crazy high== and indicates both high congestion but also high demand (potentially) for the network in the last month.

    Polygon, Avalanche and Algorand

    In the case of Polygon , Avalanche and Algorand , “What you see, is what you get!”, meaning that their max and min values do not deviate as much as those from the networks discussed above, hence these networks manage congestion by having their block creation time be lower than that of other networks. This is also why these values are much lower than the values of networks such as Osmosis and Ethereum which have much longer block creation times.

    Optimism, Arbitrum, Gnosis (xDAI)

    In the case of Optimism , everything is 1, which could very much be a data issue or just a design parameter. Because I’ve not looked a how frequently Optimism blocks are being created, I cannot comment on why we see this. For Arbitrum the values are very similar, but less perfect than Optimism where they fluctuate around 1 transaction per block with a max of 11. For Gnosis (xDAI) we see that there is some variation from max to min where max is about 4x greater than the average and min about 2x.

    3. Conclusion and Evaluation

    a) Conclusion

    In this investigation, we’ve looked at Block performance for Polygon when compared to other L1s or L2s both in terms of block creation time (in seconds) and in terms of how “full” each block is, in terms of transactions per block. We’ve noticed that Polygon and Avalanche are very similar in terms of block creation time but that Polygon seems to be more “full” per block compared to Avalanche . On the one extreme, we’ve observed Ethereum , with the longest time taken to create the next block but also the fullest in terms of transactions per block (which makes sense). We also observed on the other extreme, L2s such as Arbitrum and Optimism which only have about 1 transaction per block.

    b) Evaluation

    I tried to ==keep it simple== and absorbable although I wish I had just a little bit more time to dig in on a few of these networks and provide a bit more clarity. Methodology-wise, I feel like everything is pretty transparent and easy to understand, both in SQL and in my descriptions of things. I would have really liked to dig the further back and look at deeper historical timeframes for the following metrics discussed. (“Can the devs do something” (meme)), Please prioritise back-filling 🙏.

    This was fun!

    As bummed out as I am about the grading changes and how much that will impact people who simply do not have 4-6+ hours a day to put in creating higher fidelity analytics for you and how this will impact new users in terms of motivating them to continue, it could turn out to be the best for the platform if your model is to serve the client (partner) and only that. I feel like you will see a lower # of submissions but maybe a higher quality of them and probably on average from all the same people.