Hope everyone has seen the big news that block time on
@NEARProtocol reduced to 600ms today. Many have asked me how this number was decided and what technical improvements enabled the reduction in block time. In short, we implemented a clever optimization in block production that reduces the block production time roughly by half. Before Nightshade 2.0 launched, chunk producers distribute the chunk they produce immediately after it is produced and before it is applied, which means the system doesn't get bottlenecked on chunk producer applying the chunk they just produce. Nightshade 2.0 launch did away this optimization because of the need to generate state witness, which you cannot do without applying the chunk. Despite this, given the massive performance improvements on state reads/writes thanks to holding state in memory, we were still able to reduce gas cost by ~2x at the end of last year. In the latest release (2.6), we implemented a clever optimization called "Optimistic Block" that allows chunk producers to immediately start producing the new chunk before a block is produced by the block producer, which again enables this 2x reduction in block production latency. That is why we were able to reduce block time by half. Looking forward, we are working on a much bigger initiative to completely revamp the block/chunk production logic and decouple consensus from execution. If all goes well, we expect to see further reduction in block time to potentially 200ms by the end of this year.