{"id":83177,"date":"2023-02-21T12:38:53","date_gmt":"2023-02-21T12:38:53","guid":{"rendered":"https:\/\/hanstimmerman.me\/?p=83177"},"modified":"2025-07-11T17:20:37","modified_gmt":"2025-07-11T17:20:37","slug":"de-blockchain-en-punniken","status":"publish","type":"post","link":"https:\/\/hanstimmerman.me\/nl_nl\/de-blockchain-en-punniken\/","title":{"rendered":"De blockchain en punniken\u00a0"},"content":{"rendered":"<h5 style=\"text-align: right;\"><span style=\"color: #008080;\">English version: scroll down<\/span><\/h5>\n<h5><span style=\"color: #000000;\">Punniken, wie heeft het vroeger niet gedaan. Steekje voor steekje een lange string van wol maken. Ik vergelijk blockchain weleens met <a style=\"color: #000000;\" href=\"https:\/\/nl.wikipedia.org\/wiki\/Punniken\">punniken<\/a> of klosje breien. Met verschillende kleurtjes wol een \u2018ketting\u2019 breien die zich tot een steeds langere ketting ontwikkelt. Dat is precies wat blockchain doet: verschillende soorten data &#8211; gekoppeld per blokje &#8211; in een eindeloze string vastleggen. Hierbij maakt het niet uit wat die data is. Het vormt een lange ketting van \u2018<i>onmuteerbare vastlegging en oneindige herbruikbaarheid<\/i>\u2019. Aan elkaar gelinkt door een vanuit die data &#8216;gehusselde&#8217; hashcode als fingerprint. Net als bij punniken is elk stukje en kleurtje wol en elke steek onuitwisbaar in de historie van de string terugvindbaar.<\/span><\/h5>\n<p><span style=\"color: #000000;\"><b>Datastromen en datameren<\/b><\/span><\/p>\n<p><span style=\"color: #000000;\">Data stroomt in beekjes en rivieren in steeds grotere ecosystemen en hoopt zich her en der op in datameren. De naam \u2018datalake\u2019 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 \u2018in de tijd afgevoerd\u2019. Elk blaadje is als het ware een \u2018timestamp\u2019, 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 \u2018historie\u2019 van blokken data in de tijd. Op die manier punniken we een onveranderlijke string van gekoppelde steken.<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">Als beekjes samenkomen en rivieren vormen, voegen die verschillende histories zich samen tot \u00e9\u00e9n groter geheel. Verschillende \u2018punnikstrengen\u2019 komen samen en vormen historisch gezien \u00e9\u00e9n overview van het verleden. De in de tijd gemaakte datablokken blijven voor altijd onveranderlijk aan elkaar gekoppeld. Daarom mag een blockchain inhoudelijk niet te \u2018zwaar\u2019 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.<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><b>On-chain Data en off-chain Data<\/b><\/span><\/p>\n<p><span style=\"color: #000000;\">Men spreekt van \u2018<i>on-chain data<\/i>\u2019, informatie die in de blockchain wordt geplaatst en bewaard en \u2018<i>off-chain data<\/i>&#8216;, 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 \u2018<i>off-chain data<\/i>\u2019. De plaats waar de gehele dataset na registratie, uiteindelijk naar toe is gestroomd. Het blaadje in de beek was het blok met de \u2018timestamp\u2019, de rest van het water omvat de file die met het blaadje mee het archief in stroomde.<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">De opslag voor \u2018off-chain data\u2019 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\u00ebnt 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. <span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><b>Indexeren, zoeken op kleurtjes wol<\/b><\/span><\/p>\n<p><span style=\"color: #000000;\">Blockchain slaat gegevens verspreid op, waardoor het moeilijk wordt om de gegevens specifiek op te halen. Zoals bij elke database is &#8211; om snel op blockchains te zoeken &#8211; 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. <a style=\"color: #000000;\" href=\"https:\/\/thegraph.com\/en\/\">The Graph<\/a> 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\u00ebxtraheerd, verwerkt en opgeslagen door open-source API&#8217;s, subgraphes genoemd.<\/span><\/p>\n<p><span style=\"color: #000000;\">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\u00eble elementen zoals rekeningen, blokken en transacties, in eerste instantie per blok op een laag niveau worden ge\u00efndexeerd om blockchain-query&#8217;s op hoog niveau mogelijk te maken. Dit vraagt om nieuwe indexing-technieken die dan ook de afgelopen jaren zijn ontwikkeld.<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><b>Indexeren op subniveau<\/b><\/span><\/p>\n<p><span style=\"color: #000000;\">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.<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">Hier komt de grafentheorie uit de wiskunde ons te hulp. Met graphs kunnen abstracte gegevenstypes worden geordend en gelinkt en een hi\u00ebrarchie met subgraphs worden gebouwd.<span class=\"Apple-converted-space\">\u00a0<\/span>&#8216;<a href=\"https:\/\/thegraph.com\/en\/\"><em>The Graph<\/em><\/a>\u2019 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 \u2018achteraf\u2019 een logische structuur van de blockchain in kaart gebracht. De gegevens worden met gedecentraliseerde apps &#8211; Dapps &#8211; ge\u00ebxtraheerd, verwerkt en via open-source API&#8217;s, subgraphs, opgeslagen.<\/span><\/p>\n<p><span style=\"color: #000000;\"><b>Graph netwerken<\/b><\/span><\/p>\n<p><span style=\"color: #000000;\">Op deze wijze ontstaan naast de decentrale blockchain, als primaire database, een graph-netwerk dat netwerkdiensten en ge\u00efndexeerde 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,<span class=\"Apple-converted-space\">\u00a0 <\/span>waardoor indexeerders, curatoren en delegators hun diensten kunnen leveren en inkomsten ontvangen van het netwerk in verhouding tot hun arbeid en belang.<\/span><\/p>\n<p><span style=\"color: #000000;\">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 <i>onmuteerbare vastlegging en oneindige herbruikbaarheid, <\/i>als ons geheugen en \u2018de waarheid\u2019 in de nieuwe virtuele metaverse. Met eigen &#8216;utility tokens&#8217; waarmee intern kosten en inspanning wordt verrekend. Een spiegelwereld waar zelfs oude technieken &#8211; zoals punniken en klosbreien &#8211; op nieuwe creatieve wijze worden gebruikt.<\/span><\/p>\n<p><span style=\"color: #000000;\">Foto Hans Timmerman.<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: #000000;\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; \u00a0Translated by ChatCPT &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/span><\/p>\n<p data-start=\"56\" data-end=\"118\"><span style=\"color: #000000;\"><strong data-start=\"56\" data-end=\"118\">French Knitting and Blockchain: A Thread of Immutable Data<\/strong><\/span><\/p>\n<p data-start=\"120\" data-end=\"798\"><span style=\"color: #000000;\">French knitting \u2014 who didn\u2019t do it as a child? Stitch by stitch, you\u2019d 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\u2019s precisely what blockchain does: it strings together various types of data \u2014 one block at a time \u2014 into an endless thread. The nature of the data doesn\u2019t matter. It becomes a chain of <em data-start=\"557\" data-end=\"601\">immutable records and infinite reusability<\/em>. Each block is linked by a hashcode \u2014 a fingerprint scrambled from the block\u2019s data. Just like French knitting, every piece and color of yarn and every stitch is traceable in the string\u2019s history.<\/span><\/p>\n<h3 data-start=\"800\" data-end=\"831\"><span style=\"color: #000000;\">Data Streams and Data Lakes<\/span><\/h3>\n<p data-start=\"833\" data-end=\"1344\"><span style=\"color: #000000;\">Data flows through creeks and rivers into larger ecosystems, collecting along the way into data lakes. The term \u201cdatalake\u201d wasn\u2019t coined by accident. Every stream carries its own built-in history. Imagine standing on a bridge, dropping leaves into the water one by one \u2014 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\u2019re knitting an unalterable string of interlinked stitches.<\/span><\/p>\n<p data-start=\"1346\" data-end=\"1788\"><span style=\"color: #000000;\">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 <em data-start=\"1595\" data-end=\"1608\">lightweight<\/em>: blocks must be quickly encrypted and calculated, so blockchain content is ideally limited to metadata \u2014 lightweight data, links, and fingerprints. Not the heavy files themselves.<\/span><\/p>\n<h3 data-start=\"1790\" data-end=\"1826\"><span style=\"color: #000000;\">On-Chain Data and Off-Chain Data<\/span><\/h3>\n<p data-start=\"1828\" data-end=\"2338\"><span style=\"color: #000000;\">We distinguish between <em data-start=\"1851\" data-end=\"1866\">on-chain data<\/em> \u2014 information stored directly in the blockchain \u2014 and <em data-start=\"1921\" data-end=\"1937\">off-chain data<\/em>, 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 \u2014 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.<\/span><\/p>\n<p data-start=\"2340\" data-end=\"2722\"><span style=\"color: #000000;\">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 <em data-start=\"2643\" data-end=\"2659\">object storage<\/em>, where metadata lives elsewhere \u2014 increasingly in blockchains.<\/span><\/p>\n<h3 data-start=\"2724\" data-end=\"2761\"><span style=\"color: #000000;\">Indexing: Searching by Yarn Color<\/span><\/h3>\n<p data-start=\"2763\" data-end=\"3265\"><span style=\"color: #000000;\">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. <em data-start=\"3023\" data-end=\"3034\">The Graph<\/em> is a search engine for Web3\u2019s most-used blockchain protocols \u2014 a decentralized indexing protocol for weaving together Ethereum-based blockchains. Data is extracted, processed, and stored via open-source APIs, known as <em data-start=\"3253\" data-end=\"3264\">subgraphs<\/em>.<\/span><\/p>\n<p data-start=\"3267\" data-end=\"3947\"><span style=\"color: #000000;\">Just like in an endless French knitting string, blockchain data \u2014 due to its time-sequenced structure \u2014 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 \u2014 many of which have emerged in recent years.<\/span><\/p>\n<h3 data-start=\"3949\" data-end=\"3971\"><span style=\"color: #000000;\">Sub-Level Indexing<\/span><\/h3>\n<p data-start=\"3973\" data-end=\"4306\"><span style=\"color: #000000;\">Indexing at pre-defined sub-levels has proven effective \u2014 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.<\/span><\/p>\n<p data-start=\"4308\" data-end=\"4776\"><span style=\"color: #000000;\">Here, graph theory lends a hand. Using <em data-start=\"4347\" data-end=\"4355\">graphs<\/em>, abstract data types can be structured and linked, building a hierarchy of subgraphs. <em data-start=\"4442\" data-end=\"4453\">The Graph<\/em> 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 \u2014 mapping the blockchain\u2019s logical structure retroactively. Data is extracted, processed, and stored by decentralized applications (Dapps) via open-source APIs and subgraphs.<\/span><\/p>\n<h3 data-start=\"4778\" data-end=\"4796\"><span style=\"color: #000000;\">Graph Networks<\/span><\/h3>\n<p data-start=\"4798\" data-end=\"5245\"><span style=\"color: #000000;\">In this way, we create \u2014 alongside the decentralized blockchain as the primary database \u2014 a <em data-start=\"4890\" data-end=\"4905\">graph network<\/em> that supplies network services and indexed data to Web3 applications. Users access these apps and pay using <em data-start=\"5014\" data-end=\"5034\">Graph Tokens (GRT)<\/em> \u2014 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.<\/span><\/p>\n<p data-start=\"5247\" data-end=\"5787\"><span style=\"color: #000000;\">Thus, we\u2019re building a new web \u2014 fully automatic, decentralized, without central providers or intermediaries \u2014 offering end-users all the security, privacy, connectivity, processing, fulfillment, and functionality they need. With blockchain as the ledger of <em data-start=\"5505\" data-end=\"5543\">immutable records and infinite reuse<\/em> \u2014 our memory and &#8220;truth&#8221; in the new virtual metaverse. Powered by utility tokens to internally settle effort and cost. A mirrored world where even old techniques \u2014 like French knitting and spool knitting \u2014 are revived in new and creative ways.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 \u2018ketting\u2019 breien die zich tot een steeds langere ketting ontwikkelt. Dat is precies wat blockchain doet: verschillende soorten data &#8211; gekoppeld per blokje &#8211; in een eindeloze string vastleggen. Hierbij maakt het niet uit wat die data is. Het vormt een lange ketting van \u2018onmuteerbare vastlegging en oneindige herbruikbaarheid\u2019. Net als bij punniken is elk kleurtje wol en elke steek onuitwisbaar in de historie van de string terugvindbaar.<\/p>\n","protected":false},"author":3,"featured_media":83179,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[280,71,72,75,80,138],"tags":[185,188,199,81,155],"class_list":["post-83177","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blockchain","category-digital-economy","category-digitalisation","category-innovation","category-trusted-it","category-strategie","tag-digitale-mindset","tag-blockchain","tag-crypto","tag-strategie","tag-archivering"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/hanstimmerman.me\/wp-content\/uploads\/2023\/02\/IMG_7495-scaled-e1676982666381.jpeg?fit=2527%2C954&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/posts\/83177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/comments?post=83177"}],"version-history":[{"count":16,"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/posts\/83177\/revisions"}],"predecessor-version":[{"id":85900,"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/posts\/83177\/revisions\/85900"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/media\/83179"}],"wp:attachment":[{"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/media?parent=83177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/categories?post=83177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/tags?post=83177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}