[BIP Proposal] Token Protocol Specification



Summary:

The proposal outlines a protocol for managing digital assets or tokens on top of the Bitcoin blockchain. The protocol creates a semantic layer that allows bitcoin transactions to be interpreted as operations related to tokens. Both the user and issuer can deny that an existing bitcoin transaction is a token transaction or a new token issuance. Tokens can be managed using any existing Bitcoin wallet, and atomic buy and sell transactions are possible between tokens, Bitcoin, and different types of tokens.Unlike current protocols such as Counterparty, Omni, Colored Coins, Coinprism, and Colu, the proposed protocol does not require dedicated wallets or verification nodes. It allows for infinite division of tokens without specifying the number of decimals at issuance time. Plausible deniability is available to both the issuer and user, and blockchain pollution from protocol transactions is almost zero.Tokens are contained in unspent Bitcoin outputs and can have multiple names, including vanity token names. A single transaction can send one type of token to some outputs and another type of token to different outputs. Tokens are never burned or deleted, and issuance chains guarantee that no other token of the same type will ever be issued.The document explains how the protocol enables token offering issuance transactions, atomic exchange transactions between bitcoins and tokens, and cross-token atomic transactions. It also describes the formats and rules for assigning tokens to outputs of every transaction that sends bitcoin to the address of the outputs r or s. In a scenario where Daniel wants to sell 3 of his 14 shares to Frank, they can make an atomic transaction that gives 0.00969600 bitcoins to Daniel and 3 shares to Frank. The transaction has four outputs with different amounts sent to different addresses controlled by either Daniel or Frank. Tokens are issued based on the satoshis value of the outputs, and the issuance can be open or closed depending on whether there is a cut output or not. Finally, split and join transactions are defined as those with specific formats of outputs and sum of signals of the outputs, which allows for the creation of new tokens or splitting of existing ones. Users can prove to be the issuer by signing a message using the Bitcoin protocol.


Updated on: 2023-06-12T18:13:04.469589+00:00