Способы масштабирования биткоина и других криптовалют

679
Просмотры
Масштабирование криптовалют

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Способы масштабирования биткоина и других криптовалют

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

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

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

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

SegWit

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

Подробнее о Сегвит в этой статье.

Плюсы Segwit:

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

Минусы Segwit:

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

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

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

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

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

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

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

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

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

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

Proof Of Stake

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

Что значит это для экосистемы Ethereum

Что такое IceAge

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

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

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

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

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

Sharding / Шардинг

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

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

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

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

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

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

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

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

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

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

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

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

Главный протокол для масштабирования на данный момент lightning netwok. Подробнее механизм его работы мы описали в отдельной статье.

Plasma Ethereum

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

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

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

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

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

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