
Source: Celestia; Compilation: Deng Tong, Bitchain Vision
The Lemongrass upgrade was deployed to the mainnet beta version in September, which is the first consensus upgrade for Celestia.The upcoming Ginger upgrade, namely the Celestia-App V3, is the second one.
Ginger doubled efficiency and Celestia’s data availability throughput increased 2x immediately!In v3, this is achieved by reducing the block time from 12 seconds to 6 seconds, which also improves the user experience through faster transaction order slot finalization time.
Ginger also laid the foundation for community governance, increasing the block size to a maximum of 8MB every 6 seconds, equivalent to 1.33 MB/s.
Ginger is activated at Arabica height 2348907 (expected November 5, 2024).It is expected to enter the Mocha test network in November and the mainnet beta in December.
Celestia is about to change
The CIP included in the Ginger upgrade is specified in CIP-25 (a meta CIP).
CIPs in Ginger include:
-
CIP-21: Introducing blob types for verified signers
-
CIP-24: Versioned Gas Scheduler Variables
-
CIP-26: Versioning timeout
-
CIP-27: Block limits for PFB and non-PFB counts
-
CIP-28: Transaction size limit
In addition to the above CIP, celestia-app v3 also contains an important non-consensus change: BBR is required by default.
Default is black box recorder
The real-life p2p network must send a large amount of data over a long distance.This becomes a problem because the most common congestion control algorithms significantly reduce the number of packets sent as more losses occur, in other words, reduce throughput.The longer the data transmission time, the more packets are lost and bandwidth utilization will plummet.Worse, the buffers start to accumulate, causing a lot of latency even for small packets.Worse, in a decentralized network, nodes do not wait for messages in the buffer; they only continue to the next block, causing these buffered messages to become stale and waste more bandwidth when they are finally sent..
Google researchers found that packet loss is not actually a good mechanism for detecting congestion.Instead, we can simply use round trip time.This is what BBR does and leads to a significant increase in the throughput of real-life geo-distributed networks.
This opens the door to future improvements in throughput and performance, such as those shown in the Mammoth Mini testnet.celestia-app v3 requires BBR to be turned on by default.
Introduce blob types for verified signers
CIP-21 introduces “created blobs”, where the signer’s address is directly included in the blob metadata.The Celestia Verifier now verifies that the signer matches the address of the payment blob, eliminating the need for aggregation to retrieve and process PayForBlobs transactions individually.This simplifies the verification process of the summary, allowing them to directly check the signature field of the blob to ensure authenticity.
Versioned Gas scheduler variables
CIP-24 sets the Gas scheduler variables GasPerBlobByte and TxSizeCostPerByte to be modified only through network upgrades, eliminating the ability to change them through on-chain governance.This change is intended to make transaction costs more stable and predictable.It allows for easier offline Gas calculations without having to query the network before each transaction.
Versioning timeout settings
CIP-26 sets the block time and related timeout to be controlled by the application version and reduces the block time from 12 seconds in v3 to 6 seconds.This change is designed to increase network throughput and reduce transaction finalization time.It also increases the memory pool’s ttl-num-blocks parameter from 5 to 12 to maintain consistent transaction behavior with faster block times.
Block limits for PFB and non-PFB counts
CIP-27 limits the number of PayForBlob (PFB) and non-PFB messages per block.This proposal implements a limit of 600 PFB messages per block and 200 non-PFB messages per block.These limitations are soft limits in the PrepareProposal stage, meaning they are not strictly enforced at the consensus level.The rationale for this change is to prevent block processing time from being too long by limiting the number of transactions that can be verified in each block.These limitations are determined based on the benchmark, with the goal of processing time per block under the recommended validator configuration is approximately 0.25 seconds.
Transaction size limit
CIP-28 limits the size of a single transaction to 2MiB (2,097,152 bytes) on Celestia.This restriction will be enforced at all stages of transaction processing (CheckTx, PrepareProposal, and ProcessProposal), thus being a consensus-breaking change.The basic principle is to prevent the problem of gossip large transactions, even blocks of 8 MiB or larger.It also opens the door to reduce block time and increase block size to increase future throughput.