Move Gemini: Hoe Sui en Aptos het Blockchain-landschap uitdagen
Introductie
Onlangs is de markt aanzienlijk afgekoeld, waardoor zelfs veteranen in de sector zich afvragen wat het doel van de sector is. Ik wil graag enkele van mijn persoonlijke gedachten delen: Ik geloof dat veel van de grote visies uit het verleden “ontkracht” werden omdat ze nooit vanaf het begin logisch consistent waren.
Niet-financiële Dapps probeerden vaak decentralisatie te benadrukken om te verhullen dat de producten zelf niet goed genoeg waren. In werkelijkheid vragen ze me om Google, Twitter en YouTube te wantrouwen en in plaats daarvan te geloven dat hun multi-handtekening wallets en single-server setups veilig zijn.
Veel visioenen werden niet weerlegd, maar werden nooit echt getest. Ik geloof nog steeds dat zelfs als de meeste visies niet groots zijn, ze wel betekenis hebben – ze hebben misschien alleen een solide basis nodig om ze te ondersteunen. Uiteindelijk kan er minstens één van decentralisatie of gebruikerservaring vergelijkbaar met Web2 worden aangeboden.
Net zoals TON en Solana ooit werden onderschat, maar nu hun voorgangers in veel aspecten inhalen. De openbare ketens die toepassingen ondersteunen hebben innovatie nodig, wat in elke cyclus de motor is achter de vooruitgang van de industrie. Daarom zullen we vandaag een type openbare keten onderzoeken dat lang over het hoofd is gezien – het Move ecosysteem.
1. Verplaats
De Move programmeertaal werd oorspronkelijk gemaakt voor Meta’s verlaten project, Diem (aanvankelijk Libra genoemd), dat als doel had een stabielere en gereguleerde stablecoin te ontwikkelen als basis voor zijn metaverse visie.
Het project kreeg echter te maken met sterke tegenstand en voortdurende druk van mondiale toezichthouders. Zij vreesden dat de schaal van Diem en het enorme aantal gebruikers van Facebook een bedreiging zouden kunnen vormen voor de financiële stabiliteit, het monetaire beleid en de privacy van gegevens. Het leiderschap van de regering Biden bij het uitoefenen van druk dwong Meta uiteindelijk om het Diem-project op te geven.
Gelukkig werd de kern van Diem niet weggegooid. Verschillende facties die waren afgesplitst van het oorspronkelijke team bleven Move onderzoeken en ontwikkelen, wat zich heeft ontwikkeld tot de Move-tweeling die we vandaag de dag kennen -ui en Aptos. Daarnaast staan andere projecten zoals Linera (een op Rust gebaseerde blockchain geïnspireerd door Move) en het onlangs gepromoveerde Movement nog in de kinderschoenen.
Waarom is de resterende impact van een stopgezet project zo groot? Move, een blockchain programmeertaal ontwikkeld door een toonaangevend Web2 bedrijf, heeft een solide basis. Het werd ontworpen met de focus op het aanpakken van prestatie- en veiligheidsproblemen die veel voorkomen in bestaande blockchaintalen, vooral Solidity. De ontwerpdoelen waren het creëren van een type systeem op maat voor vermogensbeheer en toegangscontrole. Ik vat de belangrijkste punten als volgt samen:
- Beveiliging: Het ontwerp van Move geeft prioriteit aan beveiliging, door gebruik te maken van statische typecontroles en resource management om veelvoorkomende kwetsbaarheden zoals overflow fouten en reentrancy aanvallen te voorkomen. Vergeleken met andere virtuele taalmachines ondersteunt Move verschillende beveiligingsfuncties, zoals wordt geïllustreerd door de onderstaande vergelijking van Nansen.
- Samenstelbaarheid: Move ondersteunt modulariteit en combineerbaarheid, waardoor ontwikkelaars eenvoudig verschillende slimme contracten kunnen maken en combineren om complexere applicaties te bouwen.
- Prestaties: De virtuele machine van Move is geoptimaliseerd (ondersteunt parallelle verwerking, geheugenbeheer, compileroptimalisaties) om slimme contracten efficiënt uit te voeren, waardoor de transactiesnelheid en -doorvoer verbetert.
In een markt die verzadigd is met modulaire EVM-ketens, vertegenwoordigt Move een moedige poging tot iets anders. Je bent misschien soortgelijke beweringen tegengekomen in de introducties van veel openbare ketenprojecten, maar ik stel voor om het zelf te ervaren om deze concepten echt te begrijpen.
2. Sui
2.1 Architectuur
Als een van de Move-tweelingen kreeg Sui in het begin te maken met kritiek vanwege problemen met airdrops en token-release-mechanismen. Als we deze problemen echter buiten beschouwing laten en ons alleen richten op het project zelf, heeft Sui uitstekende prestaties en gebruikerservaringen laten zien, met name in de gamingsector.
Dit succes is nauw verbonden met de architectuur, die speciaal is verbeterd voor mainstreamgebruik. Hier volgt een kort overzicht van de architectonische innovaties van Sui:
- Object opslagmodel: Dit onderdeel is de kern van Sui’s verbeteringen aan Move. Het objectopslagmodel slaat gegevens op als individuele objecten, elk met een unieke identificatiecode. In tegenstelling tot traditionele databasesystemen heeft het objectopslagmodel geen vaste gegevensstructuur en kan het verschillende soorten gegevens opslaan, zoals tekst, afbeeldingen, video’s en audio. Dit model maakt parallelle uitvoering en horizontale schaalbaarheid (knooppunten toevoegen om de opslagcapaciteit uit te breiden) mogelijk. Sui’s ontwerp draait om dit model.
- Causaal ordenen: Zorgt ervoor dat transacties worden uitgevoerd in een volgorde die causale relaties respecteert, waardoor gegevensconflicten en inconsistenties worden vermeden. Hierdoor kan Sui grote hoeveelheden gelijktijdige transacties verwerken met behoud van dataconsistentie.
- Narwhal en Bullshark Consensus Motoren: Sui gebruikt Narwhal en Bullshark als consensusmachines. Narwhal is verantwoordelijk voor het ordenen en valideren van transacties door een lokale transactiepool te onderhouden, transacties te sorteren op basis van causale relaties en deze uit te zenden. Bullshark stemt, na ontvangst van de gesorteerde transactielijst van Narwhal, op de lijst met behulp van Byzantine Fault Tolerance (BFT) consensus om ervoor te zorgen dat alle knooppunten het eens zijn over de transactievolgorde.
- Sui Bewegen: Sui breidt de Move-taal uit door nieuwe functies toe te voegen, zoals ondersteuning voor NFT’s, activabeheer en gegevensopslag.
- Sui Kader: Sui biedt een compleet framework om ontwikkelaars te helpen snel applicaties te bouwen en te implementeren, inclusief tools en bibliotheken zoals Sui Wallet, Sui SDK en Sui CLI.
De architectuur van Sui maakt het mogelijk om grote hoeveelheden gelijktijdige transacties te verwerken met behoud van hoge snelheid, lage kosten en veiligheid. De Move taal en het Sui framework bieden ontwikkelaars ook krachtige tools om veilige, schaalbare en gebruiksvriendelijke applicaties te bouwen.
2.2 Consensus
De Sui blockchain gebruikt een consensusmechanisme genaamd Mysticeti, een Byzantine Fault Tolerant (BFT) consensus ontworpen voor lage latentie en hoge doorvoer.
Met Mysticeti kunnen meerdere validators parallel blokken voorstellen, waardoor de bandbreedte van het netwerk volledig wordt benut en censuur wordt tegengegaan. Bovendien heeft het protocol slechts drie berichtrondes nodig om een blok uit de Directed Acyclic Graph (DAG) te finaliseren, wat net als pBFT overeenkomt met het theoretische minimum.
De regels voor indiening staan parallelle stemming en certificering van blokleiders toe, waardoor de mediaan- en staartlatentie verder worden verminderd. De indieningsregels tolereren ook niet-beschikbare leiders zonder de latentie significant te verhogen.
Mysticeti draaide al drie maanden op het testnet voor de lancering van het Sui mainnet en liet significante resultaten zien, zoals een vermindering van 80% in latency. Nu kan het Sui-netwerk tienduizenden transacties per seconde verwerken, met een end-to-end latentie van ruim onder de één seconde.
De Sui blockchain maakt ook gebruik van een specifiek type Proof-of-Stake (PoS) consensus genaamd Delegated Proof-of-Stake (DPoS). Wanneer er een transactie plaatsvindt met gedeelde objecten (complexe transacties genoemd), gebruikt Sui de eerder genoemde Narwhal & Bullshark consensus engines voor het ordenen van transacties. Vergeleken met andere BFT-consensusmechanismen kunnen de voor- en nadelen van Sui in zes punten worden samengevat:
Voordelen:
- Lage latentie en hoge doorvoer: Het Mysticeti-protocol vermindert de consensuslatentie aanzienlijk en verhoogt de netwerkdoorvoer door parallelle blokvoorstellen en geoptimaliseerde berichtenstroom, waardoor Sui tienduizenden transacties per seconde kan verwerken met een latentie van eind tot eind die ruim onder de één seconde ligt.
- Weerstand tegen censuur: Met het Mysticeti-protocol kunnen meerdere validators parallel blokken voorstellen, waardoor het netwerk beter bestand is tegen censuur.
- Faal tolerantie leider: De aanmeldingsregels tolereren niet-beschikbare leiders zonder de latentie significant te verhogen, door automatisch een nieuwe leider te kiezen die het overneemt als de leider uitvalt.
Nadelen:
- Complexiteit: Het ontwerp van het Mysticeti-protocol is relatief complex en vereist een diepgaand technisch begrip om de operationele mechanismen volledig te begrijpen.
- Beveiliging: Hoewel het Mysticeti-protocol goed presteerde op het testnet, moet de beveiliging nog verder worden gevalideerd in echte toepassingen.
- Schaalbaarheid: De schaalbaarheid van het Mysticeti-protocol moet verder onderzocht worden om er zeker van te zijn dat het zich kan aanpassen aan toekomstige groei in netwerkgrootte en transactievolume.
2.3 Abstracte rekeningen
Sui’s abstracte accountmodel (Account Abstraction) is een mechanisme waarmee gebruikers hun accounts en transacties eenvoudiger en veiliger kunnen beheren door account- en transactielogica te abstraheren van het onderliggende blockchainprotocol, waardoor een hoger niveau van accountbeheer en transactieverwerking wordt bereikt.
In Sui’s abstracte accountmodel zijn accounts niet langer eenvoudige publiek-private sleutelparen, maar objecten met rijkere attributen en gedragingen. Elke account heeft een unieke identificatiecode, een account-ID genaamd, die is gekoppeld aan het openbare en privésleutelpaar van de account.
Het abstracte accountmodel van Sui bevat de volgende belangrijke onderdelen:
- Account Object: De fundamentele eenheid van accounts in Sui. Elk accountobject heeft een unieke account-ID en bevat de attributen en gedragingen van de account.
- Accountgegevens: De kerncomponent van het accountobject, die basisaccountinformatie bevat zoals account-ID en publiek-private sleutelpaar.
- Transactiecontext: De basiseenheid van transacties in Sui, die transactiegerelateerde informatie bevat zoals transactie-ID, rekening-ID en transactiegegevens.
- Accountlogica: De verzameling accountgedragingen en -regels in Sui, die definiëren hoe accounts transacties afhandelen en hun status beheren.
Het proces van het afhandelen van transacties in Sui’s abstracte accountmodel bestaat uit de volgende stappen:
- Transactie aanmaken: Gebruikers creëren een transactie en sturen deze naar het Sui-netwerk.
- Transactievalidatie: Het Sui-netwerk valideert de geldigheid en integriteit van de transactie.
- Account opzoeken: Het Sui-netwerk vindt het overeenkomstige rekeningobject op basis van de rekening-ID in de transactie.
- Accountlogica uitvoering: Het Sui-netwerk voert de rekeninglogica uit om de transactie te verwerken en de rekeningstatus bij te werken.
- Transactiebevestiging: Het Sui-netwerk bevestigt het transactieresultaat en schrijft het naar de blockchain.
Eenvoudig gezegd is Sui’s abstracte accountmodel een innovatief mechanisme dat accountbeheer en transactieverwerking vereenvoudigt, waardoor applicaties meer applicatie-achtig worden.
2.4 Gamen
Om zich te onderscheiden moet een blockchain eerst een solide basis bouwen. Ik verwees eerder naar het Move ecosysteem als een gedurfd experiment om twee belangrijke redenen.
Ten eerste, in een tijdperk waarin het concept van modularisatie wijdverspreid raakt, vertegenwoordigen de native Move ecosystemen (specifiek de Move twins) de laatste poging tot Layer 1-oplossingen, tegen de huidige trend in.
De recente opkomst van verschillende heterogene ketens bewijst echter dat modularisering niet het enige antwoord is.
Ten tweede is het herbouwen van een blockchain met behulp van een nieuwe programmeertaal vergelijkbaar met het proberen te creëren van een nieuw besturingssysteem om iOS en Android uit te dagen op de huidige smartphonemarkt – een pad dat onvermijdelijk vol uitdagingen zit.
Of het Move-ecosysteem de komende jaren zal schitteren zoals Solana, hangt sterk af van de richting die het kiest. Sui’s antwoord op deze uitdaging is gaming.
Gaming is een van de belangrijkste toegangspoorten tot Web3, maar de meeste blockchains ondersteunen gaming niet goed. Dit komt omdat blockchaintechnologie oorspronkelijk is ontworpen voor financiële toepassingen en omdat de gedecentraliseerde architectuur inherent lagere prestaties heeft, waardoor het niet geschikt is voor gaming.
Sui is echter anders. Het model is zeer geschikt voor zowel DeFi-toepassingen als niet-financiële toepassingen, waaronder spelletjes. Zoals eerder vermeld, is in Sui alles een object. In Sui kunnen objecten eigenaar zijn van andere objecten, waardoor het mogelijk is om complexe hiërarchieën van activa te modelleren die typisch zijn voor spellen of toepassingen.
Stel je voor dat je een spel speelt waarin een held een inventaris heeft en die inventaris andere digitale activa bevat die bij het personage horen. Sui kan deze gegevenshiërarchieën modelleren op manieren die andere blockchains niet kunnen. Dit geeft ontwikkelaars de mogelijkheid om toepassingen te bouwen zonder om de inherente beperkingen van de keten heen te hoeven werken.
Daarnaast werkt Sui actief samen met traditionele Web2-giganten. Vorig jaar ging Sui partnerships aan met drie van de vier grote Zuid-Koreaanse gaminggiganten (Netmarble, NHN en NCSoft). Dit jaar is Sui een samenwerking aangegaan met TikTok voor de ontwikkeling van blockchain-games en SocialFi-projecten, waardoor traditionele giganten de Web3-ruimte betreden.
3. Aptos
Aptos, een andere Layer 1 blockchain gebaseerd op de Move taal, is ook toegewijd aan het bouwen van een hoogperformante, schaalbare Web3 infrastructuur. Het architectonische ontwerp heeft veel overeenkomsten met Sui, maar het introduceert ook enkele unieke functies.
3.1 Architectuur
- Modulair ontwerp: Aptos heeft een modulaire architectuur waarmee ontwikkelaars onafhankelijk van elkaar verschillende modules kunnen ontwikkelen en upgraden, waardoor de ontwikkelingssnelheid en flexibiliteit toenemen.
- Engine voor parallelle uitvoering (Block-STM): In tegenstelling tot andere blockchains die vooraf verklaarde gegevensafhankelijkheden vereisen, kan de parallelle executie-engine van Aptos transacties parallel verwerken zonder voorafgaande kennis van gegevenslocaties, waardoor de doorvoer toeneemt en de latentie afneemt.
- Pijplijnverwerking van transacties: Aptos verdeelt transactieverwerking in meerdere fasen, zoals propagatie, het ordenen van metadata en batchopslag, en voert deze fasen parallel uit door middel van pipelining om doorvoer te maximaliseren en latentie te minimaliseren.
- Programmeertaal verplaatsen: Aptos gebruikt de programmeertaal Move en richt zich meer op verfijning dan op innovatie in vergelijking met Sui. Het standaardiseert bijvoorbeeld de taal, introduceert robuustere functieondersteuning en verbetert de aanpassingsmogelijkheden.
- Flexibele statussynchronisatie: Stelt knooppunten in staat om verschillende statussynchronisatiestrategieën te kiezen, zoals het synchroniseren van de volledige geschiedenis of alleen de laatste staat, waardoor de flexibiliteit van de knooppunten wordt verbeterd.
- AptosBFT Consensusmechanisme: AptosBFT is een Byzantine Fault Tolerance consensusmechanisme dat gebruikt wordt door Aptos. Het optimaliseert de communicatie en synchronisatie tussen validators om de doorvoer te verbeteren en de latentie te verminderen. Vergeleken met Sui, dat gezien kan worden als een verbeterde versie van DiemBFT, heeft AptosBFT bepaalde verbeteringen aangebracht in efficiëntie en herstel van crashen, dus wordt het hier kort genoemd.
De architectuur van Aptos maakt het mogelijk om een groot aantal gelijktijdige transacties te verwerken met behoud van hoge snelheid, lage kosten en veiligheid. Daarnaast bieden de Move taal en het Aptos raamwerk ontwikkelaars krachtige hulpmiddelen om veilige, schaalbare en gebruiksvriendelijke applicaties te bouwen.
3.2 Blok-STM
Laten we eens dieper ingaan op de kerninnovatie van Aptos, de parallelle executie-engine Block-STM:
Kernprincipes van Block-STM:
- Voorgedefinieerde sequentiële uitvoering: Block-STM vertrouwt op een vooraf gedefinieerde volgorde van transacties binnen een blok. Alle transacties moeten in deze volgorde worden uitgevoerd om consistentie in de uiteindelijke toestand te garanderen.
- Optimistische gelijktijdigheidcontrole: Block-STM voert transacties op optimistische wijze parallel uit, in de veronderstelling dat er geen conflicten zullen optreden. Deze controlemethode is gebaseerd op de aanname dat conflicten zeldzaam zijn, waardoor transacties gegevens kunnen benaderen en wijzigen zonder te vergrendelen. Er wordt verondersteld dat de waarschijnlijkheid van gelijktijdige conflicten laag is, dus wijzigingen kunnen doorgaan, met controles op conflicten voor de uiteindelijke vastlegging.
- Datastructuur met meerdere versies: Om optimistische concurrency controle te ondersteunen, gebruikt Block-STM een multi-versie datastructuur om gegevens op te slaan. Elke schrijfbewerking creëert een nieuwe gegevensversie, terwijl leesbewerkingen toegang hebben tot de corresponderende gegevensversie.
- Validatie en opnieuw proberen: Na het uitvoeren van een transactie controleert Block-STM of de versies van de gelezen gegevens nog steeds geldig zijn. Als de validatie mislukt, wat duidt op een conflict, wordt de transactie als ongeldig gemarkeerd en opnieuw uitgevoerd.
- Collaboratieve planning: Block-STM gebruikt een collaboratieve planner om de uitvoering en validatietaken van verschillende threads te coördineren, waardoor het parallellisme gemaximaliseerd wordt.
Blok-STM-workflow:
- Groepering van transacties: Groepeer transacties binnen een blok en wijs ze toe aan verschillende threads voor parallelle uitvoering.
- Optimistische uitvoering: Elke thread voert op optimistische wijze de aan hem toegewezen transacties uit en registreert de lees-/schrijfset van elke transactie.
- Validatie: Als een thread een transactie heeft voltooid, controleert hij of de gegevensversies in zijn leesverzameling nog steeds geldig zijn.
- Opnieuw proberen: Als de validatie mislukt, wat wijst op een conflict, wordt de transactie als ongeldig gemarkeerd en opnieuw uitgevoerd.
- Commit: Nadat alle transacties de validatie hebben doorstaan, worden hun resultaten naar de status van de blockchain geschreven, waarmee de transactie commit is voltooid.
Voordelen van Block-STM:
- Hoge doorvoer: Door gebruik te maken van optimistische concurrency controle en collaboratieve planning, maakt Block-STM volledig gebruik van multi-core processors, waardoor een hoge doorvoer wordt bereikt.
- Lage latentie: Omdat transacties parallel kunnen worden uitgevoerd, vermindert Block-STM de bevestigingstijd van transacties aanzienlijk.
- Beveiliging: De vooraf gedefinieerde sequentiële uitvoering en validatiemechanismen van Block-STM zorgen voor consistentie en veiligheid in de uiteindelijke staat.
Samengevat is Block-STM een efficiënte parallelle engine voor het uitvoeren van transacties die optimistische concurrency controle, multi-versie datastructuren en collaboratieve planning combineert om de doorvoer van blockchain te maximaliseren en tegelijkertijd veiligheid en correctheid te garanderen.
3.3 Accountabstractie
In tegenstelling tot Sui’s meer directe benadering van accountabstractie, ondersteunt Aptos een beperktere abstractie dimensie en mist het specifieke voorgedefinieerde standaarden. De abstractie mogelijkheden van Aptos komen voornamelijk tot uiting in de volgende gebieden:
- Modulair accountbeheer: Maakt gebruik van Move-modules om accounts te definiëren en te beheren, zodat ontwikkelaars aangepaste modules kunnen maken voor verschillende accounttypes en functionaliteiten.
- Flexibel sleutelbeheer: Stelt gebruikers in staat om verschillende sleutels te gebruiken voor verschillende accountbewerkingen, zoals het gebruik van één sleutel voor het ondertekenen van transacties en een andere voor accountbeheer.
- Programmeerbare transactieverificatie: Ontwikkelaars kunnen aangepaste logica voor transactieverificatie definiëren in Move-modules, zoals meerdere handtekeningen of limieten, om aan verschillende toepassingsscenario’s te voldoen.
3.4 Partnerschap met Microsoft
Vergeleken met Sui, dat zich meer richt op de ontwikkeling van games, heeft Aptos geen specifiek ontwikkelingsdoel. Zijn slogan is om de meest geschikte blockchain voor productie te zijn.
Een opmerkelijk aspect is de voortdurende samenwerking van Aptos met Microsoft, met als doel de AI-technologie van Microsoft te integreren in blockchain. Hun eerste samenwerkingsproduct, Aptos Assistant, een generatieve AI-assistent gebouwd op het Aptos netwerk, is al live op de officiële website. Aanvullende AI-producten zullen in de komende maanden worden aangekondigd.
4. Het bewegend ecosysteem
Hoewel Sui onlangs goed heeft gepresteerd, heeft het Move ecosysteem nog tijd nodig om volwassen te worden in vergelijking met EVM-gebaseerde ketens, Solana, Ton en andere heterogene ketens. Ondanks het feit dat Sui en Aptos in de schijnwerpers staan en technologische doorbraken maken, zijn de totale omvang en activiteit van het Move ecosysteem nog niet op hetzelfde niveau als andere volwassen ecosystemen.
Het aantal ontwikkelaars, de soorten toepassingen en de gebruikersbasis hebben nog tijd nodig om te groeien. In termen van externe samenwerkingen en operaties, vertonen zowel Sui als Aptos een sterke Web2 mentaliteit en missen ze iets van de Web3 essentie, waardoor hun projecten relatief low-key zijn gebleven binnen de industrie.
Het potentieel van het Move-ecosysteem is echter veelbelovend. Sommige ontwikkelaars erkennen de toekomstige waarde van Move al. Zoals vermeld in het voorwoord, zijn er al projecten die Move integreren in Ethereum Laag 2 oplossingen. In de toekomst kan het Move ecosysteem schitteren binnen de ETH Layer 2 ruimte. De huidige focus ligt op hoe we het Move ecosysteem verder kunnen promoten.