Представьте себе, обмен Bitcoin с обычной непрерывной моделью двойного аукциона.
Когда вы размещаете заказ предела, обмен должен быть в состоянии реализовать его по частям. (В противном случае пришлось бы найти две равные и противоположные приказы - сложно.)
Предположим, что суммы обмена треков USD довольно точно, скажем, до 4-х цифр.
Также предположим, что Bitcoins отслеживаются с точностью до одного Satoshi. Таким образом, вы можете иметь 1.00000001 биткойны, например.
Теперь рассмотрим следующую ситуацию:
1. Трейдер А делает запрос "Купить 1 BTC @ 100 USD", Что делает его самой высокой ставки в то время. Там нет соответствия ордера на продажу, так что заказ будет размещен на верхней части книги заказа.
2. Трейдер B делает запрос "Продажа 1.00000001 BTC @ 100 USD" и обмен находит, что есть порядок согласования. Но заказ не может быть выполнен полностью, поскольку покупатель хочет только 1 BTC. Таким образом, порядок должен быть разделен на части: "Продажа 1 BTC @ 100 USD", Который выполняется немедленно, и "Продажа 0,00000001 BTC @ 100 USD",
Теперь самый конкурентоспособный ордер на продажу остается с 1 Satoshi. Это не проблема, но проблема в том, что значение этого порядка 0,00000001 * 100 USD = 0,000001, что в 100 раз меньше, чем наименьшее представимому сумму USD.
Так что же обмен делать с этим заказом?
1. Выполнить оставшийся заказ на продажу без каких-либо аналогов, то есть собрать 0,00000001 BTC от продавца в виде "плата" (Но в случае заказа на покупку, он должен пожертвовать 1 Satoshi покупателю, некоторые трейдеры могут быть склонны злоупотреблять этой функцией).
2. Оставьте заказ на продажу в книге заказов, возможно, делая согласование дальнейших заказов более сложным.
3. Просто удалите оставшийся ордер на продажу, как ничего не стоит. (Теперь продавец будет недоумевать, почему его продают заказ не был выполнен полностью.)
4. Избегайте ситуации, позволяя лишь переводы БТД и собственность с точностью 0,00001 BTC. А что, если кто-то передает в 0.00012345?
5. Разрешить суммы USD быть представлены с большей точностью. Я не уверен, что я хочу, что, либо.
Я думаю, что все альтернативы имеют недостатки (даже незначительные они могут быть). Есть ли другой способ?
(Нет, я не пытался сделать это в Mt.Gox. Я боюсь, что это может привести к сбою их торговый двигатель)