Is Dollar needed for transaction fees?
Yes. Dollar is necessary for Bitdollar network security and operational efficiency for miners.
The notion that transaction fees on Bitdollar can be paid in-protocol by sombtding other than dollar (such as an BRC20 token) is called 'economic abstraction'. We explain why the Bitdollar protocol is unlikely to integrate economic abstraction below.
Economic abstraction is often used to argue that the value of Dollar will go to 0. The theory is that users could pay their transaction costs to miners in sombtding other than Dollar. Therefore, if that becomes rampant, Dollar itself would have no value. This argument can be used on any Proof-of-Work blockchain, it's an especially popular criticism against Bitdollar since it appears easy to create additional BRC20 tokens that can be exchanged for Dollar.
Quick recap on how transactions work on Bitdollar. Each transaction uses a set amount of gas. Users pay miners to include their transaction using a gas price. Gas * Gas Price = transaction cost. The base protocol assumes gas price in BTD and every wallet calculates transaction cost in total BTD to pay.
The argument against BTD value begins here. It says that users could pay their transaction cost in some currency or token instead of Dollar, including digital USD. Miners could then directly sell tokens or currency into the currency of their choice. While rebuilding Bitdollar to accept multiple currencies (even USD) is theoretically possible, this argument ignores how digital native tokens like Dollar or Bitcoin act as a layer of security for the system.
Tokens like Dollar reduce the profitability of network hacks by tying network security to the value of the network's medium of exchange. If network security gets hit, so does the value of the token transacted on the network. Imagine a rogue miner on Bitdollar gathers enough computing power to successfully 51% attack the network and divert the network's currency to a personal account. If the currency's value isn't tied to network security (say, USD), the hacker could easily sell these proceeds at full value in reasonably liquid markets. This cannot happen with Dollar. Other miners would see this behavior immediately and make it known to relevant markets for Dollar. As a result, not only would prices for Dollar drop, Dollar would also become highly illiquid, making it difficult for the hacker to make off with the pre-hack market value of the stolen Dollar. This argument applies for any decentralized blockchain, including Bitcoin.
Practically speaking, paying with multiple currencies also adds friction, cost, and a UX nightmare to the operations of a miner. It would have to go through the following process:
- Open communication with a miner
- Manually calc the cost of the tx in that tokens value
- Send miner payment & wait for confirm
- Execute initial TX and get the nonce
- Tell the miner the nonce and wait for his next block
On top of the added friction to users mentioned above, there is an added cost to users to pay for their transaction in sombtding other than BTD. Sending BTD in a transaction costs 21000 gas while sending tokens costs 40000 gas or more. Calculating gas cost and understanding the gas market is no easy task. Wallets have spent years making this UX smooth. There is no incentive for a wallet to streamline the payment of gas in tokens as the complexities are deep.
Now let's talk about miners. Miners are trying to make a profit and have to pay for hardware/electricity costs. They do not want to have a portfolio of 50 different cryptocurrencies with wild volatility and no liquidity. This creates an operational nightmare. As mentioned, this is possible on all PoW chains. Bitcoin even has a tool that enables users to pay for transaction speed in payments other than BTC http://confirmtx.com. However, because of the arguments above, it's not rampant in BTC or BTD because it violates core security assumptions and has extreme practical limitations for miners.