[BIP Proposal] Token Protocol Specification [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2017-09-08T08:06:01+00:00


Summary:

Luca Venturini has proposed a protocol for managing digital assets, or tokens, on the Bitcoin blockchain. The protocol allows bitcoin transactions to be interpreted as operations related to tokens and provides plausible deniability for both issuers and users. Tokens can be managed using any existing Bitcoin wallet without the need for a dedicated one.The protocol enables atomic buy and sell transactions between tokens and Bitcoin, as well as between different types of tokens. Tokens can be infinitely split into parts with no specified number of decimals, and token issuance involves various types of transactions such as offering issuance, split and join, and atomic exchange transactions.In a use case scenario, Alice, Bob, Charlie, and Daniel start a company and issue tokens. Shareholders can freely resell their shares to others. Transactions are made to distribute shares to recipients and facilitate sales between shareholders.The protocol is designed based on the structure of sorted outputs in a Bitcoin transaction. Token generation is determined by the sum of signals of all outputs, with the last output having the power to generate new tokens. Tokens are assigned to outputs based on their signal value.The document explains the transaction format for token issuance and transfer, including those generated from split and join transactions. It also introduces atomic exchange transactions where tokens and bitcoins can be exchanged simultaneously in a single transaction.Cross-token atomic transactions allow for the exchange of tokens between parties, even if they have different values. Guidelines are provided for managing tokens using any existing wallet, including the use of consolidated wallets. Tokens can be generated, transferred, and closed using specific methods.Technical notes are included on consolidated wallets, UTXOs, and transactions. A reference implementation will be provided once the protocol is reviewed and accepted by the community.Luca responds to feedback on his protocol, clarifying that plausible deniability is a property of the protocol that will be approved as a BIP. Wallets that manage tokens will be available, but vanity addresses are not mandatory for plausible deniability. Sending bitcoin along with tokens is straightforward, and the state of tokens is fully contained in the Bitcoin blockchain.Luca addresses concerns about consolidation, memorable names for tokens, and plausible deniability. He explains that small outputs are not necessary since bitcoin value is transferred along with token value. The design aims to reduce UTXOs, and there is no need for a special wallet.The proposal highlights that the protocol allows for atomic buy and sell transactions between tokens, Bitcoin, and different types of tokens. It does not require dedicated wallets or verification nodes and minimizes blockchain pollution.Tokens are stored in unspent Bitcoin outputs and can have multiple names, including vanity token names. Tokens are never burned or deleted, and issuance chains ensure no duplicate tokens are issued.The document provides detailed explanations of token offering issuance, atomic exchange, and cross-token atomic transactions. It outlines the formats and rules for assigning tokens to outputs and describes split and join transactions for creating new tokens or splitting existing ones.Users can prove to be the issuer by signing a message using the Bitcoin protocol. A reference implementation will be included once the protocol is reviewed and accepted by the community.


Updated on: 2023-08-01T21:45:42.893863+00:00