4 грудня 2020 р.
Top

Гарантії остаточності розрахунку, або як оцінювати блокчейни

Скільки часу займає фіналізація транзакцій на основних блокчейнах? Через якийсь час розрахунок по біткойн-транзакціях можна вважати досконалим? Які фактори ризику, при настанні яких потрібно збільшити кількість очікуваних підтверджень? Як підтвердження впливають на розрахунок за транзакціями?

Дивно, але ні на один з цих питань так іне дано доброї відповіді, навіть в 2019 році, через 10 років після видобутку першого блоку біткойнов. Ретельне дослідження властивостей proof-of-work утруднюється як уявленням про те, що це лише тимчасове рішення на шляху до якогось кращого механізму консенсусу, стійкого до атаки Сібілли, так і, з іншого боку, переконаності біткойнеров в непохитних переваги цього алгоритму.

Але це фундаментальні питання. Якщо ви вважаєте, що публічні блокчейни з відкритими групами валідаторів і розподіленими механізмами конвергенції будуть існувати і в доступному для огляду майбутньому використовуватися для передачі вартості, то про ці питання варто задуматися. А якщо ви керуєте біржею і ваш фінансовий достаток залежить від правильної оцінки необхідної кількості підтверджень на різних блокчейнах, то вони мають і зовсім вирішальне значення. Для початку дозвольте мені пояснити, чому я вважаю, що гарантії розрахунку за транзакціями (їх фіналізація) - це головне, на що варто звертати увагу при розгляді будь-якого публічного блокчейна.

Що в біткойнов найважливіше?

Як не дивно, на це питання не так простовідповісти. Задайте його десяти біткойнерам, і ви отримаєте десять різних відповідей. Фундаментальні розбіжності в питанні про те, для чого призначений біткойнов, його теології, практично розкололи суспільство в 2014-2017 роки. Ми з Hasu в минулому році спробували коротко зафіксувати ці конкуруючі уявлення. Інші помітили наше починання і розвинули цю тему. Я б особливо виділив статтю Мурада Махмудова і Адама Таше. Деніел Кравіц теж торкався (англ.) Цю тему в 2014 році.

На думку Кравіца, біткойнов дуже по-різномурозуміється двома основними категоріями користувачів: інвесторами і підприємцями. Інвестори, пише він, вважають біткойнов новою формою високоефективної грошової бази, яка в першу чергу підтримує суверенітет особистості. Інвестори схильні вважати, що біткойнов набуде широкого поширення через вродженої сили його монетарних властивостей. Для них евангелизм не має особливого сенсу: ціна - ось кращий євангеліст. Підприємці ж в розумінні Кравіца більше зацікавлені в біткойнов як глобальної платіжній системі, і приділяють більше уваги його використання в торгівлі і комерційної діяльності. Як відомо кожному, хто стежив за кріптосферой в 2015-2017 рр., Розбіжності між цими двома таборами привели до запеклої «громадянську війну» за визначення призначення біткойнов, головним полем бою в якій був розмір блоків.

Можливо, ці точки зору можна гармонійноузгодити між собою. Я схильний думати, що найважливіше в біткойнов - його здатність полегшити трансфер вартості через комунікаційне середовище при надзвичайно сильних гарантії. Я вважаю, що біткойнов - це нова інституційна технологія - технологія зберігання і трансферу цінності з високим рівнем гарантій і без опори на державу або фінансову систему, -яка відкриє нові моделі людської організації і дозволить вести продуктивну комерційну діяльність в місцях, де слабо дотримуються права власності.

Отже, якщо ключовою особливістю системи єгарантії щодо розрахунку за транзакціями, то як ми можемо їх оцінити? І як провести послідовне порівняння між біткойнов і іншими системами з відкритою валідацією?

Оцінка фіналізації транзакцій

Так що в точності розуміється під гарантіямирозрахунку за транзакціями? Під цим мається на увазі здатність системи забезпечувати одержувачам коштів впевненість в тому, що входить транзакція не буде скасована. Електронні грошові перекази за допомогою системи передачі фінансових повідомлень (наприклад, SWIFT) популярні почасти тому, що їх практично неможливо скасувати. Вони вважаються безпечними для одержувачів, оскільки банки-відправники будуть вивільняти кошти тільки в тому випадку, якщо вони в повному обсязі присутні на рахунку відправника.

Ось чому злодії, які організували мільярднепограбування центрального банку Бангладешу, використовували SWIFT і банківські перекази: вони хотіли скористатися гарантіями остаточності розрахунку. Іншими словами, вони вирішили використовувати для розкрадання систему, яку, як вони знали, складно повернути назад. В результаті 61 млн доларів з викрадених в цьому пограбуванні так і не були повернуті. Це є не доказом провалу системи SWIFT і банківських платежів, але швидше за показує сильні сторони системи. Навіть в цьому випадку, коли практично всі мали відношення до цих транзакцій боку хотіли їх скасувати, вони не змогли цього зробити. Система стійка до скасування транзакцій, дискреції і ретроспективному зміни. Це аж ніяк не робить її поганою системою. Навпаки, це робить її системою, яка забезпечує контрагентам високу ступінь впевненості в остаточності транзакцій.

Аналогічним чином, і Bitcoin є корисною системою, оскільки надає користувачам потужні гарантії остаточності розрахунку. наскільки ця система хороша, ми точно не знаємо. LaurentMT написав, ймовірно, саме наукове дослідження цієї теми. Хоча в цілому властивості PoW біткойнов вивчені ще не повністю. В його історії є кілька епізодів реорганізації, але, наскільки ми знаємо, це не були навмисні реорганізації з метою розкрадання коштів. І ми знаємо, що Майнер виділяють на Майнінг транзакцій величезні ресурси реального світу. Це означає, що одержувачі біткойн-транзакцій можуть мати надзвичайно високу впевненість в тому, що після отримання кількох підтверджень транзакція навряд чи буде скасована.

Однак цього не можна сказати про багатьох іншихкриптовалюта. Хоча зовні вони в багатьох випадках можуть здаватися аналогічними біткойнов, жодна з них не може надати користувачам рівних гарантій остаточності розрахунку. Це не обов'язково наслідок якихось недоліків дизайну, просто простір блоків біткойнов має більш високу акумульовану вартість - а значить, і вартість атаки - на одиницю часу, і крім того, біткойнов володіє практично монополією на свою хеш-функцію, і для його Майнінг використовується спеціалізоване обладнання. Дивно, але і багато більш слабкі блокчейни не наражалися на зломів, навіть якщо вартість атаки на них була відносно невелика. Це, швидше за все, пов'язано з тим, що для монетизації атаки 51% потрібна біржа, що створює додаткові складності. Та й, чесно кажучи, більшість невеликих Койнов стоять досить небагато (і практично неліквідні), що істотно обмежує прибутковість атаки.

Для того щоб отримати уявлення про те,наскільки вразливі багато криптовалюта, погляньте на crypto51.app. Методологія ресурсу виходить з кілька нереалістичного припущення про те, що зловмисник може орендувати достатню кількість обладнання на Nicehash, однак вона дозволяє визначити нижню межу вартості атаки на ці системи.

Отже, які ключові змінні для оцінкифіналізації транзакцій в системах публічних блокчейнов? Я пропоную спочатку класифікувати ці змінні за ознакою зручності для кількісної оцінки: на ті, що легше і ті, що складніше таким чином оцінити.

Змінні, піддаються кількісній оцінці

Акумульована вартість реєстру

Акумульована вартість (або «дорожнеча», англ. costliness) реєстру - це найбільш глибока і найбезпосередніший з доступних нам змінних для оцінки гарантій остаточності транзакцій на блокчейне. Попросту кажучи, вона еквівалентна сумі, що виплачується валідатор / селекторам транзакцій в одиницю часу. У біткойнов Майнер отримують в нагороду субсидії блоків і комісії за транзакції, що дає їм фінансовий стимул «грати за правилами», сумлінно виконуючи свої завдання. В алгоритмах proof-of-work Майнер надають незаперечні докази того, що вони витратили невелику кількість енергії, і, отже, понесли витрати на кожен запропонований ними блок. На момент видобутку блоку майнер повинен витратити ресурси, вартість яких, за рідкісним винятком, приблизно еквівалентна вартості блоку (зазвичай з невеликою маржею). Тому Майнер мають стимул створювати коректні блоки, що відповідають правилам мережі.

Це як шкільний проект, в якому вам потрібнопрочитати книгу і представити її письмовий аналіз. Вам потрібно представити вчителю доказ того, що ви прочитали книгу, тому ви пишете по ній аналітичну роботу (як дійсний хеш блоку з достатньою кількістю провідних нулів), який ви можете виконати, тільки якщо дійсно прочитали книгу (розрахували достатню кількість хешів). Оскільки ваш учитель ще й дуже уважний до стилю тексту, вам знадобиться правильно відформатувати свою роботу (створити добре сформований і валідний блок). Було б трагедією прочитати всю книгу тільки для того, щоб представити неправильно сформовану роботу і отримати незадовільно. Аналогічним чином працює і proof-of-work: спочатку виконується робота, а винагорода за неї виходить пізніше. Ви несете реальні витрати і ваш бізнес залежить від правильного виконання всіх бюрократичних кроків, необхідних для отримання винагороди, так що ви робите все можливе, щоб не зіпсувати цю частину. Нещодавно майнер виконав всю необхідну для формування блоку роботу, але оступився на останньому етапі, створивши недійсний блок. (Для більш повного опису того, як працює система стимулів в PoW, почитайте статтю Хьюго Нгуйєн.)

Так чому ж більша акумульована в одиницючасу вартість реєстру означає більшу безпеку для контрагентів? Тому що бóльшій розмір винагороди Майнер (передбачається, що мова йде про сумлінних Майнер) означає, що для перемоги над ними вам знадобиться зібрати більше найманців. Ці ресурси повинні звідкись надходити: вам потрібно буде мобілізувати ресурси і обладнання, здатне виробляти хеші, електрику і так далі. (Існує аргумент про те, що, оскільки зловмисники, проводячи атаку 51%, отримують субсидії блоків, безпеку мережі в PoW реально забезпечується тільки за рахунок комісій. Тут я не буду вдаватися в повноцінний розбір цієї теми - поки що я буду просто виходити з того , що субсидії, особливо при використанні спеціалізованого обладнання, - як величезна брила, яку спершу потрібно очистити від усього зайвого, перш ніж можна буде теоретизувати на тему сценаріїв атаки 51%.)

Підводячи підсумок, намагатися перевершити безліччесних Майнер, сумлінно виробляють блоки біткойнов, коштує дуже дорого. Їх сукупний дохід на сьогоднішній день становить 6,9 млрд доларів на рік і багато хто з них, імовірно, інвестували в цей бізнес значні кошти в очікуванні майбутніх грошових потоків (це означає, що кількість обладнання, активного в мережі, може бути навіть більше, ніж співвідноситься з поточним валовим доходом Майнер).

Річний валовий дохід біткойнов-Майнер, в USD. Дані: Coinmetrics.io

Таким чином, біткойнов захищений не тільки тим винагородою, що протокол виплачує Майнер зараз, але і дисконтованих винагородою, яке ці Майнер розраховують отримати в майбутньому.

У нас немає простого способу змоделюватиочікування, тому найпростіше, що можна зробити, - це взяти дохід Майнера в одиницю часу і порівняти блокчейни за цією ознакою. Навіть якщо на цьому ви перестанете читати статтю і просто запам'ятайте останню думку, то вже будете володіти кращим розумінням безпеки блокчейнов, ніж більшість людей. Далеко не всі актори, навіть з тих, для кого ставки дуже високі - як біржі - дають собі працю провести подібний порівняльний аналіз блокчейнов.

Ентоні Лусарді вже виконав великуроз'яснювальну роботу по цій темі. Він представив (англ.) BitConf (від англ. Confirmation - підтвердження), показник того, скільки підтверджень потрібно іншим блокчейнам, таким як Litecoin, для досягнення рівня безпеки, еквівалентного одному підтвердження біткойнов.

Досить сказати, що більшість людей невикористовують BitConf і не намагаються індексувати розрахунок за транзакціями в різних блокчейнах. В «народному» поданні розрахунок, фіналізація, є лінійною функцією кількості підтверджень. Ця думка, на жаль, дуже поширене. Навіть на сайті Litecoin Foundation неявним чином допускається таке твердження:

Litecoin-транзакції підтверджуються швидше, ніж вбільшості криптовалюта, таких як Bitcoin, тому що в Litecoin блок генерується кожні 2,5 хвилини, на відміну від 10-хвилинного інтервалу в мережі біткойнов. Це означає, що ваші гроші швидше доходять до одержувача.

Момент початкового вибору транзакції змемпула і включення її в ланцюжок в Litecoin дійсно настає швидше, але в криптовалюта розрахунок за транзакціями слід розглядати в імовірнісному ключі. Іншими словами, якщо вас турбує тільки перше підтвердження, то Litecoin дійсно швидше, але як тільки вас починає цікавити більш довгострокова фіналізація (через безліч підтверджень), то стає ясно, що Litecoin набагато повільніше.

Якщо ви вважаєте, що кожне підтвердження вLitecoin і в Bitcoin дає рівні гарантії остаточності розрахунку, то графічно це можна виразити таким чином; і біткойнов в цьому випадку очевидно повільніше:

Але це не правильно. У Litecoin формується більше блоків на одиницю часу, але вартість реєстру він акумулює набагато повільніше. Насправді Bitcoin платить своєї армії Майнер набагато краще, і, як наслідок, вони виробляють в хвилину значно більшу безпеку в формі хешів.

Відносно акумулюється вартостіBitcoin-блоки значно «важче» блоків Litecoin. Навіть якби в Litecoin був 10-хвилинний інтервал між блоками, в Bitcoin блок все одно коштував би в 14,5 раз більше, ніж в Litecoin. Підтвердження в дійсності не мають великого значення. Упущена вигода Майнер в одиницю часу - ось що важливо.

Як варіант, ви можете візуалізуватиакумульованих вартість реєстру у вигляді блоків, що накопичуються поверх своїх попередників, де транзакції стають все більш остаточними в міру того, як занурюються глибше в масиві блоків.

Ширина блоку приблизно пропорційна відносним витратам на безпеку кожного блокчейна

У міру того як в масив додається більше ібільше блоків, ймовірність скасування попередніх блоків знижується, і транзакції стають все більш остаточними. На цьому малюнку я масштабував ширину блоків відповідно до накопиченої відносної вартістю реєстру і зобразив дроблення на блоки.

Суть тут в тому, що розрахунок за транзакціями вблокчейн-системах - це потік. Інтервал між блоками за великим рахунком не має значення. У Ethereum створюється набагато більше блоків на годину, ніж в біткойнов, але розрахунок по транзакціях в цих блокчейнах слід порівнювати грунтуючись на вартості реєстру, а не кількості підтверджень.

Прибутковість скасування: розмір транзакцій

Акумульована вартість реєстру - НЕєдине, що має значення для остаточності розрахунку. Важливий також стимул для скасування транзакції, який може у кого-то виникнути. Найбільш чистою кодифікацією такого стимулу є просто розмір транзакції. Якщо ви одержувач транзакції на 50 000 BTC, то можете почекати і більше, ніж загальноприйняті 6 підтверджень, з обережності. Якщо ви отримуєте $ 1000 Сатоши, одного підтвердження, ймовірно, буде досить. Тобто в залежності від розміру транзакції можуть володіти більшій чи меншій сприймається «фіналізіруемостью», прийнятним кількістю підтверджень до того, як розрахунок можна буде вважати остаточним.

Елейн У формалізувала цю концепцію вчудовій статті (англ.) для Bloomberg, в якій вона стверджує, що розрахунок по транзакції можна вважати досконалим, коли акумульована вартість реєстру зрівняється з вартістю транзакції.

Формулювання Елейн вдало поєднує в собі двінайважливіших кількісних змінних в блокчейн-розрахунках: вартість реєстру і прибутковість скасування транзакцій. Якби ви хотіли дочекатися остаточного розрахунку по вхідній транзакції на 10 млн доларів в BTC, то відповідно до цього правила період очікування становив би близько 60 блоків, або 10 годин. (За збігом, при курсі BTC / USD 13 330 $, який існував на момент написання статті, біткойнов акумулював вартість реєстру зі швидкістю 1 млн $ / год.)

Тепер, коли ми назвали дві найбільш важливі для фіналізації змінні, давайте підставимо цифри і порівняємо результат для найбільших PoW-мереж.

Всі цифри наведені за станом на 15.07.2019. Дані: Coinmetrics.io

Немає потреби говорити, що остаточний розрахунок затранзакціях в блокчейне Bitcoin поки відбувається швидше за все (якщо виходити тільки з цих двох змінних, без інших важливих показників). Розрахунок по вхідній транзакції розміром навіть в 1 млн доларів на багатьох блокчейнах може відбуватися надзвичайно повільно. За винятком Bitcoin, Ethereum і Litecoin, в будь-якому іншому децентралізованому реєстрі цей процес займає більше доби (я не розглядаю Ripple і Stellar, тому що процес валідації в них не децентралізований). Менші блокчейни просто не виплачують Майнер достатнього винагороди, щоб остаточний розрахунок за транзакціями відбувався в розумні терміни.

На ресурсі Howmanyconfs порівняльні відомості про необхідну кількість підтверджень представлені у вигляді динамічно оновлюваної таблиці.

Варто зауважити також, що в Bitcoin Cash іBitcoin SV остаточний розрахунок за транзакціями відбувається відповідно в 33 і в 69 разів повільніше, ніж в біткойнов. Будучи багато в чому функціонально ідентичними біткойнов, вони де-факто значно повільніше, оскільки пропонують Майнер меншу винагороду. Це прямо суперечить їх звичайному позиціонуванню як «швидших» блокчейнов.

Це також може служити чудовим прикладом того,як біткойнов пручається утворення дублікатів. Ви можете створити щось, зовні схоже на біткойнов, але ви не можете відтворити його гарантії остаточності розрахунку, що випливають з акумулюється вартості реєстру. Майнер існують в економічній реальності і їх не можна схилити надавати підтримку протоколу, який оплачує їх роботу в недостатньому. Насправді, як ми дізнаємося вже в наступному розділі, Bitcoin Cash і Bitcoin SV навіть ще слабше, ніж показано в цій таблиці, через наявність третьої змінної.

Монополія на власну хеш-функцію

До сих пір я не згадував третю критично важливузмінну, безпосередньо впливає на гарантії остаточності розрахунку за транзакціями на тому чи іншому блокчейне: чи володіє він фактичною монополією на обладнання, яке працює з його хеш-функцією. Як я вже сказав, Bitcoin Cash і Bitcoin SV знаходяться в надзвичайно невигідному в порівнянні з біткойнов положенні, будучи підтримуваними лише незначною часткою від усіх функціонуючих SHA-256 ASIC-Майнер. Це означає, що будь-який пул - навіть середнього або невеликого розміру, - майнящій біткойнов, може тимчасово перенаправити свою хешірующую потужність на один з менших ФОРКОМ біткойнов і провести на нього атаку 51%.

Відносна частка виручки Майнер: BTC (помаранчевий), BCH (зелений), BSV (червоний). Coinmetrics.io

Те, що ці блокчейни поки ще не були атаковані,не є гарантією їхньої майбутньої безпеки. Це цілком може пояснюватися тим, що на даний момент в біткойнов немає стилів, які бажають зловмисно втручатися в роботу будь-якої ФОРКОМ, але залежність від доброї волі Майнер робить модель безпеки цих ФОРКОМ надзвичайно слабкою. Оскільки цей ризик присутній постійно, можна стверджувати, що жоден такий блокчейн в принципі не може забезпечити остаточність розрахунку за транзакціями, незалежно від числа підтверджень. Це пов'язано з тим, що в біткойнов більш ніж достатньо майнінгових пулів, які могли б без особливих складнощів реорганізувати блокчейн BSV на 100 і більше блоків в глибину.

Ця змінна робить аналіз складніше. Більший хешрейт сам по собі ще не обов'язково означає, що блокчейн є більш безпечним; він також повинен підтримуватися більшою часткою спеціалізованого обладнання.

У цьому прикладі я б охарактеризував блокчейн Aяк менш безпечний в порівнянні з B, навіть при тому, що він має більшу вартість реєстру в абсолютному вираженні, тому що залучити достатню кількість обладнання для атаки на блокчейн A теоретично простіше.

Так що цю змінну слід розглядати яклогічну: якщо блокчейн володіє фактичною монополією на сумісний з ним обладнання, то аналіз простий. Якщо ж він знаходиться в невдалому становищі, коли обладнання для роботи з такою ж хеш-функцією використовується також для Майнінг на інших блокчейнах, і підтримується лише порівняно невеликою часткою цих хешірующіх потужностей, то такий блокчейн, ймовірно, принципово небезпечний. Хоча визначити, наскільки саме він небезпечний, важко: ризик атаки залежить від здатності зловмисників залучити достатню кількість електроенергії і устаткування.

Змінні, в меншій мірі піддаються кількісній оцінці

Три згадані вище змінні не євичерпними, їх просто легше кількісно оцінити. З ними ви, ймовірно, могли б побудувати правдоподібну модель, що перевершує ті, що використовуються більшістю бірж сьогодні. Але є ще багато чинників, які теж потрібно враховувати.

Прибутковість скасування: атака «Голдфінгер»

Назва «Голдфінгер» запозичене з фільму про Джеймса Бонда, в якому лиходій планує піддати опроміненню все золото в Форт-Нокс і підвищити таким чином цінність власного золота. Цим терміном описується клас атак, коли дії зловмисника мотивовані якимось фінансовим стимулом, існуючим поза протоколом. Джозеф Бонні більш науково описує (англ.) Їх як атаки, в яких «атакуючі [мають] зовнішню мотивацію до зриву процесу консенсусу».

Кількісно оцінити ризик таких атак практичнонеможливо, оскільки зловмисники можуть мати найрізноманітніші мотиви і, як правило, не розкривають їх до нападу. Тут я приведу два інших прикладу, в яких прибутковість скасування транзакцій різко зростає, що може поставити під сумнів гарантії остаточності розрахунку за транзакціями.

Перевантаження верхніх шарів

Це відноситься до стану, в якому великакількість фінансово значимих активів створюється у вигляді токенов поверх якогось протоколу базового шару - як активи Omni на Bitcoin або ERC20 на Ethereum. Оскільки ці маркери успадковують свою безпеку від базового шару і повністю від нього залежать, вони уразливі для атак на базовий блокчейн.

У міру розвитку асиметрії між цінністюінструментів другого і більш рівнів і вартістю атаки на базовий шар починає проявлятися проблема перевантаження верхніх шарів. Якщо асиметрія стає досить великою, зловмисник може спробувати відкрити коротку позицію по якомусь із інструментів верхнього рівня і одночасно атакувати базовий блокчейн, або шляхом Майнінг порожніх блоків і DoS-атаки на відповідні маркери, або шляхом реорганізації блокчейна і створення плутанини.

У нас вже є реальні приклади наслідків длясистем з перевантаженими верхніми шарами. Зловмисники останнім часом стали регулярно атакувати базовий індекс, що встановлює ціну на деривативи BitMEX. Унаслідок значної асиметрії між забезпеченням, присутнім на BitMEX (вершина), і базовим еталонним ринком (основа), спалювати кошти в ринкових ордерах на Bitstamp стає вигідно, тому що зловмисник може отримати прибуток, спровокувавши перебільшене за рахунок ліквідації маржинальних позицій ціновий рух на BitMEX .

Я не думаю, що будь-якої з блокчейновстикається з такою проблемою сьогодні, але в міру того, як все більше фінансових інструментів перекладається в токени, існуючі поверх блокчейнов, прибутковість атаки на базовий шар буде рости.

Ліквідні ринки деривативів

Це пояснюється досить просто. Похідні фінансові інструменти, і, зокрема, опціони, дають учасникам фінансових ринків можливість торгувати з більшим кредитним плечем і отримувати бóльшій дохід навіть в результаті відносно невеликого зміни ціни базового активу. Як і у випадку з перевантаженням верхніх шарів, ризик для блокчейна виникає, коли існує значна асиметрія між вартістю атаки і її прибутковістю.

Створення ліквідних ринків деривативів дозволяєатакуючим збільшити свій прибуток від передбачення цінового руху; і якщо вони можуть спровокувати падіння ціни активу шляхом атаки на нього, то гарантії розрахунку за транзакціями в блокчейне потенційно перебувають під загрозою. У міру зростання прибутковості атаки збільшується і кількість ресурсів, яке атакуючий готовий в ній задіяти. Так що збільшення левериджу на стороні продажу потенційно послаблює гарантії остаточності розрахунку на блокчейне. Але через неоднорідність акторів і невпевненості щодо можливості монетизувати таку атаку, кількісно оцінити цей ризик з поправкою на рівень безпеки блокчейна стає неможливо.

Звичайно, одним з противаг таким атакам можебути потенційне небажання біржі виплачувати прибуток по позиції, якщо у неї є підозри, що відповідний трейдер координував свої дії зі зловмисником, атакуючим блокчейн.

Додаткові аспекти стосовно обладнання

Щодо обладнання для роботи з певною хеш-функцією слід зазначити, що койне з GPU-Майнінг не можуть володіти монополією на використання обладнання, так як GPU в світі надто багато (завдяки іграм і іншим не пов'язаним з криптовалюта додатків).

Таким чином, для Койнов з GPU-Майнінг завждимає турбуватися більше підтверджень. Яким саме має співвідношення одиниці акумулюється вартості реєстру з GPU-Майнінг і реєстру з ASIC-Майнінг, сказати важко. Але абсолютно точно побудова моделі безпеки на основі GPU-Майнінг має розцінюватися як фактор додаткового ризику. Хоча б навіть через простоту мобілізації обладнання для GPU-Майнінг.

Практичний приклад: Вимоги до підтвердженням, встановлені Kraken

Дивно, але з багатьох моїх розмов зпредставниками бірж, яким є що втрачати від погано збалансованих правил розрахунку за транзакціями, створюється враження, що вони зазвичай мало замислюються про правила підтвердження. Я не зміг знайти детальної інформації про те, через скільки підтверджень біржі розглядають входять транзакції як фіналізовані. На щастя, Kraken опублікував свої критерії.

Я вирішив порівняти вимоги до підтвердженням на Kraken з наївною імплементацією BitConf від Лусарді - просто вимагаючи від усіх блокчейнов надання еквівалента шести підтверджень в біткойнов.

: Час обробки депозитів на Kraken, Coin Metrics

Результати вражають. Залежно від точки зору, можна сказати, що Kraken пред'являє або вкрай жорсткі вимоги до біткойнов-транзакціях, або занижені вимоги до транзакцій на інших блокчейнах. Вимагаючи для зарахування депозиту шести підтверджень на Bitcoin, вони просять всього 12 підтверджень для Litecoin (де еквівалентно біткойнов з точки зору безпеки було б 174 підтвердження), 30 для Ethereum (еквівалентно біткойнов: 173) і 15 для Monero (еквівалентно біткойнов: 2000).

Моє припущення полягає в тому, що шістьпідтверджень явно надлишково для біткойнов, і в цьому світлі менша вимогливість Kraken до інших блокчейнам виглядає дещо більш розумно. І тим не менше, результати порівняння з послідовним застосуванням змінної акумулюється вартості реєстру часом виглядають навіть комічно. QTUM, наприклад, для відповідності того ж рівня безпеки буде потрібно 67 000 підтверджень, або 115 днів очікування. (QTUM, втім, цілком може мати якийсь альтернативний незнайомий мені режим розрахунку за транзакціями: мої обчислення засновані просто на розмірі виплат валідатори).

Звичайно, це дуже наївна імплементація моделі. Складніша версія мала б враховувати більш високі вимоги до безпеки для немонополістичному щодо обладнання блокчейнов, Койнов з GPU-Майнінг, великих вхідних транзакцій і т.д. Я б рекомендував всім бірж розглянути можливість введення систематичного набору правил для вхідних транзакцій, якщо вони ще цього не зробили. Незалежно від обраної формули, результатом, швидше за все, буде менша кількість підтверджень для біткойнов і більше для блокчейнов меншого масштабу.

деякі висновки

Яку практичну цінність все це має? Що ж, поки ми продовжуємо очікувати формалізації цих змінних в рамках стрункої осмисленої моделі, безпосередньо застосувати до щоденного використання криптовалюта, ось кілька висновків, які можна зробити і зараз:

I. Інтервал між блоками може бути яким завгодно, це мало що змінює

Єдине, що змінює менший інтервал міжблоками, - це скорочує розбіжності в часі очікування початкового підтвердження. Нетерпляча людина, ймовірно, віддасть перевазі блокчейну з 2,5-хвилинним інтервалом між блоками, але це зовсім не означає, що розрахунок за транзакціями на ньому буде відбуватися більш-менш швидше. Це ніяк не вплине на швидкість акумуляції вартості реєстру, яка є функцією від темпу випуску і ціни монет.

Дійсно, біткойнов може зменшити розмірблоку на 25% і зменшити інтервал між блоками до 2,5 хвилин - і ніхто не помітить різниці. Система залишилася б функціонально ідентичною, тільки загальноприйняте правило шести підтверджень було б замінено правилом 24 підтверджень. Сатоши вибрав 10-хвилинний інтервал, тому що не знав, наскільки легко система зможе приходити до конвергентності. Затримки і великі блоки заважають валідації і ускладнюють конвергенцію між вузлами. Здоровий 10-хвилинний інтервал між блоками залишає системі достатній запас, а також дає нам уявлення про те, якого роду систему планував Сатоши (підказка: не підходить для дрібних грошових переказів).

Це правда, що перше підтвердження маєзначення, оскільки ваша транзакція не може почати занурюватися глибше під вагою наступних блоків, поки вона не буде включена Майнер в блок. Крім того, менший інтервал між блоками зменшує дисперсію деяких змінних, таких як добовий обсяг випуску. Втім, з цими застереженнями, інтервал між блоками може бути абсолютно будь-яким. Крім якості акумулювання вартості реєстру,остаточність розрахунку за транзакціями визначається також витратами на безпеку в одиницю часу. Менший інтервал між блоками означає тільки, що ви розбиваєте цей потік безпеки на менші фрагменти. Це не робить остаточний розрахунок скільки-небудь швидше.

II. Або безпеку біткойнов надлишкова, або інші блокчейни принципово небезпечні

Це найясніший висновок, який можна зробити звсіх вправ в порівняльному аналізі, виконаних мною для цієї статті. Якщо порівнювати блокчейни виключно по параметру розміру виплат селекторам транзакцій (Майнер і валідатор) в одиницю часу, то здебільшого вони виглядають катастрофічно слабкими в порівнянні з біткойнов. Просто погляньте на цю діаграму. Крім Bitcoin, Ethereum і Litecoin, інші криптовалюта на ній практично неможливо розрізнити - настільки мінімальні їхні витрати на безпеку.

Добовий дохід Майнер в USD (7-денна змінна середня). Coinmetrics.io

Це не обов'язково смертельно. Може бути, Bitcoin істотно переплачує за безпеку і proof-of-work насправді «краще», ніж ми думаємо. Насправді саме до цієї точки зору я зараз схиляюся: через поточного розміру субсидій блоків в поєднанні з високою вартістю BTC, біткойнов, ймовірно, витрачає на безпеку «занадто багато». Але це створює запас міцності, який забезпечить йому гарну ступінь захисту в майбутній перехідний період.

Так що ці результати не обов'язково єапокаліптичними для невеликих блокчейнов. Зрештою, хоч Сатоши і благословив правило шести підтверджень, цілком може бути, що для більшості транзакцій досить одного або двох блоків. Це зменшило б навантаження на інші блокчейни, намагаються якось відповідати витратам на безпеку біткойнов.

III. Фіналізація транзакцій завжди носить імовірнісний характер

Визнаю, що я дещо погарячкував щодотого, коли нові блокчейни знаходять «абсолютну закінченість». Єдиний спосіб насправді отримати остаточні транзакції полягає в тому, щоб якась організація поручилася за них, гарантуючи їх остаточність, тобто фактично їх схваливши. Але в цьому випадку органи влади, які можуть бути зацікавлені у скасуванні транзакцій (наприклад, якщо запідозрять, що вони пов'язані з кримінальною діяльністю), зазвичай вимагатимуть від організації скасувати відповідні платежі, що підриває сприйняту остаточність розрахунків.

Візьмемо для прикладу EOS. В EOS є поняття «останнього незворотного блоку» (Last Irreversible Block), по відношенню до транзакцій в якому, згідно з EOS Canada,

можна мати 100% впевненість в тому, що вони є остаточними, повністю підтвердженими і незмінними. Якщо номер блоку менше останнього незворотного блоку, значить він вважається остаточним.

Згідно EOS Network Monitor, вершина блокчейнапісля поточного останнього незворотного блоку (на момент написання статті) налічувала 330 блоків, що еквівалентно приблизно 2 хвилинам і 40 секундам. У сукупності це робить заявлений час до фіналізації в блокчейне EOS дуже невеликим.

Крім того, тут є такий нюанс: в EOS є (або був?) бюрократичний процес, за допомогою якого користувачі можуть звернутися в Центральний арбітражний форум EOS (ECAF) і попросити заморозити і повернути потерпілим імовірно вкрадені кошти і фактично скасувати давно фіналізовані транзакції. Серія таких скасувань була проведена в липні 2018 року. Це було можливо завдяки тому, що існував тільки 21 суб'єкт (виробник блоків), якому було доручено обробляти транзакції, і кожен з них був добре відомий керівництву і, отже, підзвітний.

Хоча багато спостерігачів вітали поверненнявкрадених коштів, з точки зору розрахунку за транзакціями це виключає якості, які контрагенти шукають в блокчейне. На практиці будь-який механізм скасування розрахунку за транзакціями може бути використаний для зловживань. Причина, включення в транзакції по банківських картах комісій полягає в поширеності шахрайства з поверненням платежів.

Уявіть собі складну аферу, в якій хтосьпродав EOS за фіат в p2p-транзакції, а потім оскаржив угоду в ECAF і зумів отримати ці EOS назад, оголосивши транзакцію шахрайської. Такого роду схеми стають можливими, коли існують адміністративні виключення з остаточності транзакцій.

На цю тему я міг би навести чимало прикладів, алепоки обмежуся одним. На практиці багато блокчейни, які заявляють про свою повну і дійсної остаточності, залишають в своїх системах також можливості для вибіркової скасування транзакцій і блокування аккаунтів. Вам в будь-якому випадку потрібно враховувати ймовірність скасування транзакцій, навіть якщо вона не прописана явно в коді.

IV. Будучи відкритим по відношенню до своєї моделі безпеки, PoW-алгоритм біткойнов абсолютно прозорий

Знову цитуючи Елейн У, одне з найбільш кориснихякостей моделі безпеки біткойнов полягає в її відкритості і зрозумілості. Точно визначити розмір гарантій непросто (скільки потрібно підтверджень для розрахунку мільярдної транзакції?), Але можна визначити кількість ресурсів, що витрачаються на підтримку життєздатності системи. У будь-який момент спостерігач може легко визначити, скільки хешів і скільки приблизно енергії буде потрібно для того, щоб перевершити систему. За минулі роки стало ясно, що жодному освіти, за винятком найсильніших держав, не під силу мобілізувати достатню кількість ресурсів, щоб переважити сумлінне більшість.

На противагу простоті моделі біткойнов,інші блокчейни намагаються підвищити безпеку через приховування, підвищення складності або використання непрозорих інституційних режимів фіналізації. Verge, наприклад, об'єднав у своїй екзотичній proof-of-work-моделі п'ять різних хеш-функцій, і це в кінцевому рахунку стало причиною провалу. Зловмисник зрозумів, що він може провести атаку «Time Warp» (спотворення часу), вибравши мішенню лише одну з хеш-функцій і поступово знижуючи складність до 1. Збільшення складності системи не тільки не підвищує її безпеку, а й додає нові вектори атаки.

Підводячи підсумок

Якщо вибирати найголовніше, що я хотів би,щоб ви винесли з цієї статті, то воно буде полягати в наступному. Замість того щоб розглядати розрахунок за транзакціями як функцію від деякого заздалегідь певної кількості підтверджень, сприймайте розрахунок в системі з proof-of-work як процес повільного скам'яніння деревини. Він протікає із заданою швидкістю, яку не можна штучно підвищити. Швидкість визначається перерахованими вище змінними: головним чином, що акумулюється вартістю реєстру, розміром транзакції і доступністю використовуваного в Майнінг обладнання. По завершенні процесу деревина заміщається мінералами і твердне. Форми і особливості деревини застигнуть в часі.

Подібним чином, і блокчейни, за формулюваннямНіка Сабо, це обчислювальний бурштин. Спочатку бурштин є деревним соком і тільки згодом стає твердіше в процесі збереження фрагментів інформації (ДНК комах і т.п.). Найважливіший процес поховання минулих змін реєстру під нефальсіфіціруемой цінністю, яка забезпечується доказом понесених витрат, забезпечує такі ж гарантії повільної фіналізації. З накопиченням великої кількості блоків проявляє себе гравітація блокчейна, що робить глибоке зміна історії його записів дорогим і незручним.

Доступне Майнер винагороду - і,отже, понесені витрати - є функцією від темпу випуску, ціни розрахункової одиниці і комісій. Жоден з цих показників, за винятком темпу випуску, не може бути безпосередньо запрограмований. І один тільки високий темп випуску не може гарантувати безпеку, оскільки інвестори повинні вкладати в блокчейн кошти, забезпечуючи тим самим його вартість. У цьому сенсі надійні гарантії остаточності розрахунку за транзакціями в proof-of-work-системі не можна запланувати, вони можуть тільки виникнути в процесі. Чи вважати цей висновок похмурим чи ні, залежить від вас.

У цій статті я спробував розповісти прозмінних, які вважаю найбільш важливими для оцінки гарантій остаточності розрахунку на блокчейнах, особливо з proof-of-work. Але, як ви напевно помітили, я не даю формальної моделі або рекомендованого вирішення проблеми. Багато з цих змінних нелегко кількісно визначити, і, ймовірно, деякі змінні я зовсім випустив з уваги. Створення більш об'ємною або орієнтованої на практичну реалізацію моделі я залишу наступним авторам.

Якщо ми будемо ігнорувати ці питання, рано чипізно вони все одно неминуче виникнуть перед нами. Поява ліквідності на стороні продажу для більшої частини ринку спричинить за собою відкриття нових видів атак, мішенями яких найчастіше будуть біржі. Точно так же, коли великі кастодіани і розрахункові палати почнуть працювати з кріптовалютнимі депозитами на сотні мільйонів або навіть мільярдів доларів, їм буде потрібно розробити формальні правила для того, що вважати розрахунком за транзакціями на блокчейнах. Їм варто було б серйозно задуматися про безпеку блокчейнов, на які вони покладаються.

</ P>