Ce este Blockchain? Cum se creează o rețea, un cod și arhitectura sa
Publicat: 2020-02-06La fel ca inteligența artificială și învățarea automată, Blockchain crește rapid pentru a deveni o tehnologie de bază în industrie astăzi. Tehnologia blockchain nu se mai limitează la sectorul BFSI și își face cunoscută prezența în alte domenii, inclusiv în sănătate, guvernanță, retail și logistică, pentru a numi câteva. Cu toate acestea, deși Blockchain și-a făcut loc în vocabularul comun, nu mulți sunt conștienți de arhitectura Blockchain și de modul în care funcționează.
În această postare, vom vorbi despre tot ce trebuie să știți despre Blockchain și arhitectura Blockchain. În primul rând, să începem cu elementele de bază.
Aflați programe software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.
Cuprins
Ce este Blockchain?
Un Blockchain este un registru descentralizat și distribuit care a fost conceput încă din 1991 pentru a stoca și înregistra tranzacțiile financiare. Cu toate acestea, este capabil să stocheze orice are valoare. În esență, Blockchain este un web interconectat sau o rețea de computere conectate între ele în loc să fie conectate la un server central. Toate mașinile (sau nodurile) din această rețea pot defini și conveni asupra unei stări comune a datelor, respectând în același timp unele constrângeri convenite în unanimitate - deși sistemul este format din mai multe noduri, niciun nod nu poate modifica datele fără consensul întregului. reţea.
Deoarece Blockchain este o rețea distribuită, fiecare nod din cadrul rețelei menține, aprobă și actualizează noile intrări. Fiecare membru validează încrucișate înregistrările și procedurile, făcând astfel rețeaua Blockchain validă și sigură. În acest fel, chiar dacă membrii nu au încredere unul în altul, ei pot stabili la unison pe temeiuri comune.
După cum sugerează și numele, un Blockchain constă din blocuri care conțin informații specifice care sunt partajate de toate mașinile conectate în cadrul rețelei peer-to-peer (P2P). Aceste blocuri sunt structuri de date care grupează seturi de tranzacții și le distribuie la toate nodurile din rețeaua P2P. Fiecare bloc este securizat printr-o cheie criptografică foarte specializată. În plus, fiecare bloc conține un antet de bloc – metadatele – care verifică validitatea blocului. Metadatele bloc ale unui bloc sunt formate din următoarele șase componente:

- Versiune – versiunea curentă a structurii blocului.
- Hash antet bloc anterior – Referința la Blocul părinte al acestui bloc .
- Merkle root hash – Este un hash criptografic al tuturor tranzacțiilor înregistrate în bloc.
- Marca temporală – Ora creării blocului.
- nBits – Forma codificată a pragului țintă din antetul blocului.
- Nonce (număr folosit o dată) – O valoare aleatorie pe care creatorul blocului o poate manipula așa cum și cum dorește.
Sursa imaginii
În timp ce aceste șase componente formează Antetul blocului, partea rămasă a unui bloc conține tranzacțiile incluse de miner în timpul creării blocului. Utilizatorii dintr-o rețea creează astfel de tranzacții și le trimit în rețea pentru a fi incluse într-un bloc. Pe măsură ce aceste tranzacții continuă să crească, dimensiunea Blockchain-ului continuă să se extindă.
Caracteristicile descentralizate și distribuite ale Blockchain-ului îl fac transparent și responsabil (fiecare utilizator din rețea este responsabil pentru orice modificări ale lanțului). Și faptul că tot ceea ce este înregistrat într-un Blockchain este securizat prin criptografie îl face sigur și fiabil. Aceste caracteristici ale Blockchain l-au făcut atractiv pentru entuziaștii din toate industriile care investesc cu ușurință în arhitectura Blockchain pentru a dezvolta aplicații bazate pe Blockchain.
Arhitectura Blockchain
Acum, că am clarificat elementele de bază ale arhitecturii Blockchain, vom săpa mai adânc în ea. Arhitectura blockchain constă din două structuri de date de bază:
- Indicatori – Acestea sunt variabile care înregistrează informații despre locația altei variabile. Cu alte cuvinte, ei indică poziția altei variabile.
- Liste legate – Acestea sunt o secvență de blocuri în care fiecare bloc are date unice și este legat de blocul care îl urmează printr-un pointer.
Sursa imaginii
Mergând după această logică, primul bloc, aka, Blocul Geneza, din lanț nu conține un pointer (este blocul de început). În mod similar, blocul final din lanț va avea un pointer nul (fără valoare).
Caracteristicile arhitecturii Blockchain
Arhitectura blockchain are câteva caracteristici unice, inclusiv:
- Criptografie – Fiecare tranzacție înregistrată într-un Blockchain este securizată prin calcule criptografice complexe validate de toate părțile interesate implicate.
- Descentralizare – Fiecare membru al rețelei Blockchain are acces la baza de date completă.
- Proveniență – Originea fiecărei tranzacții conținute în registrul Blockchain poate fi urmărită și monitorizată.
- Imuabilitate – Odată ce o tranzacție este înregistrată într-un Blockchain, aceasta nu poate fi ștearsă. Numai prin acordul tuturor părților poate fi modificat înregistrarea.
- Anonimat – Fiecare utilizator din rețea are o adresă generată prin intermediul sistemului însuși – nu are o identitate. În acest fel, utilizatorii își pot păstra anonimatul (în special necesar într-o structură publică blockchain).
- Transparență – Deoarece fiecare membru al Blockchain-ului poate accesa sistemul și monitoriza operațiunile, există o transparență completă în proces. Modificarea unui bloc ar însemna că întregul lanț trebuie schimbat și este foarte puțin probabil să se întâmple (este nevoie de o putere de calcul enormă pentru a suprascrie rețeaua blockchain).
Tipuri de arhitectură Blockchain
Există în principal trei tipuri de arhitectură Blockchain:
- Arhitectura Publică Blockchain
Într-o arhitectură publică blockchain, accesul atât la date, cât și la sistem este disponibil oricărei persoane care dorește să participe la rețeaua Blockchain. Bitcoin, Ethereum și Litecoin sunt câteva exemple excelente de sisteme blockchain publice.
- Arhitectură blockchain privată
Spre deosebire de arhitectura publică blockchain, o arhitectură blockchain privată poate fi controlată doar de un grup de utilizatori autorizați aparținând unei anumite organizații sau cei care au o invitație de a participa în rețea.
- Arhitectura Blockchain a consorțiului
Arhitectura blockchain a consorțiului este compusă dintr-un grup de organizații, iar procedurile pentru sistem sunt stabilite și controlate de grupul selectat de utilizatori alocați.
Un Blockchain public este un Blockchain pur descentralizat, deoarece este deschis și poate fi accesat de oricine dorește să participe la un acord sau la sistem. Toate înregistrările sunt vizibile pentru fiecare utilizator participant în rețea. Dimpotrivă, un Blockchain privat descrie comportamentul unui sistem mai centralizat, deoarece este administrat și controlat de un grup select de utilizatori care se bucură de o confidențialitate mai mare.
Componentele de bază ale arhitecturii Blockchain
Șase componente de bază alcătuiesc Arhitectura Blockchain. Sunt:
- Nod – Se referă la un utilizator/computer în arhitectura blockchain. Fiecare nod deține o copie independentă a întregului registru blockchain.
- Tranzacție – Se referă la cel mai mic bloc de construcție al unui sistem blockchain, adică înregistrările și informațiile stocate în bloc.
- Block – Este o structură de date care stochează/înregistrează un set de tranzacții care este apoi partajat (distribuit) între toate nodurile din rețea.
- Lanț – Este un termen pentru o secvență de blocuri aranjate într-o anumită ordine.
- Mineri – Acesta este un termen folosit pentru nodurile specifice care verifică blocurile înainte de a le adăuga la structura blockchain.
- Algoritm de consens – Este o colecție de reguli și proceduri care ar trebui respectate cu strictețe pentru a efectua operațiuni blockchain.
Diagrama arhitecturii blockchain prezentată mai jos explică în continuare modul în care sistemul funcționează ca un portofel digital distribuit:
Sursa imaginii
Mai devreme, discutasem despre componentele metadatelor bloc. Acum, vom arunca o privire asupra elementelor unui bloc dintr-un Blockchain. Fiecare bloc este format din:
- Date – Datele unui bloc depind în mare măsură de tipul de arhitectură blockchain în care se încadrează. De exemplu, pentru Bitcoin sau Litecoin, datele conținute în blocuri vor conține informații despre expeditor, destinatar și numărul de monede.
- Hash-ul blocului – Un hash este o cheie unică, aproape ca o amprentă. Este o combinație complexă de cifre și litere. Fiecare bloc hash este creat folosind un anumit algoritm de hash criptografic – SHA256. Imediat este creat un bloc, este generată o cheie hash. Orice modificare adusă blocului va modifica automat și hash-ul acestuia. Cu alte cuvinte, hash-ul blocului ajută la detectarea oricăror modificări aduse unui bloc.
- Hash-ul din blocul anterior – Pe lângă faptul că conține cheia hash unică, un bloc trebuie să conțină și hash-ul blocului imediat înaintea lui. Această caracteristică ajută la crearea unui lanț conectat în arhitectura blockchain și este elementul principal din spatele securității sale.
Deoarece toate blocurile validate dintr-un Blockchain sunt derivate din Blocul Genesis, orice încercare de a corupe sau de a încălca un singur bloc va crea o reacție în lanț, promovând schimbarea tuturor blocurilor. Dacă se întâmplă acest lucru, toate blocurile vor transmite informațiile incorecte, făcând astfel întregul Blockchain ca invalid. Cu toate acestea, se pot face modificări arhitecturii Blockchain prin intermediul algoritmului de consens.

Ce este un algoritm de consens?
Algoritmul de consens se referă la mecanismul sau protocolul care asigură că copia locală a registrului Blockchain deținută de membrii individuali este consecventă între ele și este actualizată la cea mai recentă versiune. Acest lucru ajută la asigurarea uniformității și sincronicității în cadrul arhitecturii blockchain. Iată cei trei algoritmi de consens cei mai folosiți:
Dovada de lucru (POW)
POW-ul vă cere să rezolvați un puzzle complex de calcul pentru a crea și adăuga noi blocuri în rețeaua Blockchain. Deci, trebuie să ghiciți șirul particular care produce un hash de 256 de biți, așa cum este propagat de algoritmul de hashing SHA256. Deoarece trebuie să faceți milioane de presupuneri pentru a verifica hash-ul, acesta primește numele „dovada muncii”.
Dovada mizei (POS)
Protocolul POS consideră toate nodurile din sistem drept validatori care pot valida tranzacțiile pentru a câștiga comisioane de tranzacție. POS selectează aleatoriu aceste noduri pentru a valida blocurile – probabilitatea din spatele selecției aleatorii a unui nod depinde de valoarea mizei pe care o are nodul.
Toleranță bizantină simplificată la erori (SBFT)
În această abordare, există un singur nod (validator) care grupează tranzacțiile propuse pentru a crea un nou bloc în Blockchain. Validatorul este denumit Partidul. Aici, când numărul minim de alte noduri din rețea rectifică blocul nou creat, se obține un consens.
Cum se creează o arhitectură Blockchain?
Pentru a construi o arhitectură Blockchain, mai întâi, trebuie să aveți grijă de două lucruri:
- Rețeaua Blockchain – Se referă la infrastructura aplicației Blockchain plasată într-un anumit mediu, fie într-una sau mai multe organizații.
- Cod Blockchain – Se referă la sarcinile și obiectivele pe care aplicația Blockchain își propune să le îndeplinească.
Astăzi, dezvoltarea unei arhitecturi Blockchain este mai ușoară, datorită disponibilității pe scară largă a soluțiilor open-source. Hyperledger de la Linux Foundation este cea mai populară platformă folosită pentru a construi arhitectură blockchain privată. În afară de Hyperledger, Ethereum și Corda sunt, de asemenea, instrumente excelente pentru dezvoltarea arhitecturii Blockchain.
Sursa imaginii
Cum se creează o rețea Blockchain?
O rețea Blockchain se formează atunci când una sau un grup de organizații decid să investească într-o soluție Blockchain. Această rețea poate fi considerată fie ca organizații individuale cu membrii personalului lor, fie ca un întreg din punctul de vedere al infrastructurii tehnice a tuturor organizațiilor combinate.
De obicei, mai multe părți sunt implicate într-o rețea Blockchain. Scopul aplicațiilor/soluțiilor Blockchain este de a organiza aceste petreceri prin formarea unui sistem transparent peer-to-peer în care fiecare membru poate urmări și monitoriza toate activitățile în timp real. Această caracteristică ajută la eliminarea tuturor riscurilor asociate tranzacției sau afacerii.
Într-o rețea Blockchain, fiecare organizație participantă deține o copie individuală a registrului, care este sincronizată cu protocoale unice și straturi tehnice ale rețelei Blockchain (peers). Serviciul de Comandă poate fi partajat între toate părțile care controlează tranzacțiile și ordinea acestora în rețeaua Blockchain. Din nou, caracteristica Furnizor de servicii de membru (MSP) permite accesul anumitor utilizatori din interiorul rețelei pentru a menține confidențialitatea și securitatea rețelei. În sfârșit, toate tranzacțiile conținute în rețea sunt înregistrate într-un registru general.
Cum se creează codul Blockchain?
Odată ce rețeaua Blockchain este în vigoare, părțile implicate trebuie să ajungă la un consens asupra tipului de tranzacții comerciale care ar trebui să aibă loc în cadrul Arhitecturii Blockchain. Acest consens este atins sub forma unui acord legal, cunoscut sub denumirea de contracte inteligente. Acesta este Codul Blockchain, alias Chaincode. La fel ca orice document legal, contractele inteligente conțin informațiile participanților, activele și tranzacțiile care urmează să aibă loc. Fiecare tranzacție necesită o funcție de procesare tranzacțională care descrie procesele care vor avea loc odată ce tranzacția este executată.
Beneficiile arhitecturii Blockchain
Prin crearea unei arhitecturi Blockchain, organizațiile pot beneficia de următoarele beneficii:
- Reducerea costurilor
Companiile cheltuiesc de obicei sume substanțiale de bani pentru menținerea bazelor de date centralizate care sunt susceptibile la atacuri cibernetice. Cu o structură Blockchain în vigoare, un lucru este că organizațiile nu trebuie să-și facă griji cu privire la încălcările securității și ale sistemului. Prin urmare, nu trebuie să cheltuiască bani suplimentari pentru consolidarea securității sistemului.

- Transparență sporită
Într-o structură Blockchain, membrii pot verifica istoricul oricărei tranzacții în orice moment. Astfel, spre deosebire de o bază de date centralizată, aceasta este o arhivă în continuă creștere, în care membrii se bucură de o transparență completă.
- Securitatea datelor
Odată ce introduceți informații (date) în structura Blockchain, este aproape imposibil să le modificați sau să le corupați. Orice modificare adusă Blockchain-ului trebuie validată de toți membrii rețelei, făcând astfel procesul să fie unul lung și consumator de timp. Desigur, coeficientul de securitate a datelor este foarte mare în arhitectura Blockchain.
Deci, aceasta este arhitectura Blockchain pe scurt!
Sperăm că acest lucru vă va ajuta să înțelegeți puțin mai bine această tehnologie emergentă.
Există o creștere a carierelor în tehnologia blockchain și blockchain a schimbat enorm însăși fața industriei tehnologiei pentru totdeauna. Dacă sunteți interesat să deveniți un dezvoltator blockchain și să construiți contracte inteligente și coduri de lanț, verificați programul de certificate avansate de la IIIT-B și upGrad în tehnologia blockchain .
Care sunt unele dintre provocările utilizării unei arhitecturi blockchain?
Dezvoltarea unei arhitecturi blockchain este o sarcină dificilă care presupune depășirea unui număr de obstacole. Cea mai dificilă sarcină este să vă asigurați că blockchain-ul este sigur și nemodificat. Acest lucru necesită crearea unui sistem de securitate robust, capabil să apere blockchain-ul împotriva atacurilor rău intenționate. O altă problemă semnificativă este asigurarea faptului că blockchain-ul este scalabil și capabil să proceseze multe tranzacții. Acest lucru necesită crearea unui sistem care poate gestiona un număr mare de tranzacții fără a provoca încetinirea rețelei. A treia problemă majoră este crearea unei scheme de guvernanță care să garanteze că blockchain-ul funcționează eficient și echitabil. Acest lucru necesită crearea unui mecanism de administrare a blockchain-ului și a utilizatorilor săi. Sarcina finală este crearea unui sistem de plată a celor care contribuie la blockchain. Acest lucru necesită stabilirea unei metode de plată a oamenilor pentru serviciile lor.
Ce se întâmplă când blockchain-ul este prea mare pentru a suporta infrastructura de rețea?
Rețeaua va eșua, iar blockchain-ul va deveni inutilizabil dacă blockchain-ul devine prea mare pentru a fi susținut de infrastructura rețelei. Fiecare bloc din blockchain are tranzacții diferite. Devine mai dificil pentru nodurile de rețea să țină evidența tuturor tranzacțiilor pe măsură ce blockchain-ul crește. Nodurile nu vor putea ține pasul dacă blockchain-ul devine prea mare, iar rețeaua se va prăbuși. Ca urmare, blockchain-ul va deveni inutilizabil și nicio tranzacție nu ar fi posibilă.
Care sunt implicațiile tehnologiei blockchain pentru încredere?
Implicațiile tehnologiei blockchain pentru încredere sunt semnificative. Tehnologia blockchain are potențialul de a crea încredere acolo unde nu a existat anterior sau de a îmbunătăți încrederea acolo unde există deja. De exemplu, tehnologia blockchain ar putea crea sisteme de vot sigure, transparente și inviolabile, sporind încrederea alegerilor. În plus, tehnologia blockchain ar putea face lanțuri de aprovizionare rapide, clare și inviolabile, sporind fiabilitatea produselor pe care le cumpărăm.