Question: Биткойн - валюта будущего?

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




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


Категория:Криптовалюты