Bitcoin tokens ahoy—STAS!

Bitcoin tokens ahoy—STAS!

The token craze has taken off on BSV recently, and it is finally refreshing to see so many ambitious projects take advantage of the unbounded possibilities and scalability of the BSV blockchain. We have so many choices of second layer token protocols—Run, Relay, Tokenized….

Relysia Twitter

Then I saw this on Twitter…

Built on STAS (Substantiated Tokens with Actualized Satoshis), the long-awaited layer 0 token protocol on BSV. Which was pretty exciting as STAS has been a project that I have been involved with for a while, so it was good to finally see some application of it in the wild. But I think that tweet requires a bit more explanation, as it made me do a double take as well.

The $0.0000015 number is likely the value calculated by working out the value of 1 sat[1]. But why is it that they are claiming that you can make a transaction on BSV for just 1 sat? It is because of the nature of the STAS protocol, and the fact that it is the most native token protocol on BSV (any more native and it would be actual bitcoins themselves) which allows them to be used as payment method for atomic swaps, DeFi applications, and mining fees.

Wait—how, you may ask, can a token be used as mining fees? Well, I’m glad that you asked. 

First off, many of the aforementioned applications of a token on top of BSV presupposes that such a token is being used as a digital fiat token, or a central bank digital currency (CBDC). Of course, doing so is the province of banks with the appropriate licenses, but in Switzerland, banks have the legal capability to issue digital cash tokens, of which STAS qualifies, because unlike other second layer protocols like the popular and dev-friendly Run.SV (which are more popular with NFTs and tokens representing virtual assets) STAS protocol does not require additional separate servers to keep its token balances. This is key, because having to run servers to maintain the balance of a token makes the token a ‘balance account’ (quite literally) and not a digital cash which is without any balance record[2]

In contrast, STAS keeps its balances the same way Bitcoin does, in the UTXO set that is maintained by the miners (transaction processors) of the public network, so creating fiat backed tokens in this way, allows for banks (at least in Switzerland) to issue digital tokens that are backed by deposits[3]

With this in mind, now imagine such a digital cash token being used to represent say, euros. A bank can issue these STAS tokens such that each STAS token, which has an embedded 1 sat on the coin, may represent 0,01, 0,001 or 0,0001 euros[4]. This means, that mining fees can be paid in the fiat token, instead of via the normal means. 

In addition to adding up the native satoshi fees that are embedded in a transaction, miners can alternatively offer a payment address where people wishing to have their transactions recorded on the blockchain can send STAS tokens which represent euros to pay for the transaction. If you recall, it is completely within the protocol for a miner to mine a transaction with 0 fees. It is only economic forces that generally prevent them from doing so. With the use of a bank-issued fiat token using the STAS protocol, miners can now choose to accept their mining fees in fiat instead of only in Bitcoin. 

This offers flexibility never before afforded the network. Imagine STAS tokens that could have a denomination of $0.0000001. This token can now be used to pay for transactions. A transaction can be constructed that moves $1,000,000 (in BSV or fiat tokens), even though it pays 0 fees in BSV, it may actually send 15 of the previously mentioned STAS tokens to the miner’s address as part of the transaction (totaling $0.0000015 as the tweet originally posited). While the transaction has no satoshi fees, the miner that was sent the STAS tokens accepts the transaction for mining because they are willing to accept fees USD tokens instead of bitcoin.

There are certain advantages to this method. Miners are isolated from fluctuations in the BSV price. As infrastructure providers, their costs are likely in USD or EUR, and they would welcome the pricing of their services in the same currency to remove the FX risk that they would otherwise have to inherently contend with. Being able to accept payment in fiat tokens as well as BSV is also better for most clients who would rather not have to purchase BSV in order to use the network.

There are, however, some drawbacks to this method. Firstly, clients would have to be operating in a jurisdiction where there is a bank issuing legal fiat tokens on STAS. Secondly, they must have access to a transaction processor who is willing to accept these fiat tokens as payment for their services instead of BSV. Thirdly, they are dependent on only this transaction processor to mine their transactions, which means they lose a bit of redundancy you get when you pay for your transactions with native BSV, which presumably every transaction processor on the network will accept. Finally, given that they are dependent on just one processor, their transactions may take longer to confirm than normal transactions, depending on the hashpower of their processor.

In the end, there will be those that feel that this model is an exploit or an abuse to the Bitcoin network. They will claim that not using bitcoins to pay for transactions removes some of the importance and primary purpose of the BSV token itself, which is to pay for BSV transactions. To them, I would simply say: Free market rules

It is not against the protocol to process transactions for no fee at all. This has always been the case. To other processors who are not party to the agreement, they will just see these transactions as being processed for free. But to the processor party to the agreement, they will have received fair payment in the form of fiat. Moreover, the benefits of having a stable fiat token on top of a public scalable blockchain like BSV far outweigh any perceived downsides. 

The simple fact that it allows pricing of goods and services, buyers and sellers of wares, to be isolated from the volatility of the cryptocurrency markets alone is well worth any tradeoff. The potential use cases, companies and services that can be onboarded to BSV in this way, will only increase the demand for BSV not just as a method of payment for transactions, but as a ‘fuel’ that must be used in order to mint new STAS tokens by the participating issuing banks. In the end, as long as BSV satoshis are needed for a utility, any utility, it will drive upwards its demand, and the networks success in the long run.

To bastardize a phrase from John Maynard Keynes, “In the long run, BSV will always win”—as long as we use[5] it.

/Jerry Chan

***

[1] 1 satoshi is the smallest unit that can be transferred in a bitcoin transaction. It is indeed the smallest denomination of bitcoin. 1 sat = 10^-8 bitcoins

[2] Balances of their transactions may be kept, but this is separate from the coins (tokens) themselves.

[3] Worth noting, this is also why many banks cannot use Ethereum to issue fiat cash tokens, as the Ethereum protocol keeps ALL its records as balances and has no notion of coins at all. All tokens on Ethereum are virtual concepts and not actually coins. (Surprised? Would you like to know more?)

[4] I’m using the comma here to delineate the decimal point, respecting the European standard for euros.

[5] NOT just hodl it, like the song goes — “It’s just like a magic penny, hold it tight and you won’t have any, lend it, spend it and you’ll have so many, they’ll roll all over the floor” — Love is Something If You Give It Away

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.

[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]
[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]