1. Если вы называете эту биржу децентрализированной, то каким образом вы реализуете "децентрализованный" контейнер std::set, который будет физически находится на множестве серверов? лол
2. Каким образом возможен матчинг по такому "децентрализованному" контейнеру?
Мне попалось на глаза ещё одно упоминание децентрализованной книги заявок. Вот в этой статье пишут про «распределённую книгу лимитных ордеров» (DLOB), разрабатываемую в рамках проекта Sidepit.
В статье всё описано достаточно туманно. Но я, почитав другие материалы о проекте, пришёл к такому представлению (если кто-то понял иначе - поправьте).
В Sidepit будет создан распределённый «мемпул» заявок, куда каждый узел сети сможет добавлять свои ордера, и каждую секунду будет происходить «аукцион» поступивших заявок - на всех узлах по единым правилам.
Например,
- Алиса выставила заявку на продажу 100 единиц актива по цене 95 сатоши за единицу;
- Боб выставил заявку на продажу 100 единиц актива по 62 сатоши за единицу;
- Вася - на покупку 50 штук по 95 сатоши;
- Галя - на покупку 100 штук по 72 сатоши.
В первую очередь сводятся заявки тех, кто предложил лучшую цену:
- Вася покупает 50 единиц у Боба (по какой цене - этого я не понял).
Затем доходит очередь до заявок с ценой похуже:
- Галя покупает у Боба 50 единиц (формула ценообразования тоже непонятна).
Неисполненной остаётся заявка Алисы и половина заявки Гали. Они возвращаются в мемпул и попадают на следующий аукцион.
Верными признаются такие результаты аукциона, которые транслируются в сеть большинством узлов.
Думаю, за проектом стоит понаблюдать.