Het gebruik van blockchaintechnologie heeft implicaties voor gegevensbeheer – een complex onderwerp. Om toepassingen, supply chains, smart contracts, transacties en processen op basis van blockchain te verbeteren, is goed beheer van data essentieel.
Blockchain data basics: on-chain data vs. off-chain data
Blockchains zijn permanente, niet-wijzigbare digitale gegevensketens of ‘onveranderlijke grootboeken’. Deze worden onderhouden en gecontroleerd door een netwerk van gedecentraliseerde systemen verspreid over de hele wereld, in plaats van één centrale locatie, zoals de server van één bank. Blockchains zijn niet het eigendom van één organisatie maar zijn gedistribueerd – op veel plekken tegelijkertijd – opgeslagen.
In theorie kan niemand records verwijderen of wijzigen als deze eenmaal zijn toegevoegd aan de chain. Echter, als data niet verwijderd kunnen worden, stapelen ze zich op en neemt de omvang snel toe. Blockchains zijn daarom niet geschikt om grote hoeveelheden data op te slaan. In plaats daarvan wordt, wanneer een transactie op een blockchain wordt geregistreerd – bijvoorbeeld een aankoop – die gebeurtenis op verschillende punten geregistreerd. Dit wordt ‘on-chain’ data genoemd. Alle andere data die horen bij deze transactie – bijvoorbeeld een afbeelding – of aanvullende informatie worden buiten de chain opgeslagen, wat ook wel ‘off-chain’ data wordt genoemd.
Wat gebeurt er met data op een blockchain?
Stel dat een blockchain een zending registreert. Wanneer de zending door de douane komt, wordt het gelogd – denk aan metadata over de inhoud, de datum en andere gegevens. Vervolgens registreren IoT-sensors tijdens het transport de temperatuur en vochtigheid, wat een permanent bewijs oplevert voor het geval er tijdens ontvangst een probleem is met de kwaliteit. De data op de chain kan niet worden gewijzigd, alleen aangevuld en er is geen eigenaar. Dit betekent dat er geen gegevens kunnen worden vervalst of betwist. De data over de zending worden dus weliswaar geregistreerd in de chain, maar opgeslagen in een database buiten de chain (lees: de index met gebeurtenissen staat in de chain en verwijst naar een daadwerkelijke opslaglocatie met de relevante informatie).
Met blockchains is het mogelijk om smart contracts te bouwen. Vaak missen deze echter geavanceerde mogelijkheden en efficiëntie. Ze hebben bijvoorbeeld geen directe toegang tot data buiten de chain. Zonder een manier om data uit de chain aan te sluiten op data en toepassingen uit de ‘echte wereld’ is het moeilijk om de voordelen van blockchain echt te benutten. Het koppelen van een blockchain aan een server, API of database gaat daarentegen tegen het concept van de blockchain in, omdat je daarmee opnieuw een vorm van centralisatie introduceert.
Oplossingen voor blockchain data storage
Er zijn diverse oplossingen voor het blockchain data storage probleem, zoals zogenaamde ‘oracle networks’. Daarbij kan een versleutelde code gebruikers naar off-chain storage leiden, waar de additionele data worden opgeslagen. Beide worden met elkaar verbonden via een oracle network. Zo’n oracle network, bijvoorbeeld Chainlink, is een gedecentraliseerde technologie van derden die blockchains verbindt met de ‘echte wereld’ en met data storage. Ze zorgen voor een verbindend element met data, terwijl de blockchains zelf gedecentraliseerd blijven.
Niet iedere vorm van storage kan worden gebruikt voor blockchain, zeker niet als de blockchaintoepassingen worden opgeschaald. Om de snelheid en de efficiëntie van blockchain te kunnen benutten, moet de storage snel en zeer schaalbaar zijn en moet het verschillende soorten data kunnen consolideren. Data pipelines kunnen blockchains in staat stellen om relationele data te raadplegen. Pipelines koppelen en bundelen data van verschillende databronnen binnen een gedecentraliseerde omgeving en bieden de parallellisering die nodig is om data snel en wendbaar te maken.
Is blockchain een vervanging voor een database?
Ja en nee. Beide houden zich bezig met het opslaan van data, maar doen dat op een andere manier. De blockchain blinkt uit door zijn onveranderlijkheid, maar mist efficiëntie. Daarnaast kunnen veel blockchains niet bestaan zonder een oracle network en de protocollen voor verbinding met onderliggende database storage. Blockchain kan worden beschouwd als de volgende generatie database, in de zin dat het data opslaat, maar met een paar belangrijke verschillen met traditionele data storage:
- Blockchains zijn niet gecentraliseerd. Normaal gesproken heeft een database één ‘eigenaar’ die bepaalt wat er kan worden weggeschreven. Ook staat de database vaak op één locatie. Blockchain staat daarentegen opgeslagen op vele systemen en kent geen echte ‘eigenaar’.
- Blockchains zijn onveranderlijk. Zodra iets is opgeslagen op de blockchain, kan het niet meer worden verwijderd of gewijzigd. Het is een registratiesysteem dat alleen kan worden aangevuld. Traditionele databases zijn daarentegen juist ontworpen om bijgewerkt te worden.
- Blockchains hebben veel beheerders, niet slechts één. Hierdoor is het niet nodig om slechts één beheerder op de blockchain te vertrouwen. De blockchain zelf is het bewijs van authenticiteit en biedt bescherming tegen fraude of wantrouwen.
- Blockchain is inefficiënt voor de opslag van grote bestanden. Het ‘on-chain’ opslaan van data kan erg duur zijn. Het is hierdoor geen goede optie om meer dan de kerngegevens schaalbaar en efficiënt op te slaan. Ook kunnen de meeste SLA’s het zich niet veroorloven om minuten per megabyte te wachten. Dit alles betekent dat blockchainapplicaties in veel gevallen afhankelijk zullen zijn van een vorm van off-chain storage. Voor het opslaan van grote bestanden en meer bijbehorende metadata zullen onderliggende databases essentieel blijven.
Conclusie
Blockchaintechnologie is een interessant onderwerp dat zich blijft ontwikkelen en nog voor de nodige uitdagingen staat op het gebied van data storage. Totdat deze uitdagingen zijn opgelost zal het geen enkele industriesector echt kunnen ontwrichten.
Dit is een ingezonden bijdrage van Pure Storage. Via deze link vind je meer informatie over de mogelijkheden van het bedrijf.