Cardano Plutus prijedlog cilja na smanjenje režije izvođenja skripti

CIP-0194 predlaže novu operaciju Match za Untyped Plutus Core koja bi mogla smanjiti režiju čitanja složenih podataka skripti. Drugi prijedlog, CIP-0195, definira model kodiranja Data za nadolazeći Plutus V4 ledger API.

By SongMarketCap

Cardano News - Cardano Plutus prijedlog cilja na smanjenje režije izvođenja skripti

Razvojni pipeline za Cardano Plutus dodao je dva prijedloga usmjerena na to kako pametni ugovori obrađuju ledger podatke. CIP-0194 uvodi ugrađeno podudaranje obrazaca za UPLC, dok CIP-0195 specificira kako bi se Plutus V4 tipovi poput ScriptContext i TxInfo trebali kodirati kao Data. Oba su još uvijek u postupku pregleda.

CIP-0194 već ima funkcionalni prototip implementacije, a rani lokalni benchmarkovi pokazuju znatno kraće CEK vrijeme izvođenja za nekoliko obrazaca pristupa podacima. Mjerenja nisu kalibrirana na jedinice izvršavanja na lancu, a produkcijski parametri troškova još nisu finalizirani.

CIP-0194 dodaje podudaranje obrazaca u Plutus Core

Cardano pametni ugovori često pregledavaju strukturirane Data, uključujući informacije o transakcijama unutar ScriptContext. Postojeći UPLC programi mogu dekonstruirati te strukture putem funkcija kao što su unConstrData, chooseData i operacije nad listama, pri čemu svaki korak dodaje posao unutar CEK evaluatora.

CIP-0194 predlaže novu operaciju Match koja može izravno pregledavati ugniježđene vrijednosti i izdvojiti samo polja koja su skripti potrebna. Obuhvaća cijele brojeve, nizove bajtova, liste, parove i strukturirane Data, dok postojeći mehanizam Case ostaje dostupan za jednostavnije operacije.

Promjena je prvenstveno usmjerena na validatore koji više puta pregledavaju kontekst transakcije, uključujući složeniju DeFi te logiku trgovanja i posudbe.

Funkcionalni prototip već postoji u Plutus codebaseu. Za produkcijsku uporabu i dalje su potrebna ispitivanja sukladnosti, kalibrirani parametri troškova, podrška u ledgeru i izdanje Cardano čvora.

Rani benchmarkovi pokazuju kraće CEK vrijeme izvođenja

CIP uključuje lokalne benchmarkove koji uspoređuju Match s postojećim metodama za dekonstruiranje Data.

Pri dohvaćanju jedne duboko ugniježđene vrijednosti, izmjereno CEK izvođenje bilo je između 6.38 i 13.74 puta brže u testiranim scenarijima. Test sa 64 ugniježđena sloja Data zabilježio je 2.297 mikrosekundi s Match, u usporedbi s 31.068 mikrosekundi pri korištenju postojećeg pristupa.

Razlika u performansama smanjuje se kada skripte hvataju više vrijednosti, pri čemu su testirana poboljšanja iznosila otprilike od 1.67 do 6.10 puta, ovisno o strukturi i referentnoj metodi.

Ovi podaci mjere lokalne CEK performanse prema stvarnom vremenu, a ne konačne Cardano jedinice izvršavanja. Model troškova ostaje nekalibriran. Preliminarni budžeti za CPU i memoriju u prijedlogu poboljšali su se od 10% do 90% kroz različita opterećenja, pri čemu su tipični scenariji s kontekstom skripte pokazali otprilike 40% do 60% poboljšanja pod početnim parametrima.

Prijedlog pridružuje Match verziji 1.2.0 jezika Plutus Core, što bi zahtijevalo podršku u ledgeru i aktivaciju kroz Cardano hard fork proces prije nego što bi skripte to mogle koristiti na mainnetu.

CIP-0195 definira Plutus V4 Data model

CIP-0195 obrađuje drugu stranu Plutus stacka specificirajući kako bi se Plutus V4 ledger API tipovi trebali predstavljati kao Data.

Prijedlog pokriva V4 ScriptContext i povezane strukture, uključujući prošireni TxInfo. Time se zamjenjuje neformalniji pristup korišten u ranijim Plutus verzijama, gdje su razvijatelji i alternativni alati često morali izvoditi ponašanje kodiranja iz implementacijskog koda umjesto iz namjenske specifikacije.

Predloženi V4 dizajn nastavlja koristiti liste za kodiranje tipova podataka. CIP-0195 tvrdi da novije UPLC operacije čine pristup listama učinkovitim, izbjegavajući dodatne konstruktore i integraciju s ledgerom koju bi zahtijevao širi model temeljen na nizovima.

CIP-0194 i CIP-0195 mogu napredovati neovisno, ali zajedno obrađuju način na koji sljedeća generacija Plutus strukturira i pristupa ledger podacima. Ako bude usvojen, CIP-0195 standardizirao bi način na koji Plutus V4 izlaže te podatke, dok bi CIP-0194 validatorima pružio način s manjom režijom za njihovu inspekciju. Oba i dalje zahtijevaju odobrenje specifikacije, kalibrirane modele troškova i integraciju u ledger prije dolaska na Cardano mainnet.