In 2021 zijn NFT's (non-fungible tokens) ontzettend populair geworden, op hetzelfde moment dat ook de gaming-, DeFi- en dApp-sector een enorme boost in populariteit kreeg.
Flow is een blockchain waar NFT-, gaming-, DeFi en dApp-producten op kunnen draaien. Daarbij heeft het ook al een aantal opmerkelijke samenwerkingen en partnerships gesloten, met bijvoorbeeld Samsung en NBA-basketballer Andre Iguodala.
In dit artikel leg ik je eerst uit wat Flow eigenlijk is, en door wie het is gemaakt. Zodra je wat meer achtergrondinformatie hebt, vertel ik je hoe de Flow-blockchain werkt.
Bekijk snel
Wat is Flow?
Veel blockchains lopen tegen hetzelfde probleem aan: de schaalbaarheid. Wanneer blockchains vaker gebruikt worden, kunnen ze het verkeer niet meer aan. Hierdoor duurt het lang voordat een transactie verwerkt kan worden, en betaal je ook nog eens de hoofdprijs.
Denk maar aan de blockchain van Ethereum (ETH). Een transactie kan honderden dollars aan Gas-kosten bedragen. Dit komt doordat er te veel transacties uitgevoerd worden, waardoor er veel transacties in de wachtrij terecht komen.
De blockchain van Flow is gemaakt voor het bouwen en laten draaien van consumenten applicaties die crypto-compatible zijn. Denk hierbij aan games en de tools die binnen deze games worden gebruikt (NFT's).
De focus ligt op een hoge transactiesnelheid. Ontwikkelaars van Flow vinden dit namelijk het belangrijkste aspect voor een blockchain die zich richt op de consumentenmarkt.
Daarnaast wil het team achter Flow dat de blockchain zo gebruiksvriendelijk mogelijk is voor ontwikkelaars van applicaties. Logisch: wanneer ontwikkelaars zo makkelijk mogelijk hun applicatie op Flow kunnen bouwen, zullen er meer applicaties op de blockchain gaan draaien. Dit zorgt voor een toename van het aantal gebruikers, waardoor ook meer mensen het FLOW-token in bezit zullen hebben (wat de prijs zal doen stijgen).
Het FLOW-token is het native token van de blockchain, en wordt gebruikt om de blockchain aan te drijven. Wil je meer te weten komen over wat de Flow-blockchain is? Dan raad ik je aan om onderstaande video eens te gaan bekijken.
Het team achter Flow
Net zoals bij veel andere blockchainprojecten zit er een vrij groot team achter het Flow-project. Dapper Labs is het bedrijf dat de blockchain van Flow heeft bedacht en aan het ontwikkelen is. Dit bedrijf is zelf opgericht in Canada, in 2016.
Misschien ken je dit bedrijf wel. Dapper Labs is namelijk ook het brein achter CryptoKitties, Cheeze Wizards en Top Shot.
Flow zag later pas het levenslicht: in 2019 ging de white paper van Flow live, en begonnen de ontwikkelaars van Dapper Labs met de ontwikkeling van het project.
Op het eerste moment zou Flow een blockchain worden waar simpelweg NFT's, zoals CryptoKitties, op gebouwd zouden kunnen worden. De preview was in december van 2019, maar in september 2020 werd de pre-launch pas gehouden. Op dat moment werd ook het FLOW-token gelanceerd, samen met het mainnet.
Dit zijn de belangrijkste personen in het team van Dapper Labs:
- Roham Gharegozlou - Mede-oprichter en CEO
- Dieter Shirley - Mede-oprichter en CTO
- Weilei Yu - CMO
Hoe werkt Flow? Een technische uitleg voor beginners
Je bent hier natuurlijk gekomen om erachter te komen hoe de blockchain van Flow werkt. Voor veel mensen is het lastig om de werking van een blockchain te begrijpen. Dat is niet gek, want er komen nogal vaak woorden in de teksten voor die je misschien niet kent.
Alle lastige woorden in onderstaande tekst zijn gekleurd. Door op deze woorden te klikken, ga je naar een artikel met meer informatie over deze woorden.
Programmeren met Cadence
Ontwikkelaars kunnen binnen de blockchain van Flow resource-georiënteerd programmeren. Dit wordt gedaan door middel van een nieuwe programmeertaal, genaamd Cadence. Alle ontwikkelaars gebruiken Cadence om smart contracts op de blockchain te kunnen schrijven.
Veel developers zullen misschien niet blij zijn met het feit dat ze een nieuwe programmeertaal moeten aanleren voordat ze een applicatie kunnen ontwikkelen op de blockchain. Toch ligt het iets anders.
Cadence is er namelijk gemaakt om makkelijker in gebruik te zijn voor ontwikkelaars. Flow wil dat ontwikkelaars smart contracts kunnen maken, op dezelfde manier als dat legoblokjes in elkaar worden geklikt.
Daarnaast zorgt Cadence ook nog eens voor meer veiligheid voor de gebruikers. En dat is nodig, want in het verleden zijn er al verschillende hacks geweest binnen de smart contracts van Ethereum, welke met Solidity worden geschreven.
Waarom kan een eigen programmeertaal nadelig zijn?
Net gaf ik aan dat developers niet blij kunnen zijn wanneer een blockchain een eigen programmeertaal heeft. Dit komt doordat ontwikkelaars vaak al veel verschillende programmeertalen kennen.
Wanneer ze voor ieder project een nieuwe taal moeten leren, kost dat ontzettend veel tijd. Dit kan ontwikkelaars afschrikken om gebruik te maken van desbetreffende blockchain. Het is daarom belangrijk dat een programmeertaal makkelijk te leren en gebruiken is, zodat het voor ontwikkelaars geen probleem is om de programmeertaal te leren.
Veel ontwikkelingsteams zorgen er daarom voor dat hun eigen programmeertaal lijkt op een programmeertaal die veel developers al kennen. Ze voeren dan een aantal aanpassingen door, waardoor de programmeertaal nóg makkelijker in gebruik is, of juist meer veiligheid kan garanderen.
In onderstaande video kun je zien hoe Cadence eruit ziet, en wat je als ontwikkelaar moet doen om deze programmeertaal onder controle te krijgen.
Architectuur
Zoals ik al eerder heb gezegd, is de schaalbaarheid van de Flow-blockchain een van de belangrijkste focuspunten voor het team achter Flow. De blockchain is daarom ontworpen om op te kunnen schalen naar miljarden gebruikers, zonder dat sharding nodig is of de decentralisatie van het netwerk en consensus algoritme wordt verminderd.
Flow heeft dit opgelost door een pijplijn architectuur te maken, welke de taken op zich neemt die normaliter door nodes worden uitgevoerd. Dit zorgt ervoor dat de nodes veel efficiënter kunnen werken, omdat ze veel minder overtallige inspanningen hoeven uit te voeren. De nodes worden vervolgens in de volgende vier groepen verdeeld:
- Consensus node: deze node bepaalt de aanwezigheid van de transacties, en zorgt voor de juiste volgorde hiervan binnen de blockchain.
- Collection node: deze node zorgt voor de netwerkconnectie en dat de data voor dApps beschikbaar is.
- Execution node: deze node zorgt ervoor dat de transactie wordt toegevoegd aan een block.
- Verification node: deze node controleert het werk dat de execution node uitvoert.
Bij andere blockchains moeten nodes bijvoorbeeld de gehele status van de blockchain opslaan. Hierdoor worden de nodes erg traag, aangezien ze veel minder resources over hebben om transacties te verwerken. Dit is dus niet het geval binnen het netwerk van Flow.
Doordat iedere node een eigen taak heeft, kunnen ze hun taken veel sneller uitvoeren. Dit kun je vergelijken met de taken die door mensen uitgevoerd moeten worden.
Wanneer iemand een product in een doos moet doen, de doos moet dichtmaken, de sticker erop moet plakken en de doos vervolgens op de container moet zetten, duurt het vrij lang voordat één doos klaar voor verzending is.
Het gaat een stuk sneller wanneer ieder onderdeel in het proces wordt uitgevoerd door één persoon. Er zullen dan in dezelfde tijd veel meer dozen klaar worden gemaakt voor verzenden. Dat is ook hoe het gaat met de transacties binnen Flow.
In onderstaande video wordt meer uitleg gegeven over de architectuur van de Flow-blockchain.
Sharding
Dapper Labs heeft nagedacht om sharding toe te passen binnen de blockchain. Dit kan namelijk verschillende voordelen hebben, waarvan een hoge transactiesnelheid de belangrijkste is. Er zijn dan ook verschillende blockchains die gebruik maken van sharding, zoals Elrond en Radix.
Toch heeft het team ervoor gekozen om dit gebruik te maken van sharding. De reden hiervoor is dat sharding door de opdeling de mogelijkheid om een opeenvolgende serie van data weg te zetten lastiger maakt. Dat is belangrijk, want dat is essentieel voor de ontwikkeling van een applicatie en de samenwerking van andere applicaties.
Proof of Stake (PoS)
Het netwerk van Flow is gebaseerd op het Proof of Stake consensus algoritme. Er zijn veel verschillende soorten consensus algoritmes, waarvan Proof of Work (PoW) waarschijnlijk het bekendst is. Toch zien we de laatste jaren dat steeds meer blockchains voor het PoS-mechanisme kiezen.
De voornaamste redenen hiervoor zijn dat dit algoritme veel minder stroom kost, en ook vele malen sneller is dan het PoW-algoritme.
Bij een PoS-algoritme is er namelijk maar één node aan het werk per blok. Deze node, ook wel een validator genoemd, wordt van te voren al uitgekozen op basis van de stake die ze hebben ingezet. Dit is echter ook een nadeel, ten opzichte van een aantal andere algoritmes.
Het nadeel van Proof of Stake is dat de rijken steeds rijker worden. Je hebt een redelijk geldbedrag nodig om een validator-node te kunnen laten draaien binnen het netwerk. Deze validators ontvangen een beloning voor hun werk, waardoor het netwerk steeds vaker alleen wordt gecontroleerd door dezelfde nodes.
De voordelen van Proof of Stake zijn belangrijk om te weten, maar het is natuurlijk ook niet onbelangrijk om een aantal nadelen te kennen, zodat je een realistischer beeld krijgt.
Weet je nog niet goed hoe Proof of Stake werkt, en wat het verschil is met het Proof of Work algoritme? Dat wordt in onderstaande video op een simpele manier uitgelegd.
Gericht op consumenten
Flow richt zichzelf voornamelijk op de gebruiksvriendelijkheid voor ontwikkelaars, maar vergeet hierbij de gebruikers niet. Ze willen namelijk dat consumenten de blockchain net zo makkelijk kunnen gebruiken als ontwikkelaars dat kunnen.
Dit doen ze bijvoorbeeld door middel van upgradebare smart contracts, waardoor gebruikers van veel meer functies gebruik kunnen maken. Zo kan Flow optimaal gebruikt worden.
Een andere manier waar ze dat op doen, is door middel van beveiliging die leesbaar is voor 'normale' mensen. Veelal is de uitleg omtrent beveiliging erg lastig te begrijpen, waardoor mensen deze uitleg standaard overslaan. Dat zorgt ervoor dat mensen niet weten hoe veilig een applicatie is, met alle gevolgen van dien.
ACID - Atomic, Consistent, Isolated, Durable
Iedere transactie kan afzonderlijk door de blockchain worden verwerkt. Dit komt door de manier waarop Flow is ontwikkeld. De werking van Flow zorgt ervoor dat de blockchain de volledige ACID-garanties heeft. ACID staat voor Atomic, Consistent, Isolated en Durable.
Ontwikkelaars kunnen makkelijk, veilig en efficiënt de code van andere ontwikkelaars kopiëren en hergebruiken. De code die op een blockchain is geschreven, is immers open-source. Daarom mogen ontwikkelaars zulke code altijd zonder problemen hergebruiken.
Dit werkt alleen maar in het voordeel van ontwikkelaars en gebruikers. Op deze manier kunnen applicaties namelijk steeds beter worden, waardoor er steeds nieuwere en geavanceerdere applicaties op de markt komen.
Wanneer je meer wilt weten over ACID, kan het verstandig zijn om onderstaande video te bekijken.
Conclusie
Flow is een blockchain die niet te vergelijken is met de meeste andere blockchains. Dit komt door de technische werking van de blockchain, die uniek in zijn soort is.
De ontwikkelaars van Flow vinden het belangrijk dat de blockchain schaalbaar is - tot miljarden gebruikers - en makkelijk te gebruiken is door ontwikkelaars en gebruikers.
Het team achter Flow heeft dit gedaan door een eigen programmeertaal te ontwikkelen, genaamd Cadence. Een ander belangrijk aspect is de architectuur van de blockchain. Er wordt gebruik gemaakt van een pijplijn structuur, waarbij nodes afzonderlijke taken hebben gekregen. Dit komt de snelheid van de blockchain ten goede.
In tegenstelling tot veel andere blockchains die de snelheid willen verbeteren, maakt Flow geen gebruik van sharding. De reden hiervoor is dat sharding door de opdeling de mogelijkheid om een opeenvolgende serie van data weg te zetten lastiger maakt. En dat lijkt zijn vruchten af te werpen, want Flow lijkt een ontzettend goedlopend project.
Wil je na het lezen van dit artikel nog meer weten over de Flow-blockchain? Stel dan je vragen in onze AllesOverCrypto Facebookgroep en dan beantwoorden onze experts al jouw vragen.
Heb je andere crypto gerelateerde vragen? Het makkelijkste is om jouw vraag in onze FAQ op te zoeken. Wat je ook kan doen, is dat je jouw vraag + "AllesOverCrypto" googelt. Je zult dan snel uitkomen bij één van onze andere artikelen die over dat onderwerp gaan, zodat je weer snel meer kunt leren over dat onderwerp.