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

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

Что такое шардинг?

Шардинг Ethereum - это процесс разделения всей сети Ethereum на части, называемые "шардами". Каждый шард будет иметь свое собственное независимое состояние, что означает, что баланс каждого счета и смарт-контракт будут разными. В настоящее время для Ethereum существует только один блокчейн, работающий по принципу proof-of-work, и все узлы хранят все данные о транзакциях. Высокий уровень безопасности, обеспечиваемый тем, что каждый узел проверяет все блоки, оборачивается снижением пропускной способности, особенно когда транзакции отправляет множество пользователей. С этим может помочь шардинг Ethereum.

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

Почему шардинг необходим для Ethereum?

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

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

Каковы особенности шардинга в Ethereum?

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

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

Различные обновления и шарды - как они связаны?

Цепочка маяков и осколки

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

Слияние и шарды

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

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

Каковы проблемы с шардингом Ethereum?

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

Кроме того, люди до сих пор не знают, как общаться между цепочками шардов и Beacon Chain. Ethereum хочет использовать "парадигму квитанций", при которой в Beacon Chain будут храниться только квитанции о транзакциях на цепочках шардов. Как и во многих других вопросах о шардинге в Ethereum, сложность заключается в том, как это делается.