[BIP Proposal] Token Protocol Specification



Summary:

A proposed protocol has been circulated to the bitcoin community that enables a semantic layer for managing digital assets on top of the Bitcoin blockchain. The protocol allows bitcoin transactions to be read as operations related to tokens. Each token issued can be audited publicly, which provides plausible deniability for both the issuer and user. Tokens can be managed using any existing bitcoin wallet without the need for a dedicated one.Tokens can be infinitely split into parts with no definition of the number of decimals of the token generated and transferred. The protocol permits atomic buy and sell transactions between tokens and bitcoin, and between different types of tokens.The protocol for issuing and exchanging tokens involves various types of transactions such as token offering issuance transactions, split and join transactions, and atomic exchange transactions. Token offering issuance transactions define the rate at which tokens are issued and assign them to outputs based on Bitcoin transactions. Split and join transactions allow for the creation of new types of tokens with different values based on existing tokens. Atomic exchange transactions can also be used to exchange bitcoins and tokens in a single transaction.The article discusses atomic transactions involving the exchange of tokens of different values and types, as well as guidelines for managing tokens in a simple manner with plausible deniability. In the case of exchanging tokens of different values, Alice can sell x tokens of Ta to Bob who will pay with y tokens of Tb. The guidelines suggest consolidating the wallet by sending all bitcoins contained within it to a new address of the same wallet. Tokens can be generated by sending satoshis having the last five digits that are the number of tokens to issue to a new address. To send tokens to another person, the user should send a value less than half of the content of the wallet and having the number of satoshis where the last five digits are the number of tokens that need to be transferred.The article concludes with technical notes and a reference implementation.


Updated on: 2023-06-12T18:09:16.779419+00:00