While we will be talking about BitUSD and USD IOUs, those currencies should only be viewed as a representative of their respective categories. There are many other currencies similar to them, but to keep things simple, we will be using them in this post.
This blog post can be seen as an expansion on "The rise of fiat-denominated cryptos". Other related posts - "Inert versus volatile currencies - pondering an attack on BitUSD", "Thoughts on Delegated Proof of Stake and Bitshares".
What is BitUSD?BitUSD is a "market pegged asset" on the BitShares Crypto 2.0 platform. It is created as a derivative of the native bitshares currency. As such, it is a "counterparty-less fiat-denominated crypto". Its value is kept at around 1 USD by an open, decentralized market. BitUSDs are created as a derivative with a collateral of three times the current BitUSD value in bitshares.
What are USD IOUs?
An IOU in the sense used in Ripple is a representation of debt from a gateway to its users. It is created when users deposit funds into the Ripple system through the gateway, and extinguished when the funds are withdrawn. USD-denominated IOUs are pegged to the value of 1 USD each by the promise of the gateway to accept them at face value and exchange them for 1USD in cash, wire transfer or similar.
Who is the counterparty?
The first big difference between BitUSD and USD IOU lies in who is the counterparty that guarantees the value of the currency.
With USD IOUs, the matter is simple - the gateway that issues the IOU is the party that guarantees its value. The deposits might be guaranteed by third parties, for example by deposit insurance or perhaps even gateway's competitors in a Voting Pool-esque system, but in most cases at the present that is not the case. If a gateway is operational, like in case of BitStamp, the IOUs will hold value. If the gateway goes out of business, like in case of WeExchange, the IOUs will drop in value.
As for BitUSD, some argue that there is no counterparty, while others say the whole BitUSD derivatives system is the counterparty. The latter is probably more true - if the market becomes destabilized, either through malicious forcing of margin calls or by sudden drop in the value of the BitShares currency, the system as a whole might default. However, if the BitUSD market is working properly, there should be a lot of parties involved in it, and thus there won't be a centralized point of failure in the system.
The flexibility of currency supply
Due to how the currency is created, there is a difference in the flexibility of the currency supply for BitUSD and USD IOUs.
USD IOUs can be created by the gateways at a whim. If they decide they need a few million dollars more, they can create those funds in seconds. There is no limit to how much funds can be created - if someone approached SnapSwap for example with a sum of 1 billion dollars that they wanted to use on the Ripple system, they would be glad to have that business.
Similarly, when the funds are withdrawn, the underlying IOUs are extinguished and the market cap is reduced. The IOUs exist only when they are useful, and can be created and destroyed to adjust to the market.
USD market cap in Ripple
BitUSDs can be created by the market agreeing to enter into a derivatives contract. Provided there are people on both sides of the contract, the market can be expanded as needed. However, there might not be enough counterparties to secure a large expansion of the market cap, and the BitShares market cap itself might not be enough to handle the expansion either (for every BitUSD created, the system requires a collateral of 3USD worth of bitshares).
BitUSD market cap
At its peak, BitUSD had a market cap of 1.2M USD. Today, at the BitShares market cap of $15M, you could have at most about 5M BitUSD in the market. In order to handle more more BitUSD, the value of BitShares would have to increase.
When it comes to extinguishing BitUSD, the derivatives contract has to reach its maturity as well, meaning that for some time there might be more BitUSD in the market than are needed, driving their price down temporarily.
Exchange rate and convertibility
Both BitUSD and USD IOUs are aiming to become a stable currency tracking the value of a dollar as closely as possible.
For BitUSD, it is hard to find an objective resource on how closely it keeps its value. You can look at CoinMarketCap's BitUSD markets, currently reporting a price of $1.14-$1.21 per BitUSD. If you look at BTER's charts, you see the exchange rate of 0.94 BitUSD/USD (so about 1.06 USD / BitUSD). Moreover, BitUSD is convertible to BTS or BTC only on those markets, meaning one also has to convert those currencies into USD before they can withdraw.
For USD IOUs, the matter is simpler - unless a gateway goes out of business as described above, the "exchange rate" for an IOU is usually stable. SnapSwap for example charges a deposit / withdrawal fee of 0.99% with a cap of $5, and an in-Ripple transfer fee of 0.2%. The IOUs are convertible directly into the underlying currency, so they don't suffer from market fluctuation.
As with any distributed network, there are some fees one needs to pay in order to use the system and its underlying currencies to prevent network spam among other things.
For BitUSD, it looks like the only fees incurred directly by the people transacting in the currency are BitShares transaction fees. When it comes to creating the currency, it is mainly a free market. There are some interest rates expected by people entering the contracts to create those currencies, which are currently around 5%, and there are some penalties for the system executing a margin call (currently around 10%), but for people using the currency directly, those don't really come into effect.
For Ripple-based IOUs, there are likewise transaction fees dictated by the network. Beyond that, any gateway can set their own transfer fees and demurrage fees for using their currencies. The latter is rarely used, and the former is usually around 0.2% of the transfer amount. This creates incentive for gateways to make their IOUs as attractive as possible to use.
Security of one's funds is an important part of a successful currency.
Securing BitUSD largely falls into the hands of the users. Pretty much like Bitcoin - you are your own bank. You can make your BitUSD in your wallet as secure as you wish, but you have to go through the effort. Your funds cannot be seized, frozen, or taken away provided your private key doesn't get compromised. On the flip side, if you lose your private key or someone steals your money, you have no direct recourse. Due to the TITAN technology, it might be very hard or even impossible to track the stolen funds.
Security of USD IOUs are largely up to the gateway. It stored your deposits in a bank or a vault, while giving you an IOU to transact in. You are responsible for securing those IOUs in your wallet, similarly to BitUSD or Bitcoin.
If the gateway's private keys get compromised, an attacker can print any mount of IOUs and spend it on the network, possibly getting some other IOUs or XRP until the market is dry. However, the gateway can create a new account and re-issue the IOUs to the holders of the old IOUs in the same state the accounts were in before the attack took place.
The gateway also has the power to whitelist or blacklist accounts that can use their IOUs. This means that even if you hold the IOUs legitimately, your account might be frozen, able to only withdraw the IOUs into the gateway (not transfer them to anyone else). This can be used for both the good (following regulation, freezing stolen funds), and for bad reasons (shutting down arbitrary accounts).
If one's wallet gets compromised, they can take legal action with the gateway to hope to gain back one's money. The gateway can blacklist the account the funds were transferred to, and reimburse the account that lost the IOUs. This probably would only happen if there was a proper police report filed for the stolen funds, but at least there is some way to recover the funds.
All in all, BitUSD allows one to control the funds more directly, but also makes them responsible for their money. With USD IOUs, the gateway has significantly more say in the matter.
Anonymity and privacy
With BitUSD and BitShares in general, the TITAN technology allows the users of those currencies to remain anonymous and their balances secret.
The Ripple system is a lot less anonymous. While it uses addresses similar to Bitcoin, users of the system generally reuse the same address all the time. Moreover, since Ripple Labs is focusing on bringing more KYC onto the system and the general requirements of gateways to perform KYC on their customers, there is a lot of potential to link one's identity to that Ripple address and all the transaction history associated with it. As it stands, Ripple and the IOUs on it offer little to no anonymity or privacy.
A long-term success of a system cannot be guaranteed if it goes against the laws of the land. While a decentralized system cannot be shut down per-se, it can certainly be hindered if its developers or users are persecuted.
As mentioned in the previous section, Ripple gateways are generally focused on being KYC compliant in their issuance of USD IOUs and similar. As such, they might be more appealing to customers that require to perform KYC on the people they are dealing with, such as currency exchangers, market makers and so on. With the recent Ripple Labs fines, we might see the Ripple system being pushed more to being regulatory compliant, for the better or worse.
BitUSD and BitShares at the moment don't appear to be dealing with regulatory compliance. Exchanges that convert BTS or BitUSD of course can perform their own KYC and other thigns required of them, but with the high anonymity of the system, the distributed exchange on BitShares might not be able to comply. Whether people creating BitUSD through the derivatives contracts or people trading those currencies for anything else on the system would fall under say, FinCEN regulations and be required to register as a money transmitter - that's still up to debate.
The more universally accepted the currency is, the better.
BitUSD is by definition derived from BitShares and thus is only usable on that platform. Anyone wishing to send BitUSD to another platform would either have to go through a gateway (a singular entity or perhaps a voting pool of gateways), or perhaps in the future through some cross-chains connected to BitShares.
USD IOUs from a given gateway can be put on any system that allows for creation of IOUs (currently - Ripple, Stellar, BitShares, Omni). In this fashion, say, SnapSwap USD IOUs can be more universally accepted than BitUSD, allowing users to easily convert from one network to another.
IOUs also tie nicely to the idea of bridges - easy way to send money from a system into another system (both Ripple and BitShares support the idea of bridges). For example, you can use BTC2Ripple to send BTC IOUs directly from a Ripple account into a Bitcoin account, and Ripple Union allows you to send Interacs into the Canadian banking network.
This one deals with how easy it is for a given system to adapt and start supporting new currencies.
BitShares' market pegged assets are hard-coded into the system. Currently, it looks like the system supports BitUSD, BitCNY, BitEUR, BitGold, BitSilver and BitBTC. If one wanted to create BitCAD, it would require the code to be changed. The currencies in the system are uniform and fungible.
When it comes to IOU-based systems like Ripple, one can easily create new currencies at a whim. There are gateways for about 14 different currencies (BRL, BTC, CAD, CNY, EUR, GBP, JPY, KRW, MXN, SGD, STR, USD, XAG, XAU), and there is nothing stopping people from creating one's own currency (like DYM, a currency backed by silver dimes). Moreover, since every gateway is different from the next (a USD from SnapSwap is not the same as USD from MtGox), every currency offered by every gateway is its own currency, distinct from everything else on the system.
BitUSD and USD IOUs are very different currencies tackling the same problem. BitUSD aims to create a system for transfer of value independent from the current banking world, while IOU-based systems like Ripple work best in conjunction with the banking world. Each have their own use cases, and ignoring the current maturities and adoption of their respective systems, they both stand a chance of carving out their own niche.