:::section{mins=2} Что такое блок :::
:::lead [[gloss:block|Блок]] — страница в книге учёта. В нём записаны [[gloss:transaction|транзакции]] за определённый период. :::
:::p{html} Каждый [[gloss:block|блок]] содержит три вещи: [[gloss:transaction|Транзакции]] — список операций: кто, кому, сколько. Один [[gloss:block|блок]] [[gloss:ethereum|Ethereum]]: обычно 100-200 [[gloss:transaction|транзакций]]. [[gloss:hash|Хеш]] предыдущего [[gloss:block|блока]] (prevHash) — «отпечаток» предыдущей страницы. Соединяет [[gloss:block|блоки]] в цепочку. Метаданные — номер [[gloss:block|блока]], время, кто создал, служебная информация. :::
:::callout [[gloss:block|Блок]] — конверт. Внутри — чеки ([[gloss:transaction|транзакции]]). На конверте — номер и отпечаток предыдущего конверта. Конверты в ряд — [[gloss:blockchain|блокчейн]]. :::
:::keypoints{label="Ключевые моменты"}
- [[gloss:block|Блок]] содержит [[gloss:transaction|транзакции]], [[gloss:hash|хеш]] предыдущего [[gloss:block|блока]] и метаданные
- prevHash связывает [[gloss:block|блоки]] в неразрывную цепочку
- Один [[gloss:block|блок]] [[gloss:ethereum|Ethereum]] вмещает обычно 100-200 [[gloss:transaction|транзакций]]
- Метаданные включают номер [[gloss:block|блока]], время создания и информацию о создателе :::
:::details{badge=Глубже title="Структура блока Ethereum"} :::p{html} [[gloss:bitcoin|Bitcoin]]: UTXO model. Нет «аккаунта с балансом». Есть неизрасходованные выходы [[gloss:transaction|транзакций]] (Unspent Transaction Outputs). Баланс = сумма всех UTXO адреса. [[gloss:transaction|Транзакция]] потребляет (inputs) одни UTXO и создаёт (outputs) новые. Как наличные: отдал $50, получил сдачу $30. :::
:::p{html} [[gloss:ethereum|Ethereum]]: Account model. Два типа аккаунтов: EOA (обычный [[gloss:wallet|кошелёк]], [[gloss:private key|приватный ключ]]) и Contract Account ([[gloss:smart contract|смарт-контракт]], код). Каждый аккаунт: nonce, balance, storageRoot, codeHash. [[gloss:transaction|Транзакция]] изменяет state напрямую: balance[from] -= value, balance[to] += value. :::
:::p Следствие: [[gloss:bitcoin|Bitcoin]] — сканировать ~90M UTXO для баланса. [[gloss:ethereum|Ethereum]] — одно поле в state trie. Но state trie растёт: полная [[gloss:node|нода]] 1TB+. :::
:::p Размер [[gloss:block|блока]]: [[gloss:bitcoin|Bitcoin]] ~1-4 MB (после SegWit). [[gloss:ethereum|Ethereum]] — ограничен [[gloss:gas|gas]] (30M gas limit), не размером. Время [[gloss:block|блока]]: [[gloss:bitcoin|Bitcoin]] ~10 мин (difficulty). [[gloss:ethereum|Ethereum]] — 12 сек (фиксировано, slot-based). Solana ~400 мс. ::: :::
:::further{label="Для углублённого изучения"}
- Ethereum.org: Blocks Documentation | ethereum.org
- Explore Block #18,500,000 on Etherscan | etherscan.io
- Ethereum Yellow Paper (Gavin Wood) | PDF :::
:::quiz{id=q-1-2-s1 correct=2 explanation="Верно. Адреса в блокчейне псевдонимны — они не содержат реальных личностей. Блок хранит транзакции, хеш предыдущего блока (звено цепи), временную метку и метаданные."} Чего НЕТ внутри блока?
- Транзакции
- Хеш предыдущего блока
- Личность каждого отправителя транзакций
- Временную метку и метаданные :::
:::section{mins=2} Хеш-функция :::
:::lead [[gloss:hash|Хеш]] превращает любые данные в короткую строку фиксированной длины. Как отпечаток пальца — уникальный. :::
:::p{html} Три свойства: Детерминизм: одни данные → всегда один [[gloss:hash|хеш]]. «Hello» → всегда тот же отпечаток. Лавинный эффект: один символ изменился → [[gloss:hash|хеш]] полностью другой. Нельзя предсказать. Необратимость: из [[gloss:hash|хеша]] невозможно восстановить данные. Мясорубка: фарш обратно в мясо не собрать. :::
:::callout Мясорубка для данных. Закидываешь что угодно — получаешь строку одинаковой длины. Обратно не собрать. :::
:::keypoints{label="Ключевые моменты"}
- [[gloss:hash|Хеш]]-функция всегда возвращает строку фиксированной длины, независимо от размера входных данных
- Детерминизм гарантирует одинаковый результат для одинаковых данных
- Лавинный эффект: малейшее изменение входа полностью меняет [[gloss:hash|хеш]]
- Необратимость: из [[gloss:hash|хеша]] невозможно восстановить исходные данные
- В [[gloss:blockchain|блокчейне]] [[gloss:hash|хеши]] связывают [[gloss:block|блоки]], адреса, Merkle Tree и идентифицируют [[gloss:transaction|транзакции]] :::
:::details{badge=Глубже title="SHA-256, Keccak-256 и пространство хешей"} :::p{html} [[gloss:bitcoin|Bitcoin]]: SHA-256 (двойное хеширование: SHA-256(SHA-256(data))). Двойное — защита от length extension attacks конструкции Merkle-Damgård. :::
:::p{html} [[gloss:ethereum|Ethereum]]: Keccak-256. Выбран до финализации SHA-3. NIST изменил padding в финальной версии → Keccak-256 ≠ SHA-3-256. Иногда вызывает путаницу в коде. :::
:::p Пространство [[gloss:hash|хешей]]: 2^256 ≈ 1.16 × 10^77. Атомов во Вселенной ≈ 10^80. При 10 млрд [[gloss:hash|хешей]]/сек полный перебор: ~3.67 × 10^60 лет. Возраст Вселенной: 1.38 × 10^10 лет. :::
:::p{html} Birthday problem: collision возможен после ~2^128 попыток (не 2^256). Это 3.4 × 10^38 — непрактично. Поэтому «128-bit security» для SHA-256. :::
:::p [[gloss:mining|Майнинг]] [[gloss:bitcoin|Bitcoin]]: brute-force подбор nonce, чтобы [[gloss:hash|хеш]] начинался с N нулей. Текущая difficulty: ~71 ведущий нуль в бинарном. Вероятность: 1 из 2^71 ≈ 1 из 2.36 × 10^21. ::: :::
:::further{label="Для углублённого изучения"}
- NIST FIPS 180-4: SHA-256 Standard | nist.gov
- Keccak Team Specification | keccak.team
- Interactive Hash Demo — Anders Brownworth | andersbrownworth.com :::
:::quiz{id=q-1-2-s2 correct=2 explanation="Верно. Это лавинный эффект. Даже изменение одного бита даёт полностью другой хеш. Именно поэтому хеши работают как отпечатки — любое изменение немедленно обнаруживается."} Ты меняешь один символ в файле и вычисляешь SHA-256 хеш. Что происходит?
- Хеш меняется ровно на один символ
- Хеш меняется незначительно, пропорционально правке
- Хеш меняется полностью — совершенно другая строка
- Хеш остаётся прежним если изменено меньше 10% :::
:::section{mins=2} Цепочка: prevHash :::
:::lead Каждый [[gloss:block|блок]] содержит [[gloss:hash|хеш]] предыдущего. Это создаёт неразрывную цепочку. :::
:::p{html} Измени [[gloss:transaction|транзакцию]] в [[gloss:block|блоке]] #1 → его [[gloss:hash|хеш]] изменится → prevHash в #2 не совпадёт → #2 недействителен → #3 недействителен → вся цепочка после изменения сломана. Каскадный эффект: изменить [[gloss:block|блок]] #100 = пересчитать #100 → #101 → #102 → ... → все до текущего. [[gloss:ethereum|Ethereum]]: ~19 млн+ [[gloss:block|блоков]]. Пересчитать быстрее, чем сеть добавляет новые — невозможно. :::
:::callout Стена из кирпичей, где каждый «помнит» форму предыдущего. Вытащи один — все сверху рухнут. :::
:::keypoints{label="Ключевые моменты"}
- Каждый [[gloss:block|блок]] хранит [[gloss:hash|хеш]] предыдущего [[gloss:block|блока]] (prevHash), образуя цепочку
- Изменение одного [[gloss:block|блока]] каскадно ломает все последующие [[gloss:block|блоки]]
- Пересчитать миллионы [[gloss:block|блоков]] быстрее сети практически невозможно
- Распределённость: тысячи [[gloss:node|узлов]] хранят оригинальную копию цепочки :::
:::details{badge=Глубже title="Genesis Block и финальность"} :::p{html} [[gloss:genesis block|Genesis Block]] ([[gloss:block|блок]] #0): prevHash = 0x0000...0000. [[gloss:bitcoin|Bitcoin]] [[gloss:genesis block|genesis]]: текст «The Times 03/Jan/2009 Chancellor on brink of second bailout for banks». [[gloss:ethereum|Ethereum]] [[gloss:genesis block|genesis]]: 30 июля 2015, начальное распределение ETH. Посмотреть: etherscan.io/block/0 :::
:::p{html} [[gloss:finality|Финальность]]: [[gloss:bitcoin|Bitcoin]]: ~6 подтверждений (~60 мин). Вероятностная. [[gloss:ethereum|Ethereum]] [[gloss:proof of stake|PoS]]: 2 эпохи (~12.8 мин). Casper FFG: checkpoint с 2/3 голосов → justified → следующий justified → предыдущий finalized. Отмена finalized = [[gloss:slashing|slashing]] ≥1/3 [[gloss:validator|валидаторов]] = $10+ млрд. :::
:::p Solana: несколько секунд (optimistic confirmation). ::: :::
:::further{label="Для углублённого изучения"}
- Casper FFG Paper (Buterin & Griffith, 2017) | arxiv.org
- Ethereum Genesis Block | etherscan.io
- Interactive Blockchain Demo | andersbrownworth.com :::
:::section{mins=2} Дерево Меркла :::
:::lead Позволяет быстро проверить [[gloss:transaction|транзакцию]] без скачивания всего [[gloss:block|блока]]. :::
:::p{html} [[gloss:block|Блок]]: 100-200 [[gloss:transaction|транзакций]]. Как быстро проверить, что конкретная — там? Merkle Tree — дерево [[gloss:hash|хешей]]. Снизу: [[gloss:hash|хеш]] каждой [[gloss:transaction|транзакции]]. Пары [[gloss:hash|хешей]] объединяются вверх. И так до вершины — Merkle Root. Доказать Tx B в [[gloss:block|блоке]]: нужны только Hash(A) и Hash(CD). Не все [[gloss:transaction|транзакции]]. Это Merkle Proof. Light Clients: мобильные [[gloss:wallet|кошельки]] скачивают только заголовки (~500 MB вместо 1 TB) и запрашивают Merkle Proof для своих [[gloss:transaction|транзакций]]. :::
:::callout Турнирная сетка. Чтобы проверить участника — пройди его путь до финала, не нужно знать все матчи. :::
:::keypoints{label="Ключевые моменты"}
- Merkle Tree организует [[gloss:hash|хеши]] [[gloss:transaction|транзакций]] в древовидную структуру с единым корнем (Merkle Root)
- Merkle Proof позволяет доказать наличие [[gloss:transaction|транзакции]], предоставив лишь логарифмическое число [[gloss:hash|хешей]]
- Light Clients используют Merkle Proof вместо скачивания полного [[gloss:blockchain|блокчейна]]
- [[gloss:ethereum|Ethereum]] хранит transactionsRoot и receiptsRoot в заголовке каждого [[gloss:block|блока]] :::
:::details{badge=Глубже title="Merkle Patricia Trie и Verkle Trees"} :::p{html} [[gloss:ethereum|Ethereum]] использует Merkle Patricia Trie — гибрид Patricia Trie (поиск по ключу) + Merkle Tree (верификация). :::
:::p Три дерева в каждом [[gloss:block|блоке]]: State Trie (все аккаунты, ключ = адрес), Transaction Trie ([[gloss:transaction|транзакции]], ключ = индекс), Receipt Trie (результаты). :::
:::p stateRoot охватывает ~400M+ аккаунтов. Один [[gloss:hash|хеш]] = весь [[gloss:ethereum|Ethereum]]. :::
:::p{html} Verkle Trees (будущее, The Verge): Vector commitment + Merkle. Proof ~150 байт vs ~1 KB у Merkle. Критично для stateless clients — [[gloss:node|нод]] без state, получающих proof с каждым [[gloss:block|блоком]]. EIP-6800. ::: :::
:::further{label="Для углублённого изучения"}
- RFC 9162: Merkle Tree Specification | rfc-editor.org
- EIP-6800: Verkle Trees | ethereum.org
- Ethereum: Patricia Merkle Trie | ethereum.org :::
:::quiz{id=q-1-2-s4 correct=2 explanation="Верно. Каждый блок содержит хеш предыдущего. Измени блок #500 — его хеш изменится, что сделает невалидным блок #501 (который ссылается на него), затем #502 и так далее. Нужно переделать всю цепочку с этой точки быстрее чем честная сеть добавляет новые блоки."} Атакующий хочет изменить транзакцию в блоке #500. Что ему нужно сделать?
- Переподписать только эту транзакцию
- Пересчитать только блок #500
- Пересчитать блок #500 и все последующие блоки
- Ничего — старые блоки можно свободно редактировать :::
:::section{mins=2} Почему невозможно подделать :::
:::lead Пересчитать миллионы [[gloss:block|блоков]] быстрее сети — дороже, чем играть честно. :::
:::p{html} Три уровня защиты: [[gloss:cryptography|криптографический]] (каскадное разрушение цепочки), вычислительный (огромные ресурсы для пересчёта), социальный (тысячи [[gloss:node|узлов]] с оригиналом). Представь книгу, пронумерованную отпечатками пальцев, копии которой хранят тысячи людей по всему миру. Подделать одну страницу — значит переписать все следующие и убедить тысячи людей принять твою версию. :::
:::howto{label="Как это понять"}
- [[gloss:blockchain|Блокчейн]] намеренно медленный. Стоимость добавления [[gloss:block|блока]] — это стоимость атаки. Убери её — и безопасности нет.
- [[gloss:hash|Хеш]] — это отпечаток. Измени один символ где угодно — весь отпечаток меняется. Именно поэтому цепочку нельзя подделать.
- Любой компьютер может запустить [[gloss:node|ноду]] и проверить каждую [[gloss:transaction|транзакцию]] в истории. Не нужно никому доверять — можно проверить самому. :::
:::callout Представь книгу, пронумерованную отпечатками пальцев, копии которой хранят тысячи людей по всему миру. Подделать одну страницу — значит переписать все следующие и убедить тысячи людей принять твою версию. :::
:::keypoints{label="Ключевые моменты"}
- Три уровня защиты: [[gloss:cryptography|криптографический]], вычислительный и социальный
- Изменение [[gloss:block|блока]] требует пересчёта всех последующих — это каскадный эффект
- Экономическая стоимость атаки на крупные сети исчисляется миллиардами долларов
- Безопасность сети пропорциональна её размеру и стоимости стейка/хешрейта
- Даже успешная атака обесценивает саму сеть, делая её экономически иррациональной :::
:::details{badge=Глубже title="Стоимость атаки и реальные случаи"} :::p{html} Стоимость атаки на [[gloss:ethereum|Ethereum]]: нужно ≥1/3 стейка для остановки, ≥2/3 для подделки. Стейк: ~30M+ ETH. Стоимость 1/3: ~$25+ млрд. Купить 10M ETH невозможно — обвалит цену. Плюс [[gloss:slashing|slashing]]. :::
:::p{html} [[gloss:bitcoin|Bitcoin]] 51% attack: >50% hashrate. Текущий: ~600+ EH/s. Стоимость: миллиарды $. После атаки [[gloss:bitcoin|Bitcoin]] обесценивается — атакующий теряет. :::
:::p Экономически иррационально для крупных сетей. Реальные атаки на малые сети: Ethereum Classic (2020): 3 атаки за месяц, reorg на 3,693 блока, ~$5.6M [[gloss:double spending|double-spent]]. Причина: крошечный hashrate vs ETH mainnet. Вывод: безопасность пропорциональна размеру сети. $100K hashrate — дёшево атаковать. $100B — нереально. :::
:::p{html} Long-range attack ([[gloss:proof of stake|PoS]]): старые ключи [[gloss:validator|валидаторов]] → альтернативная цепочка. Защита: weak subjectivity checkpoint (синхронизация не старше ~2 недель). :::
:::p{html} Selfish mining ([[gloss:bitcoin|Bitcoin]]): секретная цепочка, публикация когда длиннее. Eyal & Sirer (2013): невыгодно при <25% hashrate. ::: :::
:::further{label="Для углублённого изучения"}
- Majority is not Enough (Eyal & Sirer, 2013) | arxiv.org
- Crypto51 — Attack Cost Calculator | crypto51.app
- Ethereum PoS Attack & Defense | ethereum.org :::
:::section{mins=2} Узлы :::
:::lead [[gloss:node|Узел]] — компьютер с копией [[gloss:blockchain|блокчейна]], проверяющий [[gloss:transaction|транзакции]]. Больше [[gloss:node|узлов]] = надёжнее сеть. :::
:::p{html} Full [[gloss:node|Node]]: текущее состояние, проверяет каждый [[gloss:block|блок]]. Основа [[gloss:decentralization|децентрализации]]. Light [[gloss:node|Node]]: только заголовки. Запрашивает Merkle Proof. Твой мобильный [[gloss:wallet|кошелёк]]. Archive [[gloss:node|Node]]: ВСЁ + вся история изменений каждого аккаунта. Огромный. Etherscan, Dune. RPC-провайдеры: MetaMask подключён к Infura (ConsenSys) по умолчанию — централизованная точка. Infura outage (ноябрь 2020) «отключил» MetaMask для миллионов. [[gloss:blockchain|Блокчейн]] работал, пользователи не видели. Альтернативы: Alchemy, QuickNode, свой [[gloss:node|узел]]. :::
:::callout Full [[gloss:node|Node]] — библиотекарь (знает всё текущее). Light [[gloss:node|Node]] — посетитель с каталогом (просит показать страницу). Archive [[gloss:node|Node]] — хранилище всех редакций за все годы. :::
:::keypoints{label="Ключевые моменты"}
- Full [[gloss:node|Node]] хранит текущее состояние и проверяет каждый [[gloss:block|блок]] — основа [[gloss:decentralization|децентрализации]]
- Light [[gloss:node|Node]] скачивает только заголовки (~500 MB) и использует Merkle Proof
- Archive [[gloss:node|Node]] хранит всю историю изменений (13+ TB) — нужен Etherscan, Dune и аналитикам
- [[gloss:ethereum|Ethereum]] имеет ~8,000+ [[gloss:node|нод]], [[gloss:bitcoin|Bitcoin]] — ~15,000+
- RPC-провайдеры (Infura, Alchemy) дают доступ к [[gloss:blockchain|блокчейну]] без запуска своего [[gloss:node|узла]] :::
:::details{badge=Глубже title="Execution и Consensus клиенты Ethereum"} :::p{html} Два клиента после The Merge: Execution Client (EL): Geth (~55%), Nethermind (~30%), Besu, Erigon. Consensus Client (CL): Prysm (~35%), Lighthouse (~30%), Teku, Lodestar, Nimbus. :::
:::p{html} Client diversity — критическая метрика. Баг в клиенте с >66% доли → ошибочная [[gloss:finality|финализация]] → honest minority [[gloss:slashing|slashed]] (парадокс). Geth + Prysm = доминирующая пара = риск. :::
:::p{html} [[gloss:validator|Валидатор]]: 32 ETH (~$80K+). Альтернативы: Rocket Pool (8 ETH), Lido (любая сумма через stETH). :::
:::p Требования: Full [[gloss:node|Node]] (Geth): ~800 GB - 1 TB, 16 GB RAM, SSD. Archive [[gloss:node|Node]]: 13+ TB, 64+ GB RAM, NVMe. Light Client: ~500 MB, смартфон. ::: :::
:::further{label="Для углублённого изучения"}
- Client Diversity Dashboard | clientdiversity.org
- Ethereum Nodes Statistics | ethernodes.org
- Ethereum: Nodes and Clients | ethereum.org :::
:::quiz{id=q-1-2-s6 correct=1 explanation="Верно. Полные ноды не майнят — они верифицируют. Каждая полная нода независимо проверяет каждую транзакцию по правилам. Чем больше независимых верификаторов, тем сложнее протолкнуть невалидные транзакции."} Почему запуск полной ноды повышает безопасность сети?
- Полные ноды майнят новые блоки и получают награды
- Полные ноды независимо верифицируют каждую транзакцию — больше нод значит больше независимых проверок
- Полные ноды шифруют блокчейн чтобы посторонние не могли его читать
- Полные ноды обеспечивают ликвидность сети :::
:::section{mins=2} Рождение нового блока :::
:::lead Каждые 12 секунд в [[gloss:ethereum|Ethereum]] [[gloss:validator|валидатор]] собирает [[gloss:transaction|транзакции]] из [[gloss:mempool|мемпула]] и создаёт [[gloss:block|блок]]. :::
:::p{html} Путь [[gloss:transaction|транзакции]]: «Send» в MetaMask → подпись [[gloss:private key|приватным ключом]] → [[gloss:mempool|Мемпул]] — зал ожидания неподтверждённых [[gloss:transaction|транзакций]] → [[gloss:validator|Валидатор]] отбирает [[gloss:transaction|транзакции]] для [[gloss:block|блока]] → [[gloss:block|Блок]] создан, подписан, разослан → Другие [[gloss:validator|валидаторы]] проверяют и голосуют (attestation) → Через 2 эпохи (~12.8 мин) — [[gloss:finality|финализация]] навсегда. EIP-1559: часть [[gloss:gas|gas]] сжигается, при высокой нагрузке ETH становится дефляционным. :::
:::callout [[gloss:mempool|Мемпул]] — зал ожидания в аэропорту. [[gloss:gas|Gas]] price — класс билета. Business (высокий [[gloss:gas|gas]]) — первый. Economy (низкий) — ждёт. :::
:::keypoints{label="Ключевые моменты"}
- [[gloss:transaction|Транзакция]] проходит путь: подпись -> [[gloss:mempool|мемпул]] -> отбор [[gloss:validator|валидатором]] -> [[gloss:block|блок]] -> attestation -> [[gloss:finality|финализация]]
- [[gloss:mempool|Мемпул]] — это очередь неподтверждённых [[gloss:transaction|транзакций]], приоритет определяется [[gloss:gas|gas]] price
- Время [[gloss:block|блока]] в [[gloss:ethereum|Ethereum]] фиксировано: 12 секунд (слот)
- EIP-1559: часть [[gloss:gas|gas]] сжигается, при высокой нагрузке ETH становится дефляционным
- [[gloss:finality|Финализация]] занимает ~12.8 минут (2 эпохи) через механизм Casper FFG :::
:::details{badge=Глубже title="Ethereum PoS: слоты, эпохи и MEV-Boost"} :::p{html} [[gloss:ethereum|Ethereum]] [[gloss:proof of stake|PoS]] — подробно: Время: slots (12 сек) и epochs (32 slots = 6.4 мин). Каждый slot: случайный proposer из [[gloss:validator|валидаторов]]. На практике: ~90% [[gloss:block|блоков]] через MEV-Boost (Proposer-Builder Separation). Builder оптимизирует порядок, proposer выбирает [[gloss:block|блок]] с наивысшей ценой. Остальные [[gloss:validator|валидаторы]] — attesters, голосуют за валидность. Checkpoint с 2/3 голосов → justified → [[gloss:finality|finalized]]. :::
:::p{html} Вознаграждение: базовое (~0.02-0.05 ETH) + priority fees + [[gloss:mev|MEV]] tips. Base fee (EIP-1559): часть [[gloss:gas|gas]] сжигается. Загруженная сеть = сжигается больше ETH, чем выпускается = дефляционный ETH. :::
:::p{html} Proposer-Builder Separation (PBS): Searchers → [[gloss:mev|MEV]]-возможности. Builders → оптимальные [[gloss:block|блоки]]. Proposers → выбирают [[gloss:block|блок]] с лучшей ценой. Топ-3 builder-а: ~80% [[gloss:block|блоков]]. Новая централизация. SUAVE ([[gloss:flashbots|Flashbots]]) — попытка решения. :::
:::p{html} Timing games: proposer-ы задерживают публикацию до конца slot-а для большего [[gloss:mev|MEV]]. Если слишком долго — missed slot. Blob transactions (EIP-4844, Dencun, 2024): данные L2 rollups. Не хранятся вечно (~18 дней). Снизили стоимость L2 в 10-100x. [[gloss:gas|Gas]] на Arbitrum/Base: $0.001-0.01. ::: :::
:::further{label="Для углублённого изучения"}
- EIP-1559: Fee Market Change | ethereum.org
- Flashbots MEV-Boost | flashbots.net
- EIP-4844: Proto-Danksharding (Blob Transactions) | ethereum.org :::