Proposal for a standard token interface

I don’t have solutions, only more questions :slight_smile:

Where is transaction history stored?

Option 1 - token ledger
Define a new ledger interface and include that in this token interface. Token creators choose pricing, eg. all users can query their latest 100 transfers for free, but need to pay for more access.
Pros - more flexibility for token creators
Cons - could cause lack of interoperability, hard to aggregate data

Option 2 - centralized ledger
An independent party creates and maintains a token ledger service, which acts as the central location to store all token transactions.
Pros - easy for token creators, easy to aggregate data, can be most secure
Cons - highest cost, prone to corruption

Option 3 - user ledger
All users maintain their own token ledgers (in addition to their own wallet canister) and pay for all reads and writes.
Pros - data sovereignty, privacy, lowest cost
Cons - complexity (users need to specify their ledger canister when interacting with a token), hard to aggregate data

Perhaps a better idea is a combination of 1 and 3 - token creators that need to store their own history for compliance purposes should do so however they want, but also integrate with the “standard user ledger” if provided.

5 Likes