Содержание

  • Введение

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

  • Что такое решения для масштабируемости вне цепочки?

  • Введение в сайдчейны

    • Что такое сайдчейн?

    • Как работает сайдчейн?

    • Почему мы используем сайдчейны?

  • Введение в каналы платежей

    • Что такое канал платежа?

    • Как работает канал платежа?

    • Маршрутизация платежей

  • В заключение


Введение

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

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


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

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

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

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

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

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

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


Что такое решения по масштабируемости вне цепи?

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


Введение в сайдчейны

Что такое сайдчейн?

Сайдчейн — это отдельный блокчейн. Тем не менее, это не автономная платформа, так как она каким-то образом связана с основной цепью. Основная цепь и сайдчейн совместимы, что означает, что активы могут свободно перемещаться от одной к другой.

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


Как работает сайдчейн?

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

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


Scalabilité sidechain


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

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


Почему используются сайдчейны?

Вы можете задаться вопросом, в чем смысл этого. Почему Алиса просто не использует блокчейн Биткойн?

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

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

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

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

При условии, что пользователи довольны компромиссами, сайдчейны могут стать неотъемлемой частью успешной масштабируемости. Узлы основной цепи не обязаны хранить каждую транзакцию вторичной цепи. Алиса могла бы войти на сайдчейн с одной транзакцией в биткойнах, совершить сотни транзакций в сайдкойнах, а затем покинуть сайдчейн. Что касается блокчейна Биткойн, она выполнила только две: одну для входа и одну для выхода.

Решение Plasma от Ethereum похоже, но имеет важные отличия. Чтобы узнать больше: Что такое решение Plasma от Ethereum?


Введение в каналы платежей

Что такое канал платежей?

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

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


Как работает канал платежей?

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

Предположим, что они оба вносят по 10 BTC на адрес, который теперь содержит 20 BTC. Им будет легко вести учет, который начнется с того, что у Алисы и Боба по 10 BTC. Если Алиса захочет отдать монету Бобу, они обновят учет, чтобы указать, что у Алисы 9 BTC, а у Боба 11 BTC. Им не нужно публиковать это на блокчейне, так как они продолжают обновлять эти балансы.


Comment fonctionne un canal de paiement


Через некоторое время, скажем, у Алисы 5 BTC, а у Боба 15 BTC. Затем они могут создать транзакцию, которая отправляет эти балансы на адреса, принадлежащие обеим сторонам, подписать ее и распространить.

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

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


Маршрутизация платежей

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

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


В заключение

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

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