What is a sharded token?

Current Standards

Current token standards like DIP-20 has all user balances on a single canister (with a possible scaling solution for data storage). All transactions have to go through one canister in a synchronous fashion. While this keeps the model simple, it also limits the scalability of the token to the throughput capacity of a single subnet in the Internet Computer.


A solution to this scalability problem is to split user accounts into separate shards. To send a transaction, a user sends a transaction to their shard, which then communicates with the recipient's shard to update balances. While this requires 1-3 canister calls per transaction, it allows multiple transactions to be processed asynchronously in parallel.

You can read more about this horizontal sharding here.

Last updated