With the approval of CIP-0104:Traffic-Based App Rewards, a series of changes in Global Synchronizer tokenomics are scheduled to take place over the coming months.
The first step in the incremental roll out of this CIP is to make confirmation responses free using a heuristic implementation that will proceed the more principled final implementation.
This means that the cost of a transaction submission will be paid by the submitting node only. This in turn means that the predicted traffic size of the transaction, calculated during the “prepare” step of transaction processing, will be very close to the actual size.
This predicted traffic cost is still not always exact, since the actual total traffic consumption could change in the case of concurrent topology changes. The predicted cost is exactly the actual cost if the topology doesn’t change between estimation and submission.
(As background, note that the cost of confirmation requests and confirmation responses was already split in https://github.com/digital-asset/canton/blob/b4fbbc23cb0674c87aedba7a545359ac046bf[…]r/ledger-json-api/src/test/resources/json-api-docs/openapi.yaml )
Note also that confirmationResponseTrafficCostEstimation will still show a non-zero cost of the confirmation responses, but the traffic cost will not be charged by the sequencer.
Except in the rare case of a concurrent topology change, the submitting nodes will only pay the confirmationRequestTrafficCostEstimation.
This should make it straightforward for featured application providers to submit the appropriate number of markers on their transactions to match submission cost as closely as possible, and avoid risk of marker overuse.
This is also a step toward future features that will make it much easier, and less costly, to simply charge users for the traffic cost of each transaction.