🧾🔐📄
Какие форки в сети Ethereum происходили, когда и для чего они были и будут нужны? Постарался привести хронологию изменений в сети, подробности и причины их осуществления.
Часть 1.
⬇️⬇️⬇️
https://t.me/CryptoBotan/871Часть 2.
⬇️⬇️⬇️
Осенью 2016 года сеть Ethereum начала подвергаться постоянным dDos-атакам, в которых происходила рассылка спама и пустых транзакций. Были выявлены уязвимости в основных клиентах и в базовом протоколе. Происходили замедления транзакций, а также возникли трудности с включением в блоки новых транзакций.
Сначала 18 октября 2016 года для улучшения устойчивости сети, был проведен внеплановый хардфорк EIP 150с1 на блоке 2 463 000.
Целью было поднять стоимость выполнения ряда опкодов до уровня, максимально увеличивающим для хакеров цену возможной атаки. Нападающие производили атаку путём повторения неоднократного вызова кодов операций в своих умных контрактах, которые являлись сложными для вычислений на стороне клиента, зато очень дёшевыми для добавления к сети.
Затем 22 ноября 2016 года на блоке 2 675 000 состоялся хардфорк Spurious Dragon (EIP 158).
Так как изменения в этом апдейте были менее опасны, а время поджимало, их не включили в EIP 150.
Хардфорк предназначался для очищения от последствий атак и изменения стоимости нескольких недооцененных опкодов (EXP и BALANCE), которые хакеры использовали для продолжения атак уже после первого хардфорка.
Новые атаки велись с 8 млн пустых адресов и увеличивали время генерации блоков на 1-2 секунды.
Так же атаки велись с использование опкода BALANCE - контракта, который пытался получить баланс с адресов 0x00, 0x01, 0x02 и т.д. до тех пор, пока не закончится газ.
Форк состоял из нескольких обновлений:
EIP 155 - дополнительное разграничение трансляций ETH, сети ETC и тестовой сети Morden (для сети ETC).
EIP160 - увеличение стоимости газа для опкода EXP в 5 раз.
EIP161 - очистка блокчейна от пустых аккаунтов, которые были сгенерированы в ходе осенних атак.
Дальше на повестке "дня" развития сети стоял апгрейд Metropolis. Хардфорк был представлен в дорожной карте Ethereum еще в 2015 году. Это третий этап по переходу на новый алгоритм, после Frontier и Homestead.
Состоял он из двух этапов: Byzantium и Constantinople.
Byzantium
25 сентября хардфорк был произведен в тестовой сети Ropsten. Хардфорк Byzantium в основной сети состоялся 16 октября 2017 года на блоке 4,370,000.
Изменения внесенные хардфорком Byzantium:
Byzantium привнес девять протоколов улучшения Ethereum:
EIP 100,
EIP 140,
EIP 196,
EIP 197,
EIP 198,
EIP 211,
EIP 214,
EIP 649,
EIP 658.
Всю подробную информацию по EIPам в хардфорке Byzantium, по моему скромному мнению, в этой
статье от криптофокс и вот в
этой на хабре.
Коротко о внесенных изменениях:
- отсрочка «бомбы сложности» еще на 18 месяцев; Это был приоритетный вопрос. (о "бомбе сложности"
здесь).
- увеличение скорости подтверждения блоков;
- оптимизация расхода газа;
- снижение награды за блок с 5 до 3 ETH;
- добавление криптографических элементов zk-SNARK,
(технология доказательства с нулевым разглашением в криптовалюте ZCash) для внесения новых функций конфиденциальности.
- расширение возможностей EVM
Про Constantinople чуть позже, не поместилось🤥