2017-05-18

Dialogic Blokkettingreeks #1

Jy mag dalk nie verwag nie, maar die fundamentele bousteen van 'n blokketting lyk sterk op iets wat ons almal het: 'n vingerafdruk. Digitale vingerafdrukke verseker dat nie een party die beheer oor 'n blokketting kan oorneem nie. Maar hoe werk dit presies? Tyd vir 'n bietjie wiskunde...

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 1: vingerafdruk

'n Vingerafdruk is uniek. As jy die vingerafdruk van 'n persoon het, kan jy maklik nagaan of hierdie vingerafdruk aan 'n spesifieke persoon behoort. Slegs met 'n vingerafdruk is dit (sonder 'n eerder versamelde lys van vingerafdrukke) prakties onmoontlik om die persoon daarmee te assosieer sonder om deur al die vingerafdrukke van al die persone te gaan. Wiskundig gesproke kan jy ook die vingerafdruk bepaal van 'n stuk inligting.

Hash

Sodanige digitale vingerafdruk, ook bekend as hash, vorm die basis van 'n blokketting. Om te verstaan waarom digitale vingerafdrukke so belangrik is, is dit belangrik om eers te begryp hoe hulle werk.

Iemand kan die digitale vingerafdruk van 'n stuk inligting bepaal deur 'n (ingewikkelde) wiskundige berekening te maak. Dit maak nie saak hoe lank die inligting is nie (net soos vingerafdrukke van mense nie spesifiek afhanklik is van hulle lengte nie!). As jy die inligting en die vingerafdruk het, kan jy maklik nagaan of hulle by mekaar hoort.

In Bitcoin, 'n blokketting vir finansiële transaksies, word die sogenaamde ‘SHA-256’-hashmetode gebruik. Jy kan self die SHA-256-vingerafdruk bepaal van 'n stuk teks byvoorbeeld hier. Die hash van die teks "Tommy" is byvoorbeeld:

5bee7cef227fe327178bd04bb7cc75ba9a36f1b8867ba1025430761a226539e9.

Nou gaan ons die hoofletter verander na 'n klein letter: wat is die hash van "tommy"?

044f4b3501cd8e8131d40c057893f4fdff66bf4032ecae159e0c892a28cf6c8e

Alhoewel slegs een letter verskil, is die vingerafdruk heeltemal anders! Nie onlogies nie: jou vingerafdruk en dié van jou broer of suster sal, selfs al lyk julle baie op mekaar, ook heeltemal anders wees.

Indien ek jou net die hash "044f4b.." van hierbo sou gee, is die enigste metode om te bepaal aan watter teks dit behoort, om deur al die moontlike tekste te gaan. Eers na baie prober kan jy agterkom dat die vingerafdruk aan die teks "tommy" behoort. Wiskundiges noem die vingerafdrukmegansime daarom eenrigting: die vingerafdruk bepaal van inligting is maklik, maar om die inligting te vind by 'n vingerafdruk is amper onmoontlik.

Bewys van werk

Die lukraakheid van die vingerafdruk maak dit moontlik om dit vir 'n interessante toepassing te gebruik. Soos jy hierbo gesien het, is die letters en syfers in die vingerafdruk baie lukraak. Wiskundig gesproke is die kans dat 'n vingerafdruk van 'n spesifieke stuk teks met 'n '0' begin 1 uit 16. As ek vir jou vra om 'n stuk teks te soek waarvan die hash met 'n '0' begin, sal jy gemiddeld sestien tekste moet probeer (en as jy ongelukkig is, meer!). Indien ek sou vra vir 'n hash wat met twee nulls begin, sal dit jou gemiddeld 16 x 16 = 256 pogings kos; inderdaad, as die eerste getal 'n '0' is, is daar slegs 'n kans van 1/16e dat die tweede getal ook 'n nul is.

Die aantal nulls waarmee 'n hash begin, sê dus iets oor die aantal tekste wat jy (gemiddeld) moes probeer voordat jy by hierdie hash uitgekom het. So 'n hash kan dus gebruik word as 'n soort 'bewys van inspanning' (proof of work). As jy vir my 'n teks wys waarvan die hash met twee nulls begin, weet ek dat jy na benadering 256 keer 'n hash bereken het.

Nou terug na die blokketting: wat het ons aan daardie vingerafdrukke? In die blokketting word slegs nuwe blokke aanvaar wanneer jy bewys het dat jy 'n sekere hoeveelheid rekenwerk gedoen het. Dit voorkom dat enigiemand net blokke kan byvoeg: rekenkracht kos geld en die rekenproses self kos tyd. Omdat dit baie duur is om altyd meer rekenkrag as die ander deelnemers te hê, is dit prakties onmoontlik om alleen die beheer oor 'n blokketting te verkry!

Om te verstaan hoe iets werklik werk, gee ek die voorkeur daaraan om iets heeltemal uitmekaar te haal, en probeer ek dit dan self weer inmekaar te sit.

Wil jy meer weet oor hierdie tema?

Tommy van der Vorst, partner

Ontmoet Tommy

Vra 'n kwotasie aan?

Het jy 'n konkrete navorsingsvraag of -opdrag en wil jy 'n kwotasie van ons ontvang? Dan kan jy jou vraag per e-pos stuur aan tenderdesk@dialogic.nl. Jy kan ons ook via hierdie adres inlig oor (openbare) tenderprosesse. Ons reageer binne vyf werksdae.

Meer inligting