Technical Working Group DeAI

Thank you for finding the Query Charging forum thread and cross-posting. That thread provided insightful information on the topic:

  1. Current Situation: As we know, canisters on the IC are only charged for updates, not for queries. Dfinity agrees that this leads to an imbalance as canisters with more update traffic bear higher costs, inadvertently subsidizing those with more query traffic. This discrepancy, which originated from technical challenges at IC’s launch, contradicts the principle of fair resource consumption charging and is seen as unsustainable.
  2. Technical Background: The absence of query charging initially stemmed from the complexity in achieving consensus among all nodes on the cycles to charge for queries. This is complicated by the fact that queries are executed by a single, non-replicated node.
  3. Gradual Implementation Proposal: To lessen the impact on canisters unprepared for query charges, a gradual implementation of query charging is suggested. This would involve incrementally increasing query fees from 0% to 100% over several months and would start on one subnet and before pushing to the entire network.

It appears that the IC team is already exploring query charging, recognizing the need to avoid making queries entirely free. The gradual implementation approach seems prudent. The critical aspect now might be to discuss with Dfinity the idea of increasing the instruction limit. Ideally, the IC team, as protocol experts, could find an optimal solution where more instructions linearly scale with cycle costs. Since development is already underway, our primary role could be to emphasize the importance and urgency of this consideration.

I would happily join you in any effort to go through a more formal process as well, because it could be a fun learning process.