Щоб це зробити, ми повинні запропонувати кращу ціну, ніж на Nasdaq, і надати додатку можливість скасування операцій з пріоритетом перед виконанням.
**Автори: Макс Резнік (Anza) та Анатолій Яковенко (Solana Labs)
Переклад: GaryMa У сказав блокчейн
Резюме
Solana прагне побудувати децентралізовану торгову мережу, яка буде більш ефективною, ніж NASDAQ, але існуючий дизайн блокчейна не виправдовує очікувань, поточний маркет-мейкер Solana має низький відсоток виграшів у гонці скасування замовлень (набагато нижчий, ніж 13% централізованих бірж), а Jito Auctions посилює контроль за доступом штатів з боку одного лідера, що призводить до розширення спредів. У зв'язку з цим пропонується реконструювати механізм консенсусу та ввести кілька одночасних лідерів для оптимізації впорядкування замовлень, зниження несприятливих витрат на відбір маркет-мейкерів та підвищення цінової ефективності.
Спочатку Solana була створена з метою створення блокчейну, який був би достатньо швидким і дешевим, щоб на ньому можна було запустити доступну книгу центральних лімітних ордерів. Бета-версія основної мережі Solana запрацювала в березні 2020 року, і ось уже п'ять років потому, і хоча ми багато чого досягли, стає все більш очевидним, що ми ще не досягли цього.
Існуюча інфраструктура блокчейну не призначена для транзакцій. Якщо ми хочемо досягти початкової місії Solana, ми повинні повернутися на круги своя, почати з основ, повністю переробити механізм консенсусу і, нарешті, побудувати децентралізовану мережу, яка зможе конкурувати з Нью-Йоркською фондовою біржею.
Конкуруючи з Нью-Йоркською фондовою біржею, ми маємо на увазі, що біржі на Solana повинні мати можливість пропонувати кращі ціни, ніж централізовані біржі. У ринковому світі ціна визначається «спредом»: різницею між максимальною ціною, за якою хтось готовий купити актив, і найнижчою ціною, за якою хтось готовий продати актив.
!
Чим менша цінова різниця, тим кращу ціну отримує трейдер, і тим вища ефективність ринку.
Формула спреду проста. Спреди встановлюються таким чином, що очікуваний прибуток, який маркет-мейкер отримає від торгівлі з неінформаційним трейдером, дорівнює очікуваному збитку, який він отримав би від торгівлі з інформаційним трейдером. Коли маркет-мейкери мають більше інформації, ніж їхні контрагенти, вони заробляють гроші; Коли інформації менше, ніж у контрагента, вони втрачають гроші. Маркет-мейкери зазвичай заробляють трохи грошей на кожній угоді з роздрібними інвесторами, але сильно втрачають, якщо їх хеджують у протилежному напрямку, коли ціна різко стрибає (сподіваюся, нечасто). Звідси і походить фраза «маркет-мейкер забирає ворота і втрачає кавун».
Які фактори визначають витрати на зворотний відбір?
!
Щоб краще зрозуміти несприятливий відбір, нам потрібно зрозуміти, в які ігри грають маркет-мейкери. Маркет-мейкери приймають рішення на основі «справедливої ціни», яка випадковим чином змінюється з часом. Коли справедлива ціна знаходиться в межах бід-аск спреду, котирування маркет-мейкера є безпечним, оскільки контрагент не може отримати прибуток, з'їдаючи котирування. Але як тільки справедлива ціна перевищує бід-аск спред, починається гонка: маркет-мейкер намагається скасувати ордер якомога швидше, а тейкер намагається вхопити застарілий ордер до того, як маркет-мейкер скасує. Очікування успішного тейкера – це різниця між справедливою ціною та застарілою пропозицією. Ключ до зменшення тертя несприятливого відбору полягає в тому, щоб дозволити маркет-мейкерам виграти гонку якомога більше.
!
Дані з деякої централізованої біржі свідчать, що після стрибка ціни, у маркет-мейкерів є лише 13% ймовірності, що вони зможуть скасувати замовлення першими.
!
Маркет-мейкери на централізованих біржах мають менше шансів на перемогу в гонці скасування, але ще нижчі на Solana. Механізм аукціону Jito, який є побічним ефектом того, що один ініціатор контролює доступ штату протягом тривалого періоду часу, робить майже неможливим для маркет-мейкерів виграти гонку скасування. Навіть якщо маркет-мейкер швидший, реальне рішення полягає в тому, хто зробить вищу ставку на аукціоні Jito. Це ставить маркет-мейкерів перед дилемою: вони можуть або заплатити великі гроші, щоб скасувати свої ордери, або дозволити комусь іншому заплатити високу ціну за їх снайпінг. Так чи інакше, вони втрачали гроші і в результаті були змушені розширювати спред.
!
На практиці поточна мікроструктура ончейн-ринку дає тейкерам перевагу першопрохідця з точки зору несприятливого відбору. Щоб вирішити цю проблему, нам потрібно надати додатку більше гнучкості в упорядкуванні транзакцій. Якщо ми хочемо знизити спред, додаток повинен бути в змозі дати маркет-мейкерам фору в гонці скасування ордерів. Один із способів зробити це – запровадити стратегію сортування за принципом «спочатку скасувати, а потім заповнити». Ми дивимося на блоки та обробляємо всі скасування, перш ніж обробляти всі дублі.
!
Ми можемо негайно впровадити цю стратегію в Solana, просто змінивши поточний порядок повторів з моделі, визначеної лідером, на політику, яка надає пріоритет скасуванню. Але це не вирішує проблему повністю. Якщо він все ще контролюється одним лідером, який все ще може ігнорувати скасування угод, то ми повертаємося до першого стану – маркет-мейкер все ще в невигідному становищі, щоб скасувати гонку.
!
Єдиний спосіб вирішити цю проблему - це впровадження паралельних лідерів (Concurrent Leaders). Таким чином, якщо якийсь лідер блокує скасування транзакції, ви можете звернутися до іншого лідера.
!
Реалізація — Сортування транзакцій
Найбільше питання про кількох паралельних лідерів звучить так: як ми можемо об'єднати їхні відповідні блоки транзакцій у разі конфлікту? Відповідь проста: ми ділимо збори на дві категорії: плату за включення та плату за замовлення. Комісія за включення виплачується валідатору, який містить транзакцію, а комісія за сортування сплачується протоколу (спалювання). Коли ми хочемо об'єднати блоки кожного лідера, ми просто беремо об'єднання всіх транзакцій для всіх блоків у слоті та впорядковуємо їх відповідно до їх комісії за сортування.
!
Одного цього заходу недостатньо. Чого ми дійсно прагнемо досягти, так це надати додатку більше гнучкості для контролю порядку транзакцій. Ще один елемент: системний виклик 'get_transaction_metadata', який дозволяє програмі зчитувати комісію за сортування транзакції, з якою вона взаємодіє, надаючи додатку потужний інструмент контролю замовлень.
!
Реалізація — механізм консенсусу
Наші цілі дизайну механізму консенсусу включають:
Прив'язка та сліпота (Binding & Blinding): паралельні лідери не можуть включати інформацію з блоків інших лідерів у свої блоки (наприклад, для атаки приватних транзакцій), а також не можуть скасовувати свої блоки на основі змісту блоків інших лідерів (наприклад, скасовувати свою ставку після перегляду інших ставок).
Справедливість Wallclock: Паралельні лідери повинні подавати блоки приблизно за однакову кількість часу в реальному часі.
Ось короткий опис найбільш ефективного рішення, розробленого нами у співпраці з Pranav Garimidi та Joachim Neu з a16z Research:
Кожен лідер перетворює свої блоки на фрагменти (клаптики) коду стирання. Як тільки достатня кількість фрагментів (вище швидкості кодування) буде відновлена, блок може бути відновлений. Часткове відновлення неможливе.
Лідери надсилають фрагменти до релейних вузлів першого рівня дерева Turbine. Кожен лідер відправляє свій перший фрагмент релейному 1, другий фрагмент релейному 2 і так далі. Якщо все пройде успішно, кожен релейний вузол отримає фрагменти від усіх лідерів.
Після закінчення часу реле надсилає підписане повідомлення IHAVE єдиному лідеру консенсусу, інформуючи його про отримані фрагменти.
Лідери консенсусу потім створюють блок, що містить ці повідомлення IHAVE; якщо в блоці не міститься достатня частка повідомлень IHAVE, цей блок буде недійсним.
Лідери консенсусу транслюють цей блок валідаторам, валідатори починають досягати консенсусу щодо цього блоку.
Цей план задовольняє властивості зв'язування та затемнення з високою ймовірністю і має хорошу справедливість у часі, хоча в майбутньому можуть з'явитися ще кращі варіанти.
!
Висновок
Solana була створена з метою перевершити NASDAQ. Для цього ми повинні запропонувати більш вигідну ціну, ніж NASDAQ. Для цього ми повинні надати додатку можливість визначати пріоритетність скасувань перед закриттям. Щоб розширити можливості застосування цієї здатності, ми повинні запобігти односторонньому перегляду наказів лідерами. А для цього нам потрібно паралельно залучити кількох лідерів.
Контент має виключно довідковий характер і не є запрошенням до участі або пропозицією. Інвестиційні, податкові чи юридичні консультації не надаються. Перегляньте Відмову від відповідальності , щоб дізнатися більше про ризики.
Як Solana може вдосконалитися для реалізації візії Nasdaq у блокчейні?
**Автори: Макс Резнік (Anza) та Анатолій Яковенко (Solana Labs)
Переклад: GaryMa У сказав блокчейн
Резюме
Solana прагне побудувати децентралізовану торгову мережу, яка буде більш ефективною, ніж NASDAQ, але існуючий дизайн блокчейна не виправдовує очікувань, поточний маркет-мейкер Solana має низький відсоток виграшів у гонці скасування замовлень (набагато нижчий, ніж 13% централізованих бірж), а Jito Auctions посилює контроль за доступом штатів з боку одного лідера, що призводить до розширення спредів. У зв'язку з цим пропонується реконструювати механізм консенсусу та ввести кілька одночасних лідерів для оптимізації впорядкування замовлень, зниження несприятливих витрат на відбір маркет-мейкерів та підвищення цінової ефективності.
Спочатку Solana була створена з метою створення блокчейну, який був би достатньо швидким і дешевим, щоб на ньому можна було запустити доступну книгу центральних лімітних ордерів. Бета-версія основної мережі Solana запрацювала в березні 2020 року, і ось уже п'ять років потому, і хоча ми багато чого досягли, стає все більш очевидним, що ми ще не досягли цього.
Існуюча інфраструктура блокчейну не призначена для транзакцій. Якщо ми хочемо досягти початкової місії Solana, ми повинні повернутися на круги своя, почати з основ, повністю переробити механізм консенсусу і, нарешті, побудувати децентралізовану мережу, яка зможе конкурувати з Нью-Йоркською фондовою біржею.
Конкуруючи з Нью-Йоркською фондовою біржею, ми маємо на увазі, що біржі на Solana повинні мати можливість пропонувати кращі ціни, ніж централізовані біржі. У ринковому світі ціна визначається «спредом»: різницею між максимальною ціною, за якою хтось готовий купити актив, і найнижчою ціною, за якою хтось готовий продати актив.
!
Чим менша цінова різниця, тим кращу ціну отримує трейдер, і тим вища ефективність ринку.
Формула спреду проста. Спреди встановлюються таким чином, що очікуваний прибуток, який маркет-мейкер отримає від торгівлі з неінформаційним трейдером, дорівнює очікуваному збитку, який він отримав би від торгівлі з інформаційним трейдером. Коли маркет-мейкери мають більше інформації, ніж їхні контрагенти, вони заробляють гроші; Коли інформації менше, ніж у контрагента, вони втрачають гроші. Маркет-мейкери зазвичай заробляють трохи грошей на кожній угоді з роздрібними інвесторами, але сильно втрачають, якщо їх хеджують у протилежному напрямку, коли ціна різко стрибає (сподіваюся, нечасто). Звідси і походить фраза «маркет-мейкер забирає ворота і втрачає кавун».
Які фактори визначають витрати на зворотний відбір?
!
Щоб краще зрозуміти несприятливий відбір, нам потрібно зрозуміти, в які ігри грають маркет-мейкери. Маркет-мейкери приймають рішення на основі «справедливої ціни», яка випадковим чином змінюється з часом. Коли справедлива ціна знаходиться в межах бід-аск спреду, котирування маркет-мейкера є безпечним, оскільки контрагент не може отримати прибуток, з'їдаючи котирування. Але як тільки справедлива ціна перевищує бід-аск спред, починається гонка: маркет-мейкер намагається скасувати ордер якомога швидше, а тейкер намагається вхопити застарілий ордер до того, як маркет-мейкер скасує. Очікування успішного тейкера – це різниця між справедливою ціною та застарілою пропозицією. Ключ до зменшення тертя несприятливого відбору полягає в тому, щоб дозволити маркет-мейкерам виграти гонку якомога більше.
!
Дані з деякої централізованої біржі свідчать, що після стрибка ціни, у маркет-мейкерів є лише 13% ймовірності, що вони зможуть скасувати замовлення першими.
!
Маркет-мейкери на централізованих біржах мають менше шансів на перемогу в гонці скасування, але ще нижчі на Solana. Механізм аукціону Jito, який є побічним ефектом того, що один ініціатор контролює доступ штату протягом тривалого періоду часу, робить майже неможливим для маркет-мейкерів виграти гонку скасування. Навіть якщо маркет-мейкер швидший, реальне рішення полягає в тому, хто зробить вищу ставку на аукціоні Jito. Це ставить маркет-мейкерів перед дилемою: вони можуть або заплатити великі гроші, щоб скасувати свої ордери, або дозволити комусь іншому заплатити високу ціну за їх снайпінг. Так чи інакше, вони втрачали гроші і в результаті були змушені розширювати спред.
!
На практиці поточна мікроструктура ончейн-ринку дає тейкерам перевагу першопрохідця з точки зору несприятливого відбору. Щоб вирішити цю проблему, нам потрібно надати додатку більше гнучкості в упорядкуванні транзакцій. Якщо ми хочемо знизити спред, додаток повинен бути в змозі дати маркет-мейкерам фору в гонці скасування ордерів. Один із способів зробити це – запровадити стратегію сортування за принципом «спочатку скасувати, а потім заповнити». Ми дивимося на блоки та обробляємо всі скасування, перш ніж обробляти всі дублі.
!
Ми можемо негайно впровадити цю стратегію в Solana, просто змінивши поточний порядок повторів з моделі, визначеної лідером, на політику, яка надає пріоритет скасуванню. Але це не вирішує проблему повністю. Якщо він все ще контролюється одним лідером, який все ще може ігнорувати скасування угод, то ми повертаємося до першого стану – маркет-мейкер все ще в невигідному становищі, щоб скасувати гонку.
!
Єдиний спосіб вирішити цю проблему - це впровадження паралельних лідерів (Concurrent Leaders). Таким чином, якщо якийсь лідер блокує скасування транзакції, ви можете звернутися до іншого лідера.
!
Реалізація — Сортування транзакцій
Найбільше питання про кількох паралельних лідерів звучить так: як ми можемо об'єднати їхні відповідні блоки транзакцій у разі конфлікту? Відповідь проста: ми ділимо збори на дві категорії: плату за включення та плату за замовлення. Комісія за включення виплачується валідатору, який містить транзакцію, а комісія за сортування сплачується протоколу (спалювання). Коли ми хочемо об'єднати блоки кожного лідера, ми просто беремо об'єднання всіх транзакцій для всіх блоків у слоті та впорядковуємо їх відповідно до їх комісії за сортування.
!
Одного цього заходу недостатньо. Чого ми дійсно прагнемо досягти, так це надати додатку більше гнучкості для контролю порядку транзакцій. Ще один елемент: системний виклик 'get_transaction_metadata', який дозволяє програмі зчитувати комісію за сортування транзакції, з якою вона взаємодіє, надаючи додатку потужний інструмент контролю замовлень.
!
Реалізація — механізм консенсусу
Наші цілі дизайну механізму консенсусу включають:
Прив'язка та сліпота (Binding & Blinding): паралельні лідери не можуть включати інформацію з блоків інших лідерів у свої блоки (наприклад, для атаки приватних транзакцій), а також не можуть скасовувати свої блоки на основі змісту блоків інших лідерів (наприклад, скасовувати свою ставку після перегляду інших ставок).
Справедливість Wallclock: Паралельні лідери повинні подавати блоки приблизно за однакову кількість часу в реальному часі.
Ось короткий опис найбільш ефективного рішення, розробленого нами у співпраці з Pranav Garimidi та Joachim Neu з a16z Research:
Кожен лідер перетворює свої блоки на фрагменти (клаптики) коду стирання. Як тільки достатня кількість фрагментів (вище швидкості кодування) буде відновлена, блок може бути відновлений. Часткове відновлення неможливе.
Лідери надсилають фрагменти до релейних вузлів першого рівня дерева Turbine. Кожен лідер відправляє свій перший фрагмент релейному 1, другий фрагмент релейному 2 і так далі. Якщо все пройде успішно, кожен релейний вузол отримає фрагменти від усіх лідерів.
Після закінчення часу реле надсилає підписане повідомлення IHAVE єдиному лідеру консенсусу, інформуючи його про отримані фрагменти.
Лідери консенсусу потім створюють блок, що містить ці повідомлення IHAVE; якщо в блоці не міститься достатня частка повідомлень IHAVE, цей блок буде недійсним.
Лідери консенсусу транслюють цей блок валідаторам, валідатори починають досягати консенсусу щодо цього блоку.
Цей план задовольняє властивості зв'язування та затемнення з високою ймовірністю і має хорошу справедливість у часі, хоча в майбутньому можуть з'явитися ще кращі варіанти.
!
Висновок
Solana була створена з метою перевершити NASDAQ. Для цього ми повинні запропонувати більш вигідну ціну, ніж NASDAQ. Для цього ми повинні надати додатку можливість визначати пріоритетність скасувань перед закриттям. Щоб розширити можливості застосування цієї здатності, ми повинні запобігти односторонньому перегляду наказів лідерами. А для цього нам потрібно паралельно залучити кількох лідерів.