В погоне за ростом спроса: ответ на критику в связи с ростом размера блокчейна Ethereum (часть 2)

a468be1d7686ecc1f5c0fda544abfbbe61b99436

Ответ Густава Симонссона, сооснователя orchid.com, ранее инженера в Dfinity и разработчика Ethereum, на опубликованную ранее статью, в которой обсуждается рост размеров блокчейна Ethereum и высказываются опасения о том, что узлам сети становится всё труднее успевать синхронизироваться с сетью и обрабатывать растущий объем данных.

Возвращаясь к реальности

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

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

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

Сетевая нагрузка и майнеры

В последнее время Эфириум обрабатывает около 800 тыс. транзакций каждые 24 часа (9,2 транзакций/сек.). Для сравнения, Биткойн в сутки обрабатывает приблизительно 210 тыс. транзакций (2,4 транзакций/сек.). Совершенно очевидно, что для поддержания полного узла Эфириума требуется большая вычислительная мощность. Это может привести к росту нагрузки, особенно на старые ноутбуки, и однозначно потребует использования SSD-носителей. Тем не менее для этого не требуется сверхмощный сервер. Фактически, любое предназначенное для этой цели устройство, имеющее процессор, изготовленный в последние 6 лет, 8 ГБ оперативной памяти и современный SSD-носитель смогут запросто обслуживать полный узел Эфириума (или даже несколько полных узлов, как это делаю я на своем довольно скромном сервере).

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

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

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

Практическое решение: контрольные точки (!)  

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

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

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

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

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

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

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

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

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

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

Эпилог

Никто в действительности не знает, сколько полных узлов требуется для обеспечения безопасности сети. Несмотря на атаки eclipse и DoS на сети Биткойна и Эфириума, нам еще предстоит увидеть по-настоящему крупномасштабную атаку, направленную на подрыв всей сети через вредоносные полные узлы. До тех пор мы не можем знать, является ли 1 тысяча, 5 тысяч, 10 тысяч или какое-либо другое их количество минимально необходимым для обеспечения безопасности сети. Мы знаем только, что чем больше, тем лучше. Это аналогично мощности майнинга: мы по определению не можем знать, какого значения будет достаточно, чтобы защитить конкретную сеть, поскольку не можем доказать обратное. Мы знаем только о нескольких случаях, когда мощность майнинга была недостаточной, чтобы обеспечить необходимую безопасность, что дало нам некоторое понимание о нижних границах.

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

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

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

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

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

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

Для тех, у кого хватило терпения дочитать до конца: вот некоторые дополнительные ресурсы, которые могут быть вам интересны:

  1. Информация о текущих и будущих инициативах повышения масштабируемости Эфириума (а также производительности и безопасности программ-клиентов).
  2. Почему Эфириум в действительности более децентрализован, чем Биткойн.
  3. 21 мая 2017 года Эфириум превзошел Биткойн в PoW-безопасности (вознаграждение за майнинг Эфириума превысило таковое в сети Биткойна).

Источник



Рубрики:Мнение, Сообщество, ETH, Ethereum, эфир

1 reply

Trackbacks

  1. В погоне за ростом спроса: ответ на критику в связи ростом размера блокчейна Ethereum (часть 1) — EthereumClassic

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s