Gedistribueerd computergebruik, mechanismeontwerp en cryptografie-algoritmen vormen de heilige drie-eenheid van blockchain-technologie. Gedistribueerd computergebruik maakt gebruik van een gedecentraliseerd netwerk van computers en bestond vóór blockchains in de vorm van torrentnetwerken.

Torrent-sites hadden echter geen manier om het gedrag van deelnemers te beheersen, en dat is waar het mechanismeontwerp de blockchain binnengaat. Het stimuleert netwerkdeelnemers om zich in te zetten voor het welzijn van het netwerk.

Cryptografie is wat dient als beveiliging om die prikkels te beschermen. Het baanbrekende Bitcoin-witboek legde uit hoe deze drie wetenschappelijke principes zouden kunnen samenwerken om een ​​veilige, peer-to-peer-uitwisseling van waarde te vormen die de noodzaak van een derde partij bij financiële transacties zou elimineren..

Hoewel elk van deze principes een eigen uitleg verdient, zal dit artikel zich concentreren op cryptografie en hoe coderingsalgoritmen blockchains bedienen.

Een korte geschiedenis van cryptografie

Cryptografie in een of andere vorm bestaat al sinds de tijd van het oude Egypte. Vóór het computertijdperk betekende dit het gebruik van een eenvoudig cryptografisch algoritme, een cijfer genaamd, om berichten te verzenden. Een van de meest genoemde is de Caesar-cijfer, gebruikt door Julius Caesar om te communiceren met zijn generaals in het Romeinse rijk. Het Caesar-cijfer verving elke letter van het bericht door de letter die drie plaatsen erna in het alfabet komt, dus A wordt D, B wordt E, enzovoort. Zolang het systeem dat wordt gebruikt voor het genereren van de cijfertekst geheim blijft, kan het bericht ook privé blijven.

Julius Caesar

Caesar deed meer dan alleen geweldige salades maken, weet je

Later, in de 16e eeuw, introduceerde Vigenere het concept van een coderingssleutel voor cryptografische algoritmen, die gecodeerde berichten konden decoderen. De … gebruiken Vigenere-cijfer, de berichttekst is getranscribeerd in een enkel trefwoord dat wordt herhaald totdat het overeenkomt met de tekenlengte van het oorspronkelijke bericht. Dit sleutelwoord genereert vervolgens de cijfertekst met behulp van een tabel.

De cruciale ontwikkeling hier is dat de beveiliging van berichten die met een Vigener-codering werden verzonden, afhing van de geheimhouding van de sleutel, niet van het systeem zelf..

20e-eeuwse ontwikkelingen

Het probleem met dit soort codes is dat ze gemakkelijk kunnen worden verbroken door de letterfrequentie te analyseren. De Duitsers gebruikten de Enigma Machine uitgebreid tijdens de Tweede Wereldoorlog omdat het in staat was om cijferteksten te genereren die niet konden worden verbroken door de letterfrequentie te analyseren.

De machine gebruikte een systeem van meerdere rotoren om de cijfertekst te genereren. Dus de letter “e” in het oorspronkelijke bericht zou overeenkomen met een reeks verschillende letters in de versleutelde tekst. De sleutel was de initiële instelling van de rotoren.

Raadselmachine

Men dacht dat de Enigma Machine onbreekbaar was

Hoewel de Duitsers dachten dat de code onbreekbaar was, was Enigma dat wel gekraakt door de Polen al in 1932. Cryptografen die voor het Britse leger in Bletchley Park werkten, waaronder de nu legendarische Alan Turing zelf, vonden later een manier om de dagelijkse sleutels te achterhalen die door de Duitsers werden gebruikt.

The Dawn of Computing

Na de oorlog nam de vraag naar encryptie in de zakelijke en commerciële ruimte toe als middel om bedrijfsgeheimen te beschermen. In de jaren 70 ontwikkelde IBM het Data Encryption Standard (DES) cryptografie-algoritme. Het gebruikte echter een kleine coderingssleutel. Toen het computertijdperk aanbrak, werd het gemakkelijk om DES bruut te forceren, en daarom was er vraag naar een update. De Advanced Encryption Standard, aangenomen in 2000.

Hoewel veel mensen zich er misschien niet van bewust zijn, maakt versleuteling nu deel uit van het dagelijks leven. E-mail- en sms-berichten, wachtwoorden en SSL-lagen op websites omvatten allemaal het gebruik van codering. Het vormt ook de ruggengraat van cryptocurrency. Er zijn veel verschillende soorten van cryptografische algoritmen die verschillende gebruiksscenario’s dekken, waarvan er veel al verouderd zijn. Het gebruik van cryptografie in blockchain omvat echter digitale handtekeningen en hashing.

Digitale handtekeningen

Betalingen met cryptocurrency vereisen een digitale handtekening, in de vorm van een privésleutel. Wanneer iemand zijn privésleutel invoert tegen een betalingstransactie, wordt de transactie versleuteld. Wanneer de betaling zijn bestemming bereikt, kan de ontvanger de transactie decoderen met behulp van de openbare sleutel van de afzender.

Dit staat bekend als asymmetrische cryptografie, omdat het afhangt van een paar sleutels die met elkaar zijn verbonden door cryptografie. Het is veiliger dan symmetrische cryptografie, waarbij zowel afzender als ontvanger dezelfde sleutel gebruiken. In dit geval moet de sleutel zelf ook samen met de betaling worden verzonden, wat betekent dat een extra beveiligingslaag nodig is om de sleutel te beschermen.

Hashing

Blockchains zijn ook afhankelijk van hashing. Hashing is een cryptografische methode om alle soorten gegevens om te zetten in een reeks tekens. Hashing biedt niet alleen beveiliging door middel van versleuteling, maar zorgt ook voor een efficiëntere opslag van gegevens, aangezien de hash een vaste grootte heeft.

Kenmerken van hash-cryptografie-algoritmen

Een cryptografisch hash-algoritme moet aan specifieke criteria voldoen om effectief te zijn:

  • Dezelfde input moet altijd dezelfde output genereren. Ongeacht hoe vaak u de gegevens door het hash-algoritme voert, het moet consistent dezelfde hash produceren met identieke tekens in de string
  • De input kan niet worden afgeleid of berekend met behulp van de output. Er mag geen manier zijn om het hashing-proces om te keren om de originele dataset te zien
  • Elke wijziging in de input moet een geheel andere output opleveren. Zelfs het veranderen van het hoofdlettergebruik van één teken in een gegevensset zou een hash moeten creëren die aanzienlijk verschilt
  • De hash moet een vast aantal tekens bevatten, ongeacht de grootte of het type gegevens dat als invoer wordt gebruikt
  • Het maken van de hash moet een snel proces zijn dat niet veel rekenkracht gebruikt.

Hoe een hash-algoritme eruitziet

Hoe een hash-algoritme een hash genereert. Afbeelding tegoed: Wikimedia Commons

Hoe werkt hashen??

Blockchains hashen elke transactie voordat ze in blokken worden gebundeld. Hash-aanwijzers koppelen elk blok aan zijn voorganger door een hash van de gegevens in het vorige blok vast te houden. Omdat elk blok linkt naar zijn voorganger, zijn gegevens in de blockchain onveranderlijk. De hash-functie houdt in dat een wijziging in een transactie een geheel andere hash oplevert, waardoor de hashes van alle volgende blokken worden gewijzigd. Om een ​​verandering over de blockchain te verspreiden, zou 51% van het netwerk ermee moeten instemmen. Vandaar dat de term ‘51% aanval’.

Verschillende blockchains gebruiken verschillende cryptografie-algoritmen. De Bitcoin-blockchain gebruikt het SHA256-algoritme, dat een 32-byte hash produceert. Dogecoin en Litecoin gebruiken beide Scrypt, een van de snellere en lichtere cryptografie-algoritmen.

Cryptografie is een complexe en gedetailleerde wetenschap, die veel verder reikt dan alleen blockchain. Er is veel meer informatie over cryptografie beschikbaar, vooral voor de meer wetenschappelijk of wiskundig ingestelde mensen, het is een fascinerend onderwerp dat veel te ontdekken valt.