Объяснение проблемы масштабируемости биткоина

10.05.2019

Успех биткоина был не в технологии, а в теории игр. Блокчейн-технология, лежащая в основе BTC, – на самом деле просто причудливый термин для «общего списка транзакций». Что на самом деле было революционным в биткоине – так это согласование мотивации майнеров, пользователей и разработчиков в финансовом отношении. По факту, все участники сети поступают рационально, потому что это в финансовых интересах каждого. Таким образом, каждый, работая на других, работает и на себя.

Ключ к пониманию развития системы лежит в осознании предложенных изменений, которые затем нужно сравнить с реальностью. Каковы будут фактические последствия этих конкретных изменений? Как будет выглядеть мир с этими изменениями? Кто от этого выиграет? Будут ли заявленные преимущества представлены в таком же количестве, как и реальные преимущества?

Давайте посмотрим на представленный ниже график:

Изображение: https://blockchain.info/charts/n-transactions-per-block?timespan=all

Он показывает количество транзакций в каждом блоке биткоина с момента его создания. Мы можем видеть, что количество транзакций в блоке стабильно увеличивалось до середины 2016 года и после стабилизировалось. Стабилизация произошла из-за технических ограничений: нельзя майнить блоки с неограниченным количеством транзакций. Предел в настоящее время устанавливается не количеством транзакций, а общим размером в 1 МБ, при этом транзакции могут быть разных размеров.

Количество пользователей является отличной метрикой для любой финансовой системы. Популярность биткоина растет, и все больше людей хотят приобрести криптовалюту. Предположим, что каждый участник добавляет 3 транзакции в день, получается в среднем 1750 транзакций на блок. Так текущая сеть биткоина может составить около 84 тыс. человек (что составляет население небольшого городка). Очевидно, нужно что-то изменить, если мы хотим, чтобы биткоин был чем-то больше, нежели просто хобби-проект в 70 миллиардов долларов.

Вариант 1 : Lightning / SegWit / L2

Одно из предлагаемых вариантов – это решить проблему, используя дополнительный блокчейн. Построив вторую сеть, параллельную биткоину, можно переместить часть транзакций с биткоина на нее, тем самым позволив большему количеству людей совершать больше транзакций, не перегружая сеть биткоина. На сегодняшний день самое популярное решение – это сеть Lightning (Лайтнинг), где хорошо работает система стимулов: если вы играете не по правилам, вы теряете деньги. По факту, вы должны закрыть сделку: вы обмениваетесь долговой распиской с кем-либо (открываете канал оплаты). Любая из сторон может закрыть расчет в любое время (то есть закрыть канал).

«Сетевая» часть состоит в том, что в принципе вы можете обмениваться средствами, направляя деньги через сеть каналов. Если, допустим, Аня хочет отправить деньги Пете, она может сначала отправить их Ване, который перешлет их Пете. При этом, если Ваня вдруг захочет оставить себе деньги, предназначенные Пете, на его канале должна быть сумма, равная общему количеству средств, поступающих через него. Чем больше количество людей, к которым подключен Петя, и чем больше средств направляется через него, тем больше он представляет не физическое лицо, а банк. При этом Петя не получает компенсацию за обслуживание чужих средств, он делает это исключительно по доброй воле. Но вслед за сетью биткоина, возможно, и Петя также начнет взымать комиссию. Будет справедливо, если эти сборы будут меньше, чем полная комиссия за транзакции.

Предполагая, что все остальное остается неизменным, у нас есть два способа измерения емкости рынка: с помощью сети биткоин и сети Лайтнинг. Но при этом возникает вопрос: сколько времени потребуется для повсеместного внедрения системы? Просто математический подсчет говорит, что понадобится 65 лет. Реальность более сурова: скорее всего, внедрить все население не получится никогда. Каждый день рождается 360 000 людей, а количество совершаемых в день транзакций около 200 000. Этот приблизительный показатель, так что давайте попробуем посчитать по-другому: считаем, что каждый человек появляется в сети один раз в месяц (что, конечно, весьма консервативно), сколько людей может участвовать в новой сети? Около 7 миллионов. Так мы перешли от маленького городка в 84 тысяч людей к мегаполису в 7 миллионов.

Теперь нам необходимо масштабировать все на 100 000%, чтобы сеть могла обслуживать весь мир.

Вариант 2: большие блоки

Второе по популярности решение – увеличить размер блока. Действительно, 1 МВ – это довольно мало. Давайте предположим, что в Нью-Йорке каждый человек совершает одну транзакцию в день. Для того, чтобы обслужить 8,5 миллионов людей, понадобится 60 000 транзакций за блок, то есть нужны блоки по 60 MB для качественной работы. При этом еще до сих никто не смог выявить самый большой размер блока. Некто недавно майнил блок в 1 GB в тестовой сети, но это вызвало большое количество проблем. По факту биткоин на сегодняшний день – это последовательно обрабатываемый проект: транзакции следуют одна за другой и заполняют блоки, которые также строятся по принципу один за раз. Чем сильнее оказывается давление на систему, тем больше возникает впоследствии проблем.

Вариант 3: все перечисленное выше, и даже больше

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

К счастью, есть и другой выход – уже на сегодняшний день созданы десятки различных криптовалют. Так почему бы не добавить к этому числу еще несколько валют и решить проблему масштабирования сети таким образом? Увы, но и здесь не все так гладко. Например, альткоины страдают от похожей проблемы, что и социальные сети: система часто выходит из строя. Когда монеты небольшие, система легко может пострадать от так называемой «атаки 51%», когда майнер с большим количеством вычислительной мощности может творить с системой все, что ему заблагорассудится.

Получается, мы обречены?

Не совсем. Но, к сожалению, даже три самых лучших из всех предложенных решений могут вызвать ряд неразрешенных проблем, встающих на пути к тому утопичному миру, когда каждый человек сможет использовать биткоин по любому вопросу. К счастью, решение существует всегда. И множество энтузиастов сейчас находится в поиске этого решения. Если же вы сами хотите понять все эти тонкие технические моменты, вам нужно много читать и вникнуть в суть технологии. Теперь, когда в криптовалютные активы вложена такая ценность, все больше людей финансово замотивированы для изменения работы сети в свою пользу.

Если вы тоже заинтересованы в этом, то вы должны самостоятельно оценить все предложения по изменениям с точки зрения их технологической реальности и осознать, в каком же мире вы хотите жить.

Масштабируемость биткоина была и есть, наверное, самой большой и сложно решаемой проблемой первой криптовалюты. Обусловлено это постоянным ростом количества транзакций в сети и невозможностью быстро проверять их и добавлять в блоки. Сейчас мы попробуем разобраться в том, почему же это так важно и каковы перспективы решения данной проблемы.

Проблема размера блока

Начнем с небольшого введения в основы криптовалют. Всем известно, что любая транзакция после проверки майнерами добавляется в блок, который затем сохраняется в блокчейне, распределенной базе данных. При этом эта база данных имеет открытый доступ для каждого пользователя и является неизменяемой. Как и любой набор данных, транзакция имеет свой размер, соответственно – размер блока формируется из размеров всех транзакций, входящих в его состав.

Вот именно здесь и начинаются проблемы. На сегодняшний день предельный размер блока составляет 1 Мб. То есть каждая ячейка блокчейна не может превышать данный показатель. Такая планка была установлена еще в 2010 году и достаточно эффективно проявляла себя, позволяя подтверждать 6-7 транзакций в секунду. Но количество пользователей и операций в сети очень быстро растет и такой пропускной способности становится недостаточно. Именно в этом и заключается проблема масштабируемости биткоина – пропускную способность сети достаточно сложно скорректировать в соответствии с нынешними требованиями.

К чему может привести плохая масштабируемость биткоина?

Итак, в повседневном режиме скорость работы сети биткоин приемлема, но в пиковые моменты, когда количество транзакций достигает своего максимума, ожидать проведение платежа можно не только часами, но и днями.

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

Если раньше для нормального проведения транзакции достаточно было нескольких центов, то сейчас оптимальный сбор может достигать десятки центов или даже несколько долларов, что для некоторых пользователей, особенно в случае с микротранзакциями, бывает очень накладно.

Таким образом, плохая масштабируемость биткоина может привести к падению интереса к данной валюте со стороны пользователей. К слову, классические банковские системы способны проводить миллионы платежей с задержкой в считанные минуты и при этом их комиссии остаются относительно статическими.

Масштабируемость биткоина: варианты решения проблемы

За всю историю биткоина было предложено огромное количество различных решений проблемы с масштабируемостью сети, но большинство из них оказались не эффективными и не были внедрены. Наиболее активно обсуждались схемы, именуемые BIP 100 и BIP 101 (Bitcoin Improvement Proposal – (с англ.) предложения по улучшению биткоина). Схема под номером 100 предполагала изменение размера блока в соответствии с потребностями майнеров, а схема 101 – одноразовое увеличение блока до 8 Мб.

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

Более эффективными оказалось обновление Segwit, которое подразумевало исключение подписей из блока за счет чего в 1Мб его предельного объема можно будет записывать больше полезной информации. Вследствие данного харфорка была образована валюта BitcoinCash, которой до сих пор удается держать в числе лидеров криптовалютной индустрии.

Масштабируемость биткоина – самая актуальная проблема, решение которой до сих пор активно ищется. Возможно, уже в ближайшем будущем мы увидим совершенно новую сеть, которая сможет обрабатывать миллионы транзакций в минуту.

Криптовалюты становятся все более популярными и постепенно внедряются в повседневную жизнь. При этом возникают определенные проблемы с тем, чтобы качественно и быстро обслуживать все транзакции.

Например, транзакции биткоина увеличились в несколько раз: со 100 тысяч до 10 миллионов за пять лет. В сети Эфириум количество транзакций поднялось до 500 тысяч.

Первоначальное ПО не было готово к такому наплыву клиентов, постепенно внедряются поддерживающие решения.

Проблема масштабируемости криптовалют

BTC и ETH, чтобы конкурировать с более распространенными платежными системами, вроде Visa и PayPal, необходимо серьезно активизировать технологии, которые отвечают за время проведения времени транзакций.

Система TpS
PayPal 193
Visa 1667
Ethereum 20
Bitcoin (без segwit) 7

Единственный способ улучшить эти цифры - работать с масштабируемостью. Эти проблемы можно сгруппировать таким образом:

  • время добавления транзакции в блок,
  • время достижения консенсуса.

Время добавления в блок

Транзакция осуществляется, когда майнер помещает данные транзакции в блоки. Когда вы отправляете кому-то BTC, вы, по сути, отправляете данные о транзакции, майнер обрабатывает их, и сделка будет считаться завершенной.

Однако, поскольку BTC становится более популярным, в особенно высокий наплыв пользователей это становится более трудно. Когда майнеры добывают блок, они вольны выбирать, что поместить в него первее. Отсюда высокая комиссия продвигает блок в очереди: это может быть доступно для держателей больших сумм, но не так выгодно при мелких платежах.


Среднее время транзакции, которая должна быть принята в блок и добавлена в леджер (включаются только транзакции с комиссиями для майнеров).

Теперь про Ethereum. Теоретически, сеть может обрабатывать 1000 транзакций в секунду. Однако на практике ограничивается 6,7 миллионами газа в каждом блоке. Статистику можно посмотреть на Etherscan.

Газ - это плата за вычислительные усилия, которые потребуются для решения смарт-контракта

Поскольку каждый блок имеет лимит газа, майнеры могут добавлять только те транзакции, требования к газу которых равны или меньше лимита газа в блоке.

Время достижения консенсуса

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

Все децентрализованные проекты структурированы так по причине принятой философии. Идея в том, чтобы иметь финансовую систему, в которой все рассматриваются как равные, нет руководящего органа, который может определять стоимость валюты по своему решению.

Когда нет центрального органа, как все в системе узнают, что произошла определенная транзакция? Сеть передает данные от ноды к ноде: как в реальной жизни расходятся сплетни или новости от человека к человеку.

Но в отличие от людей, ноды не берут информацию на веру: получая информацию от узла А, что транзакция действительна, узел B выполнит свои вычисления, чтобы проверить транзакцию. Этот процесс занимает много времени. Проблема в том, что чем больше нод, тем больше времени нужно отвести для подтверждение транзакции.

Это особенно относится к Ethereum, потому что в этой сети наибольшее количество нод среди всех криптовлют из-за популярности ICO.

Существующие решения масштабируемости

  • Segwit
  • Увеличение размера блока
  • Шардинг
  • Доказательство доли владения PoS
  • Оффчейн-каналы
  • Plasma

SegWit

Segwit - это сайдчейн, который идет параллельно основной цепи и содержит подписи к транзакциям. Тогда в блоке освобождается дополнительное место.

Плюсы Segwit:

  • Увеличивает количество транзакций, которые можно добавить в блок;
  • Снижает транзакционные сборы;
  • Уменьшает размер каждой отдельной транзакции;
  • Транзакции могут подтверждаться быстрее, потому что время ожидания будет уменьшаться;
  • Помогает в масштабируемости;
  • Поскольку количество транзакций в каждом блоке будет увеличиваться, может увеличить общие сборы майнеру за блок;
  • Помогает активировать
  • Устраняет проблему квадратичного хеширования (проблема от увеличения размера блока, когда, например, в 2 раза больше транзакций -> в 2 раза больше подписей, что еще увеличивает время транзакции).

Минусы Segwit:

  • Майнеры получат меньшую плату за каждую отдельную транзакцию;
  • Реализация сложна, все кошельки должны сами реализовать segwit;
  • Увеличение использования ресурсов, так как емкость, транзакции, пропускная способность - все увеличится;
  • Неоднородная поддержка сообществом, что ведет к
  • Сложное обслуживание. Сайдчейн, содержащая данные подписи, должна также поддерживаться майнерами. Однако, в отличие от основного блокчейна, они не имеют финансовой выгоды от этого на данный момент.

Увеличение размера блока

Раз проблема биткоина и эфириум в ограничении размера блока, почему бы просто не увеличить его? Изначально, BTC не должен был иметь блок в 1 Мб, но Сатоши Накамото установил ограничение, чтобы сеть не погрязла в спам-транзакциях.

Реализация увеличенного блока породила много дебатов в сообществе биткоина. Аргументы разных сторон таковы.

Против увеличения размера блока:

  • Майнеры потеряют стимул, потому что сборы будут уменьшаться: размеры блоков увеличатся, транзакции будут легко добавляться. Есть опасения, что хэш-рейт сети снизится, так как майнеры уйдут на более прибыльные валюты.
  • Биткоины не должны использоваться в повседневных целях: некоторые члены сообщества не хотят, чтобы BTC использовался для обычных транзакций. Эти люди считают, что монеты имеют более высокую цель.
  • Это приводит к расколу сообщества, форкам, а вместе с ними к большим спекуляциям и мошенничеству.
  • Это приведет к увеличению централизации: поскольку размер сети будет увеличиваться, объем вычислительной мощности, необходимой для майнинга, также будет увеличиваться. Это сделает неконкурентными все небольшие пулы.

Аргументы за увеличения размера блока:

  • Увеличение размера блока на самом деле работает на пользу майнера: увеличение размера блока будет означать увеличение транзакций на блок, что, в свою очередь, увеличит общую сумму транзакционных сборов.
  • BTC должен расти и быть более доступным для «простого человека». Если размер блока не изменится, он будет использоваться исключительно богатыми и крупными корпорациями. Это никогда не было целью биткоина.
  • Изменения происходят постепенно: коллапса не будет, потому что система будет изменяться поэтапно.
  • Segwit не является постоянным решением.

Увеличение размера блока было также рассмотрено для Ethereum, но из-за многих причин сообщество отказывается от этого:

  • Во-первых, главное, что препятствует масштабируемости Ethereum, - это скорость консенсуса среди узлов. Увеличение размера блока все равно не решит эту проблему. Фактически, по мере увеличения количества транзакций на блок количество вычислений и проверок на ноду также увеличится.
  • Для обеспечения большего количества транзакций размеры блоков необходимо периодически увеличивать. Это централизирует систему больше.
  • Наконец, увеличение размера блока будет через хардфорк, что может разделить сообщество. В последний раз, когда это было в Эфириуме, все сообщество раскололось и появился . Люди не хотят, чтобы это повторилось.

Proof Of Stake

Сейчас одна из самых важных вещей - это переход Эфириума от PoW к PoS.

Для перехода к PoS в сети будет постепенно реализовываться . Среди плюсов, кратко назовем:

  • Снижает затраты на майнинг, более экологично.
  • Нет преимуществ у ASIC, у кого хватило денег на лучшее оборудование.
  • Снижает вероятность атаки 51%.
  • Делает невыгодным мошенничество при подтверждении.
  • Ускоряет создание новых блоков и всего процесса.

У POS-майнеров не будет платы за блок, они могут зарабатывать только за транзакционные сборы. Это стимулирует их увеличить размер блока, чтобы получить больше транзакций (посредством управления газом).

Первый этап Casper будет реализован на блочейне, где каждый 100-й блок будет проверен с помощью PoS. Подробнее мы писали в статьях, ссылки на которые выше.

Однако весь этот переход не лишен проблем. Одно из самых больших опасений - майнеры могут сделать форк до IceAge.

Sharding / Шардинг

Самая большая проблема, с которой сталкивается Ethereum, - скорость проверки транзакций. Каждый полный узел в сети должен загружать и сохранять целый блокчейн.

Шардинг разбивает транзакцию на части и распространяет ее по сети. Узлы работают на отдельных частях. Это уменьшает общее время проведения транзакции. Блоки связываются через особый протокол.

Блок перед шардингом выглядит так: заголовок и тело с транзакциями. Корень Меркля всех транзакций будет в заголовке блока.

Изначально блокчейн создавался в одном уровне взаимодействия: от блока к блоку (один блок связывается с другим и так далее). Шардинг предполагает два уровня взаимодействия.

Первый уровень: группа транзакций, у каждого осколка, шарда (shard, часть всей транзакции) есть своя группа. Группа имеет свой идентификатор, который переносится на все составные элементы, включая транзакции.

Второй уровень: простой блокчейн, которая принимает транзакционные группы, а не транзакции.

Проблемы внедрения шардинга:

  • Должен быть механизм, чтобы знать, какой узел обрабатывает каждый «осколок». Нужен безопасный и эффективный способ обеспечить параллелизма и безопасности.
  • Согласно Владу Замфиру (ответственный за Casper в Ethereum), в системе PoS это осуществить легче.
  • Если одна конкретная транзакция разбивается на осколки и распределяется по узлу А и узлу В, то узел А должен будет придумать какой-то механизм доказательства, что обработка завершена.

Оффчейн-каналы

Канал состояния представляет собой двусторонний канал связи между участниками, который позволяет им проводить взаимодействия, которые обычно происходят на блокчейне.

Каковы требования для создания нового канала вне сети?

  • Сегмент состояния на блокчейне блокируется посредством нескольких подписей или какого-то смарт-контракта.
  • Участники взаимодействуют друг с другом, подписывая транзакции между собой, не передавая ничего майнерам.
  • Затем весь блок транзакций добавляется к блокчейну.

Plasma Ethereum

Это новый слой архитектуры Ethereum: сначала lightning, затем plasma и последним сам блокчейн.

Плазма представляет собой ряд контрактов, которые выполняются поверх основной цепной цепи Ethereum. Чтобы образно представить это явление, можно подумать о главном блокчейне как о корне, а плазме как о ветвях.

Информация с blockgeeks. Разные контракты (приватный блокчейн, децентрализованная биржа, сеть, микроплатежи и т.д.) приходит к главной цепи.

Это значительно снижает нагрузку на основную цепь. Периодически ответвления отправляют отчеты в основную цепь. Все надсети могут выпускать свои собственные уникальные токены, которые будут стимулировать валидаторов работать именно в этой сети. Каждая ветвь имеет свои собственные независимые данные, и когда ей нужно отправить их в корневой бокчейн, она не сгружает их все, а просто передает хеш заголовка блока.

Плазма не только экономит место, но и увеличивает скорость транзакций по экспоненте. Если это будет правильно реализовано, это может быть одним из самых революционных изменений, когда-либо сделанных в Ethereum и криптовалюте в целом.

Могут ли эти варианты решить проблему масштабируемости? Еще увидим.

Да, она есть. Она не была решена раньше, и положение ухудшается со временем.

Биткоин работает на программном обеспечении, которое создано программистом или группой программистов, действовавших под псевдонимом в 2007-2009 годах. Несмотря на многие улучшения, которые вносили разработчики на протяжении всего существования биткоина, основной код остался тем же, что и восемь лет назад.

Проблема состоит в том, что сейчас мир биткоина значительно отличается от того, каким он был на заре развития криптовалюты. Количество пользователей выросло с нескольких десятков человек до нескольких десятков миллионов .

Рост пользовательской базы предсказуемо сопровождается увеличением количества транзакций, которых теперь в день насчитывается сотни тысяч. Неприятная реальность состоит в том, что сеть биткоина в её сегодняшнем состоянии не может обработать все транзакции достаточно быстро.

Почему биткоин не в состоянии обработать все сделки?

Проблема заключается в определённом параметре, который называется «предел размера блока».

Сначала проведём очень быстрое знакомство с основами биткоина для тех, кто этого не знает. Все транзакции, которые когда-либо произошли в сети биткоина, записываются в общедоступный и защищённый от вмешательства реестр, который называется «блокчейн».

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

В 2010 году Сатоши Накамото ограничил размер блока одним мегабайтом, а это значит, что блоки, размер которых превышает один мегабайт, будут автоматически отвергаться сетью как невалидные. Это мера безопасности, которая должна предотвратить DDoS-атаки со стороны хакеров, создающих большие и даже неограниченные размеры блоков, чтобы парализовать сеть.

Однако это решение имеет неблагоприятный долгосрочный эффект для пропускной способности сети в целом.

Каждая транзакция содержит важные данные: отправителя, получателя, количество передаваемых биткоинов и так далее. Данные занимают место, которое можно назвать незначительным, если речь идёт о единственной сделке. Но места требуется много, так как совершаются сотни транзакций в секунду.

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

К чему приводит неэффективный предел размера блока?

В целом сеть биткоина способна работать в повседневном режиме. Однако иногда нагрузка становится пиковой и процесс затрудняется. Многие пользователи сообщали, что им приходится ждать обработки своих транзакций часы и даже дни.

Более того, скорость, с которой майнеры биткоина обработают сделку, зависит от размера комиссионных, пересылаемых отправителем каждой транзакции. Это создаёт рынок транзакций: чтобы сделка обработалась быстрее, нужно приложить большую комиссию, чем у конкурентов.

В первые годы существования сети комиссионные измерялись сотыми долями цента. Сегодня же, если вы хотите переслать монеты быстрее, вам нужно заплатить несколько центов или даже долларов.

Есть ли у проблемы масштабирования решение?

Предлагалось множество путей решения проблемы, но ни один из них не реализован на сегодняшний день.

Проблема масштабирования исследуется давно. Два первых серьёзных предложения по её исправлению содержатся в BIP и BIP , где BIP означает «предложения по улучшению биткоина» (Bitcoin Improvement Proposal). Они были представлены в 2015 году разработчиками ядра биткоина Джеффом Гарзиком и Гэвином Андресеном соответственно.

В обоих предложениях упоминается увеличение предела размера блока, и оба эти решения являются хардфорками, то есть в случае их осуществления более старые версии программного обеспечения биткоина будут несовместимыми с новой сетью. Разница между ними состоит в том, что BIP 100 предлагает настраивать размер блока в зависимости от решения майнеров, в то время как BIP 101 является прямым одноразовым увеличением с одного до восьми мегабайт.

По поводу того, какое из предложений принять, в сообществе биткоина велись жаркие споры весь 2015 год. Однако они оказались бесплодными. Ни BIP 100, ни BIP 101 на сегодняшний день так и не реализованы.

Было вычислено, что если предел размера блока будет увеличен до пределов, достаточных для мировых нужд, то размер блокчейна вырастет как минимум до нескольких петабайт.

Это приведёт к увеличению централизации биткоина: только большие компании будут в состоянии обеспечить достаточное количество места для данных, вычислительную мощность и пропускную способность сети, а узлы малых операторов будут отбрасываться. Это противоречит основной идее биткоина как денег, которыми управляют пользователи.

Каким образом SegWit предлагает масштабировать биткоин?

SegWit увеличивает ёмкость блоков без того, чтобы изменять их размер. SegWit вообще не имеет дела с пределом размера блока. Первоначально он был разработан, чтобы устранить совсем другую проблему, связанную с транзакций. Короче говоря, SegWit собирался вынести не критичные данные транзакции за пределы блокчейна.

Удаление данных уменьшает размер каждой из транзакций, благодаря чему в блок того же самого размера помещается больше сделок. Это может привести примерно к 60-70-процентному увеличению пропускной способности сети, другими словами, к решению проблемы на короткое время.

Однако более важно, что устранение гибкости транзакций делает сеть биткоина достаточно безопасной для того, чтобы над ней можно было надстраивать различные решения за пределами блокчейна, такие как . Это позволит сделать транзакции в сети гораздо более быстрыми и дешёвыми, чем когда-либо.

Почему не внедрён SegWit?

У SegWit также есть проблемы с децентрализацией. Сам по себе он увеличивает ёмкость блока примерно на 60%, чего достаточно только для краткосрочного решения проблемы. Он полагается на увеличение пропускной способности сети за счёт сайдчейнов и , а это централизация.

Lightning Network может быть построена как система урегулирования, действующая поверх блокчейна. Биткоины различных пользователей депонированы на отдельный платёжный канал, что требует 10 или более минут для подтверждения в зависимости от степени загрузки сети. После этого все сделки в платёжном канале выводятся за пределы блокчейна, где обрабатываются быстро и очень дёшево или бесплатно, если есть доверенная третья сторона.

В этот момент все участники платёжного канала соглашаются на окончательное распределение биткоинов, передавая обновлённый баланс обратно в блокчейн, таким образом позволяя сети биткоина подтвердить валидность всех сделок.

Проблема состоит в том, что для многих участников криптовалютного сообщества нет реального различия между «взаимной системой урегулирования сделок, созданной без центральной власти» и централизованными банками, которые биткоин был призван заменить.

Гонконгское соглашение

Есть третий путь, который потенциально может быть самым выгодным для сети. Увеличение размера блока и реализация SegWit не противоречат друг другу, и в сообществе нарастает уверенность, что нужен компромисс между этими двумя решениями.

Фактически соглашение о компромиссе уже было достигнуто как минимум один раз. Речь идёт о круглом столе, который состоялся в феврале 2016 года в Гонконге с участием представителей Bitcoin Core, которые являются авторами SegWit, и некоторых крупных майнинговых компаний, заинтересованных в неограниченном увеличении размера блока. Обе стороны стремятся достичь соглашения - продвинуться в реализации SegWit и временно увеличить размер блока до двух мегабайт.

К сожалению, гонконгское соглашение не было выполнено: разработчики Bitcoin Core не зафиксировали в проекте, что перед внедрением SegWit будет увеличен размер блока, таким образом, майнеры отказались принимать его.

Хотите больше новостей?

На момент публикации статьи в сети биткоина зафиксирована задержка обработки 135 000 транзакций и растущая комиссия, об этом сегодня написал Cointelegraph . Это произошло в течение нескольких дней после отмены Segwit2x, который не состоялся по причине отсутствия консенсуса в сети. Для масштабирования, которое способно решить проблему больших блоков, существует только одно решение - Lightning Network.

Дело в том, что число транзакций постоянно увеличивается, а объем данных, которые могут записываться в блок, остается прежним. Из-за этого сеть Биткойна перегружается, время на подтверждение транзакции увеличивается, зачастую вырастая до нескольких часов. Кроме того, комиссии по-прежнему высокие, что вступает в особое противоречие с задержкой обработки транзакции.

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

Блоки биткоина ограничены размером в 1 МБ, а объем транзакций в сети быстро растет. Текущий размер блока недостаточен для управления тем количеством транзакций, которые имеют место в сети Bitcoin. Проблему масштабируемости можно рассматривать как движение большого числа транзакций через узкий проход, из-за чего текущее количество блоков ограничичвает число эффективно обрабатываемых транзакций.

В результате транзакции записываются в блокчейн медленнее, чем они создаются пользователями. Со временем начинается отставание, и транзакции находятся в ожидании для включения в блок по несколько часов. Пользователи могут получить более быстрое подтверждение транзакции, но только за непомерную комиссию.

Что такое Lightning Network

Lightning Network способна внедрить смарт-контракта в сеть Биткойна, которая откроет каналы частных платежей между пиром и всеми другими пирами, с которыми они осуществляют транзакции. В дополнение ко всем частным каналам оплаты, частью которых они являются, каждый пир будет иметь один канал, открытый для блокчейна Биткойна.

Пиры могли бы транслировать себя по своим личным каналам, но только окончательный результат транзакции будет транслироваться в блокчейн. Из-за этого майнеры будут обрабатывать гораздо меньше транзакций, чем сейчас. В теории, Lightning Network делает транзакции более эффективными, неограниченными и дешевыми. В настоящее время программное обеспечение проходит тестирование в сети Litecoin.

Закладывание фундамента

Путь к внедрению разработок Lightning Network проложен через активацию Segregated Witness (SegWit). Этот код отделяет подписи от данных транзакций, освобождая место в блоке. SegWit предоставил сети Bitcoin возможность обрабатывать в четыре раза больше транзакций в блоке, чем раньше. На практике это удвоило пропускную способность сети.

SegWit должен был исправить ошибку транзакции Биткойна, которая помешала бы работе Lightning Network. Ко всему прочему, майнеры и бизнес собрались в Нью-Йорке, чтобы к компромиссу по масштабированию. Группа согласилась с тем, что SegWit будет активирован, а в ноябре произойдет удвоение размера блока до 2 МБ.

Однако, 8 ноября, SegWit2x был отложен из-за отсутствия кворума. Поскольку разработчики Bitcoin Core и сообщество были категорически против увеличения размера блока, единственным очевидным решением становится Lightning Network.

Что отличает Lightning Network?

В этой сети верификация и транзакции будут мгновенными. Каналы частных платежей, защищенные с помощью мульти подписей позволят мгновенно совершать транзакции между пирами (одноранговыми узлами). Это означает, что необходимость в длительном ожидании транзакций исчезнет.

Поскольку частные каналы работают отдельно от сети Bitcoin, у майнеров будет меньше транзакций для обработку, потому что в блокчейн будет записываться не каждая отдельная транзакция, а ее результаты. Таким образом эффективность сети биткоина повысится.

Масштабируемый и недорогой протокол позволит за счет экономии средств оттянуть клиентов от традиционных финансовых посредников, таких как Visa. Больше не придется оплачивать большие комиссии, транспортные расходы, расходы на аудит и посреднические услуги. Что еще лучше, так это то, что транзакции будут проходить прямо между вами (стороной-участницей) и стороной, с которой вы ведете бизнес (вторая сторона), без необходимости проходить через финансового посредника (третьего лица), который не имеет никакого отношения к сделке.

Кризис масштабирования еще не решен

Очевидно, что проблема масштабирования по-прежнему преследует сеть Биткойн. За последние несколько дней цена биткоина упала, а у Bitcoin Cash резко возросла. BitcoinCash - это форк биткоина, который проигнорировал SegWit и увеличил размер блока до 8 МБ. Многие из сообществе биткоина, которые поддерживали идею об увеличении блоков для масштабирования сети, скорее всего, переключились на Bitcoin Cash.

Альткойны также работают над масштабированием, ведь через несколько лет это будет иметь решающее значение. Если это не получится у биткоин, это сделают другие валюты. Ethereum уже работает над масштабированием с помощью своей сети Raiden, которая использует каналы оплаты, подобные Lightning Network. Аналогично этому, цифровая валюта Dash экспериментирует с использованием сверхбольших блоков. Совсем недавно прошло обновление, которое увеличит размер блоков Dash до 2 МБ, его активация произойдет примерно через месяц.

Как предполагали многие эксперты, криптосообщество столкнулось с очередным вызовом- пойти по пути дальнейшей децентрализации (биткоин Lightning Network), либо податься сиюминутной выгоде и отдать предпочтение фактически монополизированному Bitcoin Cash.

Похожие статьи