Wat is Sui (SUI) en hoe werkt het?

Wat is Sui (SUI)?
Sui is een permissionless Layer 1-blockchain. Dat betekent dat het een zelfstandig netwerk is waarop developers smart contracts en on-chain applicaties kunnen bouwen. Je kunt het dus zien als een aparte blockchain net zoals bijvoorbeeld Ethereum. Je hebt dus geen toestemming van een centrale partij nodig om het netwerk te gebruiken en het platform is ontworpen om transacties snel en veilig uit te voeren.
Sui slaat bezittingen, resources en andere data op als objecten. Je kunt zo'n object zien als een digitaal item met eigen gegevens, een eigenaar en een geschiedenis van wijzigingen. Dit objectmodel is een belangrijk onderdeel van hoe Sui transacties verwerkt.
SUI is de native token van het netwerk. Je gebruikt SUI onder meer om transactiekosten te betalen. Daarnaast kan SUI worden gedelegeerd aan validators voor staking en geeft de token stemrecht bij on-chain governance, zoals voorstellen voor protocolupgrades.
Sui Mainnet ging publiek live op 3 mei 2023.
Korte samenvatting
- Sui is een Layer 1-blockchain voor smart contracts en on-chain applicaties.
- SUI is de token voor fees, staking en on-chain governance.
- Het netwerk behandelt assets en data als objecten met een duidelijke eigenaar en versie.
- Onafhankelijke transacties kunnen parallel worden verwerkt.
- Transacties rond hetzelfde gedeelde object moeten via consensus worden geordend.
Hoe werkt Sui?
Sui gebruikt delegated proof of stake. Daarbij helpen validators het netwerk transacties te controleren en te verwerken. Validators zetten SUI vast als onderpand. Ook kunnen SUI-houders hun tokens aan een validator delegeren. Het stemgewicht van een validator hangt af van de totale stake die aan die validator is toegewezen.
De validators vormen samen een commissie. Zo'n commissie verandert niet tijdens een epoch, een vaste periode die op Sui Mainnet ongeveer 24 uur duurt. Voor belangrijke beslissingen is meer dan twee derde van het totale stemgewicht nodig. Dat heet een quorum.
Als je een transactie verstuurt, onderteken je die eerst met je wallet. Via een full node komt de transactie bij validators terecht. Zij controleren onder andere de handtekening, de gebruikte objecten, of je toestemming hebt om die objecten te gebruiken en of je genoeg gasbudget hebt. Gas is de vergoeding voor de uitvoering van een transactie.
Voor de consensus gebruikt Sui Mysticeti. Dit is een DAG-gebaseerd consensusprotocol. Een DAG is hier een structuur waarin validators meerdere voorstellen naast elkaar kunnen doen, in plaats van alles strikt één voor één te verwerken.
Geaccepteerde transacties worden door validators op dezelfde, vooraf bepaalde manier uitgevoerd. Een transactie lukt dus volledig of breekt af. Breekt deze af, dan kunnen wel de gebruikte gaskosten worden afgeschreven.
Een transactie is definitief wanneer de effecten zijn gecertificeerd door een quorum van validators, of wanneer de transactie in een gecertificeerde checkpoint staat. Simpel gezegd: het netwerk heeft dan voldoende bevestigd dat de uitkomst vastligt.
Sui (SUI) overzicht
Wat is het objectmodel van Sui?
Een object is de basisopslageenheid van Sui. Denk aan een token, een digitaal bezit of andere data op de blockchain. Elk object heeft een wereldwijd unieke ID, een eigenaar, een versienummer en informatie over de laatste transactie die het object gebruikte.
Dat versienummer verandert bij elke wijziging. Daardoor kunnen een afzender en validators naar precies dezelfde versie van een object verwijzen. Een transactie bevat daarvoor een objectreferentie met een ID, versie en hash. Een hash is een unieke digitale controlewaarde van data.
Sui kent verschillende soorten objecten:
- Address-owned objecten: deze horen bij één specifiek adres. Alleen dat adres kan ze in transacties gebruiken.
- Shared objecten: deze zijn voor iedereen toegankelijk. Als iemand ze wil wijzigen, moet consensus de volgorde van wijzigingen bepalen.
- Immutable objecten: deze hebben geen eigenaar en kunnen niet worden aangepast, overgedragen of verwijderd.
Smart contracts op Sui worden geschreven als Move-packages. Zo'n package kan objecten maken en manipuleren volgens de regels die erin staan. Een gepubliceerd package-object is onveranderlijk en kan niet worden verwijderd.
Een praktisch verschil is belangrijk: bij een immutable object kun je later geen data verwijderen of verkleinen. Daardoor kun je voor zulke objecten ook geen storage rebate ontvangen. Een storage rebate is een gedeeltelijke teruggave van eerder betaalde opslagkosten.
Hoe verwerkt Sui transacties parallel?
Bij een Sui-transactie moet vooraf duidelijk zijn welke invoerobjecten worden gebruikt. Daardoor kan het netwerk zien welke transacties los van elkaar staan en welke transacties om hetzelfde object concurreren.
Gebruiken twee transacties verschillende objecten? Dan kunnen ze parallel worden ingepland en uitgevoerd. Je kunt het zien als twee mensen die tegelijk iets doen met hun eigen spullen: ze hoeven niet op elkaar te wachten.
Bij address-owned objecten is geen globale consensusvolgorde nodig als transacties onafhankelijk zijn. Dat maakt het mogelijk om zulke transacties naast elkaar te verwerken.
Het werkt anders wanneer meerdere transacties hetzelfde shared object willen wijzigen. Dan moet consensus eerst bepalen welke transactie voorrang krijgt en wat de volgende versie van dat object wordt. Zodra de benodigde versies vastliggen, kunnen Move-transacties weer parallel worden uitgevoerd, ook over meerdere cores.
Parallel verwerken betekent dus niet dat elke transactie altijd even snel klaar is. Veel transacties rond hetzelfde shared object hebben een gedeelde afhankelijkheid en moeten daarom eerst worden geordend.
Ook conflicterende transacties met hetzelfde address-owned object kunnen problemen geven. Een transactie kan dan worden afgewezen, of het object kan tot de volgende epoch tijdelijk niet bruikbaar zijn.
Wie zijn de oprichters van Sui?
De eerste onderdelen van Sui werden in 2021 bedacht door Evan Cheng, Adeniyi Abiodun, Sam Blackshear, George Danezis en Kostas Chalkias. Het idee bouwde voort op onderzoek waaraan zij eerder bij Meta werkten voor Diem, een project dat daarvoor Libra heette.
De vijf zijn ook medeoprichters van Mysten Labs. Mysten Labs ontwikkelde de oorspronkelijke Sui-code en was de eerste bijdrager aan het netwerk.
Evan Cheng is medeoprichter en CEO van Mysten Labs. Sam Blackshear is medeoprichter en CTO. Adeniyi Abiodun is medeoprichter en CPO, Kostas Chalkias is medeoprichter en Chief Cryptographer, en George Danezis is medeoprichter en Chief Scientist.
Sui zelf is een permissionless netwerk, geen bedrijf. De rollen bij Mysten Labs betekenen dus niet dat deze personen eigenaar zijn van of het huidige netwerk besturen.
Wat zijn de voordelen van Sui?
Sui heeft een aantal eigenschappen die handig zijn om te begrijpen:
- Parallelle verwerking van onafhankelijke transacties. Omdat transacties hun invoerobjecten expliciet opgeven, kan het netwerk zien welke transacties los van elkaar kunnen draaien.
- Duidelijke objecttoestand. Objecten hebben een unieke ID en versienummer. Transacties verwijzen daardoor naar een specifieke toestand van een object.
- Expliciet eigendomsmodel. Een object kan persoonlijk bezit zijn, gedeeld worden gebruikt of onveranderlijk zijn. Dat maakt duidelijk hoe een object mag worden gebruikt.
- Move voor objecten on-chain. Move is bedoeld voor packages die objecten op de blockchain manipuleren.
- Vaste maximale voorraad. Er kunnen maximaal 10 miljard SUI bestaan.
- Delegated staking. Je kunt SUI aan een validator delegeren zonder je private keys of directe eigendom van je tokens aan die validator over te dragen.
- Gedeeltelijke storage rebate. Bij het verwijderen of verkleinen van verwijderbare data kan een deel van eerder betaalde opslagkosten terugkeren.
Wat zijn de nadelen van Sui?
Het ontwerp van Sui brengt ook duidelijke trade-offs met zich mee:
- Shared objecten hebben consensus nodig. Als veel transacties hetzelfde shared object willen aanpassen, kunnen ze niet allemaal volledig onafhankelijk worden verwerkt.
- Conflicten rond address-owned objecten. Veel conflicterende transacties met hetzelfde object kunnen worden afgewezen of ervoor zorgen dat het object tot de volgende epoch niet bruikbaar is.
- Opslag kost geld. Naast execution gas betaal je ook opslagkosten wanneer je objecten met data op de blockchain maakt of wijzigt.
- Niet alle opslagkosten komen terug. Bij het later verwijderen van data is slechts een deel van de opslagkosten terug te krijgen.
- Immutable objecten zijn permanent. Ze kunnen niet worden gewijzigd of verwijderd en leveren geen storage rebate op.
- Stemgewicht volgt stake. Binnen delegated proof of stake hangt de invloed van validators samen met de stake die aan hen is gedelegeerd.
- Historie bewaren vraagt opslagruimte. Full nodes die de volledige object- en transactiehistorie bewaren, hebben aanzienlijk meer opslagcapaciteit nodig dan validators of pruning nodes.
Conclusie
Sui is een Layer 1-blockchain voor smart contracts en on-chain applicaties. De SUI-token wordt gebruikt voor transactiekosten, staking en governance.
De kern van Sui is het objectmodel. Bezittingen en data worden behandeld als objecten met een eigenaar, versie en unieke ID. Daardoor kan het netwerk vooraf zien welke transacties onafhankelijk zijn en die parallel verwerken.
Dat werkt niet voor alles tegelijk. Transacties die hetzelfde shared object willen wijzigen, moeten via consensus worden geordend. Ook brengt het werken met on-chain objecten opslagkosten en mogelijke conflicten rond hetzelfde object met zich mee. Sui combineert dus parallelle verwerking waar dat kan met consensus waar meerdere gebruikers dezelfde data willen aanpassen.