Blockchain technologie grondig uitgelegd

Van alle opkomende technologieën bestaan er over Blockchain waarschijnlijk de meeste mysteries over wat het precies is en hoe er nou praktisch gebruik van kan worden gemaakt in een bepaalde industrie. Toen ik begon aan mijn zoektocht naar meer kennis over Blockchain kwam ik veel conceptuele informatie tegen waardoor ik het vaag begreep, maar waarna ik nog altijd geen duidelijke kijk erop had. Het onderstaande komt uit een IBM whitepaper, je zal elders ook vergelijkbare uitleggen kunnen vinden.

“Het is een gedeeld register voor het opslaan van de transactiegeschiedenis – die niet kan worden gewijzigd.” Het Whitepaper vermeldt verder: “Transacties vinden iedere seconde plaats – bestellingen, betalingen, account trackings. Iedere deelnemer heeft vaak zijn eigen register – en dus zijn eigen versie van de waarheid. Het hebben van meerdere registers is een recept voor fouten, fraude en inefficiënties. Het doel is om een transactie end-to-end in te zien en deze kwetsbaarheden te verminderen. ”

Maar wat betekent dit voor een normale persoon als ik? Wat maakt een Blockchain? Is Bitcoin een Blockchain? Wie beheert het? Hoe kan ik beginnen te experimenteren met Blockchain? Etc.

De volgende delen van dit blogbericht hebben als doel om Blockchain genoeg samen te voegen en te ontrafelen om iemand een voorsprong te geven voor deze potentieel ontwrichtende technologie.

Basisbegrippen

Een block – een block is in letterlijke zin een gegeven, welke sterk lijkt op een gegeven in een database. Het kan een beetje informatie of juist groepen aan informatie omvatten inclusief bestanden en andere digitale hulpmiddelen zoals naam, adres, contactinformatie, uw foto, etc. Net als in een database heeft ieder gegeven een unieke identificeerbare sleutel nodig, in de Blockchain wordt deze de hash genoemd.

  • Hash – Een Hash is een unieke sleutel voor het block, als je hebt gewerkt met Hash functies zoals SHA256, weet je dat het een unieke cryptografische handtekening biedt voor gegevens. Het is veel simpeler dan hoe het klinkt. Een combinatie van voornaam, achternaam en telefoonnummer zal een hash key genereren die uniek is voor de geleverde gegevens en het Hashing algoritme zal altijd diezelfde sleutel gebruiken voor dezelfde gegevens, ongeacht het systeem dat het genereert. Dit wordt het grondbeginsel van een block, aangezien zelfs de kleinste wijziging in gegevens zal leiden tot een nieuwe hash – het wordt ook wel een handtekening genoemd. Het punt waarop een Hash verschilt van de primaire sleutel van een database, is dat de hash van een block wordt gegenereerd uit de gegevens in het block. De gecreëerde hash zal onderdeel zijn van de block header.
  • Blockheader – zoals bij een databasegegeven waarbij je andere velden hebt naast je primaire sleutel, bijvoorbeeld tijdsaanduidingen, auditlogboeken, etc., heeft een blockheader ook andere velden waarop ik niet verder in zal gaan om het simpel te houden.
  • Data – Ieder Block zal de data bevatten die betrekking heeft op je use case / toepassing, bijv. voor een adresboek van voor- en achternamen, een medisch dossier, of de geschiedenis van een voertuig, etc.

 

Blockchain – Dus wat is een Blockchain? Om het simpel te zeggen heeft iedere blockheader een veld dat verwijst naar de vorige block hashkey, en vormt het zo een aanstekelijke ketting aan blocks die connecties hebben met het vorige block, het is dus een echte ‘chain’.

Het Netwerk

Als je nog steeds aan het lezen bent, denk je vast dat het concept van Block en Blockchain waarschijnlijk niet veel verschilt van het maken van een bedrijfsdatabase met een zeer sterke referentiële integriteit en dat je dat waarschijnlijk ooit al wel eens heeft gedaan – wat betreft de simpele basis van Blockchain heb je gelijk, maar wat Blockchain onderscheidt van een bedrijfsdatabase is het netwerk, geen enkel bedrijf beheert het openbare Blockchainnetwerk. Tijd om de basale samenstelling van een Blockchainnetwerk te begrijpen.

  1. De node –Een Blockchain wordt verdeeld over een netwerk. Dit houdt in dat iedere partij die deelneemt aan een Blockchaintransactie onderdeel wordt van een Blockchainnetwerk, genaamd een node. Het netwerk lijkt sterk op een peer-to-peer netwerk dat we allemaal weleens gebruiken.
  2. Het gedeelde register– De onderliggende Blockchaintechnologie zit zo in elkaar dat ieder block dat aan een Blockchain wordt toegevoegd wordt doorverwezen naar alle nodes in de Blockchain, letterlijk genomen zal je een volledige kopie hebben van alle blocks in een netwerk als je een node in een Blockchain zou zijn – dit wordt ook wel de ‘distributed ledger’ genoemd. Er zijn ook andere modellen, waarin een node kan communiceren door een transactie-node wanneer de node geen kopie van de ledger wilt bewaren, ik zal daar verder niet op ingaan.
  3. Node verantwoordelijkheid– Iedere node is verantwoordelijk voor het behouden van de referentiële integriteit van het Blockchainnetwerk.  Wanneer iemand de data van een vorige node verandert, zal deze verandering onmiddellijk door het netwerk worden opgemerkt en verworpen omdat het niet zal aansluiten op de kopieën van de meerderheid van het netwerk – nodes dienen dus tot een consensus te komen. Dit brengt ons ook op een ander interessante term genaamd Mining – dit onderwerp kan op zichzelf al een artikel vullen, maar je kan het zien als een proces om blocks aan een Blockchain toe te voegen en te ervoor te zorgen dat alle nodes het block verifiëren voor referentiële integriteit, alvorens het wordt toegevoegd aan het block. Een goed Blockchainplatform regelt dit automatisch. Mining is een kostbaar verwerkingsproces en kan tijd kosten, afhankelijk van de grootte en het algoritme van het netwerk.