The idea of creating new assets on top of bitcoin via smart contracts has been around for a few years now, but it seems that no one has been able to find the perfect solution up to this point. Bitshares and NuBits are probably the most widely used platforms for creating these sorts of assets right now, but they are often met with skepticism due to the fact that they aren’t based on the (tried and true) bitcoin blockchain. Adoption of these platforms for payments is also basically zero right now. Some individuals in the cryptocurrency community believe that these sorts of bitassets are required to access the next level of mainstream adoption, while others question whether they’re actually useful for the general public.
How is a bitasset created?
A bitasset is basically a derivative built on top of a cryptocurrency through the use of smart contracts. As a simple explanation, it’s useful to think of it as a bet. Two parties place their bitcoins (or any other cryptocurrency) into a smart contract, and the number of bitcoins that are returned to each party after a certain period of time relies on some sort of external data feed. That data could be the BTC/USD exchange rate on a certain date, the final score of a football match, whether or not Hillary Clinton is elected President of the United States in 2016, or basically anything else. In the case of something like a football match, the end result is simple. The party that selected the winning team receives all the bitcoins, while the loser receives nothing. In a situation where the market price of a real world asset is used, things can get a bit trickier.
How to create bitUSD
Let’s say that the BTC/USD exchange rate was used as that bit of external data to solve a bet in a smart contract. This means that one party would be going long on bitcoin (betting that the USD exchange rate of 1 bitcoin would increase), while the other party would be shorting bitcoin (betting that the USD exchange rate of one bitcoin would decline.) In theory, the party owning the short side of the bet has essentially created a new asset tied to the value of the US dollar. Whoever owns the rights to the short side of the bet at its conclusion will be rewarded with the same USD value of bitcoin that was placed into the contract by that side at the start of the bet. Many would rightfully point out that the rights to a side of a bet are not the same as dollars in a bank account, but it’s rather likely that the new bitasset created through that bet would be roughly as volatile as a US dollar (not very much), and roughly as transferable as a Bitcoin. Many people would view this as an improvement over the volatility associated with the bitcoin price.
How does external data enter the smart contract?
If a bitasset is essentially going to be pegged to a fiat currency, stock, commodity, or anything else, then the blockchain needs to be told about that real world data. The most obvious solution here is to have a trusted entity publish the data into the blockchain. There are actually already a few different companies, such as Reality Keys, who plan to specialize in publishing real world data for smart contract resolution. The solution of choice for bitcoin core developer Gavin Andresen is to use a pool of data publishers to avoid risks associated with centralization in one oracle. There are also more decentralized solutions, such as Truthcoin, that aim to source real world data from a much larger number of properly incentivized actors in a low-trust prediction market.