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