Смарт-контракты не являются единственными «умными» механизмами в блокчейне Ethereum. «Бомба сложности» — еще одна фича сети, которая поможет весьма элегантно (но не безболезненно) обеспечить поддержку программного хардфорка Ethereum всеми участниками сети.

обновление ethereum

Мы уже взрываемся?

Поскольку хардфорк, в отличие от софтфорка и бархатных форков, предполагает такие изменения, после которых новая версия сети будет несовместима со старой, то, чтобы блокчейн остался единым, с новыми правилами должны быть согласны (практически) все пользователи. Если же доля несогласных будет значительной, то ее может хватить для развития параллельной сети, которая будет работать по старым правилам. И такая история уже знакома блокчейну Ethereum: из-за разногласий в сообществе по поводу возврата средств The DAO летом 2016 Ethereum распался на две сети. «Обновленной» версией стал основной Ethereum, а старые («классические») правила поддерживает Ethereum Classic.

Однако «бомба» была заложена в Ethereum для другого — запланированного — хардфорка, который позволит блокчейну координированно перейти с текущего алгоритма достижения консенсуса Proof-of-Work на Proof-of-Stake. Механизм «бомбы сложности» был введен 7 сентября 2015 (на 200,000 блоке), вскоре после запуска основного блокчейна. Он запрограммирован на экспоненциальное увеличение сложности сети. «В конечном итоге [сеть] достигнет так называемого “Ледникового периода”: сложность просто станет слишком высокой, чтобы можно было добыть блок. Это позволит нам ввести Proof-of-Stake, возможно, через Casper», — сообщил на тот момент главный коммерческий директор Ethereum Стефан Туал.

В начале 2016 года Виталик Бутерин пояснял, что какое-то время бомба будет «тикать» очень медленно: «На 3,500,000 блоке (через год) у нас будет одинаковое время добычи блоков — 25 секунд — в течение 100 блоков (примерно 1 месяц), затем — 35 секунд для следующих 100 блоков (примерно 1.4 месяца), затем ~55 секунд в течение ~2.2 месяцев, затем ~95 секунд в течение ~3.8 месяца и так далее до ~655 секунд в течение ~26 месяцев (немного больше, чем в биткоине)... Финальный слом произойдет около 2021 года, когда сеть будет практически замороженной».

Таким образом, по мере того как сложность будет повышаться, время добычи блока будет расти, а экономический стимул для майнеров — слабеть. При этом конечная цель — переход на Proof-of-Stake — изменит и сам характер майнинга: в отличие от Proof-of-Work, при котором майнеры конкурируют за первенство в добыче блока с помощью своих вычислительных мощностей, при «доказательстве доли» — Proof-of-Stake — валидаторы вознаграждаются пропорционально доле эфира, которую они держат. При таком устройстве сети как такового «майнинга» уже не существует — процесс подтверждения транзакций носит название «форжинг».

По пути в Constantinople

В дорожной карте Ethereum, представленной в 2015 году, было обозначено 4 этапа развития сети: Frontier, Homestead, Metropolis и Serenity. Однако впоследствии Metropolis был разделен на два этапа: Byzantium, активированный в прошлом году, и Constantinople, релиз которого должен состояться ориентировочно 30 октября. Он призван повысить производительность сети и снизить комиссии, подготовив сеть к более масштабным усовершенствованиям масштабируемости — шардингу и Casper.

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

В число уже принятых EIP входят: EIP 210 (реорганизует метод хранения хэшей блоков), EIP 145 (увеличивает скорость вычислений EVM), EIP 1014 (добавление state channels — каналов состояния) и EIP 1052 (новый опкод, увеличивающий взаимодействие смарт-контрактов и скорость их валидации). «Большая часть EIP внедрена», — сказал Петер Шилагий, ведущий разработчик основного Ethereum-клиента Geth, на июльской встрече разработчиков.

Однако несколько EIP все еще находятся на стадии обсуждения, в том числе и возможность отложить «бомбу сложности», а также сокращение награды майнерам. Разделение мнений по этим вопросам стало очевидно в прошлую пятницу, когда разработчики устроили видеоконференцию для обсуждения изменений в коде вместе с ключевыми представителями сообщества. «Мы наблюдаем большую вовлеченность сообщества в форки. Странно слышать, что люди смотрят и участвуют в обсуждении проходящих раз в две недели видеоконференций core-разработчиков», — отметил Хадсон Джеймсон, специалист по коммуникациям Ethereum Foundation. Афри Шедон, специалист по коммуникациям Parity Technologies, также сказал, что Constantinople привлек непривычно много внимания и дал возможность сообществу принимать участие в важных и неоднозначных изменениях протокола: «Раньше спорные предложения либо сразу принимались, либо навсегда глохли».

«Дружное» сообщество

Однако компромисса совместное обсуждение не принесло. В понедельник Брайан Вентуро, CTO майнингового стартапа Atlantic Crypto, поделился итогами встречи на Medium и выделил EIP 1295 как единственное из спорных предложений, которое не снизит безопасность. «Безопасность сети Ethereum — это не то, что может быть когда-либо скомпрометировано», — пишет Вентуро.

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

Майнеры разделяют мнение, что слишком сильное сокращение доходов снизит безопасность сети и заставит их поддерживать другие криптовалюты (это особенно актуально для пользователей менее производительного оборудования — GPU). «Если вы сокращаете награду за блок, вы делаете неэффективной огромную часть оборудования», — отметил Вентуро в разговоре с CoinDesk.

И хотя майнеры закономерно выступают против сокращения эмиссии (и, как следствие, своих доходов), обычные пользователи, отмечая значительное падение цены (за лето эфир подешевел более чем в 2 раза), видят выход в ограничении выпуска новых монет. «Мы согласны, что такое количество выпускаемых эфиров может быть слишком высоким, но мы также верим, что его “подтягивание” под текущие рыночные условия приведет к ненужному риску для безопасности системы», — отметил Вентуро в обсуждении на GitHub.

Не только Бутерин против

Трейдер Эрик Коннер выступает против EIP 1295 и защищает преимущества EIP 1234 — предложения, которое сокращает награду за блок до 2 эфиров и, соответственно, снижает награду за uncle-блоки (сегодняшняя «основная» награда в 3 эфира (до прибавления комиссий) и в 0.625−2.625 эфира за uncle-блоки установилась после предыдущего обновления протокола — Byzantium).

«Бросив беглый взгляд на соотношение рыночной капитализации эфира и биткоина и соотношение суточного стимула майнера эфира и биткоина (награда за блок + uncle-блок + комиссии), мы видим, что Ethereum исторически переплачивает майнерам в сравнении с биткоином. Мы также можем сравнить эти соотношения напрямую и увидеть, что текущий уровень переплаты — 1.5−2 раза. Если мы рассмотрим EIP 1234 и сокращение [награды] до 2 эфиров, мы увидим, что эти соотношения выровнялись», — написал Коннер в своем Twitter. По его мнению, снижение наград необходимо для сохранения ценности сети.

На недавней встрече разработчиков в поддержку EIP 1234 высказался разработчик Casper Дэнни Райан, заявив, что сокращение награды до 2 эфиров кажется «разумным компромиссом» между интересами трейдеров и майнеров.

С критикой EIP 1295 также выступил инвестор Спенсер Нун: «Я полностью против EIP 1295 и я ставлю под вопрос мотивы его автора (Atlantic Crypto Corp). ACC — майнинговая компания, которой управляют бывшие сотрудники хедж-фондов. Это не имеет ничего общего с безопасностью сети — снижение награды за блок ударит по их доходам», — написал Нун в своем твиттере.

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

Ну и весомое слово самого Бутерина также не в пользу EIP 1295. «Меня это пугает. С текущим процентом uncle-блоков — около 20% — который продолжает значительно варьироваться от ~8% до ~40%, существует значительная угроза централизации, если разница в наградах между этими пулами еще больше усугубится. В настоящий момент Ethermine и Nanopool расходятся примерно на 20% по доле uncle-блоков (0.7 к 0.9); при текущем уровне награды это ведет к ~3−5% разнице в доходах, но с предложением [EIP 1295] они могут легко подняться до ~15−18%», — написал он на GitHub.

Сегодня, 31 августа, разработчики могут принять окончательное решение по спорным EIP в ходе видео-конференции, и именно эти предложения будут включены в обновленный протокол. «В данный момент мы быстрыми шагами двигаемся к решению», — сказал Шедон в разговоре с CoinDesk.