Состояние масштабирования Ethereum

блог 1НовостиДля разработчиковПредприятиеБлокчейн РазъяснениеМероприятия и конференцииПрессаИнформационные бюллетени

Подписывайтесь на нашу новостную рассылку.

Адрес электронной почты

Мы уважаем вашу конфиденциальность

ГлавнаяБлогБлокчейн объяснил

Состояние масштабирования Ethereum

Краткий обзор проблем и решений для масштабирования сети Ethereum. От ConsenSys24 апреля 2018 г.Опубликовано 24 апреля 2018 г.

Рождение Enterprise Ethereum в 2017 году

Разработчики Ethereum давно знали, что масштабирование сети – это предмет обсуждения и инвестиций. Однако этот вопрос не совсем вылился в сообщество разработчиков до конца 2017 года, когда децентрализованное приложение (dApp) под названием CryptoKitties привлекло так много трафика, что начало замедлять работу сети. Помимо задержки в сети, цена газа – плата, необходимая для выполнения каждой операции в рамках контракта на блокчейне Ethereum, – резко возросла, поскольку пользователи соревновались за подтверждение своих транзакций..

Хотя история сейчас переоценена и исчерпана, ситуация с CryptoKitties показала, что Ethereum в его текущем состоянии может быть не подготовлен к количеству трафика, который будет сопровождать запуск успешного dApp. Низкие скорости и нестабильная стоимость использования отталкивают людей от платформ и приложений. Разработчики DApp готовятся выпустить первое широко используемое приложение, поэтому разработчики Ethereum должны продолжить работу по масштабированию блокчейна..

«Трилемма»

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

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

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

В разработке находятся четыре основных протокола, которые решат проблемы масштабируемости. Sharding, Plasma и Raiden были предложены специально для масштабирования Ethereum. Четвертый протокол, Casper, намного шире по охвату, но помимо многих других будет иметь последствия для масштабируемости..

Шардинг

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

Внутри каждого осколка определенные узлы, называемые «подборщиками», будут регулярно создавать «сопоставление» или набор информации об этом осколке. Каждое сопоставление содержит следующую информацию:


  1. Информация о том, из какого шарда пришла сортировка.
  2. Информация о состоянии шарда до применения транзакций.
  3. Информация о состоянии шарда после того, как транзакции будут применены.
  4. Цифровые подписи от подборщиков, подтверждающих достоверность информации в сопоставлении

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

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

Плазма

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

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

Райден

Raiden – это еще одно решение для масштабирования вне сети, которое позволяет узлам поддерживать запись между ними, не требуя от корневой цепочки проверки каждой транзакции. Два узла могут открыть между собой «канал состояния», который является двусторонним каналом между пользователями. «Сообщения» – в форме транзакций – происходят между двумя узлами и подписываются каждой стороной для обеспечения неизменности. Raiden особенно полезен для частых и ожидаемых платежей – т.е.пользователя, который знает, что он будет платить компании 10 долларов в неделю за услугу, или пользователя, который знает, что он будет регулярно тратить деньги в своем местном продуктовом магазине. Благодаря тому, что транзакции записываются и проверяются между этими двумя узлами, а не на каждом блоке, корневая цепочка освобождается от огромного объема трафика. В любой момент любой участник канала состояния может выбрать закрытие транзакции, и чистый результат всех транзакций экспортируется в корневую цепочку блоков и включается в следующий блок. Это означает, что через год подписки на услугу 10 долларов в неделю пользователь мог бы заставить блок проверять одну транзакцию на 520 долларов вместо 52 отдельных транзакций по 10 долларов..

Решение Raiden имеет одно главное предостережение и одно основное преимущество. Предостережение заключается в том, что узлы могут связываться только со своими «соседями» – это означает, что если узел A и узел B имеют открытый канал состояния, а узел B и узел C имеют открытый канал операторов, узел A не может отправлять средства напрямую узлу C. Однако транзакции можно пересылать по каналам таким образом, чтобы их нельзя было украсть или заблокировать в процессе. Узел A может отправить транзакцию узлу C, используя узел B в качестве посредника, таким образом, чтобы узел B не мог украсть средства. В качестве основного преимущества Raiden резко снижает цены на газ для каждой транзакции. Транзакции, которые происходят между узлами вне сети, требуют меньше газа для обработки, чем транзакции, которые происходят в корневой цепочке..

Каспер

Casper – это протокол, с помощью которого текущая модель Proof of Work (PoW) Ethereum изменится на Proof of Stake (PoS). С PoW майнеры в настоящее время должны расходовать энергию, чтобы решить криптографическое уравнение и добыть блок. Они будут вознаграждены, если решат уравнение, но процесс требует огромной энергии (и будет требовать все больше и больше). Это дорого и энергоэффективно, и в настоящее время поддержка модели PoW обходится в 1,2 миллиарда долларов США в год..

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

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

Окончательному развертыванию Casper будут предшествовать две итерации протокола: Casper FFG и Casper CBC. Эти итерации будут развернуты в Ethereum для тестирования PoS в сети и выявления потенциальных проблем до полного переключения..

Каспер ФФГ

Casper FFG (Friendly Finality Gadget) будет первой версией Casper, которая, вероятно, будет выпущена во время следующего хард-форка Ethereum, Constantinople. В Casper FFG блоки по-прежнему добываются с помощью PoW. Однако каждые пятьдесят блоков проверяют механизм PoS валидаторы. Эта «контрольная точка» использует протокол PoS для оценки и подтверждения окончательности. Окончательность означает, что операция завершена и полностью неизменна. В FFG валидаторы ставят средства на завершение предыдущих пятидесяти блоков в цепочке..

Каспер Си-Би-Си

Casper CBC (Correct-by-Construction) будет второй итерацией Casper. Обычно протокол формально определяется, а затем доказывается, что он удовлетворяет всем заданным свойствам. В CBC протокол PoS определяется только частично, а затем дорабатывается, чтобы соответствовать свойствам, которым он должен был следовать. По сути, вместо того, чтобы быть полностью определенным с самого начала, протокол активно и постоянно выводится. Это достигается за счет реализации доказательства, известного как «идеальный противник», которое может вызывать исключения, сбои и будущие сбои протокола..

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

Глядя в сторону дороги

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

Подпишитесь на нашу рассылку, чтобы получать последние новости Ethereum, корпоративные решения, ресурсы для разработчиков и многое другое.Отчет DeFi по Ethereum за 3 квартал 2020 г.Отчет

Отчет DeFi по Ethereum за 3 квартал 2020 г.

Отчет DeFi по Ethereum за 2 квартал 2020 г.Отчет

Отчет DeFi по Ethereum за 2 квартал 2020 г.

Полное руководство по бизнес-сетям на основе блокчейнаГид

Полное руководство по бизнес-сетям на основе блокчейна

Как создать успешный блокчейн-продуктВебинар

Как создать успешный блокчейн-продукт

Введение в токенизациюВебинар

Введение в токенизацию

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map