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
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.