ya imewasilishwa kwa ajili ya uendeshaji wa , ni upgrading kuu ya Ethereum ya mtandao baada ya Pectra, na inaashiria hatua nyingine ya kupanua kuchukuliwa na kubwa ya crypto. Fusaka hard fork December 3, 2025 Fusaka hard fork Mkataba baina ya HakiElimu na Radio Kifimbo FM ulikuwa wa kufanyika kwa vipindi 13 tu. ( ) makes data availability more efficient by letting nodes verify blobs without downloading everything. Several upgrades tighten execution safety, including limits on ModExp ( (Kwa mujibu wa kifungu cha 6 cha Sheria ya Huduma ya Usalama wa Huduma za Usalama) (Picha hii inahusu kiwango cha upatikanaji wa mafuta ya mafuta ( Picha hii ilipigwa tokea ktk veranda za moja ya vyumba vya Manyara Serena Lodge ( ) na kudumisha malipo ya blob imara na mipaka yanayohusiana na gharama za utekelezaji ( (Picha hii inahusisha kutafakari juu ya kiwango cha ubora wa rangi ya rangi ya rangi ya rangi ( (Picha hii ilipigwa tokea ktk veranda za moja ya vyumba vya Manyara Serena Lodge) ), and introducing a secp256r1 precompile ( ) kwa ushirikiano bora na siri za kisasa na vifaa vya usalama. EIP-7594 EIP-7823 EIP-7825 EIP-7883 EIP-7917 EIP-7918 EIP-7934 EIP-7939 EIP-7951 Kama vile Pectra ilivyounganisha "Prague" na "Electra", Fusaka ni jina la pamoja la na ya Hii inawakilisha hatua inayofuata ya Ethereum kuelekea siku za usoni ambazo zinaweza kupanua kwa kiasi kikubwa, zenye data ambapo rollups za kiwango cha 2 zinaweza kutumika kwa bei nafuu na kwa kasi. Fulu (execution layer) Osaka (consensus layer) Katika blogu hii, tutaondoa vipengele vya msingi vya hard fork ya Fusaka, kufafanua jinsi PeerDAS inavyofanya kazi katika vitendo, na kuchunguza mahitaji halisi ya mtandao kwa stakers ya nyumbani, supernodes, na nodes kamili - iliyohifadhiwa na data ya devnet. Key Changes Introduced In Fusaka Hard Fork Mabadiliko muhimu yaliyotolewa katika Fusaka Hard Fork : PeerDAS - Peer Data Availability Sampling EIP-7594 Maoni ya 7594 Ethereum ilihitaji pendekezo hili kwa sababu mtandao unataka kutoa upatikanaji zaidi wa data kwa watumiaji na hasa kwa rollups, lakini na sasa kubuni, kila node bado inahitaji kupakua data nyingi za blob tu ili kuthibitisha kuwa imechapishwa kwa kweli. Hii inajenga tatizo la kupanua kwa sababu ikiwa nodes zote zinahitaji kupakua kila kitu, mahitaji ya bandwidth ya mtandao na vifaa yanaongezeka, na decentralization inaweza kuteseka. Ili kurekebisha hili, Ethereum inahitaji njia kwa nodes kuthibitisha kuwa data inapatikana bila kupakua kila kitu. Data Availability Sampling (DAS) hutoa ufumbuzi huu kwa kuruhusu nodes kuangalia tu sehemu ndogo za random ya data. Lakini Ethereum pia inahitaji mbinu ya DAS ambayo inafanana vizuri na mtandao uliopo na haina kuongeza kompyuta ngumu kwa wauzaji wa block. PeerDAS iliundwa ili kukidhi mahitaji EIP-4844 PeerDAS is a networking system that lets nodes download only small pieces of blob data to check that the full data was actually published. Instead of downloading everything, nodes use the normal gossip network to share data, discover which peers hold certain parts, and request just the small samples they need. The main idea is that by downloading only tiny, random parts of the blob, nodes can still be confident that the entire blob exists. For example, instead of downloading a full 256 KB blob, a node might download only about 1/8 of it—but because many nodes sample different parts, any missing data would quickly be noticed. Ili kufanya kazi ya sampuli, PeerDAS huongeza kila blob kutoka kutumia aina ya msingi ya kufuta coding. —kama vile unaweza kukamilisha puzzle hata kama baadhi ya vipande ni kupoteza. Blob inakuwa "mchezo" ambayo ina data ya awali pamoja na data ya ziada inayoweza kuruhusiwa kurejeshwa baadaye. Mchezo huu ni kisha kugawanywa katika vipande vidogo vingi zinazojulikana kama seli, ambayo ni viungo vidogo vya kuthibitishwa vinahusishwa na ahadi ya KZG. Mchezo wote hutengenezwa upya katika "mchezo", ambapo kila safu ina seli katika nafasi sawa kutoka kila safu. Kila safu inapatikana kwa subnet fulani ya mazungumzo. Node ni wajibu wa kuhifadhi safu fulani kulingana na ID ya node yao na kwa sampuli ya safu kadhaa kutoka kwa kioo cha kila mmoja. Ikiwa node inakusanya angalau 50% ya 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 Zaidi ya hayo, EIP inachukua kanuni muhimu: Kiwango hiki kinapaswa kutekelezwa wakati wa uthibitisho wa transaction, jibu, uumbaji wa block, na usindikaji wa block. Hii husaidia kupunguza matukio ya ghafla ambapo shughuli moja huchukua mfumo wa blob. no transaction can contain more than 6 blobs Pepe anaongea kuhusu kitu kimoja kilichotajwa Kiashiria cha seli ya KZG inaonyesha kwamba ahadi ya KZG kwa kweli inafanana na seli moja maalum (piga moja ndogo) ya blob. Hii inaruhusu node kupakua seli ambazo anataka sampuli, badala ya blob kamili, wakati bado kuhakikisha uaminifu wa data. Hii ni muhimu kwa sampuli ya upatikanaji wa data. cell KZG proofs Lakini kuzalisha ushahidi huu wote wa seli ni gharama kubwa. mtengenezaji wa block anahitaji kuhesabu tena na tena kwa blobs nyingi, ambayo ni ya polepole sana. kuzalisha ushahidi wote wa seli mapema na kuingiza katika transaction wrapper. the blob transaction sender Because of this, the transaction gossip (PooledTransactions) now uses a modified wrapper: rlp([tx_payload_body, wrapper_version, blobs, commitments, cell_proofs]) Inside the new wrapper, ni orodha tu ambayo ina ushahidi wote kwa kila seli ya kila blob (kwa mfano: Kwa upande mwingine, maeneo mengine - ya na ya - ni sawa kabisa kama ilivyokuwa katika EIP-4844. tofauti ni kwamba uwanja wa zamani wa moja "kuonyesha" umepukwa na kubadilishwa na huu mpya orodha, na shamba jipya linaloitwa imeongezwa ili kuonyesha aina gani ya wrapper inatumika. cell_proofs [cell_proof_0, cell_proof_1, ...] tx_payload_body blobs commitments cell_proofs wrapper_version ya ni byte moja, na katika pendekezo hili daima imewekwa kwa ya ya shamba lina ushahidi wote wa seli kwa kila blob, ikiwa ni pamoja na ushahidi wa seli za upanuzi wa ziada zilizoundwa wakati wa kufuta coding.Kwa sababu ya kufuta coding, kila blob inafanana na cell proofs. Even though the list contains proofs for the extension cells, the blobs themselves are still sent in their normal (non-extended) form. A blob only includes its original half—the receiving node can compute the extension half on its own, so there’s no need to send unnecessary data. wrapper_version 1 cell_proofs CELLS_PER_EXT_BLOB Kwa njia rasmi zaidi, ni ushahidi wa seli ya j-th ya blob ya i-th baada ya kucheza , ambayo hutoa seli za awali na za kupanua. cell_proofs[i * CELLS_PER_EXT_BLOB + j] compute_cells(blobs[i]) Wakati node inapokea wrapper hii, inapaswa kuthibitisha shughuli na kuangalia kwamba kila kitu kinachorodheshwa kwa usahihi. Inapaswa kuthibitisha kwamba idadi ya hashes iliyotolewa, blobs, na ahadi zote zinafanana. Inahusu kwa usahihi Kila mtu anapaswa kuwa na uhakika wa kuwa na uhakika wa uhakika wa uhakika ( Hatimaye, node inapaswa kuangalia kwamba kila ahadi kwa kweli inafanana na blob na ushahidi wake. , na kisha kuthibitisha ushahidi wote wa seli - uthibitisho wa mfululizo unaruhusiwa kufanya hili haraka. cell_proofs CELLS_PER_EXT_BLOB * number_of_blobs kzg_to_versioned_hash(commitments[i]) == tx_payload_body.blob_versioned_hashes[i] compute_cells : Fikiria blob ni kugawanywa katika baada ya kufuta coding ( Blob ya awali ina , and the receiving node will compute the missing mwenyewe. lakini mtumiaji anapaswa kuwa na katika . Example 8 cells CELLS_PER_EXT_BLOB = 8 4 cells 4 extension cells all 8 proofs cell_proofs Kwa hiyo, kwa 1 blob, transaction wrapper ina: blobs = [blob_0] (tu seli za awali za 4) Ushirikiano = [Ushirikiano wa Ushirikiano] cell_proofs = [proof_0, proof_1, ..., proof_7] (kuonyesha kwa kila seli ya 8) Wakati node sampuli, inaweza kuomba tu seli 2 au seli 5, na inaweza kuthibitisha yao mara moja kwa kutumia ushahidi wa kulinganisha, bila kamwe kupakua blob kamili. PeerDAS inaruhusu Ethereum kuongeza upatikanaji wa data bila kufanya nodes kazi ngumu. Leo, node inahitaji tu sampuli kuhusu . In the future, this might even go down to , ambayo ingeweza kuruhusu Ethereum kupanua zaidi. Mfumo hufanya kazi vizuri kwa sababu kila node ina wenzake wengi. Kwa hiyo ikiwa mmoja wa wenzake haitoi data inayohitajika, node inaweza tu kuuliza wenzake mwingine. Hii inajenga redundancy ya asili na inaboresha usalama. Node pia inaweza kuchagua kuhifadhi data kuliko inahitajika, ambayo inaimarisha mtandao zaidi - hata bila mabadiliko yoyote ya mkataba. 1/8 of the total blob data 1/16 or 1/32 more Validators have a bit more responsibility than normal full nodes. Since validators already run stronger hardware, PeerDAS gives them a data-custody load that matches the total number of validators. This ensures that a stable group of nodes is always available to store and share more data, which makes the network more reliable. In short, if there are 900,000 validators, each validator might be assigned a tiny portion of the total blob data to store and serve. Because validators have better machines, the network can trust them to keep this data available. Watumiaji wa badala ya sampuli ya mstari kwa sababu inafanya kurejesha data rahisi sana. Ikiwa nodes sampuli mstari kamili (blobs kamili), wanahitaji kuunda ziada "extension blobs" ambayo haipo kwa asili, ambayo inaweza kupunguza kasi ya wazalishaji wa block. Kwa sampuli ya mstari, nodes inaweza kuandaa data ya mstari wa ziada mapema, na watoaji wa transaction - sio wazalishaji wa block - hesabu ushahidi muhimu. Fikiria blob ni gridi ya 4×4 ya seli. sampuli ya mstari inamaanisha kuchukua seli zote 4 kutoka mstari mmoja, lakini baadhi ya mstari wa upanuzi hauja tayari hata hivyo, hivyo mtengenezaji wa mstari utahitaji kuzalisha kwa mahali. sampuli ya mstari inamaanisha kuchukua seli moja kutoka kila mstari (mstari). Seli za ziada zinazohitajika kwa ajili ya ujenzi inaweza kuwa tayari mapema, hivyo nodes zinaweza kuthibitisha data bila kupunguza uzalishaji wa mstari. column sampling Example: works fully with , hivyo haina kuvunja kitu chochote tayari kwenye Ethereum. majaribio yote na sheria za kina ni katika maagizo ya makubaliano na utekelezaji. EIP-7594 EIP-4844 Hatari kuu ya usalama katika mfumo wowote wa DAS ni "ushambuliaji wa data," ambapo mtengenezaji wa block anahisi kuwa data inapatikana lakini kwa kweli anahifadhi sehemu yake. PeerDAS inakadiriwa kwa kutumia sampuli ya random: nodes kuangalia sehemu za random ya data. Ndio nodes zaidi zinazochambuliwa, ngumu zaidi ni kwa mshambuliaji kuiba. EIP hata hutoa fomu ya kuhesabu uwezekano wa mashambulizi hayo ya kufanikiwa, kulingana na idadi ya jumla ya nodes (n), sampuli jumla (m), na sampuli kwa node (k). Katika Ethereum mainnet, na karibu nodes 10,000, uwezekano wa mashambulizi mafanikio ni ndogo sana, hivyo PeerDAS inachukuliwa salama. Tabu inaonyesha kwamba uwezekano wa mashambulizi ya mafanikio huanguka kwa kiwango kidogo, ambayo ni kwa nini PeerDAS inachukuliwa kuwa salama dhidi ya mashambulizi ya kuhifadhi data. . Blog ya : Set upper bounds for MODEXP EIP-7823 Maoni ya 7823 Utaratibu huu unahitajika kwa sababu precompile ya MODEXP ya sasa katika Ethereum imesababisha makosa mengi ya makubaliano kwa miaka. Makosa haya mengi yalitokea kwa sababu MODEXP inaruhusu ukubwa wa input kubwa sana na isiyo ya kweli, ambayo inajenga kesi isiyo ya kawaida ambazo wateja wanapaswa kushughulikia. Tangu kila node inahitaji kusindika input yoyote ambayo shughuli inatoa, kutokuwa na kikomo cha juu hufanya MODEXP kuwa vigumu kujaribu, rahisi kuvunja, na uwezekano mkubwa zaidi wa kutenda tofauti kati ya wateja tofauti. Input kubwa pia hufanya formula ya gharama ya gesi kuwa vigumu kutabiri, kwa sababu ni vigumu kupima kitu wakati ukubwa wake unaweza kukua bila kikomo. Matatizo haya pia hufanya vigumu kubadilisha MOD EIP-7823 hutoa sheria rahisi: mashamba matatu ya urefu yanayotumika na MODEXP - ukubwa wa BASE, EXPONENT, na MODULUS - lazima , ambayo ni bytes 1024. MODEXP inapatikana kufuata muundo wa Kama ilivyoelezwa katika , hivyo EIP hii inapunguza tu thamani ya urefu. Ikiwa urefu wowote unakaribia 1024 bytes, precompiling mara moja huacha, kurudi makosa, na kuchoma gesi yote. Kwa mfano, kama mtu anajaribu kutoa BASE ambayo ni bytes 2000 urefu, wito utafanikiwa kabla ya kazi yoyote kutokea. Mipango haya bado inasaidia matukio yote ya matumizi halisi. Uhakiki wa RSA kawaida hutumia ukubwa muhimu kama 1024, 2048, au bits 4096, wote vizuri ndani ya kikomo kipya. 8192 bits or less <len(BASE)> <len(EXPONENT)> <len(MODULUS)> <BASE> <EXPONENT> <MODULUS> EIP-198 These new limits also help with future upgrades. If MODEXP is ever rewritten in EVM code using EVMMAX, developers could add optimized paths for common input sizes like 256 bits, 381 bits, or 2048 bits, and use a slower fallback for rarer cases. With fixed maximum sizes, developers can even add special handling for very common modulus values. None of this was realistic before, because the unlimited input sizes made the design space too large to manage safely. Ili kuthibitisha kuwa mabadiliko haya hayataangamiza shughuli za zamani, waandishi walichambua matumizi yote ya MODEXP kutoka kwa mstari wa 5,472,266 (Aprili 20, 2018) hadi mstari wa 21,550,926 (Januari 4, 2025). Wengi wa wito halisi walitumia urefu mdogo kama 32 bytes, 128 bytes, au 256 bytes. Kwa hiyo, wakati EIP ni mabadiliko ya kiufundi, katika mazoezi haikubadili matokeo ya shughuli yoyote iliyopita. 513 bytes 0x9e5faafc Kutokana na mtazamo wa usalama, kupunguza ukubwa wa input inaruhusiwa haina kuunda hatari mpya. Badala yake, hupunguza kesi zisizohitajika za ghafla ambazo zimesababisha makosa na upungufu kati ya wateja. Kwa kuzuia input za MODEXP kwa ukubwa wa kweli, EIP hii inafanya mfumo utabiri zaidi, hupunguza kesi za kipekee, na kupunguza uwezekano wa makosa kati ya utekelezaji tofauti. vikwazo hivi pia husaidia kuandaa mfumo kwa mabadiliko mazuri ikiwa upgrades za baadaye kama EVMMAX zinatoa njia bora za utekelezaji. : Transaction Gas Limit Cap EIP-7825 EIP-7825 Ethereum inahitaji pendekezo hili kwa sababu leo biashara moja inaweza kutumia karibu kikomo kamili cha gesi cha block. Hii inazalisha matatizo kadhaa: biashara moja inaweza kuchukua rasilimali nyingi za block na kusababisha kupungua kwa DoS-style, shughuli kubwa za gesi zinaweza kuongeza hali ya Ethereum haraka sana, na uhakikisho wa bloki unakuwa ngumu na vigumu kwa nodes kufuata. Ikiwa mtumiaji mmoja hutoa shughuli kubwa ambayo inatumia gesi karibu zote (kwa mfano, shughuli ambayo inachukua gesi milioni 38 katika block ya gesi milioni 40), basi shughuli nyingine za kawaida zinaweza kuja katika block, na kila node inahitaji kutumia muda wa ziada wa kuthibitisha block hiyo. Hii inatishia utulivu wa mtandao na decentralization kwa sababu uhakikisho wa polepole unamaan EIP-7825 introduces a hard rule that no transaction can use more than Hii inakuwa kifungo cha kiwango cha mkataba, maana inatumika kila mahali: wakati mtumiaji anapeleka shughuli, wakati txpool inashughulikia, na wakati validators kuingiza katika kifungo. Kwa mfano, hata kama kikomo cha gesi cha block ni milioni 40, hakuna shughuli moja inaruhusiwa kutumia zaidi ya milioni 16.7 ya gesi. lengo ni kuhakikisha kwamba shughuli nyingi zinaweza kuingia ndani ya kila block badala ya kuruhusu shughuli moja kutawala block nzima. 16,777,216 gas (2²⁴) MAX_GAS_LIMIT_EXCEED MAX_GAS_LIMIT_EXCEED To understand this better, imagine a block has space for 40 million gas. Without this cap, someone could send a single transaction that consumes 35–40 million gas. That transaction would monopolize the block and leave no room for others, similar to one person renting out an entire bus so no one else can board. With the new 16.7M limit, the block will naturally hold multiple transactions and avoid this kind of abuse. Utaratibu pia unaongeza mahitaji maalum kwa jinsi wateja wanaweza kuthibitisha shughuli. txpool inapaswa kukataa shughuli ikiwa gasLimit yake ni juu ya 16,777,216, ambayo inamaanisha shughuli hiyo haijaingia hata kwenye mstari. Wakati wa uhakiki wa block, ikiwa block ina shughuli ambayo inajumuisha zaidi ya kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha ubadilishaji. Idadi ya was chosen because it is a clean power-of-two boundary, making it easier to implement, and it is still large enough to handle most real-world transactions such as smart contract deployments, complex DeFi interactions, or multi-step contract calls. This value is roughly half of the typical block size, meaning even the most complex transactions should still fit comfortably within this limit. 16,777,216 (2²⁴) EIP hii pia inaendelea kuunganisha na utaratibu wa gesi ya sasa. Watumiaji wengi hawajawahi kuona mabadiliko kwa sababu karibu shughuli zote zilizopo tayari hutumia gesi ya chini ya milioni 16. Waadilifu na wabunifu wa block bado wanaweza kuunda mipaka ambayo huchukua zaidi ya milioni 16.7 ya gesi ya jumla, kwa muda mrefu kama kila shughuli ya kibinafsi inaheshimu kiwango kipya. Mabadiliko tu yanayohusiana ni makubwa sana ambayo yamejaribu kutumia zaidi ya kiwango kipya. Mabadiliko haya sasa yanapaswa kugawanywa katika shughuli kadhaa ndogo - sawa na kuvunja faili kubwa sana kwenye mbili ndogo. Mabadiliko haya ni kimsingi si ya nyuma kwa shughuli hizo za nadra, lakini idadi ya watumiaji wanaotathminiwa inatarajiwa kuwa ndogo sana. Katika suala la usalama, gas cap hufanya Ethereum kuwa na uvumilivu zaidi dhidi ya mashambulizi ya DoS ya gesi kwa sababu washambuliaji hawawezi kulazimisha validators kushughulikia shughuli kubwa sana tena. Pia husaidia kudumisha muda wa kuthibitisha block inawezekana ili nodes waweze kukaa katika usindikaji kwa urahisi. kesi kuu ni kwamba mipangilio kadhaa kubwa sana ya mkataba inaweza kuwa haipatikani chini ya cap na inaweza kuhitajika kubadilishwa au kugawanywa katika hatua nyingi za utekelezaji. Kwa ujumla, EIP-7825 imeundwa ili kuimarisha mtandao dhidi ya unyanyasaji, kuweka mahitaji ya nodes sahihi, kuboresha usawa katika matumizi ya nafasi ya mstari, na kuhakikisha mstari unaendelea haraka na imara kama mipaka ya gesi inaendelea kuongezeka kwa muda. : ModExp Gas Cost Increase EIP-7883 EIP-7883 The reason Ethereum needs this proposal is that the ModExp precompile (used for modular exponentiation) has been ikilinganishwa na rasilimali halisi inachukua. Katika baadhi ya hali, shughuli za ModExp zinahitaji kompyuta nyingi zaidi kuliko watumiaji sasa wanalipa. Ushawishi huu unajenga hatari: ikiwa simu za ModExp ngumu zinaendelea kuwa nafuu sana, zinaweza Ili kurekebisha hili, Ethereum inahitaji kurekebisha formula ya bei ya ModExp ili kwamba gesi iliyotumika inashughulikia vizuri kazi halisi iliyofanywa na mteja. Hiyo ni kwa nini EIP-7883 inachukua sheria mpya ambazo huongeza gharama ndogo, kuongeza gharama ya jumla, na kufanya shughuli na inapatikana kubwa (hasa exponents, msingi, au module juu ya bytes 32) gharama kubwa, hivyo bei ya gesi inafanana na hesabu halisi inayohitajika. underpriced bottleneck Utaratibu huu unabadilisha algorithm ya bei ya ModExp iliyoelezwa awali katika EIP-2565 kwa kuongeza gharama kwa njia kadhaa muhimu. imeongezeka kutoka 200 hadi 500, na formula ya jumla haijashiriki tena na 3, maana gharama ya jumla inakuwa . For example, if a ModExp call previously cost 1,200 gas, it will now cost around 3,600 gas under the new formula. Second, the cost of operations with is doubled by increasing the multiplier from 8 to 16. To illustrate this: if the exponent length was 40 bytes, EIP-2565 would add kwa hesabu ya iteration, wakati EIP-7883 sasa inatumia mara mbili kwa gharama kubwa zaidi.Kwa upande wa tatu, gharama ya Kwa mfano, ikiwa mzunguko wa mzunguko wa mzunguko ni zaidi ya mzunguko wa mzunguko wa mzunguko wa mzunguko wa mzunguko wa mzunguko wa mzunguko wa mzunguko wa mzunguko wa mzunguko wa mzunguko wa mzunguko wa mzunguko wa mzunguko wa mzunguko wa mzunguko wa mzunguko wa mzunguko ( ) instead of the old simpler formula, reflecting the real cost of large-number arithmetic. Together, these changes ensure that small ModExp operations pay a fair minimum fee and large, heavy operations scale their cost properly with size. 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² The proposal defines a new gas calculation function that updates the complexity and iteration count rules. The multiplication complexity now uses a default value of 16 for base/modulus lengths up to 32 bytes, and for larger inputs it switches to the heavier formula , ambapo "mawazo" ni idadi ya vipande vya 8 byte. Idadi ya iteration pia ni updated ili maonyesho ya 32 bytes au ndogo kutumia bit length yao ili kuamua utata, lakini maonyesho ya zaidi ya 32 bytes kuongeza adhabu kubwa sana. Hii inahakikisha kwamba maonyesho makubwa sana, ambayo ni gharama kubwa kwa kompyuta katika vitendo, sasa ina gharama ya gesi kubwa zaidi. 2 × words² The motivation behind these pricing increases comes from benchmarks showing many situations where the ModExp precompile was significantly underpriced. The revised formula raises small operations by Kazi ya kawaida ya karibu , na shughuli kubwa sana au zisizo na usawa kwa sababu kubwa sana - wakati mwingine zaidi ya —kulingana na ukubwa wa msambazaji, msingi, au moduli. Lengo ni si kubadilisha jinsi ModExp inavyofanya kazi, lakini kuhakikisha kwamba hata katika matukio yake ya juu zaidi ya rasilimali haina tena hatari kwa utulivu wa mtandao au kuzuia ongezeko la baadaye kwa kikomo cha gesi. Kwa sababu EIP hii inabadilisha kiasi gani cha gesi ModExp inahitajika, ni , lakini remixing gesi imekuwa kutokea mara nyingi kabla katika Ethereum na inajulikana vizuri. 150% 200% 80× backward-incompatible Matokeo ya majaribio yanaonyesha kiasi gani cha ongezeko linaweza kuwa. sasa itakuwa gharama ya gesi ya 500 (kuongezeka kutoka 200) au mara tatu ya bei yao ya awali. Lakini kesi fulani za majaribio makubwa zinaona ongezeko kubwa. Kwa mfano, katika mtihani mmoja wa "exp-maumivu", gharama huongezeka kutoka 215 gesi hadi 16,624 gesi - karibu Kwa mfano, katika kesi nyingine inayohusiana na utendaji mkubwa wa msingi, gharama huenda kutoka 1,026 hadi 94,448 gesi, ambayo inaonyesha jinsi idadi kubwa ya idadi kubwa kwa kweli inapanda. mifano hii inaonyesha ni kwa nini formula ya zamani ya bei haikuwa halisi na jinsi mpya inafaa zaidi kwa ukweli wa kompyuta. 99.69% of historical ModExp calls 76× more Kwa upande wa usalama, pendekezo hili halina kuunda vektor mpya ya mashambulizi au kufanya shughuli yoyote ya gharama nafuu. Badala yake, inazingatia kuzuia hatari muhimu: shughuli za ModExp zilizo chini ya bei inaweza kuruhusu washambuliaji kujaza vikundi na hesabu ngumu sana kwa gharama ndogo sana. Upungufu pekee unaowezekana ni kwamba baadhi ya shughuli za ModExp sasa zinaweza kuwa na gharama kubwa, lakini hii inachukuliwa kuwa matokeo bora zaidi kuliko tatizo la sasa la chini ya bei. Hakuna mabadiliko ya interface au utendaji mpya unaanzishwa, hivyo tabia zilizopo za arithmetic na vektor za mtihani zinaendelea kuwa halali. 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_mfg1_mfg1_mfg1 200 500 150% ya modexp_kushoto_1_kushoto 200 500 150% ya modexp_mzizi_1_mzizi0x10001 341 2048 501 kwa asilimia modexp_mfano_mfano_mfano 200 512 156% ya mpf_mf_mf_mf_mf_mf_mf_mf 200 512 156% modexp_mfano_mfano_mfano_mfano0x10001 1365 8192 501 kwa asilimia modexp_nagydani_3_square 341 2048 501% modexp_nagydani_3_qube 341 2048 501% modexp_nagydani_3_pow0x10001 5461 32768 500% modexp_mfano_mfano_mfano 1365 8192 501% modexp_nagydani_4_qube 1365 8192 501% modexp_nagydani_4_pow0x10001 21845 131072 kwa asilimia 500 modexp_mfuziki_5_mfuziki 5461 32768 kwa asilimia 500 modexp_kushoto_5_kushoto 5461 32768 kwa asilimia 500 modexp_mfuziki_5_mfuziki0x10001 87381 524288 500% Mimi ni mtaalamu wa mtaalamu wa mtaalamu wa mtaalamu wa mtaalamu. 2057 45296 kwa asilimia 2102 Mifano ya Mifano ya Mifano ya Mifano 2298 51136 2125% Mifano ya Mifano ya Mifano ya Mifano ya Mifano ya Mifano ya Mifano 2300 51152 2124% Mifano ya Mifano ya Mifano ya Mifano ya Mifano 5400 32400 kwa asilimia 500 modexp_guido_4_even 1026 94448 9105% modexp_marcin_1_base_heavy 200 1152 kwa asilimia 476 modexp_marcin_1_exp_wastani 215 16624 732 kwa asilimia modexp_marcin_1_balanced 200 1200 kwa asilimia 500 modexp_marcin_2_base_mali ya juu 867 5202 kwa asilimia 500 modexp_marcin_2_exp_heavy 852 16368 1821% modexp_marcin_2_kuongezeka kwa 996 5978 500% modexp_marcin_3_base_heavy 677 2032 200 kwa asilimia modexp_marcin_3_exp_wastani 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 Ujumbe wa 79717 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 , the actual proposer list could still change due to effective balance (EB) updates happening inside 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 To implement this, the EIP introduces a deterministic proposer lookahead by pre-computing and storing the proposer schedule for the next MIN_SEED_LOOKAHEAD + 1 epochs at the start of every epoch. In simple terms, the beacon state now contains a list called Kwa mfano, wakati epoch N inaanza, orodha hii tayari inajumuisha proposer kwa kila chumba katika epoch N na epoch N +1. Kisha, wakati mtandao huhamia epoch N + 1, orodha inageuka mbele: orodha ya proposer kwa epoch N imeondolewa, orodha ya epoch N + 1 inageuka mbele, na orodha mpya ya proposer kwa epoch N + 2 imeongezwa mwisho. 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. Fikiria kwamba kila enzi ina mstari wa 8 badala ya 32 (kwa urahisi tu). Bila EIP hii, wakati wa Enzi ya 5, unajua mbegu ya Enzi ya 6, lakini mwombaji halisi wa mstari wa 2 wa Enzi ya 6 bado anaweza kubadilika ikiwa validator inachukuliwa au anapata tuzo ili kubadilisha usawa wao wa ufanisi ndani ya Enzi ya 5. of epoch 5, Ethereum pre-calculates all proposers for epoch 5, 6, and 7 and stores them in order inside Sasa, hata kama mabadiliko ya usawa baadaye katika Enzi ya 5, orodha ya waombaji kwa Enzi ya 6 inabaki imara na inawezekana. start 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 bado inatokana na RANDAO ya epoch . The only change is that effective balances are now aligned with the same delay, so validators cannot modify their EB after seeing the RANDAO result. This removes a potential manipulation strategy, even though no attack had been discovered yet. The deterministic lookahead therefore, strengthens security and prevents malicious alteration of proposer schedules. N N − MIN_SEED_LOOKAHEAD − 1 : Blob base fee bounded by execution cost EIP-7918 Kifungu cha 718 Ethereum needs this proposal because the current blob fee system (from ) breaks down when execution gas becomes the main cost for rollups. Right now, most rollups pay much more for execution gas (the cost of including their blob transaction in the block) than they pay for the actual blob fee. This creates a problem: even if Ethereum keeps lowering the blob base fee again and again, the rollup’s total cost does not really change, because the expensive part is still the execution gas. Because of this, the blob base fee keeps falling until it reaches the absolute minimum (1 wei), and the protocol can no longer use the blob fee to control demand. Then, when blob usage suddenly goes up, the blob fee needs many blocks to climb back to a normal level. This makes prices unstable and unpredictable for users. Maoni ya 4844 For example, imagine a rollup wants to post its data: it pays about 25,000,000 gwei in execution gas (25 gwei per gas for roughly 1,000,000 gas), while the blob fee is only around 200 gwei. This means the total cost is roughly 25,000,200 gwei, where almost the entire cost comes from execution gas, not the blob fee. If Ethereum keeps lowering the blob fee—say from 200 gwei to 50 gwei, then to 10 gwei, and eventually down to 1 wei—the total cost barely changes at all, staying almost exactly 25,000,000 gwei. Because users don’t feel any difference, they don’t change their behavior, so the protocol keeps pushing blob fees down until they hit the minimum possible value. Then, when blob demand suddenly increases again, the blob base fee has to climb all the way up from 1 wei, causing sharp, unpredictable fee spikes. hupunguza hili kwa kuanzisha kiwango cha chini cha "dhamiri ya bei" kwa malipo ya blob ambayo inategemea ada ya msingi ya utekelezaji, kuzuia bei ya blob kupungua kwa chini isiyo ya kweli na kuweka bei ya blob imara zaidi na inawezekana kwa rollups. EIP-7918 Wazo la msingi la EIP-7918 ni rahisi: bei ya blob haipaswi kuwa nafuu kuliko gharama ya kiasi fulani cha gesi ya utekelezaji (iliyoitwa ). In the EIP, this constant is set to Mfumo unafanya kazi kupitia mabadiliko madogo ndani ya kazi. Kwa kawaida, kazi hii huongeza au kupunguza ada ya msingi ya blob kulingana na kama blob hutumia gesi zaidi au chini ya blob kuliko lengo. Pamoja na mapendekezo haya, ikiwa blob inakuwa "kwa bei nafuu" ikilinganishwa na gesi ya utekelezaji, kazi huacha kupoteza gesi ya msingi ya blob. Hii hufanya gesi ya juu ya blob kukua haraka, ambayo haiwezekani malipo ya msingi ya blob kupungua zaidi. . 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 “ .” It creates a situation where the demand curve is almost vertical: lowering price does not increase demand. When this happens, the blob base fee mechanism becomes blind—it keeps lowering the price even though demand does not react. That is why the blob base fee often slides down to 1 wei. Then, when real demand increases later, the protocol needs an hour or more of nearly full blocks to raise the fee back up to a reasonable level. EIP-7918 fixes this by establishing a reserve price tied to execution gas so that blob fees remain meaningful even when execution costs dominate. fee inelasticity Sababu nyingine ya kuongeza bei hii ya hifadhi ni kwamba nodes wanahitaji kufanya kazi nyingi za ziada ili kuthibitisha ushahidi wa KZG kwa data ya blob. , a node only had to verify one proof per blob, which was cheap. But with (PeerDAS), blobs ni kugawanywa katika sehemu ndogo nyingi zinazojulikana kama seli, na kila seli ina ushahidi wake mwenyewe. Hii inafanya uhakikisho mbaya zaidi. Kwa mfano, kiwango cha utekelezaji sasa inahitaji kuthibitisha ushahidi 128 kwa kila blob moja kabla ya biashara inaweza hata kuingia katika mempool - hii ni karibu mara kumi na tano zaidi ya gharama ya kuthibitisha KZG ya kawaida ambayo mikataba ya akili inalipa. Zaidi ya hayo, nodes kamili, supernodes, na validators wanahitaji kuthibitisha ushahidi zaidi kulingana na idadi ya ngazi wanayohifadhi au sample. Node kamili ya kawaida inapaswa kuthibitisha ushahidi kwa blobs zote katika mempool, pamoja na nguzo nane za sample kila slot, pamoja na nguzo nne Maoni ya 4844 EIP-7594 Kwa muda mrefu, EIP-7918 pia husaidia kuandaa Ethereum kwa siku zijazo. Kama teknolojia inazidi kuboresha, gharama ya kuhifadhi na kushiriki data kwa kawaida inakuwa nafuu, na Ethereum inatarajiwa kuruhusu data zaidi blob kwa muda. Wakati uwezo wa blob huongezeka, ada za blob (katika ETH) zinapaswa kuanguka kwa asili. Mpango huu unaunga mkono kwamba kwa sababu bei ya hifadhi inahusishwa na bei za gesi ya utekelezaji, sio idadi ya kudumu, hivyo inaweza kurekebisha kama mtandao unavyoongezeka. Kama vile blobspace na mahali pa utekelezaji wa blob, uhusiano wao wa bei unabaki usawa. Wakati pekee bei ya hifadhi inaweza kuwa ya juu sana ni katika siku za usoni ambazo Ethereum in ) inachukuliwa kuwa salama na yenye usawa mzuri. 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. Waandishi pia walifanya uchambuzi wa empirical kwa kutumia sheria ya bei ya hifadhi kwa shughuli halisi ya blob kutoka and . During high-execution-fee periods (around ), kiwango cha hifadhi kiliongezeka kwa kiasi kikubwa ada ya msingi ya blob ikilinganishwa na utaratibu wa zamani. Wakati wa kipindi cha gharama ya chini ya utekelezaji (karibu ), malipo ya blob yalibadilika karibu bila kubadilika isipokuwa wakati malipo ya msingi ya blob yaliyokusudiwa yameanguka chini ya bei ya hifadhi. Kwa kulinganisha maelfu ya mipaka, waandishi wanaonyesha kwamba mchakato mpya unajenga bei ya imara wakati bado anajibu mahitaji kwa asili. Histogram ya malipo ya blob ya miezi minne inaonyesha kwamba bei ya hifadhi inakadiriwa malipo ya blob kuanguka kwa 1 wei, ambayo inapunguza volatility ya ghafla. November 2024 March 2025 16 gwei average 1.3 gwei average Kwa upande wa usalama, mabadiliko hayana hatari yoyote. malipo ya msingi ya blob daima yatakuwa juu au juu ya gharama ya units of execution gas. This is safe because the mechanism only raises the minimum fee, and setting a lower bound on pricing does not interfere with protocol correctness. It simply ensures healthy economics. BLOB_BASE_COST : RLP Execution Block Size Limit EIP-7934 EIP-7934 Kabla ya EIP-7934, Ethereum ilikuwa kuwa na kiwango cha juu cha juu cha ukubwa wa kiini cha uendeshaji wa RLP. Katika nadharia, kiini kinaweza kuwa kubwa sana ikiwa kilikuwa na shughuli nyingi au data ngumu sana. na ya Ikiwa block ilikuwa kubwa sana, inachukua muda mrefu kwa nodes kupakua na kuthibitisha, ambayo iliongezeka kwa kasi ya kuenea kwa block na kuongeza uwezekano wa forks ya muda wa blockchain. Mbaya zaidi, mshambuliaji anaweza kwa makusudi kujenga block kubwa sana kwa kuharibu nodes, kusababisha muda au hata kushambulia nje - hali ya kawaida ya kukataa huduma. , 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 EIP-7934 solves this by introducing a on the size of an RLP-encoded execution block. The maximum allowed block size ( (Ilikuwa imewekwa kwa , but because beacon blocks also consume some space ( ), Ethereum adds a Hii inamaanisha ukubwa wa kiwango cha juu cha kiwango cha uendeshaji wa kiwango cha RLP kinachowezekana ni . If the encoded block is larger than this limit, the block is considered Kwa sheria hii katika nafasi, wakulima wa block wanapaswa kuangalia ukubwa wa encoded wa kila block wanayo kujenga, na waadilifu wanapaswa kuthibitisha kiwango hiki wakati wa kuthibitisha block. ya mipaka ya gesi - maana hata kama block ni " bado inaweza kuondolewa ikiwa ukubwa wake wa encoded ni mkubwa sana. Hii inahakikisha kwamba matumizi ya gesi na vikwazo vya ukubwa wa byte halisi vinaheshimu. 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 Ilikuwa kwa makusudi kwa sababu inashikilia vikwazo vya sasa katika mstari wa konsensus. Kila kitu kikubwa zaidi ya 10 MiB hakutambuliwa kwenye mtandao kwa namna yoyote, hivyo EIP hii inachukua kiwango cha utekelezaji kwenye mipaka ya kiwango cha konsensus. Hii inajenga usawa katika vipengele vyote na kuzuia hali ambapo kiwango cha uendeshaji halali kinakuwa "inakiona" kwa sababu CL haikataa kuiga. 10 MiB cap Mabadiliko haya ni 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 . This opcode takes a 256-bit value from the stack and returns the number of leading zero bits. If the input number is zero, the opcode returns , kwa sababu null ya 256-bit ina 256 bits za null za juu. Hii inafanana na jinsi CLZ inavyofanya kazi katika miundo mingi ya CPU kama ARM na x86, ambapo utendaji huu ni wa asili. ya , , 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 , na kupanda kidogo kutoka kwa bei ya zamani ya MUL ili kuepuka kupunguza bei ya opcode na kusababisha hatari za DoS. Benchmarks zinaonyesha kwamba CLZ inatumia jitihada sawa za kompyuta kama ADD, na katika mazingira ya kuonyesha SP1 rv32im, CLZ ni kweli , kupunguza gharama za kuthibitisha ZK. EIP pia inaelezea kwa nini walichagua CLZ badala ya : Unaweza kuhesabu CTZ kutoka CLZ kwa kutumia Lakini wewe kwa uaminifu kutekeleza CLZ kwa kutumia CTZ, hivyo CLZ ni ya msingi zaidi. 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 opcode na haina kurekebisha tabia yoyote iliyopo. Pia inashughulikia kesi za rangi kwa uwazi: kwa mfano, opcode inatoa 256 wakati kuingia ni zero, na kesi kadhaa za majaribio zinaonyesha kuingia kama vile viwango vya zero, juu-bit, na kabisa-nonzero. Kwa sababu CLZ ina gharama za gesi zinazoweza kutabiriwa na ndogo, hakuna ukuaji wa kumbukumbu, na hakuna mabadiliko ya hali, ni salama dhidi ya matatizo ya kukataa huduma. new Overall, EIP-7939 makes Ethereum faster, cheaper, and more developer-friendly by adding a simple, efficient primitive that modern CPUs already support — cutting gas, reducing bytecode size, and lowering ZK proving costs for many common operations. : 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 . This curve is the standard used in modern devices like . Because of this missing support, apps and wallets could not easily use device-level hardware security for signing. There was an earlier attempt (RIP-7212), but it had 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 Kwa njia ya anwani wito wa , ambayo inafanya uhakiki wa saini ya ECDSA kwa kutumia curve ya secp256r1. Hii inafanya uhakiki wa saini haraka na gharama nafuu ikilinganishwa na utekelezaji wa algorithm moja kwa moja katika Solidity. Precompile hutumia vigezo rasmi vya curve vinavyoelezwa na NIST, ikiwa ni pamoja na moduli ya shamba, usawa wa curve, pointi ya msingi, na utaratibu wa subgroup, kuhakikisha usalama mkubwa wa cryptographic. Points na scalars ni encoded katika muundo mkali wa 32-bit, na thamani ya 64-bit ya null yote inatumika kuwakilisha pointi katika infinity. - hash, saini (r, s), na maelekezo ya msingi wa umma (qx, qy) - na inatoa for success or for failure. precompiled contract 0x100 P256VERIFY 160 bytes of input 32 bytes of 1 empty output Mkataba huo pia unajumuisha kwa makini Anashughulikia kwamba r na s ni ndani ya mzunguko sahihi, kwamba muhimu ya umma iko juu ya mzunguko, na kwamba sio pointi ya mwisho. Ikiwa kitu chochote ni sahihi, precompile hutoa kushindwa bila kurejea na hutumia gesi sawa na wito wa mafanikio. algorithm ya kuthibitisha inafuata ECDSA ya kiwango: inachukua s−1 mod n, kurejesha kiwango cha saini R’, inapinga kama R’ ni usio na mwisho, na hatimaye inashughulikia kama kielelezo cha x cha R ni sawa na r (mod n). Hili hurekebisha makosa katika RIP-7212, ambayo kulinganisha r’ moja kwa moja badala ya kupunguza mod n. 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 These parameters are standardized by NIST in SP 800-1861. Gesi gharama kwa ajili ya operesheni ni kuweka , which is higher than the RIP-7212 version, but matches actual performance benchmarks for secp256r1 verification. Importantly, the interface remains fully compatible with Layer 2 networks that already deployed RIP-7212—same address, same input/output format—so existing smart contracts will continue to work with no changes. The only difference is the corrected behavior and higher gas cost. 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. Kwa kifupi, , fix the security issues of the earlier proposal, and provide a reliable, standardized way to verify P-256 signatures across the entire ecosystem. EIP-7951 is needed to safely bring modern hardware-backed authentication to Ethereum The table below summarizes which Ethereum clients need to implement changes for each Fusaka EIP. A check mark under indicates that the EIP requires updates to consensus-layer clients, while a check mark under shows that the change affects execution-layer clients. Some EIPs require updates in both layers, while others are specific to just one. 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 ✅ Maoni ya 7594 PeerDAS - Peer Data Availability Sampling ✅ ✅ Maoni ya 7823 Kuweka mipaka ya juu kwa MODEXP ✅ Maoni ya 7825 Mkataba wa Gas Limit Cap ✅ Maoni ya 7883 ModExp kuongeza gharama ya gesi ✅ Ujumbe wa 79717 Deterministic proposer lookahead ✅ Kifungu cha 718 Gharama ya msingi ya Blob inayohusiana na gharama ya utekelezaji ✅ EIP-7934 Utekelezaji wa RLP Block Size Limit ✅ Ujumbe wa 7399 Idadi ya nulls kuongoza (CLZ) opcode ✅ Maoni ya 7951 Msaada kwa ajili ya Secp256r1 Curve ✅ In summary, these are the key EIPs included in the Fusaka hard fork. While several improvements touch both consensus and execution clients—ranging from gas adjustments and opcode updates to new precompiles—the , ambayo inazindua sampuli ya upatikanaji wa data ya peer-to-peer, ambayo inawezesha usindikaji wa ufanisi zaidi na usambazaji wa data ya blob katika mtandao. major change of this upgrade is PeerDAS