Проблема масштабованості біткойна

Кількість транзакцій в системі Bitcoin за місяць
Невитрачені виходи транзакцій біткойна

Проблема масштабованості біткойна пов'язана з початковим обмеженням розробниками розміром в один мегабайт базової структури для зберігання даних (блока) у його блокчейні[1][2][3]:ч.2. Таке обмеження продиктовано особливістю побудови блокчейну, як повністю реплікованої розподіленої бази даних, що вимагає постійного пересилання між усіма учасниками кожного нового елемента. Зменшення розміру блоку істотно обмежує ефективність потенційної DDoS-атаки. Якщо врахувати середній час на формування блоку (10 хвилин) і середній розмір інформації про транзакції, то для гарантованого включення в блок кількість транзакцій не повинна бути занадто великою — на рівні близько трьох транзакцій в секунду.

З ростом популярності біткойна, кількість транзакцій збільшилася, але через обмеження максимального розміру блоку не всі транзакції «попадали» у блок відразу, періодично виникала черга. У травні 2017 роки ситуація значно погіршилася, очікування включення транзакції в блок могло сягати кількох днів[4][5].

В системі біткойн для прискорення обробки транзакції користувач може самостійно призначити комісію. Регулярне виникнення черг призвело до збільшення зборів з транзакцій, але не вирішило проблему затримки обробки транзакцій. Це робить використання біткойнів досить дорогим і призводить до зростання часу очікування підтвердження транзакції, особливо для невеликих платежів — зникає сенс використовувати їх, наприклад, при оплаті в кафе і барах[4].

Для розв'язання проблеми пропонуються різні підходи. Business Insider в 2017 році характеризував цю дискусію як «ідеологічну битву за майбутнє біткойну»[6].

Форки

[ред. | ред. код]
Головна послідовність блоків (чорні) є найдовшою від початкового блоку (зелений) до поточного. Форки спричиняють побічні гілки (фіолетові), які згодом відсікаються

Форк блокчейна — поділ безперервного ланцюга на дві гілки. Такий поділ в мережі біткойн є частиною алгоритму і відбувається регулярно в процесі майнінгу. Нові блоки завжди містять посилання на попередника. Якщо два блоки, сформованих різними майнерами, посилаються на один і той же блок-попередник, це і є розподіл. Система не дає автоматичної переваги. Нові блоки як попередника можуть вказати будь-якого з них. В результаті на деякий час мережа розділяється. У якийсь момент одна з гілок стане довшим і «відстаюча» відмирає, так як система вважає істинної найдовший ланцюг.

Блокчейн також може розділятись, коли розробники змінюють протокол визначення того, які блоки є дійсними[7].

Хард форк

[ред. | ред. код]

Хард форком називають розподіл блокчейну на два окремі ланцюги в результаті використання двох різних протоколів[8]. Новий протокол також може розділити мережу, якщо всі учасники мережі не будуть його дотримуватись[7]. Наприклад, Ethereum Classic виник у результаті хард форку Ethereum через різне розуміння необхідних дій у відповідь на атаку на DAO[9][10].

Спільноти Bitcoin XT, Bitcoin Classic і Bitcoin Unlimited запропонували збільшення межі розміру блоку, як метод збільшення масштабованості. Однак підтримка обох пропозицій з часом падала[11][6].

Софт форк

[ред. | ред. код]

Згідно CoinDesk, на відміну від хард форк, софт форк — це зміна протоколу, в результаті якого створені блоки визнаються дійсними і старим програмним забезпеченням[7]. Згідно Investopedia, софт форк також може розділити мережу, якщо неоновлене програмне забезпечення буде створювати блоки, які не вважатимуться дійсними за правилами нового протоколу[12].

Один із засновників і розробник Blockstream Пітер Уілл в грудні 2015 року запропонувала зміни в форматі софт форку, що отримали назву SegWit[13][14]. SegWit пропонує зберігати частину даних (відкриті ключі) за рамками блокчейна. CoinTelegraph припускає, що SegWit дозволить створювати нові рішення другого рівня зверху біткойну[14].

Софт форк активований користувачем (User-activated soft fork (UASF)) є спірною ідеєю, яка досліджує, як виконати оновлення блокчейну, яке не підтримується тими, хто забезпечує потужності мережі[7].

Запропоновані рішення

[ред. | ред. код]

Були запропоновані різні пропозиції щодо масштабування біткойну. У 2015 році Джефф Гарзік представив BIP 100, а Гевін Андресен BIP 101[2]. У середині 2015 року деякі корпорації підтримували збільшення розміру блоку до восьми мегабайт[15].

  • Bitcoin XT був запропонований в 2015 році для збільшення потужності обробки транзакцій біткойну за рахунок збільшення межі розміру блоку[16].
  • Bitcoin Classic був запропонований в 2016 році, щоб збільшити продуктивність обробки біткойну за рахунок збільшення межі розміру блоку[17].
  • У 2016 році було укладено угоду між деякими майнерами і розробниками, яке неофіційно називалося «Гонконгською угодою», в якій містився план, в ході якого було б розглянуто як пропозицю SegWit, зроблену в грудні 2015 року розробниками Bitcoin Core, так і збільшення межі розміру блоку до 2 МБ. Однак обидві угоди не мали успіху[18].
  • Bitcoin Unlimited захищає інтереси майнерів за рахунок збільшення ліміту розміру блоку і підтримується майнінг-пулами ViaBTC, AntPool, інвестором Роджером Вертом і головним вченим Bitcoin Unlimited Пітером Різуном[19]. Пропозиція Bitcoin Unlimited відрізняється від Bitcoin Core тим, що параметр розміру блоку не є жорстко запрограмованим, а скоріше вузли і союз майнерів підтримують розмір, який вони хочуть, використовуючи ідею, яку вони називають «виникаючим консенсусом»[19]. Ті, хто стоїть за пропозицією Bitcoin Unlimited, стверджують, що з ідеологічної точки зору майнери повинні самі вирішувати питання масштабування, так як вони є тими, чиє обладнання підтримує мережу[20].
  • BIP148 — це пропозиція, яка називається «Активований користувачем софт форк» (UASF) або «популістське повстання». Планувалося, що він буде запущений 1 серпня 2017 року, і спробує змусити майнерів активувати SegWit[21]. Це стало непотрібним, тому що майнери вирішили проголосувати за активацію SegWit, використовуючи схему BIP 91.

Реалізовані рішення

[ред. | ред. код]

Segregated Witness (SegWit)

[ред. | ред. код]

SegWit:

  • Змінює структуру зберігання даних в кожному блоці біткойну[22].
  • Забезпечує підвищення пропускної спроможності транзакції, залишаючись сумісним з більш ранніми версіями програмного забезпечення біткойну[22].
  • Усуває транзакційну інертність, яка стала перешкодою для інших проектів[22].
  • Запровадження Lightning Network стало реальним[23].

Активація

[ред. | ред. код]

У травні 2017 року Digital Currency Group (не плутати з Цифровою Валютною Ініціативою MIT Media Lab) оголосила рішення, що зветься SegWit2x («Нью-йоркська угода»),[24] активізуюче SegWit при 80%-ному порозі загального хеш-рейта біткойну, що сигналізує на біті 4; і підняти обмеження розміру блоку до 2 МБ протягом шести місяців з підтримкою, яка перевищує 80 % від загального хеш-рейта біткойну[25].У червні 2017 року пропозиція SegWit була ще більш ускладнена твердженням про те, що вона може порушити патенти, подані в USIPO[26]. Станом на середину 2017 року пропозицію SegWit2x підтримувало понад 90 % хеш-рейта, однак пропозиція SegWit2x була спірною ще й через те, що робота над проектом обмежувалася групою розробників тільки за запрошеннями[24]. В середині липня 2017 року стало очевидно, що майнери підтримали реалізацію пункту про SegWit до 1 серпня 2017 року, тим самим намагаючись уникнути ризику хард форку мережі біткойн[27][28][29]. 21 липня BIP 91 був заблокований, що означало, що оновлення SegWit активується на блоці 477,120[30]. До 8 серпня була досягнута ще одна угода, коли 100 % майнінг-пулів біткойну оголосили про підтримку SegWit, хоча SegWit не був повністю активований до, як мінімум, 21 серпня, після чого майнери почали відмовлятися від блоків, які не підтримують SegWit[31]. Більшість біткойн-транзакцій не використали оновлення, але вони і не були в змозі це зробити, оскільки стандартизація формату адреси BIP 173 не була завершена. За перший тиждень жовтня частка операцій з бітокойном з використанням SegWit зросла з 7 % до 10 %[32].

Bitcoin Cash

[ред. | ред. код]
Докладніше: Bitcoin Cash

Bitcoin Cash, хард форк блокчейну биткойна, з'явився 1 серпня 2017 року (починаючи з блоку 478,559)[33][34]. Після хард форку власники біткойнів володіли рівними частками як біткойнів (BTC), так і Bitcoin Cash'а (BCH)[35]. Bitcoin Cash збільшив розмір блоку з одного мегабайта до восьми мегабайт без застосування SegWit[36]. Ввечері 1 серпня 2017 року BCH посідав третє місце за рівнем капіталізації серед всіх криптовалют (після BTC і Ethereum)[37]

Інші пропозиції

[ред. | ред. код]

Реалізація SegWit в серпні 2017 року була тільки першою половиною так званої «Нью-Йоркської угоди», відповідно до якої ті, хто хотів збільшити ефективний розмір блоку SegWit, скомпрометували тих, хто хотів збільшити розмір блоку хард форком[38]. Друга половина SegWit2x включає в себе хард форк в листопаді 2017 року для збільшення розміру блоку до 2 мегабайт[39].

SegWit був створений людьми, не пов'язаними з SegWit2x, і багато хто з них проти SegWit2x[40].

Lightning Network

[ред. | ред. код]

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

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. Hayes, Adam (18 жовтня 2016). The Three Major Bitcoin Protocols Explained. Investopedia. Процитовано 18 січня 2017.
  2. а б Andrew Marshall (2 березня 2017). Bitcoin Scaling Problem, Explained. The Coin Telegraph. Процитовано 4 липня 2017.
  3. Andreas M. Antonopoulos (April 2014). Mastering Bitcoin. Unlocking Digital Crypto-Currencies. O'Reilly Media. ISBN 978-1-4493-7404-4.
  4. а б Козловский, Сергей (1.08.2017). Биткоин распался на две валюты: как это произошло. Русская служба Би-би-си. Процитовано 1.08.2017.
  5. Jordan Pearson (14 жовтня 2016). ‘Bitcoin Unlimited’ Hopes to Save Bitcoin from Itself. Motherboard. Vice Media LLC. Процитовано 17 січня 2017.
  6. а б Oscar Williams-Grut and Rob Price (26 березня 2017). A Bitcoin civil war is threatening to tear the digital currency in 2 — here's what you need to know. Business Insider. Процитовано 2 липня 2017.
  7. а б в г Amy Castor (27 березня 2017). A Short Guide to Bitcoin Forks. CoinDesk. Процитовано 1 липня 2017.
  8. Hayes, Adam (21 березня 2017). Can Bitcoin Hard Fork?. Investopedia. Процитовано 8 червня 2017.
  9. Adinolfi, Joseph. Exclusive: Grayscale launches digital-currency fund backed by Silver Lake’s co-founder Hutchins. MarketWatch. Процитовано 27 квітня 2017.
  10. Wirdum, Aaron van. Rejecting Today’s Hard Fork, the Ethereum Classic Project Continues on the Original Chain: Here's Why. Bitcoin Magazine. Процитовано 27 квітня 2017.
  11. Alyssa Hertig (24 травня 2017). Keep Calm and Bitcoin On? Developers Aren't Worrying About a Fork. CoinDesk. Процитовано 1 липня 2017.
  12. Soft Fork. investopedia.com. Investopedia. Процитовано 21 липня 2017.
  13. Corin Faife (5 січня 2017). Will 2017 Bring an End to Bitcoin's Great Scaling Debate?. CoinDesk. Процитовано 4 липня 2017.
  14. а б Andrew Marshall (20 квітня 2017). SegWit, Explained. CoinTelegraph. Процитовано 1 липня 2017.
  15. Evander Smart (19 жовтня 2016). ‘Why is My Bitcoin Transaction Taking So Long?’ Here’s Why. The Coin Telegraph. Процитовано 4 липня 2017.
  16. Alex Hern. Bitcoin's forked: chief scientist launches alternative proposal for the currency. the Guardian. Процитовано 20 серпня 2015.
  17. Rizzo, Pete (19 січня 2016). Making Sense of Bitcoin's Divisive Block Size Debate. CoinDesk. Процитовано 22 червня 2017.
  18. Pete Rizzo & Alyssa Hertig (24 травня 2017). Bitcoin's New Scaling 'Agreement': The Reaction. CoinDesk. Процитовано 29 червня 2017.
  19. а б Alyssa Hertig (14 травня 2017). CoinDesk Explainer: The Bitcoin Unlimited Debate. CoinDesk. Процитовано 29 червня 2017.
  20. Pete Rizzo (20 березня 2017). CoinDesk Explainer: Bitcoin Unlimited: Mining Power Should Determine Hard Fork. CoinDesk. Процитовано 2 липня 2017.
  21. Alyssa Hertig (8 червня 2017). Bitcoin's 'Independence Day': Could Users Tip the Scales in the Scaling Debate?. CoinDesk. Процитовано 29 червня 2017.
  22. а б в Hertig, Alyssa (23 серпня 2017). SegWit Goes Live: Why Bitcoin's Big Upgrade Is a Blockchain Game-Changer. CoinDesk. Процитовано 23 серпня 2017.
  23. van Wirdum, Aaron (23 серпня 2017). Segregated Witness Activates on Bitcoin: This is What to Expect. Bitcoin Magazine. Процитовано 24 August 2017.
  24. а б Alyssa Hertig (23 червня 2017). Top Secret? Bitcoin Scaling Plan Segwit2x Leaves More Questions Than Answers. CoinDesk. Процитовано 29 червня 2017.
  25. Leading bitcoin ecosystem participants reach consensus on scaling issue. Econo Times. Econo Times. 25 травня 2017. Процитовано 23 червня 2017.
  26. Segregated Witness and the Possibility of Patent Infringement. Nigeria Times. Nigeria Times. 3 червня 2017. Архів оригіналу за 28 липня 2017. Процитовано 23 червня 2017.
  27. CNBC (14 July 2017). Dispute could mean financial panic in bitcoin. Associated Press. Архів оригіналу за 19 липня 2017. Процитовано 19 July 2017.
  28. Suberg, William (18 July 2017). Suddenly, Bitcoin Hard Fork Looks Unlikely As Chinese Exchange Readies For SegWit. COINTELEGRAPH. Процитовано 18 July 2017.
  29. Castor, Amy (18 July 2017). CoinDesk Explainer: How BIP 91 Enacts SegWit While Avoiding a Bitcoin Split. CoinDesk. Процитовано 18 July 2017.
  30. Hertig, Alyssa (21 July 2017). BIP 91 Locks In: What This Means for Bitcoin and Why It's Not Scaled Yet. CoinDesk. Процитовано 21 July 2017.
  31. Hertig, Alyssa (8 August 2017). It's Official: Segregated Witness Will Activate on Bitcoin. CoinDesk. Процитовано 9 August 2017.
  32. Suberg, William (9 жовтня 2017). Bitcoin: $4600, 50% Dominance, Forks Leave Altcoins No Room For Moon. CoinTelegraph. Процитовано 9 October 2017.
  33. Coleman, Lester (25 July 2017). Bitmain Clarifies Its ‘Bitcoin Cash’ Fork Position. CryptoCoinsNews. Процитовано 27 July 2017.
  34. Popper, Nathaniel (25 July 2017). Some Bitcoin Backers Are Defecting to Create a Rival Currency. The New York Times. Процитовано 28 July 2017.
  35. Song, Jimmy (24 July 2017). Bitcoin Cash: What You Need to Know. MEDIUM. Процитовано 28 July 2017.
  36. Norrie, Adam (29 July 2017). Bitcoin Cash: Another Fork in the Road for Bitcoin. CryptoCoinsNews. Процитовано 29 July 2017.
  37. Pollock, Darryn (2 August 2017). Bitcoin Cash Third-Biggest Cryptocurrency On First Day of Creation. COINTELEGRAPH. Процитовано 2 August 2017.
  38. Haywood, Matthew (16 серпня 2017). Segwit2x, 'The New York Agreement'. bravenewcoin.com. Процитовано 6 October 2017.
  39. Hertig, Alyssa (12 липня 2017). Explainer: What Is SegWit2x and What Does It Mean for Bitcoin?. CoinDesk. Процитовано 6 October 2017.
  40. https://bitcoincore.org/en/2017/08/18/btc1-misleading-statements/