I prefer not to use trading in increments in the form you proposed. I think that the better option is market solution where the willingnes for an exchange (BTC->BTSX) is expressed in BitsharesX blockchain. Then market fees/bonds paid in both blockchains. Then BTC holder makes payment. And then delegates ensure contract fulfillment on BitsharesX blockchain.
The problem is that, if the bond is in BTC, then the BTSX blockchain has no way to enforce moving the bond on non-delivery (unless you want to create fiduciaries, which goes against everything BitShares stands for). If the bond is paid in BitBTC, this is no problem. But the whole point of a post earlier in this thread is that a buyer with BTC and only BTC should be a supported use case. Such a buyer cannot post a bond or pay a fee in BitBTC, because they have no BitBTC!
My proposal then is to have them pay a BTC fee directly to the seller. If evil, the seller can then non-deliver BitBTC, I get around this by forcing the fee to be tiny (0.001 BTC so you only lose ~$0.50 worth of BTC if seller is dishonest) and only dealing with sellers on a trusted list (you can get on the list by being a delegate, having convinced the list maintainers that you are a known honest community member, others have told the list maintainers that they have completed successful past transactions with you, etc.)
You don't have to trade in those quantized amounts if you have BitBTC. If you do not have BitBTC, then:
- Use an unbonded transaction to get a tiny amount of BitBTC if you have none (sellers will likely impose a very high fee and strict limit on the amount because it's unbonded, I'm thinking ~0.010 BitBTC would be a reasonable default limit)
- Use your BTC to buy as many BitBTC as possible in a bonded transaction, using your tiny BitBTC balance as your bond
- Repeat the previous step until "as many BTC is possible" makes you overshoot the amount you actually want, then in that case just buy as many as you need to round out the amount you want.
This can all be implemented in a client-side script that automates the transactions, the user just says "I want to convert 7.654 BTC to BitBTC", presses the "Go" button, and waits for the script to do its thing.
The only reason the amounts are quantized is because I'm thinking 0.010 would be a standard "entry level" amount of BitBTC, and 10% is (in my proposal) the maximum bond which will allow all sellers to be matched. Thus if you only want say, 0.030 BitBTC, then once you have your initial 0.010 BitBTC you are free to use 0.002 BitBTC as your bond and offer to buy 0.020 BitBTC (this will give you a total of 0.030 BitBTC once you deliver and get your bond back.) You're free to use 0.010 as a 1% bond to buy up to 1 BTC, but you will get less favorable price for this since you can only match the part of the Ask book willing to accept 1% bond.