CUM FUNCTIONEAZA BLOCKCHAIN?
Chei publice si private
Pentru a intelege tehnologia blockchain si felurile in care aceasta permite functionarea contractelor inteligente, Bitcoin si altor criptomonede, trebuie mai intai sa intelegem o serie de tehnologii si termeni legati de acestea. In primul rand, vom afla ce sunt cheile publice si private, iar pentru a face asta, trebuie sa intelegem ce inseamna criptografia.
Perechea de chei pubilca/privata este una dintr-o multime de tipuri de criptografie. Cuvantul vine din greaca (kryptos), si inseamna “scriere secreta”. Este o modalitate prin care poti trimite un mesaj unei anumite persoane fara ca altii sa il poata citi. Mesajul este criptat de catre persoana care il scrie, astfel incat atunci cand el calatoreste printr-o retea, nu poate fi descifrat de nimeni pana cand ajunge la destinatie. Abia atunci, destinatarul decripteaza mesajul si il poate citi. Descifrarea mesajului este posibila pentru ca destinatarul stie felul in care acesta a fost criptat initial. Putem numi acest cod “cheia” mesajului. Tipul de criptare digitala despre care vorbim in acest capitol se numeste “Public Key Infrastructure” sau PKI. Procesul presupune doua chei separate: cea publica, pe care o cunoaste oricine din retea, si cea privata care este secreta si cunoscuta numai de cel care o detine.
Primul pas pentru a trimite un mesaj folosind PKI este cel de genera cheia privata. Aceasta consta intr-o combinatie aleatorie de litere intre “a” si “f”, si cateva cifre. Din cheia privata este generata cheia publica printr-un proces algoritmic complex, astfel incat acestea sunt strans legate una de celalata. Deoarece cheia publica provine din cea privata, este foarte dificil ca cineva sa diferentieze cheia privata de cea publica. In alte cuvinte, este vorba de creare unidirectionala.
Dupa ce perechea de chei a fost generata, cheia publica a destinatarului va fi trimisa expeditorului. Acesta inchide mesajul folosind cheia publica, si il trimite, iar destinatarul deschide mesajul cu propria cheie privata. Sistemul va face legatura intre cheia publica si cea privata si va permite ca mesajul sa fie deschis dupa ce este sigur ca persoana care il are este si cea caruia ii era destinat. Astfel, daca cineva incearca sa intercepteze mesajul, nu va putea sa il deschida. Deci, am vazut cum cheile fac posibila criptografia. Acum ne vom uita la felul in care ele permit “Proof of Authenticity” sau PoA (dovada autenticitatii).
Daca trimiti un mesaj, cum poate destinatarul sa fie sigur ca a fost trimis de tine? Pentru a dovedi acest lucru, se foloseste semnatura digitala. In trecut, mesajele erau impachetate in plicuri sigilate folosind ceara si o stampila unica. In acest fel, cel care primea scrisoarea era sigur ca aceasta avea o sursa de incredere, si ca nu fusese manipulata de-a lungul calatoriei sale. Semnatura digitala este o varianta digitala a sigiliului cu ceara. Aceasta foloseste perechea de chei pentru a functiona. Atunci cand se trimite un mesaj, expeditorul il semneaza folosind cheia lui privata. Cand mesajul este primit si destinatarul are cheia publica a expeditorului, aceasta verifica faptul ca semnatura a fost creata folosind cheia privata a expeditorului.
Daca cineva ar incerca sa trimita un mesaj in numele altcuiva si ar trimite o cheie publica destinatarului dar ar folosi o cheie privata diferita in semnatura digitala, cel care primeste mesajul va sti imediat ca persoana respectiva este un impostor, deoarece cheia publica nu ar autentifica-o pe cea privata a expeditorului.
Perechea de chei privata/publica este modalitatea prin care toate tranzactiile de pe blockchain sunt autentificate. Desi pare abstract acum, in scurt timp vom intelege toate detaliile legate de blockchain.
Nonce, functii hash, minatul
Aici vom discuta cativa termeni legati de procesarea datelor pe blockchain. Primul astfel de termen se numeste “nonce”, si se refera la un numar folosit o singura data, cu un scop specific si care nu se mai foloseste niciodata dupa aceasta. Are utilizari, de exemplu, in transmisiile digitale pentru a reduce tranzactiile duplicate unde acestea ar putea avea consecinte negative.
Exista mereu posibilitatea ca datele introduse in baza de date sa aiba acelasi identificator (nume sau serie de caractere care duce la datele respective). Prin adaugarea unui nonce, un identificator devine si mai distinct, fiind greu sa aiba loc duplicarea accidentala. In blockchain, folosirea numerelor nonce este esentiala felului in care tranzactiile sunt aprobate si adaugate in retea.
Al doilea concept din acest capitol este functia hash. Ea presupune un proces matematic care ia date de orice marime, efectueaza o operatiune pe ea si returneaza un hash, adica date de marime fixa. Asta inseamna ca oricare ar fi marimea introdusa initial in functia hash, marimea tuturor datelor produse de ea este aceeasi. Datele intiale constituie o serie de caractere numita “string” (sfoara) care este procesata de functie, si iese sub forma unei “semnaturi”. Procesul convertirii “sforii” in “semnatura” se numeste hashing.
Fie ca e o singura litera sau un eseu academic, hash-ul rezultat are aceeasi marime. De exemplu, daca introducem in functia hash propozitia “Frunzele cad toamna”, aceasta ca iesi din functie ca o semnatura de 10 caractere. Apoi, daca introducem cuvantul “mop”, functia il va procesa si returna tot ca si o semnatura de 10 caracrere.
Frunzele cad toamna = ETG67H2Y5C
Mop = RF6C53VXA2
Procesul de hashing functioneaza intr-o singura directie, ca si perechile de chei despre care am discutat deja. Asta inseamna ca desi pot transforma cuvantul “mop” intr-o semnatura prin hashing, nu pot sa transform semnatura inapoi in datele initiale ca sa ajung la cuvantul “mop”.
Mop = RF6C53VXA2 RF6C53VXA2 = ?
Aceasta caracteristica face hashing-ul un exemplu excelent de criptografie eficienta, dar functia hash are mai multe folosinte. Printre acestea se enumera faptul ca folosind functia hash, o baza de date poate ramane mica. In alte cuvinte, daca se pastreaza numai productia hash versus continutul pre-hash, se poate reduce semnificativ necesitatea de spatiu. De asemenea, functia hash creeaza un identificator aproape unic; un hash de 64 de caractere produce un numar astronomic de combinatii destincte pentru date diferite.
Pe blockchain, semnaturile hash sunt folosite ca si identificatori pentru blocuri, tranzactii si adrese. Functia hash a blockchain-ului se numeste SHA-256, adica un Secure Hash Algorithm (algoritm hash securizat) cu o marime fixa de 256 biti.
Al treilea concept este minatul in blockchain, un proces foarte important care asigura adaugarea informatiilor corecte pe blockchain. In cazul aurului, daca mineritul lui ar fi usor, acesta nu prea ar avea valoare. In fapt, se intampla opusul - aurul e greu de descoperit, minat si procesat, astfel are o valoare semnificativa. Intr-un context digital, o persoana (mai specific, un computer) care practica minatul pentru o recompensa trebuie sa cheltuie niste putere de procesare si sa consume electricitate pentru a produce rezultatul.
Cu cat este mai valoros rezultatul, cu atat e nevoie de mai multa putere de procesare. In procesul minatului se includ atat numerele nonce cat si functiile hash pentru a crea o problema matematica dificila pentru a fi rezolvata de un computer. Se incepe cu o “sfoara” de date initiale, precum cuvintele “Buna ziua”. Mai intai, se aplica SHA-256 care genereaza o semnatura hash fixa. Daca vrem sa fortam semnatura sa inceapa cu numere sau cifre specifice dorite de noi, vom introduce un numar nonce in functia de hashing si o efectuam din nou. Aceasta va genera o semnatura diferita, insa, daca nu incepe cu numerele dorite, va trebui sa repetam procesul. In mod evident, va dura mult pana ajungem la rezultatul dorit, de aceea avem nevoie de computere care sa aleaga numerele nonce si sa efectueze hash-uri. Numele pentru acest proces este “minat”.
Cu cat devine mai greu de rezolvat o problema, cu atat se foloseste mai multa putere de calcul, prin urmare, de electricitate. Cand solutia este obtinuta, computerul care o rezolva primeste o recompensa, in conditiile in care mai multe computere incearca rezolvarea in acelasi timp. In ultimul rand minatul si crearea cu succes unei se
Echipa Tradesilvania Nu uita! Azi poti cumpara peste 16 monede digitale pe platforma de exchange Tradesilvania.