Dash Platform Protocol in Rust
Het porten van DPP naar Rust maakt het veiliger en krachtiger. Het zal ook het verwerken van blocks sneller maken. Om Rust DPP te integreren in JS-componenten bieden we WASM DPP. Dit is de eerste stap naar het porten van Platform naar Rust. JS was leuk om mee te experimenteren en prototypes te maken, maar nu hebben we iets duurzamers nodig.
Same Block Execution
Een beperking die geërfd is van het Tendermint project, waarop onze consensus engine oorspronkelijk is gebaseerd, is dat block handtekeningen alleen de toestand van het vorige blok en alle state overgangen van het huidige blok ondertekenen. Om bewezen gegevens van DAPI te krijgen, moet je dus wachten op de volgende block vastlegging. Dit was niet compatibel met ons gewenste bewijs- en opslagsysteem. Deze verbetering vermindert ook de belasting aanzienlijk van het netwerk en verkort de tijd die nodig is om gegevens in te voegen in Platform, wat resulteert in een betere UX.
Krediet Opnames
Momenteel kun je Dash omzetten in Platform Credits door een Identiteit aan te maken of er een op te waarderen. Credits worden voornamelijk gebruikt om de overgangskosten van de state te betalen. Masternodes krijgen hun beloningen voor het hosten van Platform in credits (block beloningen en ST vergoedingen). Met opnames kunnen Masternodes en andere Identiteiten hun credits terug converteren naar Dash.
Efficiënte serialisatie van gegevens
Dash Platform Protocol (DPP) gebruikte eerder het CBOR coderingsmechanisme dat dataserialisatie zonder schema implementeert. Aangezien alle gegevens op het Platform worden opgeslagen in voorgedefinieerde structuren, is het niet nodig om ook structuurinformatie op te slaan. Door alleen waarden op te slaan, verkleinen we de grootte van geserialiseerde objecten drastisch.
Terugbetaling van vergoedingen
Wanneer een gebruiker gegevens toevoegt aan Platform, betaalt hij voor permanente opslag. Echter, niet alle gegevens die zijn opgeslagen in Platform hoeven permanent te zijn. Gebruikers kunnen in gegevenscontracten aangeven dat documenten worden bijgewerkt of verwijderd. Door de introductie van restitutie van kosten kunnen gebruikers tegoeden terugkrijgen wanneer ze gegevens verwijderen.
Identiteit v2
Een identiteit bestaat uit verschillende gegevens zoals het saldo en een verzameling openbare sleutels die voor verschillende doeleinden en beveiligingsniveaus worden gebruikt. De nieuwe opslagimplementatie voor Identiteiten maakt het mogelijk om alleen specifieke of meerdere delen van Identiteiten bij te werken of op te halen. Dit vermindert de kosten voor state overgangen en de belasting op het netwerk.
Verificatie van totale credits
Met een nieuwe functie sum trees voor GroveDB konden we een beschermingsmechanisme tegen inflationaire bugs op de blockchain implementeren. Deze functie voegde sums toe aan nodes van een specifiek type Merkle AVL tree. In deze tree bevatten de nodes de som van alle gehele waarden in de tree. Telkens wanneer in de sum tree een waarde wordt toegevoegd, verwijderd of bijgewerkt, wordt elke bovenliggende knoop en dus de “somwaarde” van de root bijgewerkt. Het verificatiemechanisme van krediet vergelijkt elk block van alle kredietsaldi in de opslag met de verwachte hoeveelheid kredieten in het systeem. Dit voorkomt aanvallen die nieuwe credits of tokens zouden kunnen gegenereren buiten de vooraf bepaalde voorraad.
Masternode stemidentiteiten
Dit is een component om toekomstige bestuursfuncties op het Platform mogelijk te maken.
Gedecentraliseerde API met HTTPS
Vanaf deze versie verlopen DAPI verzoeken via HTTPS om het bouwen van toepassingen voor browsers mogelijk te maken.