Solidity 0.8.38 åtgärdar en bugg i Yul-optimeraren och förbättrar kompileringen

Solidity 0.8.38 åtgärdar ett lågallvarligt fel i Yul-optimeraren som kunde ersätta laddningsresultat felaktigt eller ta bort nödvändiga skrivningar till lagring och minne när adressrelaterade variabler tilldelades nya värden. Problemet påverkade Solidity-versionerna 0.8.19 till 0.8.37 när Yul-optimeraren var aktiverad. I versionsinformationen anges att det inte finns några tecken på att felet har utnyttjats. Tester på Sourcify-verifierade kontrakt visade inga förändringar i bytekod, vilket tyder på att felet var ovanligt, även om vanlig Solidity-kod kunde utlösa det utan inline-assembly. Solidity 0.8.38 gör också kompilering med Yul-optimering snabbare genom att förbättra DataFlowAnalyzers prestanda och sparar en instruktion i IR-funktionens dispatcher. Versionen förbereder inför de kommande Amsterdam-ändringarna av EVM och varnar för att Yul-identifierarna swapn, dupn och exchange kommer att reserveras. Andra uppdateringar omfattar ändringar i kommandoradsgränssnittet och Standard JSON-gränssnittet, ytterligare buggfixar och borttagning av experimentella Yul CFG-utdata. Kompilatorversionen finns på GitHub. Säkerhetsfixen är relevant för utvecklare av smarta kontrakt och infrastruktur för Ethereum, men själva versionen innebär ingen direkt förändring av ETH:s marknadsfundamenta.
Neutral
Uppdateringen åtgärdar ett säkerhetsproblem i kompilatorn och förbättrar kompileringsprestandan, men ingen av sammanfattningarna rapporterar om utnyttjande, omfattande förändringar av bytekod eller någon omedelbar effekt på aktiviteten i Ethereums nätverk. Därför är den direkta priseffekten på ETH sannolikt begränsad. På kort sikt kan offentliggörandet få utvecklare att granska kompilatorversioner och uppdatera berörda projekt, medan handlare kanske inte ägnar det någon större uppmärksamhet om det inte framkommer bevis för att driftsatta smarta kontrakt har komprometterats. På längre sikt kan åtgärden av optimeringsfelet och förbättrade verktyg stärka förtroendet för Ethereums utvecklingsekosystem. Kompilatoruppdateringar är dock inte i sig någon stark riktad priskatalysator; bredare marknadsförhållanden, ETH-flöden, nätverksanvändning och regulatorisk utveckling kommer sannolikt att påverka handeln mer. Sammantaget bör nyheten bedömas som neutral för ETH.