2017-06-01

Dialogic Blokketting Reeks #2

'n Blockchain bestaan, soos die naam aandui, uit opeenvolgende blokke met inligting. In die vorige deel het ons gesien hoe proof of work voorkom dat enigiemand maar net inligting by 'n blockchain kan voeg. Maar hoe werk dit presies?

Hierdie teks is outomaties vertaal en kan dus verskil van die oorspronklike. Geen regte kan aan hierdie vertaling ontleen word nie.

💬 Click here to read this page in English.

Hoe werk 'n blokketting? Deel 2: blokke

Eintlik is 'n blokketting die beste te verstaan as 'n soort tabel wat aanlyn ('in die wolk') is. Dit word gedeel met verskeie mense, mense kan terselfdertyd daarin werk en alle veranderinge is vir almal sienbaar. Dit geld ook vir die blokketting, waar dit ook nog geld dat jy slegs inligting 'onderaan' kan byvoeg. Jy kan dus wel dinge verander, maar die verlede bly altyd behou. 'n Blokketting is dus baie deursigtig.

Maar laat ons begin by die begin: hoe lyk 'n 'blok' eintlik? 'n Blok bevat sekere nuttige inligting, soos 'n digitale transaksie, of 'n ooreenkoms tussen twee partye.

Om te verseker dat die blokketting jou blok aanvaar, moet die hasj (oftewel die digitale vingerafdruk, sien die vorige artikel in hierdie reeks) van die blok begin met 'n vooraf afgespreekte hoeveelheid 'nulle'. Soos in die vorige artikel verduidelik, 'bewys' jy hiermee dat jy 'n sekere hoeveelheid rekenwerk gedoen het toe jy die blok geskep het. Dit voorkom, soos ons die vorige keer gesien het, dat een persoon die beheer oor 'n blokketting heeltemal kan oorneem.

Om die vingerafdruk te laat begin met die voorgeskewe aantal nulle, sal ons vir 'n groot aantal variasies van die blok moet 'probeer' of die vingerafdruk aan die vereiste voldoen. Aan die inhoud van die blok voeg ons, om dit te kan doen, 'n (verder ongebruikte) getal by: die nonce. Die nonce varieer jy net so lank totdat die vingerafdruk van die blok begin met die voorgeskewe aantal nulle.

Die 'double spend'

Die blokketting is 'n ketting van blokke - die ketting kan slegs met een blok op 'n slag verleng word. Dit is natuurlik moontlik dat iemand gelyktydig met iemand anders 'n nuwe blok kon bereken het. Daardie blokke kan mekaar teësprekend wees: die een bevat byvoorbeeld 'n transaksie waar geld aan persoon A gegee word, en die ander blok kan 'n transaksie bevat waar geld aan persoon B gegee word. Natuurlik kan net een van die transaksies bly. Hoe los die blokketting dit op?

In 'n blokketting 'wen' uiteindelik die langste ketting. As jy dus daarin slaag om eerste 'n blok te maak wat volg op 'n ander blok, is die kans groter dat daardie blok uiteindelik deel word van 'die langste' ketting. Die voorbeeld hieronder illustreer dit. Blokke 006406 en 006274 word gelyktydig gemaak. Omdat meer blokke volg op blok 006406, word hierdie blok uiteindelik deel van die langste ketting.

Hierdie beginsel help ook om te voorkom dat daar veranderinge in ou blokke gemaak word. Wanneer die blokke geldtransaksies bevat, wil jy natuurlik nie hê dat eenmaal uitgegee geld weer teruggetrek word nie!

Stel ek wil die transaksie in blok '006406' verander, wat moet ek dan doen? Die verandering van die transaksie maak dat die blok verander, en daarmee ook die vingerafdruk van die blok (en soos voorheen gesien, is dit onmoontlik om die blok so aan te pas dat dit presies dieselfde vingerafdruk as die oue blok het). Wat wel kan, is om die blok weer te probeer byvoeg, en as 'n dolle die volgende vier blokke weer te bereken, waardeur 'n langere ketting ontstaan as die huidige ketting.

Om (in totaal) vyf blokke te 'myn', moet daar vyf keer 'n goeie vingerafdruk gevind word. Hoe langer die ketting, hoe moeiliker dit dus word. Vergelyk dit met die Russiese Matroska-poppe: as jy die binneste een wil vervang, moet jy hulle een-vir-een uitmekaar haal en weer een-vir-een inmekaar sit.

Ondertussen is die ander deelnemers natuurlik nog besig om die langste ketting (waar die ongewenste transaksie deel van uitmaak) te verleng. Om 'vinniger' as die res te wees, benodig jy aansienlik meer rekenkrag (om presies te wees, benodig jy 'n 'meerderheid' van >50% van die totale rekenkrag van die netwerk!).

Dankie aan die blokketting is historiese inligting dus onveranderlik, en geld kan slegs een keer uitgegee word weens die benodigde meerderheid in rekenkrag. Slim bedink!

Om te verstaan hoe iets werklik werk, breek ek dit graag heeltemal af.

Wil jy meer weet oor hierdie tema?

Tommy van der Vorst, partner

Ontmoet Tommy