🇳🇱 Aiken: de toekomst van smart contracts

Aiken is een nieuwe en toegankelijke programmeertaal die speciaal is ontwikkeld om zowel de ontwikkeling van smart contracts op Cardano te vereenvoudigen als te verbeteren. Het heeft een eenvoudige syntaxis die gemakkelijk te leren is en ontworpen is voor naadloze integratie met andere tools en talen. Daarnaast bevat het verschillende geavanceerde functies die voldoen aan de huidige verwachtingen van ontwikkelaars.

In ware opensource-stijl is Aiken ontstaan uit de toegewijde inspanningen van verschillende individuen. Na de oorspronkelijke start met de steun van TxPipe, toonden nieuwe ontwikkelaars interesse in het project en besloten ze hun tijd en aandacht eraan te besteden. Ook de Cardano Foundation ziet het potentieel van Aiken en hoe het de groei van het Cardano ecosysteem kan bevorderen door smart contractontwikkeling te bieden met een geoptimaliseerde ontwikkelaarservaring. We nodigen iedereen uit om meer te weten te komen over Aiken en heten iedereen die geïnteresseerd is in het deelnemen aan deze onlangs uitgebrachte alfaversie van harte welkom.

Waarnemen van de hiaten

Het is algemeen bekend dat het Haskell Plutus-platform — tot nu toe de enige volledig ontwikkelde programmeertaal voor smart contracts op Cardano — vaak moeilijk of zelfs frustrerend is om te gebruiken. Het opzetten van een werkende Haskell-omgeving kan uitdagend zijn, vooral wanneer het gaat om ad-hoc-compilerplugins zoals PlutusTx — de Glasgow Haskell Compiler (GHC) -plugin voor het compileren van Haskell-broncode voor Cardano. Hulpmiddelen zoals taalservers — tools die de programmeerervaring verbeteren door integratie met code-editors — werken meestal niet met de standaard installatie-instellingen en zijn omslachtig om te configureren. Bovendien is het Plutus-platform gebaseerd op de bestaande Haskell taal, maar voegt het verschillende ingebouwde bibliotheken, ecosystemen en programmatische semantiek toe die afwijken van de standaard Haskell, wat vaak leidt tot verwarrende situaties, zelfs voor ervaren Haskell ontwikkelaars. Ten slotte ontmoedigt het Plutus platform het gebruik van andere talen voor off-chain code, waardoor teams niet met hun gebruikelijke tools en talen kunnen werken voor wat uiteindelijk een groot deel van hun gedecentraliseerde toepassing vertegenwoordigt. Hoewel het mogelijk is om een andere taal aan te nemen voor de gehele off-chain infrastructuur, kan de interfacing met de on-chain code onhandig en moeilijk op te lossen zijn. Toch kiezen veel projecten ervoor om verschillende talen te gebruiken voor hun off-chain code.

Dit hoeft echter niet de enige manier te zijn. Talen zoals Rust en Elm hebben de ervaring van het schrijven van code naar nieuwe hoogten getild. Elm maakt het bijvoorbeeld onmogelijk om uitvoeringsfouten te hebben door de grenzen tussen een programma en de buitenwereld achter een duidelijke en veilige scheiding te houden, waarbij wordt beperkt hoe de geschreven code interageert met externe code, systemen of applicatieprogrammeerinterfaces (API’s). Daarnaast maakt het programmeren tot een plezier en verlaagt het aanzienlijk de instapdrempel, zodat iedereen direct productief kan zijn, zelfs bij grote codebases.

Rust daarentegen herstelt de verbinding met handmatig geheugenbeheer en mutabiliteit, maar met een innovatieve aanpak die eenvoudige, maar potentieel catastrofale fouten voorkomt. Het blijft ook continu de grenzen verleggen van wat gereedschap voor ontwikkelaars kan doen en hoe ontwikkelaars meer intelligentie kunnen aanwenden in hun dagelijkse ontwikkelpraktijken.

Deze talen en platformen bieden een betere ontwikkelervaring voor ontwikkelaars, waardoor het gemakkelijker wordt om code van hoge kwaliteit en robuustheid te schrijven. Daarom kunnen ecosystemen die niet aan deze normen voldoen moeite hebben om pragmatische ontwikkelaars aan te trekken en te behouden. Aiken is precies ontstaan om dit hiaat aan te pakken.

De architectuur van Cardano en de virtuele machine voor smart contracts bieden de mogelijkheid om externe tools en nieuwe talen erbovenop te creëren. In feite voert het Cardano ledger geen Haskell uit op de blockchain. Elke node wordt geleverd met een Plutus-interpreter die verantwoordelijk is voor het uitvoeren van scriptvalidatoren on-chain. Deze interpreter voert een rudimentaire taal uit die Untyped Plutus Core (UPLC) wordt genoemd. Dit is de taal waarop het Haskell Plutus-platform compileert. En nu doet Aiken dat ook.

Aiken: introductie & hoe het werkt

Aiken introduceert een nieuwe, gemakkelijk te leren programmeertaal die is ontworpen om de Cardano ervaring bij het ontwikkelen van smart contracts naar het niveau te tillen dat ontwikkelaars verwachten in 2023. Aangezien het specifiek is ontwikkeld voor Cardano, bevat het verschillende domeinspecifieke handigheidjes om het ontwikkelproces gemakkelijker en efficiënter te maken. Enkele voorbeelden hiervan zijn:

· Behulpzame en snelle terugkoppeling van de compiler

· Automatische code-opmaak

· Een taalserver met integratie voor editors

· Een test- en benchmarking-framework

· Documentatie gegenereerd uit code opmerkingen

· Een interoperabel en draagbaar binair specificatieformaat (CIP-0057)

Aiken streeft ernaar de tijd die ontwikkelaars nodig hebben om aan de slag te gaan en hun projecten af te ronden te verkorten. Het team wilde de huidige ervaring van het opzetten, die nu meerdere dagen in beslag neemt, veranderen in een snelstart van 10 minuten zonder concessies te doen aan de beveiliging en kwaliteit. Daarom heeft Aiken een vertrouwde syntaxis die lijkt op die van de C-familie, terwijl het nog steeds een puur functionele taal is. Op veel manieren lijkt het syntactisch op Rust en TypeScript.

Om het proces kort uit te leggen, is een compiler een programma dat code geschreven in een programmeertaal omzet in code die door een computer kan worden uitgevoerd, zoals een CPU en basis machine-instructies. In het geval van Aiken neemt de compiler code geschreven in Aiken, voert een verscheidenheid aan controles uit en genereert vervolgens Untyped Plutus Core-programma’s die op de Cardano blockchain kunnen worden gebruikt. Technisch gezien is Untyped Plutus Core een polymorfische lambdacalculus met toegevoegde ingebouwde functies die specifiek zijn voor de Cardano keten en worden gebruikt om bijvoorbeeld handtekeningen te verifiëren. Deze vertalingen van de ene programmeertaal naar de andere worden meestal niet met de hand geschreven. In plaats daarvan zouden machines ze moeten schrijven en interpreteren. Compilers stellen ontwikkelaars in staat om expressievere talen te gebruiken die gemakkelijker te leren en te begrijpen zijn, en toch machinale instructies te produceren die worden begrepen door de onderliggende uitvoeringsengine. Ze kunnen worden toegepast bij het werken met een desktopmachine of een internetbrowser, of in ons geval met de Cardano blockchain.

Het schrijven van onze eigen compiler stelt ons in staat om specifieke gevallen voor het schrijven van smart contracts te onderzoeken en betere feedback van de compiler te geven, evenals extra begeleiding bij het schrijven van contracten. Bovendien is de taal gericht op leesbaarheid, zodat deze gemakkelijk te controleren is en de kans op fouten verkleint.

Naast de programmeertaal biedt Aiken ook een toolkit voor het werken met Cardano smart contracts en met name met low-level Untyped Plutus Core. Aiken biedt een toegankelijke manier om on-chain code te decompileren naar een representatie op een hoger niveau. Het kan scripts evalueren in de context van een transactie en uitvoeringskosten rapporteren, vergelijkbaar met hoe het Cardano ledger dat in elke node is ingebed, doet.

De geschiedenis, het heden en de toekomst van Aiken

Het project begon als een gesprek tussen ingenieurs uit verschillende achtergronden en werd tot leven gebracht met de oorspronkelijke ondersteuning van TxPipe vanwege gedeelde doelen en een gemeenschappelijke filosofie. Het duurde niet lang voordat de Cardano Foundation besloot het project te ondersteunen en de ontwikkeling ervan te versnellen. Vandaag de dag is het project uitgegroeid tot meer dan alleen de twee initiatiefnemers en begint het wortel te schieten in de bredere Cardano gemeenschap.

“Toen het idee om een nieuwe taal en toolchain helemaal opnieuw te ontwikkelen voor het eerst ter sprake kwam, leek het behoorlijk ontmoedigend, iets dat een team van 10 ingenieurs en meerdere jaren ontwikkeling zou vereisen.”

In minder dan een jaar, ver boven alle verwachtingen uit, is Aiken nu klaar voor een alpha-release. De vaardigheid en expertise van het kernteam zijn werkelijk opmerkelijk. De resultaten getuigen van de kracht van open source ontwikkeling en de samenwerkingsgeest binnen de Cardano gemeenschap.

Met de immense steun van de Cardano Foundation ben ik ervan overtuigd dat Aiken een diepgaande impact zal hebben op ons ecosysteem, innovatie zal bevorderen en ontwikkelaars zal empoweren.” — Santiago Carmuega — TxPipe

Aiken is een uitstekend voorbeeld van open source, met bijdragers uit de Cardano gemeenschap die op veel fronten samenwerken en hun feedback delen. Bovendien heeft het Aiken-team ervoor gezorgd dat er een package manager beschikbaar is die de ontwikkeling van open source bibliotheken met schone en gemakkelijk te hosten gegenereerde documentatie stimuleert. We kijken ernaar uit om de Aiken bibliotheken te zien die de gemeenschap zal ontwikkelen en delen.

Om iedereen die geïnteresseerd is in het aan de slag gaan met Aiken te helpen, hebben we een “hello world” tutorial gemaakt als een snelle startgids voor degenen die meteen aan de slag willen gaan. Zelfs vóór enige aankondiging hebben al meer dan 30 pioniers de tutorial voltooid, en we moedigen anderen aan om zich bij de groeiende Aiken-gemeenschap aan te sluiten door de tutorial zelf te proberen. Naast de tutorial heeft het Aiken-team gewerkt aan talloze documentatie over de taal en hoe slsmart contracts op Cardano te schrijven, die allemaal worden gehost op openbare repositories en waar gemakkelijk kan aan worden bijgedragen, zodat ze in de loop van de tijd kunnen worden verbeterd en uitgebreid.

Wij, bij de Cardano Foundation, samen met het hele Aiken-team, zijn verheugd om te zien dat Aiken zijn officiële alphafase ingaat. Hoewel dit betekent dat alle belangrijke functies zijn geïmplementeerd, kunnen er nog steeds ruwe randen en bugs zijn die moeten worden gladgestreken. Op dezelfde manier, hoewel de alpha al wordt geleverd met de essentiële functionaliteiten om productief on-chain contracten voor Cardano te schrijven, testen, documenteren en benchmarken, is het belangrijk om voorzichtig te zijn bij het gebruik van Aiken in een productieomgeving. We raden dit stadium nog niet aan.

Het Aiken-team zal dit jaar grondige audits van Aiken uitvoeren om ervoor te zorgen dat het voldoet aan de robuustheidsnormen die worden verwacht van een enterprise-grade toolkit. Als Aiken verantwoordelijk is voor het beheren van aanzienlijke hoeveelheden activa, is het cruciaal om alle noodzakelijke garanties te bieden. Robuustheid vormt een integraal onderdeel van de filosofie van Aiken, samen met gebruiksgemak. Een deel van deze reis naar het mainnet vereist vroege betrokkenheid van ontwikkelaars, omdat alleen echte gebruikersfeedback ons enige hoop kan geven om deze tool correct te vormen voor de lange termijn. We roepen daarom de eerste Aiken-pioniers op om zich bij ons aan te sluiten in dit avontuur en ons te helpen van Aiken de toekomst van smart contractontwikkeling op Cardano te maken.

Na maanden van intensief werk zijn we verheugd dat we deze mijlpaal hebben bereikt, en het wordt belangrijk om de vele mensen te bedanken die ervoor hebben gezorgd dat het project dit stadium heeft bereikt. Niets belangrijks wordt ooit alleen gebouwd. Aiken zou niet zover zijn gekomen zonder de steun van meerdere bijdragers die hun tijd en aandacht hebben besteed aan het verbeteren van Aiken.

Of het nu gaat om het doen van de “hello world” tutorial, het geven van feedback, het openen van discussies of het schrijven van wat Aiken-code, de Cardano Foundation nodigt iedereen uit om deel te nemen aan de verdere ontwikkeling van Aiken. We hopen dat het een mooie toekomst zal brengen voor smart contracts op Cardano.

Tekst vertaald naar het Nederlands door BeADA Cardano Stake Pool (www.beadapool.com). Als u dit artikel nuttig vond, kan u mijn werk steunen door te delegeren aan onze Cardano stake pool (ticker: BEADA) Origineel artikel vindt u hier.
Aiken: the Future of Smart Contracts