Paskirstytasis skaičiavimas, mechanizmo projektavimas ir kriptografijos algoritmai sudaro „blockchain“ technologijos šventąją trejybę. Paskirstytasis kompiuteris naudoja decentralizuotą kompiuterių tinklą ir egzistavo prieš blokines grandines torrentų tinklų pavidalu.

Tačiau torrentų svetainėse nebuvo jokių priemonių valdyti dalyvių elgesį, o būtent tada mechanizmo dizainas patenka į blokų grandinę. Tai skatina tinklo dalyvius dirbti tinklo labui.

Kriptografija yra saugumas tiems paskatinimams apsaugoti. Pagrindinėje „Bitcoin“ baltojoje knygoje paaiškinta, kaip šie trys moksliniai principai galėtų veikti kartu ir sudaryti saugų tarpusavio keitimąsi verte, kuri pašalintų trečiųjų šalių poreikį finansinėse operacijose..

Nors kiekvienas iš šių principų nusipelno savo paaiškintojo, šiame straipsnyje pagrindinis dėmesys bus skiriamas kriptografijai ir šifravimo algoritmų naudojimui blokų grandinėse.

Trumpa kriptografijos istorija

Kriptografija tam tikra forma egzistuoja nuo senovės Egipto laikų. Iki skaičiavimo amžiaus tai reiškė, kad pranešimams perduoti buvo naudojamas paprastas kriptografijos algoritmas, vadinamas šifru. Vienas iš dažniausiai cituojamų yra Cezario šifras, panaudotas Julijaus Cezario bendraujant su savo generolais Romos imperijoje. Cezario šifras kiekvieną pranešimo raidę pakeitė raide, kuri abėcėlėje pateikiama trimis vietomis po jos, taigi A tampa D, B tampa E ir pan. Kol sistema, naudojama kuriant šifrinį tekstą, lieka slapta, pranešimas taip pat gali likti privatus.

Julijus Cezaris

Cezaris padarė ne tik puikias salotas, žinokit

Vėliau, XVI a., Vigenere įvedė šifravimo rakto koncepciją į kriptografijos algoritmus, kurie galėjo iššifruoti užkoduotus pranešimus. Naudojant „Vigenere“ šifras, pranešimo tekstas buvo perrašytas į vieną raktinį žodį, kuris kartojamas tol, kol jis atitinka pradinio pranešimo simbolių ilgį. Šis raktinis žodis sukuria šifravimo tekstą naudodamas lentelę.

Čia svarbiausia yra tai, kad pranešimų, perduotų naudojant „Vigener“ šifrą, saugumas priklausė nuo rakto slaptumo, o ne nuo pačios sistemos.

XX a. Įvykiai

Tokių tipų kodų problema yra ta, kad juos galima lengvai pertraukti analizuojant raidžių dažnį. Vokiečiai naudojo „Enigma Machine“ plačiai per Antrąjį pasaulinį karą, nes jis sugebėjo generuoti šifruotus tekstus, kurių nebuvo galima nutraukti analizuojant raidžių dažnumą.

Šifruotam tekstui generuoti mašina naudojo kelių rotorių sistemą. Taigi raidė „e“ pirminiame pranešime atitiktų įvairių raidžių šifro tekste diapazoną. Svarbiausia buvo pradinis rotorių nustatymas.

„Enigma Machine“

Manoma, kad mašina „Enigma“ yra nesulaužoma

Nors vokiečiai manė, kad kodas yra nepalaužiamas, „Enigma“ buvo nulaužė lenkas kriptografai, dirbantys Didžiosios Britanijos kariuomenėje Bletchley parke, įskaitant patį legendinį Alaną Turingą, vėliau rado būdą išsiaiškinti kasdienius raktus, kuriuos naudoja vokiečiai..

Skaičiavimo aušra

Pokario metu padidėjo verslo ir komercinės erdvės šifravimo reikalavimai, kaip priemonė apsaugoti įmonių paslaptis. 1970-aisiais IBM sukūrė „Data Encryption Standard“ (DES) kriptografijos algoritmą. Tačiau jis naudojo nedidelį šifravimo raktą. Išaušus skaičiavimo amžiui, tapo lengva grubiai priversti DES, todėl reikėjo atnaujinimo. Išplėstinis šifravimo standartas, priimtas 2000 m.

Nors daugelis žmonių gali to nesuvokti, šifravimas dabar yra kasdienio gyvenimo dalis. El. Pašto ir teksto pranešimai, slaptažodžiai ir SSL sluoksniai svetainėse apima šifravimą. Tai taip pat sudaro kriptovaliutos stuburą. Yra daug įvairių tipų kriptografijos algoritmų, apimančių įvairius naudojimo atvejus, daugelis jų jau pasenę. Tačiau kriptografijos naudojimas blokų grandinėje apima skaitmeninius parašus ir maišymą.

Skaitmeniniai parašai

Kriptovaliutos mokėjimams reikalingas skaitmeninis parašas, privataus rakto forma. Kai kas nors įveda savo asmeninį raktą prieš mokėjimo operaciją, tai užšifruoja operaciją. Kai mokėjimas pasiekia tikslą, gavėjas gali iššifruoti operaciją naudodamas viešąjį siuntėjo raktą.

Tai vadinama asimetrine kriptografija, nes ji priklauso nuo raktų poros, sujungtų kriptografija. Ji yra saugesnė nei simetriška kriptografija, kai tiek siuntėjas, tiek gavėjas naudoja tą patį raktą. Tokiu atveju pats raktas taip pat turi būti perduodamas kartu su mokėjimu, o tai reiškia, kad norint apsaugoti raktą, reikės papildomo saugumo sluoksnio.

Maišymas

„Blockchains“ taip pat priklauso nuo maišos. Maišymas yra kriptografinis būdas konvertuoti bet kokio tipo duomenis į simbolių eilutę. Be maišos užtikrinant saugumą, sukūrimas sukuria efektyvesnę duomenų saugyklą, nes maišos yra fiksuoto dydžio.

Maišymo kriptografijos algoritmų charakteristikos

Kriptografinio maišymo algoritmas turi atitikti konkrečius kriterijus, kad būtų veiksmingas:

  • Ta pati įvestis visada turi generuoti tą patį išėjimą. Nepaisant to, kiek kartų perduodate duomenis per maišos algoritmą, eilutėje jis turi nuosekliai gaminti tą patį maišos su vienodais simboliais
  • Įvesties negalima išskaičiuoti ar apskaičiuoti naudojant išvestį. Neturėtų būti jokio būdo pakeisti maišymo procesą, kad būtų galima pamatyti pradinį duomenų rinkinį
  • Bet koks įvesties pokytis turi sukelti visiškai kitokį išėjimą. Net pakeitus vieno simbolio raidę duomenų rinkinyje, turėtų būti sukurta žymiai kitokia maiša
  • Maiša turi būti fiksuoto skaičiaus ženklų, neatsižvelgiant į įvesties duomenų dydį ar tipą
  • Maišos sukūrimas turėtų būti greitas procesas, kuris nenaudoja daug skaičiavimo galios.

Kaip atrodo maišos algoritmas

Kaip maišos algoritmas sukuria maišos. Vaizdo kreditas: „Wikimedia Commons“

Kaip veikia maiša?

„Blockchains“ maišo kiekvieną operaciją prieš sujungiant jas į blokus. Maišos žymekliai susieja kiekvieną bloką su savo pirmtaku, laikydami ankstesnio bloko duomenų maišos. Kadangi kiekvienas blokas susiejamas su savo pirmtaku, blokų grandinėje esantys duomenys yra nekintami. Maišymo funkcija reiškia, kad pakeitus bet kurį sandorį bus sukurta visiškai kitokia maiša, kuri pakeis visų tolesnių blokų maišos. Norint išplisti pokyčius visoje blokų grandinėje, 51% tinklo turėtų su tuo sutikti. Taigi terminas „51% ataka“.

Skirtingose ​​blokų grandinėse naudojami skirtingi kriptografijos algoritmai. „Bitcoin“ blokų grandinėje naudojamas SHA256 algoritmas, kuris sukuria 32 baitų maišos. „Dogecoin“ ir „Litecoin“ naudoja „Scrypt“, kuris yra vienas iš greitesnių ir lengvesnių kriptografijos algoritmų.

Kriptografija yra sudėtingas ir išsamus mokslas, kuris išeina už „blockchain“ ribų. Kriptografijoje yra daugybė tolesnių skaitinių, ypač labiau moksliškai ar matematiškai nusiteikusių, tai yra patraukli tema, kurią reikia daug tyrinėti.