Ekipa Cardano Plutus je dokončala stroškovne modele za nove funkcije Dijkstra

Ekipa je dodala 65 preskusnih primerov za operacije z vrednostmi žetonov in popravila obnašanje prevajalnika. Posodobitev zajema tudi prevajanje Plutus V4 in orodja za preverjanje formalnih modelov sistema.

By SongMarketCap

Updated:

Cardano News - Ekipa Cardano Plutus je dokončala stroškovne modele za nove funkcije Dijkstra

Ekipa Plutus je dokončala stroškovne modele za keepPolicies in dropPolicies, dve vgrajeni funkciji, ki sta v razvoju za Dijkstrovo obdobje Cardano. V posodobitvi z 4. novembra je vodja programske inženirstva Ziyang Liu poročal tudi o novih testih, posodobitvah specifikacij in popravkih prevajalnika.

Delo zajema način, kako pametne pogodbe obravnavajo vrednosti žetonov in obračunavajo izvedbene vire. Gre za razvojne spremembe, ki podpirajo priprave na Dijkstrovo obdobje; poročilo ne napoveduje njihove aktivacije na Cardano mainnet.

Nove funkcije filtrirajo žetone po politiki

Obe funkciji sta del CIP-0168, predloga, ki razširja operacije nad BuiltinValue, podatkovnim tipom, ki predstavlja količine sredstev v pametnih pogodbah Plutus. Vgrajene funkcije zagotavljajo operacije, ki jih neposredno podpira izvedbeni sistem.

Cardano združuje izvorne žetone pod identifikatorji politik, povezanimi s pravili njihovega kovanja. keepPolicies ohrani dele vrednosti, povezane z izbranimi identifikatorji, medtem ko jih dropPolicies odstrani. Pogodba, ki obdeluje več skupin žetonov, lahko te funkcije uporabi za izolacijo sredstev, pomembnih za določeno preverjanje.

Združene spremembe omejujejo seznam politik, ki ga sprejme katera koli od funkcij, na 256 identifikatorjev. Njihovi dokončani stroškovni modeli določajo, kako se izvajanje obračuna v enotah CPU in pomnilnika, ki so del proračuna izvajanja pametne pogodbe.

Preizkusi in popravki prevajalnika naslavljajo vedenje programa

Ekipa je dodala 65 skladnostnih primerov za nove vgrajene funkcije Value. Ti testi primerjajo izhod implementacije s pričakovanim rezultatom za določene vnose. Nove funkcije in multiIndexArray so bili prav tako dokumentirani v specifikaciji Plutus Core, kar zagotavlja pisni referenčni opis njihovega vedenja.

Ločen popravek se nanaša na zlaganje konstant, optimizacijo, ki ustrezne izraze izračuna med prevajanjem namesto da bi jih prepustila izvajanju. Prizadeti prehodi prevajalnika so lahko prej poenostavili določene izraze na način, ki je nepravilno zavrgel izračune, ki spodletijo. Popravek te izračune ohrani, kadar zahtevani pogoji za poenostavitev niso izpolnjeni.

Posodobitev popravlja tudi prevajanje kontekstnih tipov Plutus V4, ki opisujejo informacije, dostopne skriptom pri preverjanju transakcij. Poleg tega so bili pomnilniški modeli za lookupCoin in valueContains usklajeni z obstoječimi parametri stroškovnega modela.

[NEWSBREAK]

Formalna preverjanja se širijo, medtem ko se implementacija nadaljuje

Ekipa je predstavila orodje, ki iz obstoječega sklopa skladnostnih testov generira preskuse preverjanja tipov v Agdi. Agda je programski jezik in dokazni pomočnik, ki se uporablja za izražanje formalnih modelov in preverjanje njihove skladnosti. Orodje omogoča, da primeri testov, že uporabljeni za implementacijo, podpirajo preverjanja v tem formalnem okolju.

Nove vgrajene funkcije so bile dodane tudi v metateorijo, matematični opis, ki se uporablja za razmišljanje o programih Plutus. Trenutno se pojavljajo kot postulati, kar pomeni, da model predpostavlja njihovo določeno vedenje, medtem ko se nadaljuje nadaljnje delo na implementaciji. Druga združena sprememba razširi orodje, ki preverja, ali optimizacija prevajalnika ohranja vedenje programa.

Preostalo delo vključuje implementacijo tabel in naborov bajtov v formalnem modelu, popravek certificiranja ločene optimizacije prevajalnika in izboljšanje stroja CEK, ki izvaja programe Plutus Core. Ti elementi v poročilu z 4. novembra ostajajo navedeni kot delo v teku.