De blockchain en punniken 

English version: scroll down
Punniken, wie heeft het vroeger niet gedaan. Steekje voor steekje een lange string van wol maken. Ik vergelijk blockchain weleens met punniken of klosje breien. Met verschillende kleurtjes wol een ‘ketting’ breien die zich tot een steeds langere ketting ontwikkelt. Dat is precies wat blockchain doet: verschillende soorten data – gekoppeld per blokje – in een eindeloze string vastleggen. Hierbij maakt het niet uit wat die data is. Het vormt een lange ketting van ‘onmuteerbare vastlegging en oneindige herbruikbaarheid’. Aan elkaar gelinkt door een vanuit die data ‘gehusselde’ hashcode als fingerprint. Net als bij punniken is elk stukje en kleurtje wol en elke steek onuitwisbaar in de historie van de string terugvindbaar.

Datastromen en datameren

Data stroomt in beekjes en rivieren in steeds grotere ecosystemen en hoopt zich her en der op in datameren. De naam ‘datalake’ is niet voor niets ontstaan. Elke beek heeft een ingebouwde historie in zijn stroom. Als je op een brug staat en opvolgend blaadjes in het water laat vallen, worden deze door de beek ‘in de tijd afgevoerd’. Elk blaadje is als het ware een ‘timestamp’, afgegeven op de plaats van de brug, van alle data die door de beek stroomt en wordt meegenomen. De overeenkomst tussen een datastroom en blockchain is interessant, want een blockchain is immers ook een in de tijd weggeschreven ‘historie’ van blokken data in de tijd. Op die manier punniken we een onveranderlijke string van gekoppelde steken. 

Als beekjes samenkomen en rivieren vormen, voegen die verschillende histories zich samen tot één groter geheel. Verschillende ‘punnikstrengen’ komen samen en vormen historisch gezien één overview van het verleden. De in de tijd gemaakte datablokken blijven voor altijd onveranderlijk aan elkaar gekoppeld. Daarom mag een blockchain inhoudelijk niet te ‘zwaar’ worden. De blokken moeten snel encryptisch kunnen worden doorgerekend, dus veel meer dan metadata met lichtvoetige data, links en vingerprints, moet een blockchain niet bevatten. 

On-chain Data en off-chain Data

Men spreekt van ‘on-chain data’, informatie die in de blockchain wordt geplaatst en bewaard en ‘off-chain data‘, data die goed terugvindbaar op andere plekken is opgeslagen. Blockchain is het grootboek, de administratie, de onveranderlijke keten met metadata, waarvan elk blok een file beschrijft en de plaats duidt waar die volledige dataset is opgeslagen, de ‘off-chain data’. De plaats waar de gehele dataset na registratie, uiteindelijk naar toe is gestroomd. Het blaadje in de beek was het blok met de ‘timestamp’, de rest van het water omvat de file die met het blaadje mee het archief in stroomde. 

De opslag voor ‘off-chain data’ moet enorm schaalbaar zijn. Immers een bijbehorende dataset kan een transactie-afschrift van 100kB, een CAD-file van 10 GB of een video van 100 Gb zijn. Daarnaast moet die data ook weer snel en efficiënt kunnen worden opgehaald en aangeboden. Hierbij kan parallellisatie natuurlijk enorm helpen, als er veel verschillende datasets moeten worden opgehaald. Hier zien we snelle opkomst van objectstorage waarbij de lichtvoetige metadata op een andere plaats in een database is opgeslagen. Zoals in toenemende mate een blockchain.  

Indexeren, zoeken op kleurtjes wol

Blockchain slaat gegevens verspreid op, waardoor het moeilijk wordt om de gegevens specifiek op te halen. Zoals bij elke database is – om snel op blockchains te zoeken – het nodig om de blockchain te indexeren. Net zoals Google continu het internet indexeert, zijn deze functies ook voor Web3 nodig opdat eindgebruikers snel gegevens kunnen opvragen. The Graph is een zoekmachine voor Web3 voor de meest gebruikte blockchain protocollen. Een gedecentraliseerd indexing protocol om gegevens van Ethereum-blockchain-ketens te indexeren en samen te weven. De gegevens worden geëxtraheerd, verwerkt en opgeslagen door open-source API’s, subgraphes genoemd.

Net als bij een eindeloze punnikstring bevinden in een blockchain de gegevens zich vanwege de tijdgeordende structuur, willekeurig in talloze blokken. Er is geen vooraf ingebouwd mechanisme om deze te blokken te identificeren, categoriseren of op te vragen. Indexering moet dus op verschillende detailniveaus worden uitgevoerd waarbij de verschillende soorten data worden herkend. Zoals bij punniken de verschillende kleurtjes wol een specifieke stroom vastgelegde data voorstellen. Omdat een blockchain geen onderscheidt maakt in opgeslagen data, moeten essentiële elementen zoals rekeningen, blokken en transacties, in eerste instantie per blok op een laag niveau worden geïndexeerd om blockchain-query’s op hoog niveau mogelijk te maken. Dit vraagt om nieuwe indexing-technieken die dan ook de afgelopen jaren zijn ontwikkeld. 

Indexeren op subniveau

Hierbij bleek indexeren op vooraf gedefinieerde subniveaus een goede oplossing zijn. Eigenlijk net als in een punnikstring de verschillende kleurtjes wol in de hele keten van breisteken vaststellen. Op die manier weet de index in welke subblokken welke soort data is opgeslagen waardoor het uiteindelijke querypad korter wordt. Transacties die een relatie hebben worden zowel in hetzelfde blok als in andere blokken herkend en opgeslagen. 

Hier komt de grafentheorie uit de wiskunde ons te hulp. Met graphs kunnen abstracte gegevenstypes worden geordend en gelinkt en een hiërarchie met subgraphs worden gebouwd. The Graph’ is dan ook de naam geworden voor een zoekmachine voor Web3 voor de meest gebruikte blockchain protocollen. Een gedecentraliseerd protocol op open-source graph node-technologie om gegevens van Ethereum-blockchain-ketens te indexeren en samen te weven. Eigenlijk wordt op deze wijze ‘achteraf’ een logische structuur van de blockchain in kaart gebracht. De gegevens worden met gedecentraliseerde apps – Dapps – geëxtraheerd, verwerkt en via open-source API’s, subgraphs, opgeslagen.

Graph netwerken

Op deze wijze ontstaan naast de decentrale blockchain, als primaire database, een graph-netwerk dat netwerkdiensten en geïndexeerde data levert aan Web3-apps. Gebruikers hebben toegang tot deze apps en betalen met Graph Tokens (GRT), een werktoken op de Ethereum-blockchain. Deze tokens worden dus gebruikt om de netwerkbronnen te distribueren,  waardoor indexeerders, curatoren en delegators hun diensten kunnen leveren en inkomsten ontvangen van het netwerk in verhouding tot hun arbeid en belang.

Op deze wijze bouwen we een nieuw web dat volledig automatisch, gedecentraliseerd en zonder enige centrale inbreng van providers of tussenpersonen alle veiligheid, privacy, connectiviteit, verwerking, afhandeling en functionaliteit biedt voor de gebruiker. Met de blockchain voor onmuteerbare vastlegging en oneindige herbruikbaarheid, als ons geheugen en ‘de waarheid’ in de nieuwe virtuele metaverse. Met eigen ‘utility tokens’ waarmee intern kosten en inspanning wordt verrekend. Een spiegelwereld waar zelfs oude technieken – zoals punniken en klosbreien – op nieuwe creatieve wijze worden gebruikt.

Foto Hans Timmerman.

——————  Translated by ChatCPT ———————

French Knitting and Blockchain: A Thread of Immutable Data

French knitting — who didn’t do it as a child? Stitch by stitch, you’d create a long string of yarn. I often compare blockchain to French knitting (or spool knitting). With different colored threads, you knit a chain that grows longer and longer. That’s precisely what blockchain does: it strings together various types of data — one block at a time — into an endless thread. The nature of the data doesn’t matter. It becomes a chain of immutable records and infinite reusability. Each block is linked by a hashcode — a fingerprint scrambled from the block’s data. Just like French knitting, every piece and color of yarn and every stitch is traceable in the string’s history.

Data Streams and Data Lakes

Data flows through creeks and rivers into larger ecosystems, collecting along the way into data lakes. The term “datalake” wasn’t coined by accident. Every stream carries its own built-in history. Imagine standing on a bridge, dropping leaves into the water one by one — each leaf is a timestamp, marking the moment and location where data flowed beneath you. A fascinating parallel to blockchain: a historical record of data blocks written in time. We’re knitting an unalterable string of interlinked stitches.

As creeks merge into rivers, their histories converge into a larger narrative. Similarly, multiple knitted strands come together to form a historical overview of the past. These data blocks remain forever linked. This is why blockchains must remain lightweight: blocks must be quickly encrypted and calculated, so blockchain content is ideally limited to metadata — lightweight data, links, and fingerprints. Not the heavy files themselves.

On-Chain Data and Off-Chain Data

We distinguish between on-chain data — information stored directly in the blockchain — and off-chain data, which is stored elsewhere but remains easily retrievable. The blockchain serves as the ledger, the administration, the immutable chain of metadata. Each block describes a file and indicates where the full dataset is stored — the off-chain data. Think of the timestamped leaf in the stream: it represents the blockchain block, while the flowing water around it carries the full file into the archive.

Off-chain data storage needs to be massively scalable. A related dataset might be a 100kB transaction receipt, a 10GB CAD file, or a 100GB video. And it must be retrievable efficiently. Parallel processing helps when multiple datasets must be accessed simultaneously. This is why we see a rapid rise in object storage, where metadata lives elsewhere — increasingly in blockchains.

Indexing: Searching by Yarn Color

Because blockchain data is distributed, retrieving specific data is challenging. As with any database, indexing is essential for fast searching. Just as Google indexes the web, Web3 requires similar indexing mechanisms so end users can query data efficiently. The Graph is a search engine for Web3’s most-used blockchain protocols — a decentralized indexing protocol for weaving together Ethereum-based blockchains. Data is extracted, processed, and stored via open-source APIs, known as subgraphs.

Just like in an endless French knitting string, blockchain data — due to its time-sequenced structure — resides randomly in countless blocks. There is no built-in mechanism to identify, categorize, or retrieve these blocks. Indexing must therefore be performed at different levels of detail to recognize the various data types. As with French knitting, each yarn color represents a specific stream of recorded data. Since blockchain does not distinguish data types, key elements like accounts, blocks, and transactions must first be indexed at the low level before high-level queries are possible. This demands new indexing techniques — many of which have emerged in recent years.

Sub-Level Indexing

Indexing at pre-defined sub-levels has proven effective — like identifying different colors of yarn throughout the knitted chain. This way, the index knows what kind of data resides in which sub-blocks, shortening the ultimate query path. Related transactions are recognized and stored both in the same block and across other blocks.

Here, graph theory lends a hand. Using graphs, abstract data types can be structured and linked, building a hierarchy of subgraphs. The Graph thus became the name of a Web3 search engine built on open-source graph node technology. It indexes and weaves data from Ethereum blockchain chains — mapping the blockchain’s logical structure retroactively. Data is extracted, processed, and stored by decentralized applications (Dapps) via open-source APIs and subgraphs.

Graph Networks

In this way, we create — alongside the decentralized blockchain as the primary database — a graph network that supplies network services and indexed data to Web3 applications. Users access these apps and pay using Graph Tokens (GRT) — a utility token on the Ethereum blockchain. These tokens distribute network resources, enabling indexers, curators, and delegators to deliver services and receive income in proportion to their work and stake.

Thus, we’re building a new web — fully automatic, decentralized, without central providers or intermediaries — offering end-users all the security, privacy, connectivity, processing, fulfillment, and functionality they need. With blockchain as the ledger of immutable records and infinite reuse — our memory and “truth” in the new virtual metaverse. Powered by utility tokens to internally settle effort and cost. A mirrored world where even old techniques — like French knitting and spool knitting — are revived in new and creative ways.