Тхе , заказано за активацију на , is Ethereum’s next major network upgrade after Pectra, and it marks one more scaling step taken by the crypto giant. Фусака хард форк December 3, 2025 Фусака хард форк The Pectra EIPs focus on improving performance, security, and developer tools. PeerDAS ( ) чини доступност података ефикаснијом тако што дозвољава чворовима да проверавају блокове без преузимања свега.Неке надоградње пооштравају сигурност извршења, укључујући ограничења на МодЕкп ( ), ограничење на трансакцијске границе гаса ( ), и ажурирани трошкови гаса МодЕкп ( ). The fork also improves block production with deterministic proposer lookahead ( ) и одржава стабилне трошкове блоба са границама везаним за трошкове извршења ( Додатна побољшања укључују ограничавање величине блока у формату РЛП ( ), додавање новог ЦЛЗ опкода за брже битне операције ( ), и увођење сецп256р1 прекомпилације ( ) за бољу компатибилност са модерним криптографским и хардверским сигурносним кључевима. EIP-7594 EIP-7823 EIP-7825 EIP-7883 EIP-7917 EIP-7918 EIP-7934 EIP-7939 EIP-7951 Baš kao što je Pectra kombinovala „Prag“ i „Electra“, Fusaka je kombinovano ime and То представља следећи скок Етхереум-а ка високо скалабилној, будућности богатој подацима у којој слојеви 2 могу радити јефтиније и брже. Fulu (execution layer) Osaka (consensus layer) У овом блогу, разбијамо основне карактеристике Фусака хард форк-а, објашњавамо како ПеерДАС ради у пракси, и пролазимо кроз стварне мрежне захтјеве за кућне стакере, суперноде и пуне чворове - подржане девнет подацима. Key Changes Introduced In Fusaka Hard Fork Key Changes Introduced In Fusaka Hard Fork : PeerDAS - Peer Data Availability Sampling EIP-7594 ЕИП-7594 Етхереуму је потребан овај предлог јер мрежа жели да обезбеди више доступности података за кориснике и нарочито за роллове, али са тренутним Дизајн, сваки чвор и даље мора да преузме превише Блоб података само да провери да је заправо објављен. Ово ствара проблем скалације, јер ако сви чворови морају да преузму све, захтеви за пропусном ширином и хардвером мреже се повећавају, а децентрализација може да трпи. Да би се то поправило, Етхереуму је потребан начин за чворове да потврде да су подаци доступни без преузимања свих њих. Прикупљање узорака доступности података (ДАС) то решава дозвољавајући чворовима да проверавају само мале случајне делове података. EIP-4844 ПјерДАС је мрежни систем који омогућава чворовима да преузимају само мале комаде Блоб података како би проверили да ли су пуни подаци заправо објављени. Уместо да преузимају све, чворови користе нормалну гозбу за дељење података, откривају који вршњаци држе одређене делове и траже само мале узорке које им требају. Главна идеја је да преузимањем само малих, случајних делова Блоб-а, чворови и даље могу бити сигурни да цео Блоб постоји. На пример, уместо преузимања пуног Блоб-а од 256 КБ, чвор би могао да преузме само око 1/8 тога – али зато што многи чворови узоркују различите делове, било који недостајући подаци би се брзо Да би узорковање радило, ПеерДАС проширује сваки блок од користите основни тип кодирања за брисање. —similar to how you can complete a puzzle even if a few pieces are lost. The blob becomes a “row” that contains the original data plus some extra coded data that allows it to be rebuilt later. This row is then split into many small pieces called cells, which are the smallest verified units tied to a KZG commitment. All rows are then reorganized into “columns,” where each column contains the cell at the same position from every row. Each column is assigned to a specific gossip subnet. Nodes are responsible for storing certain columns based on their node ID and for sampling a few columns from peers every slot. If a node collects at least 50% of all columns, it can fully rebuild the data. If it has less than 50%, it simply requests the missing columns from peers. This ensures that if the data was actually published, it can always be reconstructed. In short, if there are 64 columns in total, a node only needs about 32 of them to rebuild the full blob. It keeps some columns itself and downloads a few from peers. As long as half the columns exist in the network, the node can reconstruct everything—even if some columns are missing. EIP-4844 Erasure coding is a technique that adds extra redundant data so that the original data can be recovered even if some pieces are missing Поред тога, ЕИП уводи важно правило: Овај лимит мора бити спроведен током валидације трансакције, шале, креирања блокова и обраде блокова.Ово помаже у смањењу екстремних случајева у којима једна трансакција преоптерећује систем блоб. no transaction can contain more than 6 blobs PeerDAS dodaje nešto što se zove Доказ ћелије КЗГ показује да КЗГ обавеза заиста одговара једној одређеној ћелији (један мали комад) блоба. Ово омогућава чвору да преузме само ћелије које жели да узме узорак, уместо пуног блоба, док и даље гарантује интегритет података. cell KZG proofs Али генерисање свих ових доказа ћелија је скупо. Произвођач блока би их морао поново и поново израчунати за многе блокове, што је сувише споро. да генерише све ћелијске доказе унапред и укључи их у трансакцију. the blob transaction sender Због тога, говор трансакције (PooledTransactions) сада користи модификовани омотач: rlp([tx_payload_body, wrapper_version, blobs, commitments, cell_proofs]) Унутрашњост новог огранка, je samo lista koja sadrži svaki dokaz za svaku ćeliju svakog bloba (na primer: Остала поља - , , and — су управо исти као у ЕИП-4844.Разлика је у томе што је старо једно поље "докази" уклоњено и замењено овим новим листа, а ново поље под називом Додаје се да покаже који формат облоге се користи. cell_proofs [cell_proof_0, cell_proof_1, ...] tx_payload_body blobs commitments cell_proofs wrapper_version Тхе је један бајт, а у овом предлогу се увек поставља на • Тхе Поље садржи све ћелијске доказе за сваки блок, укључујући доказе за додатне екстензивне ћелије створене током кодирања брисања. Иако листа садржи доказе за ћелије проширења, сами блодови се и даље шаљу у нормалном (не-проширеном) облику. Блоб укључује само своју оригиналну половину - примајући чвор може сам израчунати половину проширења, тако да нема потребе за слањем непотребних података. wrapper_version 1 cell_proofs CELLS_PER_EXT_BLOB Више од формалног, is the proof for the j-th cell of the i-th blob after running , који производи и оригиналне и екстензивне ћелије. cell_proofs[i * CELLS_PER_EXT_BLOB + j] compute_cells(blobs[i]) Када чвор прима овај омотач, мора да потврди трансакцију и провери да ли је све исправно. Мора да провери да се број верзија хасхес, блобс и обавезе сви подударају. Točno sadrži Свака верзија мора да има одговарајућу верзију хасха ( На крају, чвор мора да провери да ли свака обавеза заправо одговара блобу и његовим доказима. , and then verifies all the cell proofs—batch verification is allowed to make this faster. cell_proofs CELLS_PER_EXT_BLOB * number_of_blobs kzg_to_versioned_hash(commitments[i]) == tx_payload_body.blob_versioned_hashes[i] compute_cells : Zamislite da je blob podeljen na након брисања кода ( Originalni blob sadrži , и примајући чвор ће израчунати недостајуће sam. ali pošiljatelj mora da uključi у . Example 8 cells CELLS_PER_EXT_BLOB = 8 4 cells 4 extension cells all 8 proofs cell_proofs Дакле, за 1 Блоб, трансакцијски омотач садржи: blobs = [blob_0] (само оригиналне 4 ћелије) commitments = [commitment_0] cell_proofs = [proof_0, proof_1, ..., proof_7] (доказ за сваку од 8 ћелија) Када чвор узоркова, може затражити само ћелију 2 или ћелију 5 и може их одмах проверити користећи одговарајуће доказе, без икада преузимања пуног блоба. ПеерДАС омогућава Етхереуму да повећа доступност података без што чворови раде теже.Данас, чвор само треба да узме узорак о У будућности, то може чак и доћи до , што би омогућило Етхереуму да скали више. Систем добро функционише јер сваки чвор има много вршњака. Дакле, ако један вршњак не даје потребне податке, чвор може једноставно питати другог вршњака. Ово ствара природну редовност и побољшава сигурност. чворови такође могу изабрати да чувају data nego što je potrebno, što dodatno jača mrežu – čak i bez ikakvih promena protokola. 1/8 of the total blob data 1/16 or 1/32 more Валидатори имају мало више одговорности од нормалних пуних чворова. Пошто валидатори већ покрећу јачи хардвер, ПеерДАС им даје оптерећење за чување података које одговара укупном броју валидатора. Ово осигурава да је стабилна група чворова увек доступна за складиштење и дељење више података, што чини мрежу поузданијом. Укратко, ако постоји 900.000 валидатора, сваком валидатору може бити додељен мали део укупних Блоб података за складиштење и сервисирање. PeerDAS uses уместо узорковања редова, јер олакшава реконструисање података. Ако чворови узорковају пуне редове (целе блокове), они би требали креирати додатне "екстензивне блокове" који природно не постоје, што би успорило произвођаче блокова. Zamislite da je blob mreža ćelija od 4×4. Uzorkovanje reda bi značilo uzimanje svih 4 ćelija iz jednog reda, ali neki redovi proširenja još nisu spremni, tako da bi proizvođač bloka morao da ih generira na licu mesta. Uzorkovanje kolone znači uzimanje jedne ćelije iz svakog reda (kolona). Dodatne ćelije potrebne za rekonstrukciju mogu se pripremiti unapred, tako da čvorovi mogu da proveravaju podatke bez usporavanja proizvodnje bloka. column sampling Example: U potpunosti radi sa , тако да не прекида ништа већ на Етхереум. Сви тестови и детаљна правила су у консензусу и спецификацијама извршења. EIP-7594 EIP-4844 Glavni bezbednosni rizik u bilo kom DAS sistemu je „napad zadržavanja podataka“, gde proizvođač blokova pretvara da su podaci dostupni, ali zapravo skriva neki od njih. PeerDAS to sprečava pomoću slučajnog uzorkovanja: čvorovi proveravaju slučajne delove podataka. Što se više čvorova uzorkuje, teže je za napadača da prevari. EIP čak pruža formulu za izračun koliko bi takav napad mogao uspeti, na osnovu ukupnog broja čvorova (n), ukupnih uzoraka (m) i uzoraka po čvoru (k). Na Ethereum mainnetu, sa oko 10.000 čvorova, šansa za uspešan napad je izuzetno mala, tako da se PeerDAS smatra bezbednim. The table shows that the chances of a successful attack drop to a negligible level, which is why PeerDAS is considered secure against data-withholding attacks. For deeper analysis, you can refer to the linked . Блог : Set upper bounds for MODEXP EIP-7823 ЕИП-7823 Овај предлог је потребан зато што је тренутна прекомпилација МОДЕКСП-а у Етхереуму током година изазвала многе грешке консензуса. Већина ових грешака се догодила зато што МОДЕКСП омогућава изузетно велике и нереалне величине уноса, што ствара бескрајне, необичне случајеве које клијенти морају да управљају. Пошто сваки чвор мора да обрађује било који унос који трансакција пружа, немајући горњи лимит чини МОДЕКСП тежим за тестирање, лакшим за разбијање, и вероватније да се понаша другачије између различитих клијената. Веома велики уноси такође чине формулу трошкова гаса тешком за предвиђање, јер је тешко цијенити EIP-7823 introduces a simple rule: all three length fields used by MODEXP—the size of the BASE, the EXPONENT, and the MODULUS—must be , which is 1024 bytes. MODEXP inputs follow the format Као што је дефинисано у , тако да овај ЕИП ограничава само вриједности дужине. Ако било која дужина прелази 1024 бајта, прекомпилација се одмах зауставља, враћа грешку и спаљује сав гас. На пример, ако неко покуша да обезбеди БАСЕ који је дуг 2000 бајта, позив ће пропасти пре него што се догоди било какав рад. Ове границе и даље подржавају све стварне случајеве коришћења. РСА верификација обично користи кључне величине као што су 1024, 2048, или 4096 бита, све добро унутар нове границе. 8192 bits or less <len(BASE)> <len(EXPONENT)> <len(MODULUS)> <BASE> <EXPONENT> <MODULUS> EIP-198 Ове нове границе такође помажу у будућим надоградњама. Ако се МОДЕКСП икада поново напише у ЕВМ коду користећи ЕВММАКС, програмери могу додати оптимизоване путеве за уобичајене величине уноса као што су 256 бита, 381 бита или 2048 бита, и користити спорији пад за ријетке случајеве. Са фиксним максималним величинама, програмери могу чак додати специјално руковање за врло уобичајене вредности модула. Да би потврдили да ова промена неће прекинути прошле трансакције, аутори су анализирали сву употребу МОДЕКСП-а од блока 5.472.266 (20. априла 2018) до блока 21.550.926 (4. јануара 2025.). , далеко испод новог ограничења од 1024 бајта. Већина стварних позива користила је мале дужине као што су 32 бајта, 128 бајта или 256 бајта. , и један изузетно велики али неважећи улаз. Ови би се понашали исто под новим ограничењима јер су већ били неважећи. 513 bytes 0x9e5faafc Са сигурносне тачке гледишта, смањење дозвољених величина уноса не ствара нове ризике. Уместо тога, уклања непотребне екстремне случајеве који су раније изазвали грешке и неконзистенције преко клијената. Ограничавањем MODEXP уноса на реалне величине, овај ЕИП чини систем предвидивијим, смањује чудне случајеве угла и смањује вероватноћу грешака између различитих имплементација. Ове ограничења такође помажу припремити систем за глатко прелазак ако будуће надоградње као што је EVMMAX уведу оптимизоване путеве извршења. : Transaction Gas Limit Cap EIP-7825 ЕИП-7825 Ethereum needed this proposal because today a single transaction can use almost the entire block gas limit. This creates several problems: one transaction could consume most of the block’s resources and cause a DoS-style slowdown, large gas-heavy operations can increase Ethereum’s state too quickly, and block validation becomes slower and harder for nodes to keep up with. If one user submits a huge transaction that uses nearly all the gas (for example, a transaction that consumes 38 million gas in a 40 million–gas block), then other normal transactions cannot fit into the block, and every node must spend extra time verifying that block. This threatens network stability and decentralization because slower verification means weaker nodes fall behind. To solve this, Ethereum needs a safe upper limit on how much gas a single transaction can use, so block load becomes more predictable, DoS risk is reduced, and nodes have a more even workload. ЕИП-7825 уводи тврдо правило да ниједна трансакција не може користити више од Ово постаје капија на нивоу протокола, што значи да се примењује свуда: када корисник шаље трансакцију, када је ткпул проверава, и када је валидатори укључују у блок. . This cap is completely independent of the block gas limit. For example, even if the block gas limit is 40 million, no single transaction is allowed to use above 16.7 million gas. The goal is to make sure that many transactions can fit inside each block instead of letting one transaction dominate the entire block. 16,777,216 gas (2²⁴) MAX_GAS_LIMIT_EXCEEDЕД MAX_GAS_LIMIT_EXCEEDЕД Да бисте то боље разумели, замислите да блок има простор за 40 милиона гаса. Без ове капе, неко би могао да пошаље једну трансакцију која троши 35-40 милиона гаса. Та трансакција би монополисала блок и оставила простор за друге, слично једној особи која изнајмљује читав аутобус тако да нико други не може да уђе. Predlog takođe dodaje specifične zahteve za to kako klijenti validiraju transakcije. txpool mora da odbije transakciju ako je njen gasLimit iznad 16,777,216, što znači da takva transakcija nikada ne ulazi u red. Tokom blok validiranja, ako blok sadrži transakciju koja prelazi limit, blok mora da bude odbijen. The number Izabran je zato što je to čista sila-dve granice, što ga čini lakšim za implementaciju, i još uvek je dovoljno velik da se bavi većinom stvarnih transakcija, kao što su implementacije pametnih ugovora, kompleksne DeFi interakcije, ili više-korak ugovora pozive. 16,777,216 (2²⁴) Овај ЕИП такође одржава компатибилност са тренутном гасном механиком. Већина корисника никада неће приметити промену јер скоро све постојеће трансакције већ троше далеко мање од 16 милиона гаса. Валидатори и блокови градитељи могу и даље да креирају блокове који прелазе 16,7 милиона укупног гаса, све док свака појединачна трансакција поштује нову границу. Једине трансакције које су погођене су изузетно велике које су раније покушале да користе више од новог лимита. Те трансакције сада морају бити подељене на више мањих операција – слично разбијању веома велике датотеке у две мање. Што се тиче безбедности, гасна капица чини Етхереум отпорнијим на нападе DoS на бази гаса јер нападачи не могу присилити валидаторе да више обрађују екстремно велике трансакције. Такође помаже у одржавању времена верификације блока предвидљивим тако да чворови могу остати у синхронизацији лакше. Свеукупно, ЕИП-7825 је дизајниран да ојача мрежу против злоупотребе, одржава захтеве за чворовима разумним, побољшава поштеност у коришћењу блока простора и осигурава да ланац остаје брз и стабилан док се ограничења гаса настављају повећавати током времена. : ModExp Gas Cost Increase EIP-7883 EIP-7883 Разлог зашто Етхереум треба овај предлог је да је МодЕкп прекомпила (користи се за модуларну експоненцијацију) у поређењу са стварним ресурсима које троши.У неким ситуацијама, МодЕкп операције захтевају много више израчунавања него што корисници тренутно плаћају.Ова неспојивост ствара ризик: ако сложени МодЕкп позиви остану сувише јефтини, они могу постати Да би се то поправило, Етхереум треба да прилагоди формулу цена МодЕкп тако да гас који се користи правилно одражава стварни рад клијента.То је разлог зашто ЕИП-7883 уводи нова правила која повећавају минималне трошкове, повећавају опште трошкове и чине операције са великим уносима (нарочито експонентима, базом или модулом преко 32 бајта) скупљим, тако да цена гаса одговара стварном обрачуну који је потребан. underpriced bottleneck This proposal modifies the ModExp pricing algorithm originally defined in EIP-2565 by increasing the cost in several important ways. First, the повећава се са 200 на 500, а општа формула више не дели са 3, што значи да укупан трошак ефикасно постаје На пример, ако је МодЕкп позив раније коштао 1.200 гаса, сада ће коштати око 3.600 гаса према новој формули. удвостручује се повећањем мултипликатора са 8 на 16. Да бисте илустровали ово: ако је дужина експонента била 40 бајтова, ЕИП-2565 би додао to the iteration count, while EIP-7883 now uses , чинећи га двоструко скупљим. Треће, цена сада претпоставља На пример, ако је модул 64 бајта, ново правило примењује двоструку сложеност ( Заједно, ове промене осигуравају да мале МодЕкп операције плаћају фер минималну накнаду и велике, тешке операције скалирају своје трошкове правилно са величином. minimum gas cost three times higher exponents larger than 32 bytes 8 × (40 − 32) = 64 16 × (40 − 32) = 128 minimum base/modulus size of 32 bytes 2 × words² Предлог дефинише нову функцију израчунавања гаса која ажурира правила сложености и итерационог бројања. сложеност умножавања сада користи подразумевану вредност од 16 за дужине базе / модула до 32 бајта, а за веће уносе прелази на тежу формулу , где су "речи" број комада од 8 бајта. Број итерација је такође ажуриран тако да излагачи од 32 бајта или мање користе своју дужину бита да би одредили сложеност, али излагачи већи од 32 бајта додају много већу казну. Ово осигурава да врло велики излагачи, који су рачунарски скупи у пракси, сада имају много већу цену гаса. 2 × words² Мотивација иза ових повећања цена долази од референтних показатеља који показују многе ситуације у којима је МодЕкп прекомпилација значајно потцењена. Типичне операције око , and very large or unbalanced operations by much larger factors—sometimes more than —у зависности од тога колико је велики експонент, база или модул. Намера није да се промени начин на који МодЕпп функционише, већ да се осигура да чак и у највише ресурсе-интензивнијим случајевима он више не угрожава стабилност мреже или спречава будућа повећања до ограничења блока гаса. , али гас реприцинг се догодио много пута раније у Етхереуму и добро је схватио. 150% 200% 80× backward-incompatible Резултати теста показују колико значајно повећање може бити. ће сада коштати или 500 гаса (више од 200) или три пута њихову ранију цену. Али неки тешки тестови случајеви виде огромне повећања. На пример, у једном "експ-тешком" тесту, трошкови скачу са 215 гаса на 16.624 гаса - око У другом случају који укључује базу тешке операције, трошкови се крећу од 1.026 до 94.448 гаса, што одражава како множење великих бројева заправо скалира.Ови примери показују зашто стара формула цена није била реална и како нова боље одговара рачунарској стварности. 99.69% of historical ModExp calls 76× more In terms of security, this proposal does not create new attack vectors or make any operation cheaper. Instead, it focuses on preventing an important risk: underpriced ModExp operations could make it possible for attackers to fill blocks with extremely heavy computations for very low cost. The only possible downside is that some ModExp operations might now become overpriced, but this is considered a far better outcome than the current underpricing problem. No interface changes or new functionality are introduced, so existing arithmetic behavior and test vectors remain valid. Test Case EIP-2565 Pricing EIP-7883 Pricing Increase modexp_nagydani_1_square 200 500 150% modexp_nagydani_1_qube 200 500 150% modexp_nagydani_1_pow0x10001 341 2048 501% modexp_nagydani_2_square 200 512 156% modexp_nagydani_2_qube 200 512 156% modexp_nagydani_2_pow0x10001 1365 8192 501% modexp_nagydani_3_square 341 2048 501% modexp_nagydani_3_qube 341 2048 501% modexp_nagydani_3_pow0x10001 5461 32768 500% modexp_nagydani_4_square 1365 8192 501% modexp_nagydani_4_qube 1365 8192 501% modexp_nagydani_4_pow0x10001 21845 131072 500% modexp_nagydani_5_square 5461 32768 500% modexp_nagydani_5_qube 5461 32768 500% modexp_nagydani_5_pow0x10001 87381 524288 500% modexp_marius_1_even 2057 45296 2102% modexp_guido_1_even 2298 51136 2125% modexp_guido_2_even 2300 51152 2124% modexp_guido_3_even 5400 32400 500% modexp_guido_4_even 1026 94448 9105% modexp_marcin_1_base_heavy 200 1152 476% modexp_marcin_1_exp_heavy 215 16624 7632% modexp_marcin_1_balanced 200 1200 500% modexp_marcin_2_base_heavy 867 5202 500% modexp_marcin_2_exp_heavy 852 16368 1821% modexp_marcin_2_balanced 996 5978 500% modexp_marcin_3_base_heavy 677 2032 200% modexp_marcin_3_exp_heavy 765 4080 433% modexp_marcin_3_balanced 1360 4080 200% modexp_nagydani_1_kvadratno 200 500 150 одсто modexp_nagydani_1_qube Модификовање 200 500 150% Модеппп_надидани_1_пов0к10001 341 2048 501 одсто modexp_nagydani_2_kvadratno 200 512 156 % Модеппп_надидани_2_кубе 200 512 156 % modexp_nagydani_2_pow0x10001 1365 8192 501% modexp_nagydani_3_square 341 2048 501% Модеппп_надидани_3_кубе 341 2048 501 одсто modexp_nagydani_3_pow0x10001 5461 32768 500% од modexp_nagydani_4_square 1365 8192 501% Модеппп_надидани_4_кубе 1365 8192 501 одсто modexp_nagydani_4_pow0x10001 21845 131072 500% од modexp_nagydani_5_square 5461 32768 500% modexp_nagydani_5_qube 5461 32768 500% од modexp_nagydani_5_pow0x10001 87381 524288 500% од modexp_marius_1_even 2057 45296 2102 одсто modexp_guido_1_even 2298 51136 2125% modexp_guido_2_even 2300 51152 2124 % modexp_guido_3_even 5400 32400 500% modexp_guido_4_even 1026 94448 9105 одсто modexp_marcin_1_base_тешки 200 1152 476% modexp_marcin_1_exp_heavy 215 16624 7632% modexp_marcin_1_избалансиран 200 1200 500% modexp_marcin_2_base_тешки 867 5202 500% modexp_marcin_2_exp_heavy 852 16368 1821 % modexp_marcin_2_balanced 996 5978 500% modexp_marcin_3_base_heavy 677 2032 200% modexp_marcin_3_exp_heavy 765 4080 433% modexp_marcin_3_balanced 1360 4080 200 % *source: https://eips.ethereum.org/EIPS/eip-7883#test-cases* : Determine proposer lookahead EIP-7917 EIP-7917 Ethereum needed this proposal because the network’s proposer schedule for the next epoch was not fully predictable. Even though the RANDAO seed for epoch is known during epoch , стварна листа предлога још увек може да се промени због ефективног баланса (ЕБ) ажурирања које се дешавају у епоху . These EB changes can come from slashings, penalties, rewards above 1 ETH, validator consolidations, or new deposits—especially after EIP-7251 raised the maximum effective balance beyond 32 ETH. This uncertainty creates issues for systems that rely on knowing the next proposer in advance, such as based preconfirmation protocols, which need a stable and predictable schedule to operate smoothly. A validator could even try to “grind” or manipulate their effective balance to influence who becomes the proposer next epoch. Because of these problems, Ethereum needed a way to make the proposer schedule fully deterministic several epochs ahead so it cannot be changed by last-minute EB updates and can be easily accessed by the application layer. N+1 N N Да би се то имплементирало, ЕИП уводи детерминистички позив предлазника тако што унапред израчунава и чува распоред предлазника за следеће МИН_СЕЕД_ЛООКАХЕАД + 1 епохе на почетку сваке епохе. that always covers two full epochs of proposers - 64 slots in total. For example, when epoch N begins, this list already includes the proposer for every slot in epoch N and epoch N+1. Then, when the network moves to epoch N+1, the list is shifted forward: the proposer entries for epoch N are removed, the entries for epoch N+1 move to the front, and new proposer entries for epoch N+2 are added at the end. This makes the schedule fixed, predictable, and easy for clients to read directly, instead of recomputing proposers every slot. proposer_lookahead To keep this updated, the list shifts forward at every epoch boundary: the data for the past epoch is removed, and a new set of proposer indices for the next future epoch is computed and appended. The process uses the same seed and effective balance rules as before, but now the schedule is calculated earlier, removing the possibility of EB changes affecting it after the seed is known. The very first block after the fork also fills this entire lookahead range so that all future epochs have properly initialized schedules. Imagine each epoch has 8 slots instead of 32 (just for simplicity). Without this EIP, during epoch 5, you know the seed for epoch 6, but the actual proposer for slot 2 of epoch 6 could still change if a validator gets slashed or earns enough rewards to change their effective balance inside epoch 5. With EIP-7917, at the Од епохе 5, Етхереум унапред израчунава све предложиоце за епоху 5, 6, и 7 и чува их у редоследу унутра . Now, even if balances change later in epoch 5, the proposer list for epoch 6 stays fixed and predictable. Почетак proposer_lookahead This EIP fixes a long-standing oversight in the beacon chain design. It guarantees that once the RANDAO from earlier epochs becomes available, the validator selection for future epochs cannot be altered. This also prevents “effective balance grinding,” where a validator tries to adjust their balance after seeing the RANDAO to influence the next epoch’s proposer list. With deterministic lookahead, that entire attack vector is eliminated, making the security analysis much simpler. It also gives consensus clients early visibility into who will propose upcoming blocks, which helps implementations and allows the proposer schedule to be easily verified by the application layer via a Merkle proof from the beacon root. The authors considered alternatives, such as caching the effective balances at the start of an epoch, but that would require extra storage and would not expose the schedule to the EVM. They also checked compatibility with future features like Single Secret Leader Election (SSLE). The current design remains compatible because the lookahead could one day store encrypted proposer IDs, or possibly be disabled entirely if SSLE removes lookahead, without breaking anything. Before this proposal, clients only calculated the proposer for the current slot. With EIP-7917, they now compute the proposer list for all slots in the next epoch at once during every epoch transition. This adds a small amount of work, but computing proposer indices is very light and mainly involves sampling validator lists using the seed. However, clients will need benchmarking to make sure this extra computation does not cause performance issues. This EIP does not change how the RANDAO delay works. The proposer lookahead for epoch још увек потиче из РАНДАО епохе Jedina promena je da su efikasne bilance sada usklađene sa istim kašnjenjem, tako da validatori ne mogu da modifikuju svoj EB nakon što vide rezultat RANDAO.To uklanja potencijalnu strategiju manipulacije, iako još nije otkriven nikakav napad. N N − MIN_SEED_LOOKAHEAD − 1 : Blob base fee bounded by execution cost EIP-7918 EIP-7918 Ethereum needs this proposal because the current blob fee system (from ) разбија када извршење гаса постаје главни трошак за роллове. Тренутно, већина роллова плаћа много више за извршење гаса ( трошак укључивања њихове трансакције Блоб у блок) него што плаћа за стварну накнаду за Блоб. Ово ствара проблем: чак и ако Етхереум наставља да смањује базу накнаде за Блоб поново и поново, укупни трошак роллова се заправо не мења, јер је скупи део још увек гас за извршење. Због тога, накнада за базу Блоб наставља да пада све док не достигне апсолутни минимум (1 веи), а протокол више не може користити накнаду за контролу потражње. Затим, када се употреба Блоб изненада повећава, накнада EIP-4844 На пример, замислите да раст жели да објави своје податке: плаћа око 25 милиона вејеја у извршном гасу (25 вејеја по гасу за око 1.000.000 гаса), док је накнада за блоб само око 200 вејеја. То значи да је укупан трошак око 25.000,200 вејеја, где готово цијели трошак долази од извршног гаса, а не од накнаде за блоб. Ако Етхереум наставља да смањује накнаду за блоб – рецимо од 200 вејеја до 50 вејеја, затим до 10 вејеја, а на крају до 1 вејеја – укупни трошак се једва мења уопште, остајући скоро тачно 25.000 вејеја. Зато што корисници не осећају разлику, не ме fixes this by introducing a minimum “reserve price” for blob fees that depends on the execution base fee, preventing blob prices from falling unrealistically low and keeping blob pricing much more stable and predictable for rollups. EIP-7918 The core idea of EIP-7918 is simple: the price of a blob should never be cheaper than the cost of a certain amount of execution gas (called У ЕИП, ова константа је постављена на . The mechanism works through a small change inside the function. Usually, this function increases or decreases the blob base fee depending on whether blocks are using more or less blob gas than the target. With this proposal, if a blob becomes “too cheap” compared to execution gas, the function stops subtracting the target blob gas. This makes the excess blob gas grow faster, which prevents the blob base fee from falling further. As a result, the blob base fee now has a minimum value equal to . BLOB_BASE_COST 2¹³ calc_excess_blob_gas() BLOB_BASE_COST × base_fee_per_gas ÷ GAS_PER_BLOB To understand why this is needed, it helps to look at blob demand. A rollup cares about the total price it pays: execution cost plus blob cost. If execution gas fee is very high—for example, 20 gwei—then even if the blob fee drops from 2 gwei to 0.2 gwei, the total cost barely changes. This means reducing the blob base fee has almost no impact on demand. In economics, this is called “ „То ствара ситуацију у којој је кривина потражње скоро вертикална: снижавање цене не повећава потражњу. Када се то деси, механизам накнаде за базу блоба постаје слеп – он наставља да смањује цену чак и ако потражња не реагује. Зато се накнада за базу блоба често спушта на 1 веј. Затим, када се стварна потражња повећава касније, протоколу је потребан сат или више скоро пуних блокова да би се накнада вратила на разумни ниво. fee inelasticity Another reason for adding this reserve price is that nodes have to do a lot of extra work to verify the KZG proofs for blob data. These proofs are what guarantee that the data inside a blob actually matches its commitment. Under , чвор је морао да провери само један доказ по блобу, што је било јефтино. (PeerDAS), blobs are broken into many small pieces called cells, and every cell has its own proof. This makes verification much heavier. For example, the execution layer now has to batch-verify 128 proofs for every single blob before a transaction can even enter the mempool—this is about fifteen times more expensive than the normal KZG proof verification that smart contracts pay for. On top of that, full nodes, supernodes, and validators must verify even more proofs depending on how many columns they store or sample. A typical full node must verify proofs for all blobs in the mempool, plus eight sampled columns every slot, plus four columns it permanently custodies. All of this uses real CPU time, and it isn’t free for node operators. If blob fees drop too low, users would get this expensive compute work from the network essentially for free. By linking the blob reserve price to execution gas fees, EIP-7918 makes sure blob users always pay at least a fair minimum amount for the load they put on nodes. EIP-4844 ЕИП-7594 In the long run, EIP-7918 also helps prepare Ethereum for the future. As technology improves, the cost of storing and sharing data naturally gets cheaper, and Ethereum is expected to allow more blob data over time. When blob capacity increases, blob fees (in ETH) should naturally go down. This proposal supports that because the reserve price is tied to execution gas prices, not a fixed number, so it can adjust as the network grows. As both blobspace and execution blockspace expand, their price relationship stays balanced. The only time the reserve price might become too high is in a very unlikely future where Ethereum increases blob capacity a lot but does not increase execution gas capacity. In that case, blob fees might end up higher than needed. But Ethereum is not planning to scale in that way—both blobspace and execution blockspace are expected to grow together. Because of this, the chosen value ( ) is considered safe and well-balanced. BLOB_BASE_COST = 2¹³ There is one small detail to understand when execution gas fees suddenly jump. Because the blob reserve price depends on the execution base fee, a sudden rise in execution costs can temporarily push blob fees into a state where execution fees are guiding them. For example, imagine execution gas suddenly jumps from 20 gwei to 60 gwei in one block. Since the reserve price for blobs is tied to that number, blob fees cannot drop below the new higher level. Blob fees will still increase normally if blobs are being used, but the protocol will not allow them to decrease until they have risen enough to match the higher execution cost. This means blob fees may climb more slowly than execution fees for a few blocks. This small delay is not harmful — it actually prevents sharp, sudden swings in blob prices and keeps the system smoother and more stable. The authors also performed empirical analysis by applying the reserve price rule to real blob activity from and У време високих трошкова извршења (око ), the reserve threshold significantly increased the blob base fee compared to the old mechanism. During low-execution-fee periods (around ), накнада за блоб остала је готово непромењена осим када је израчуната базана накнада за блоб пала испод резервне цене.Поређењем хиљада блокова, аутори показују да нови механизам ствара стабилније цијенање док и даље природно реагује на потражњу.Истограм четири месеца накнада за блоб показује да резервна цена спречава накнаде за блоб да се сруше према 1 веи, што смањује екстремну нестабилност. November 2024 March 2025 16 gwei average 1.3 gwei average In terms of security, the change does not introduce any risks. The blob base fee will always settle at or above the cost of Ово је сигурно јер механизам само повећава минималну накнаду, а постављање ниже границе на ценама не омета исправност протокола. BLOB_BASE_COST : RLP Execution Block Size Limit EIP-7934 EIP-7934 Before EIP-7934, Ethereum did have a strict upper limit on how large an RLP-encoded execution block could be. In theory, a block could become extremely large if it contained many transactions or very complex data. This created two major problems: and . If a block was too large, it would take longer for nodes to download and verify it, which slowed block propagation and increased the chance of temporary blockchain forks. Worse, an attacker could deliberately create a very large block to overload nodes, causing delays or even knocking them offline — a classic denial-of-service scenario. At the same time, Ethereum’s consensus layer (CL) gossip protocol already refused to propagate any block over , meaning oversized execution blocks could fail to spread across the network, creating fragmentation or nodes disagreeing on the chain. Because of these risks, Ethereum needed a clear, protocol-level rule to prevent oversized blocks and keep the network stable and secure. not network instability DoS attack risks 10 MB ЕИП-7934 рјешава ово увођењем on the size of an RLP-encoded execution block. The maximum allowed block size ( ) is set to , but because beacon blocks also consume some space ( ), Ethereum adds a . This means the actual maximum RLP-encoded execution block size allowed is . If the encoded block is larger than this limit, the block is considered and nodes must reject it. With this rule in place, block producers must check the encoded size of every block they build, and validators must verify this limit during block validation. This size cap applies of gas limits -meaning even if a block is “ On još uvek može da bude odbačen ako je njegova kodirana veličina prevelika.To obezbeđuje da se poštuju i ograničenja korišćenja gasa i stvarne ograničenja veličine bajta. protocol-level cap MAX_BLOCK_SIZE 10 MiB (10,485,760 bytes) SAFETY_MARGIN 2 MiB (2,097,152 bytes) MAX_RLP_BLOCK_SIZE = MAX_BLOCK_SIZE - SAFETY_MARGIN invalid independently under the gas limit, Choosing a било намерно, јер одговара постојећем ограничењу у протоколу говорног слоја консензуса. Све што је веће од 10 МиБ не би било емитовано преко мреже у сваком случају, тако да овај ЕИП усаглашава слој извршења са границама слоја консензуса. Ово ствара конзистентност у свим компонентама и спречава ситуације у којима важећи блок извршења постаје "невидљив" јер ЦЛ одбија да га говоре. 10 MiB cap This change is with blocks larger than the new limit, meaning miners and validators must update their clients to respect the rule. However, since oversized blocks were already problematic and not normal in real operation, the impact is minimal. In terms of security, this EIP significantly strengthens Ethereum against targeted block-size DoS attacks by ensuring no participant can create blocks that overwhelm the network. Overall, EIP-7934 adds an important safety boundary, improves stability, aligns EL and CL behavior, and prevents several classes of attacks related to oversized block creation and propagation. not backward-compatible : Count leading zeros (CLZ) opcode EIP-7939 EIP-7939 Before this EIP, Ethereum had to count the number of leading zero bits in a 256-bit number. Developers had to implement CLZ manually in Solidity using many bit-shift operations and comparisons. This was a big problem because the custom implementations were , and , which increased gas usage. For zero-knowledge proving systems, the cost was even higher — right-shifts are extremely expensive to prove, so operations like CLZ slowed down ZK circuits significantly. Since CLZ is a very common low-level function used in math libraries, compression algorithms, bitmaps, signature schemes, and many cryptographic or data-processing tasks, Ethereum needed a faster and cheaper way to compute it. no built-in opcode slow, expensive used a lot of bytecode EIP-7939 solves this by introducing a Овај опкод узима 256-битну вредност из стека и враћа број водећих нултих битова. , јер 256-битна нула има 256 водећих нула битова. Ово одговара начину на који ЦЛЗ ради у многим архитектурама ЦПУ-а као што су АРМ и к86, где је ова операција изворна. , , , various math functions, byte-string comparisons, bitmap scanning, calldata compression/decompression, and post-quantum signature schemes all benefit from faster leading-zero detection. new opcode called CLZ (0x1e) 256 lnWad powWad LambertW , similar to an , and slightly raised from the old MUL price to avoid underpricing the opcode and causing DoS risks. Benchmarks show that CLZ uses roughly the same compute effort as ADD, and in the SP1 rv32im proving environment, CLZ is actually , reducing ZK proving costs. The EIP also explains why they chose CLZ instead of : you can compute CTZ from CLZ using Ali ti reliably implement CLZ using CTZ, so CLZ is more fundamental. The gas cost for CLZ is set to 5 ADD cheaper to prove than ADD CTZ (count trailing zeros) x & -x cannot This EIP is fully backwards-compatible because it introduces a Такође јасно покрива случајеве ивице: на пример, опкод враћа 256 када је унос нула, а неколико тестних случајева показује уносе као што су све нуле, врх-бит-сет и потпуно-нонзеро вредности. Пошто ЦЛЗ има предвидљиве и ниске трошкове гаса, нема раста меморије и нема промена стања, сигурно је од проблема одбијања услуге. new Свеукупно, ЕИП-7939 чини Етхереум бржим, јефтинијим и пријатељскијим за програмере додавањем једноставног, ефикасног примитива који савремени ЦПУ-ји већ подржавају - смањење гаса, смањење величине бајтокода и смањење трошкова за доказивање ЗК за многе уобичајене операције. : Precompile for secp256r1 Curve Support EIP-7951 EIP-7951 Before this EIP, Ethereum did have a safe, native way to verify digital signatures created using the Ова крива је стандард који се користи у модерним уређајима као што су Због ове недостатке подршке, апликације и новчаници нису могли лако користити хардверску сигурност на нивоу уређаја за потписивање. related to point-at-infinity handling and incorrect signature comparison. These issues could cause incorrect verification or even risk consensus failures. not secp256r1 (P-256) curve Apple Secure Enclave, Android Keystore, HSMs, TEEs, and FIDO2/WebAuthn security keys two serious security vulnerabilities EIP-7951 fixes those security problems and introduces a safe, native precompile so Ethereum can finally support signatures from modern hardware securely and efficiently. EIP-7951 adds a new at address Позвани , which performs ECDSA signature verification using the secp256r1 curve. This makes signature verification fast and cheap compared to implementing the algorithm directly in Solidity. The precompile uses the official curve parameters defined by NIST, including the field modulus, curve equation, base point, and subgroup order, ensuring strong cryptographic security. Points and scalars are encoded in strict 32-byte big-endian format, and a 64-byte all-zero value is used to represent the point at infinity. The precompile expects exactly - Хасх, потпис (р, с) и координате јавног кључа (qx, qy) - и враћа for success or for failure. precompiled contract 0x100 P256VERIFY 160 bytes of input 32 bytes of 1 empty output ЕИП такође дефинише строго Он проверава да су r и s у валидном опсегу, да јавни кључ лежи на кривици, и да то није тачка у бесконачности. Ако нешто је неважеће, прекомпила враћа неуспјех без реверзије и троши исти гас као и успешан позив. Алгоритам верификације прати стандард ЕЦДСА: он израчунава s−1 мод н, реконструише тачку потписивања R’, одбацује да ли је R’ бесконачан, и коначно проверава да ли се к-координате Р’ р подудара са р (мод н). Ово исправља грешку у РИП-7212, која је директно упоредила р’ уместо да га смањи на мод н. input validation rules The secp256r1 curve is fully defined by the following set of parameters: Base field modulus = p = 0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff Curve equation: y^2 = x^3 + ax + b (mod p) Curve coefficient a = 0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc Curve coefficient b = 0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b Base point G: Gx = 0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296 Gy = 0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5 Subgroup order = n = 0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551 Cofactor = h = 0x1 Ови параметри су стандардизовани од стране НИСТ у СП 800-1861. The gas cost for the operation is set to , што је веће од РИП-7212 верзије, али одговара стварним референтним показатељима перформанси за сецп256р1 верификацију.Важно је да интерфејс остаје потпуно компатибилан са мрежама слоја 2 које су већ распоредиле РИП-7212 - иста адреса, исти унос / излаз формат - тако да ће постојећи паметни уговори наставити да раде без промјена. 6900 gas Input: P256VERIFY call excepts 160 Bytes as input that is interpreted as byte concatenation of: 32 bytes ----> message hash (h) 32 bytes ----> signature component (r) 32 bytes ----> signature component (s) 32 bytes ----> public key x-coordinate (qx) 32 bytes ----> public key y-coordinate (qy) Output: will be 32 bytes on successfull verification and 0 bytes on failure Input Validation: The precompile MUST perform the following validation checks and return `` (failure) if any check fails: 1. Input length: Input MUST be exactly 160 bytes 2. Signature component bounds: Both r and s MUST satisfy 0 < r < n and 0 < s < n 3. Public key bounds: Both qx and qy MUST satisfy 0 ≤ qx < p and 0 ≤ qy < p 4. Point validity: The point (qx, qy) MUST satisfy the curve equation qy^2 ≡ qx^3 + a*qx + b (mod p) 5. Point not at infinity: The point (qx, qy) MUST NOT be the point at infinity (represented as (0, 0)) From a security standpoint, the EIP restores proper ECDSA behavior, eliminates malleability concerns at the precompile level (leaving optional checks to applications), and clarifies that constant-time execution is not required for the precompile. The secp256r1 curve provides 128-bit security and is widely trusted and analyzed, making it safe for Ethereum adoption. In short, , поправљају безбедносне проблеме ранијег предлога, и пружају поуздан, стандардизовани начин за верификацију П-256 потписа широм екосистема. EIP-7951 is needed to safely bring modern hardware-backed authentication to Ethereum Табела испод сумира које Етхереум клијенте треба да имплементирају промене за сваки Фусака ЕИП. указује да ЕИП захтева ажурирања за клијенте консензусног слоја, док је ознака испод pokazuje da promena utiče na klijente sloja izvršenja.Neki EIP-ovi zahtevaju ažuriranja u oba sloja, dok su drugi specifični za samo jedan. Consensus Client Execution Client EIP Number EIP Name Consensus Client Execution Client EIP-7594 PeerDAS - Peer Data Availability Sampling ✅ ✅ EIP-7823 Set upper bounds for MODEXP ✅ EIP-7825 Transaction Gas Limit Cap ✅ EIP-7883 ModExp Gas Cost Increase ✅ EIP-7917 Deterministic proposer lookahead ✅ EIP-7918 Blob base fee bounded by execution cost ✅ EIP-7934 RLP Execution Block Size Limit ✅ EIP-7939 Count leading zeros (CLZ) opcode ✅ EIP-7951 Precompile for secp256r1 Curve Support ✅ ЕИП-7594 PeerDAS - Peer Data Availability Sampling ✅ ✅ ЕИП-7823 Set upper bounds for MODEXP ✅ ЕИП-7825 Трансакција Гас Лимит Кап ✅ ЕИП-7883 ModExp povećava troškove gasa ✅ ЕИП-7917 Deterministic proposer lookahead ✅ EIP-7918 Blob base fee bounded by execution cost ✅ EIP-7934 RLP Execution Block Size Limit ✅ EIP-7939 Број водећих нула (CLZ) opcode ✅ EIP-7951 Прекомпилација за секп256р1 Цурве подршку ✅ Укратко, ово су кључни ЕИП-ови укључени у Фусака хард форк. Док се неколико побољшања дотичу и клијената консензуса и извршења - од подешавања гаса и ажурирања опцода до нових прекомпилација - , which introduces peer-to-peer data availability sampling, enabling more efficient and decentralized handling of blob data across the network. major change of this upgrade is PeerDAS