sCrypt recent published a simple way to implement tokens on the base layer of the Bitcoin SV (BSV) ledger. This demonstration leverages a technique nChain developed, commonly referred to as OP_PUSH_TX to enforce state such that a chain of token transfers can be established and kept consistent.
After the script terminates with the proper use of OP_RETURN, only two values are necessary to reflect the owner’s balance – their public key and token amount. This simplicity is enabled by the security model and features of the Bitcoin protocol itself.
The solution is UTXO based, so additional software to keep track of ownership is minimal. To recognize the transactions, existing wallets would only need to show the user the sum of all the tokens in their UTXOs that match their public key(s). Additional metadata could be trivially added to the transaction in order to rival ERC-20 like standards, paving the way for BSV’s potential scale and low fees to deprecate alternative chain’s token solutions.
Under the UTXO model, tokens can be just as private as Bitcoins:
They also scale with the network as opposed to heavily needing to rely on external software.
This base layer solution has an advantages over the ‘Layer 2’ solutions like Tokenized and Run which leverage data in OP_RETURN outputs. Tokenized requires off-chain agents to validate transactions; Run requires validating the history of UTXOs. Both Run and sCrypt can leverage external solutions like state servers and co-signers respectively, to prevent arbitrary minting or spoofing of tokens.
That all seems great, yet several hurdles need to be overcome before this is possible. Wallets for the most part only support one transaction type via their user interfaces, sending money from one person to another aka P2PKH. The transactions used as examples are quite large (over 2 KB), so they would have fees of around 1500 satoshis (assuming 0.5 sats/byte). Per sCrypt founder Xiaohui Liu, these scripts are ‘not optimized at all’ and could be drastically reduced in size.
The actual Bitcoin amounts in the UTXOs would optimally need to be 1 satoshi, which would require a lowering of the dust limit. Also, fees would need to be much lower to make these transactions feasible, and to compete with the other chain’s solutions. Thus, we have yet another chicken and egg scenario where we want limits lowered but need more demand of on-chain transactions to justify their reduction.
Even though USDC is bound to ETH, which is amazingly stupid, I think it is going to rise in popularity. And eventually need to grow so it will have to move to BSV.
— BitcoinRealist (@BitcoinPeterS) July 8, 2020
— Jack C. Liu (@liujackc) July 7, 2020
Each token solution (sCrypt, Tokenized, Run) are either not public or too immature to be adopted. The potential exists now to facilitate the transactions faster and cheaper than currently possible on other chains.
Even with sCrypt’s raw, sub-optimal demo transaction, with a rate of 0.5 sats/byte the fee would be a quarter of a cent (1400 satoshis) which would be 160x cheaper than the 2.1% transaction fee above. Until those solutions mature, users of BSV looking to use stable coins are stuck with duct tape (yet slick) solutions like RelayX’s OTC desk which cannot overcome alternative chain’s high fees.
As more simple, easy to implement token solutions emerge, Bitcoin SV is poised to dominate in the token space. At the moment, the potential of the chain with unlocked scripting capabilities are not yet widely understood enough to take advantage. Hopefully sCrypt’s innovation at the base layer can pave the way forward.
New to Bitcoin? Check out CoinGeek’s Bitcoin for Beginners section, the ultimate resource guide to learn more about Bitcoin—as originally envisioned by Satoshi Nakamoto—and blockchain.