Проблема масштабируемости биткойна

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Количество транзакций в системе «Биткойн» за месяц
Неизвлечённые выходы транзакций биткойна

Проблема масштабируемости биткойна связана с изначальным ограничением разработчиками размером в один мегабайт базовой структуры для хранения данных (блока) в его блокчейне[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 предложили увеличение предела размера блока как способ увеличения масштабируемости. Однако поддержка обоих предложений со временем падала[6][11].

«Софтфорк»[править | править код]

Согласно 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, используя схему BIP91.

Реализованные решения[править | править код]

Segregated Witness (SegWit)[править | править код]

Основная статья: Segregated Witness

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 года UASF, тем самым пытаясь избежать риска «хардфорка» сети биткойн[27][28][29]. 21 июля BIP 91 был заблокирован, что означало, что обновление SegWit активируется на блоке 477 120[30]. К 8 августа была достигнута ещё одна ступень, когда 100 % майнинг-пулов биткойна объявили о поддержке SegWit, хотя SegWit не был полностью активирован до, как минимум, 21 августа, после чего майнеры начали отказываться от блоков, которые не поддерживают SegWit[31]. 24 августа 2017 года (на блоке 481 824) был воплощён в жизнь[22][нет в источнике]. Большинство биткойн-транзакций не использовали обновление, но они и не были в состоянии это сделать, поскольку стандартизация формата адреса 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]. Многие криптовалютные биржи приостановили обслуживание в течение нескольких дней, включающих 1 августа 2017 года[38][39][40][41]. Американцы задаются вопросом, облагается ли их приобретение Bitcoin Cash налогом в качестве дохода или нет, поскольку разделение собственности не получает никаких указаний от Налогового Управления США[42].

Иные предложения[править | править код]

SegWit2x[править | править код]

Реализация SegWit в августе 2017 года была только первой половиной так называемого «Нью-Йоркского соглашения», в соответствии с которым те, кто хотел увеличить эффективный размер блока SegWit, скомпрометировали тех, кто хотел увеличить размер блока «хардфорком» до большего размер блока[43]. Вторая половина SegWit2x включает в себя «хардфорк» в ноябре 2017 года, для увеличения размера блока до 2 мегабайт[44].

SegWit был создан людьми, не связанными с SegWit2x, и многие из них против SegWit2x[45].

Тяжелая вилка SegWit2X ещё более спорна, чем «хардфорк» Bitcoin Cash[46]. Некоторые компании, которые первоначально поддерживали Нью-Йоркское соглашение, не поддержали предложение, в том числе F2Pool, Bitwala, SurBTC и Wayniloans[47][48][49]. «Хардфорк» в ноябре может привести к другому блокчейну биткойна в дополнение ко второму блокчейну, созданному в августе[50]. Несколько участников Нью-Йоркского соглашения (включая Coinbase, Blockchain и Xapo) указали, что они не будут решать, какую цепочку следует называть «Биткойн» до совершения «хардфорка»[51].

Основной проблемой является выбор разработчиков SegWit2x для реализации защиты от повторной траты в другой цепи, а не сильная защита повторной траты, реализованная «хардфорком» Bitcoin Cash[52]. Защита от повторной траты означает, что цепочка Segwit2x по-прежнему будет принимать транзакции, предназначенные для исходной цепочки, в дополнение к транзакциям с защитой от повтора, действительным только для Segwit2x. Пользователи, отправляющие транзакции в исходной цепочке биткойнов, или которые не могут отправлять транзакции Segwit2x с защитой от повторной траты, будут уязвимы, если их транзакции будут повторены в другой цепочке. Это может привести к случайной потере средств. Это отсутствие сильной защиты от повторного воспроизведения вызвало значительные разногласия в сообществе биткойна[53].

Грег Максвелл, известный член Bitcoin Core и сотрудник Blockstream, заявил, что предыдущее соглашение об увеличении размера блока было сделано под давлением[54]. Внедрение SegWit2x увеличит комиссионные сборы для майнеров и уменьшит транзакционные сборы, которые Blockstream организует на боковых цепях, а также увеличит мощность майнеров при одновременном снижении мощности основных разработчиков[55].

Блок № 501451, который будет добыт ориентировочно 28 декабря 2017 года, может стать определяющим для нового (старого) ответвления Segwit2x. Как стало известно[56], команда разработчиков заявила о возобновлении активной работы по запуску приостановленного проекта. Как говорится на сайте проекта[57], команда намерена осуществить «хардфорк» биткойна Segwit2x, который ожидался ещё в середине ноября. При этом, добавляют разработчики, торги фьючерсами на «хардфорк» Segwit2x на некоторых биржах, включая HitBTC, по-прежнему продолжаются.

Lightning Network[править | править код]

Lightning Network — это проект в разработке, целью которого является устранение проблемы масштабируемости биткойна путём масштабирования «вне сети». Он предназначен для обеспечения обновления состояния микроканала без использования каких-либо блокировок (в обычном несостязательном случае), что делает микроплатежи оправданными (и без комиссии). Lightning Network потребует, чтобы транзакция финансирования на блокчейне открыла канал. Lightning Network в настоящее время находится на альфа-стадии разработки[58].

См. также[править | править код]

Примечания[править | править код]

  1. The Three Major Bitcoin Protocols Explained, Investopedia (18 октября 2016). Дата обращения 18 января 2017.
  2. 1 2 Andrew Marshall. Bitcoin Scaling Problem, Explained, The Coin Telegraph (2 марта 2017). Дата обращения 4 июля 2017.
  3. Andreas M. Antonopoulos. Mastering Bitcoin. Unlocking Digital Crypto-Currencies (англ.). — O’Reilly Media, 2014. — ISBN 978-1-4493-7404-4.
  4. 1 2 Козловский, Сергей Биткоин распался на две валюты: как это произошло. Русская служба Би-би-си (1 августа 2017). Дата обращения: 1 августа 2017.
  5. Jordan Pearson. ‘Bitcoin Unlimited’ Hopes to Save Bitcoin from Itself, Motherboard, Vice Media LLC (14 октября 2016). Дата обращения 17 января 2017.
  6. 1 2 Oscar Williams-Grut and Rob Price. A Bitcoin civil war is threatening to tear the digital currency in 2 — here's what you need to know, Business Insider (26 марта 2017). Дата обращения 2 июля 2017.
  7. 1 2 3 4 Amy Castor. A Short Guide to Bitcoin Forks, CoinDesk (27 марта 2017). Дата обращения 1 июля 2017.
  8. Can Bitcoin Hard Fork?, Investopedia (21 марта 2017). Дата обращения 8 июня 2017.
  9. Adinolfi, Joseph. Exclusive: Grayscale launches digital-currency fund backed by Silver Lake’s co-founder Hutchins, MarketWatch.
  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. Keep Calm and Bitcoin On? Developers Aren't Worrying About a Fork, CoinDesk (24 мая 2017). Дата обращения 1 июля 2017.
  12. Soft Fork. investopedia.com. Investopedia. Дата обращения: 21 июля 2017.
  13. Corin Faife. Will 2017 Bring an End to Bitcoin's Great Scaling Debate?, CoinDesk (5 января 2017). Дата обращения 4 июля 2017.
  14. 1 2 Andrew Marshall. SegWit, Explained, CoinTelegraph (20 апреля 2017). Дата обращения 1 июля 2017.
  15. Evander Smart. ‘Why is My Bitcoin Transaction Taking So Long?’ Here’s Why, The Coin Telegraph (19 октября 2016). Дата обращения 4 июля 2017.
  16. Alex Hern. Bitcoin's forked: chief scientist launches alternative proposal for the currency. the Guardian. Дата обращения: 20 августа 2015.
  17. Making Sense of Bitcoin's Divisive Block Size Debate, CoinDesk (19 января 2016). Дата обращения 22 июня 2017.
  18. Pete Rizzo & Alyssa Hertig. Bitcoin's New Scaling 'Agreement': The Reaction, CoinDesk (24 мая 2017). Дата обращения 29 июня 2017.
  19. 1 2 Alyssa Hertig. CoinDesk Explainer: The Bitcoin Unlimited Debate, CoinDesk (14 мая 2017). Дата обращения 29 июня 2017.
  20. Pete Rizzo. CoinDesk Explainer: Bitcoin Unlimited: Mining Power Should Determine Hard Fork, CoinDesk (20 марта 2017). Дата обращения 2 июля 2017.
  21. Alyssa Hertig. Bitcoin's 'Independence Day': Could Users Tip the Scales in the Scaling Debate?, CoinDesk (8 июня 2017). Дата обращения 29 июня 2017.
  22. 1 2 3 4 Hertig, Alyssa SegWit Goes Live: Why Bitcoin's Big Upgrade Is a Blockchain Game-Changer. CoinDesk (23 августа 2017). Дата обращения: 23 августа 2017.
  23. van Wirdum, Aaron Segregated Witness Activates on Bitcoin: This is What to Expect. Bitcoin Magazine (23 августа 2017). Дата обращения: 24 августа 2017.
  24. 1 2 Alyssa Hertig. Top Secret? Bitcoin Scaling Plan Segwit2x Leaves More Questions Than Answers, CoinDesk (23 июня 2017). Дата обращения 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 Dispute could mean financial panic in bitcoin. Associated Press (14 июля 2017). Дата обращения: 19 июля 2017.
  28. Suberg, William Suddenly, Bitcoin Hard Fork Looks Unlikely As Chinese Exchange Readies For SegWit. COINTELEGRAPH (18 июля 2017). Дата обращения: 18 июля 2017.
  29. Castor, Amy CoinDesk Explainer: How BIP 91 Enacts SegWit While Avoiding a Bitcoin Split. CoinDesk (18 июля 2017). Дата обращения: 18 июля 2017.
  30. Hertig, Alyssa BIP 91 Locks In: What This Means for Bitcoin and Why It's Not Scaled Yet. CoinDesk (21 июля 2017). Дата обращения: 21 июля 2017.
  31. Hertig, Alyssa It's Official: Segregated Witness Will Activate on Bitcoin. CoinDesk (8 августа 2017). Дата обращения: 9 августа 2017.
  32. Suberg, William Bitcoin: $4600, 50% Dominance, Forks Leave Altcoins No Room For Moon. CoinTelegraph (9 октября 2017). Дата обращения: 9 октября 2017.
  33. Coleman, Lester Bitmain Clarifies Its ‘Bitcoin Cash’ Fork Position. CryptoCoinsNews (25 июля 2017). Дата обращения: 27 июля 2017.
  34. Popper, Nathaniel Some Bitcoin Backers Are Defecting to Create a Rival Currency. The New York Times (25 июля 2017). Дата обращения: 28 июля 2017.
  35. Song, Jimmy Bitcoin Cash: What You Need to Know. Medium (24 июля 2017). Дата обращения: 28 июля 2017.
  36. Norrie, Adam Bitcoin Cash: Another Fork in the Road for Bitcoin. CryptoCoinsNews (29 июля 2017). Дата обращения: 29 июля 2017.
  37. Pollock, Darryn Bitcoin Cash Third-Biggest Cryptocurrency On First Day of Creation. CCN (2 августа 2017). Дата обращения: 2 августа 2017.
  38. Gatecoin Service Preparation for the UASF and MAHF on 1 August 2017. Gatecoin (28 июля 2017). Дата обращения: 28 июля 2017.
  39. Helms, Kevin 13 Japanese Exchanges Agree to Suspend Bitcoin Service on August 1. bitcoin.com (18 июля 2017). Дата обращения: 27 июля 2017.
  40. Our plans to handle potential BTC network disruptions. Poloniex (24 июля 2017). Дата обращения: 27 июля 2017.
  41. Bitcoin Hard Fork: Our Position. Bitstamp (27 июля 2017). Дата обращения: 27 июля 2017.
  42. Saunders, Laura No One Knows How Much to Pay in Bitcoin Cash Taxes. The Wall Street Journal (25 августа 2017). Дата обращения: 25 августа 2017.
  43. Haywood, Matthew Segwit2x, 'The New York Agreement'. bravenewcoin.com (16 августа 2017). Дата обращения: 6 октября 2017.
  44. Hertig, Alyssa Explainer: What Is SegWit2x and What Does It Mean for Bitcoin?. CoinDesk (12 июля 2017). Дата обращения: 6 октября 2017.
  45. Bitcoin Core :: Correcting misinformation on Segwit2x and btc1
  46. Suberg, William SegWit2x ‘Maximum Disruption’ Could Be Sending Bitcoin Towards $4000. cointelegraph.com (4 октября 2017). Дата обращения: 10 октября 2017.
  47. tendencialglobal Segwit2X loses support between mining groups and blockchain companies. cryptocurrency. Steemit (18 сентября 2017). Дата обращения: 7 октября 2017.
  48. Wilmoth, Josiah SegWit2x, NYA Bitcoin Agreement Loses Another Signatory. cryptocoinsnews.com (19 сентября 2017). Дата обращения: 11 октября 2017.
  49. Suberg, William Barry Silbert Agreement Loses Support As SurBTC Exchange Appeals to Bitcoin Core Devs. cointelegraph.com (10 октября 2017). Дата обращения: 10 октября 2017.
  50. Hertig, Alyssa Calm Before the Fork? Segwit2x Goes Silent as Bitcoin Spilt Looms. CoinDesk (6 октября 2017). Дата обращения: 6 октября 2017.
  51. Wilmoth, Josiah Bitcoin Wallet BitGo’s Segwit2x Stance ‘Based Primarily on Market Price’. cryptocoinnews.com (3 ноября 2017). Дата обращения: 4 ноября 2017.
  52. Song, Jimmy How Segwit2x Replay Protection Works. bitcointechtalk.com (4 октября 2017). Дата обращения: 6 октября 2017.
  53. van Wirdum, Aaron SegWit2X and the Case for Strong Replay Protection (And Why It's Controversial). Bitcoin Magazine (22 сентября 2017). Дата обращения: 6 октября 2017.
  54. "Developers Unilaterally Tore Up the Agreement" Says Bitcoin Miner
  55. Piasecki, Piotr Blockstream vs miners - looking at the incentives around the SegWit2x fork. bravenewcoin.com (31 октября 2017). Дата обращения: 3 ноября 2017.
  56. Segwit2x, или старый новый хардфорк биткоина / forklog
  57. B2X (SegWit2x) — Hard Fork Bitcoin
  58. The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments. Дата обращения: 2 ноября 2017.