Ce este Hyperledger Fabric?¶
Fundația Linux a fondat proiectul Hyperledger în 2015 pentru a avansa tehnologiile blockchain în toate industriile. În loc să declare un singur standard blockchain, încurajează o abordare colaborativă pentru dezvoltarea tehnologiilor blockchain prin intermediul unui proces comunitar, cu drepturi de proprietate intelectuală care încurajează dezvoltarea deschisă și adoptarea de standarde cheie peste timp.
Hyperledger Fabric este unul dintre proiectele blockchain din cadrul Hyperledger.La fel ca și alte tehnologii blockchain, are un registru, folosește contracte inteligente și este un sistem prin care participanții își gestionează tranzacțiile.
Unul în care Hyperledger Fabric se diferențiază de alte sisteme blockchain este faptul că este privat și cu permisiune. Mai degrabă decât un sistem deschis, fără permisiuni, care permite unor identități necunoscute să participe la rețea (necesitând protocoale precum „proof of work” pentru a valida tranzacțiile și a securiza rețeaua), membrii unei rețele Hyperledger Fabric se înscriu prin intermediul unui furnizor de servicii de apartenență (Membership Service Provider – MSP) de încredere.
Hyperledger Fabric oferă, de asemenea, mai multe opțiuni care pot fi conectate. Datele din registrul de evidență pot fi stocate în mai multe formate, mecanismele de consens pot fi schimbate, iar MSP diferiți sunt suportați.
Hyperledger Fabric oferă, de asemenea, posibilitatea de a crea canale, permițând unui grup de participanți să creeze un registru separat de tranzacții. Aceasta este o opțiune deosebit de importantă pentru rețelele în care unii participanți ar putea fi concurenți și nu doresc ca fiecare tranzacție pe care o fac – un preț special pe care îl oferă unor participanțiși nu altora, de exemplu – să fie cunoscută de fiecare participant. Dacă doi participanți formează un canal, atunci acei participanți – și nu alții – au copii ale registrului pentru acel canal.
Shared Ledger
Hyperledger Fabric are un subsistem de registru care cuprinde două componente: worldstate și registrul de tranzacții. Fiecare participant are o copie a registrului de evidență pentru fiecare rețea Hyperledger Fabric din care face parte.
Componenta world state descrie starea registrului de evidență la un moment dat în timp. Este baza de date a registrului de cont. Componenta jurnal de tranzacții înregistrează toate tranzacțiile care au dus la valoarea curentă a stării mondiale;este istoricul actualizărilor pentru starea mondială. Prin urmare, registrul de evidență este o combinație a bazei de date a stării lumii și a istoricului jurnalului de tranzacții.
Registrul de evidență are un depozit de date înlocuibil pentru starea lumii. În mod implicit, aceasta este o bază de date LevelDB key-value store. Nu este necesar ca jurnalul de tranzacții să fie înlocuibil. Acesta înregistrează pur și simplu valorile de dinainte și de după a bazei de date a registrului de tranzacții care este utilizată de rețeaua blockchain.
Contracte inteligente
Contractele inteligente din Hyperledger Fabric sunt scrise în cod de lanț și sunt invocate de o aplicație externă blockchain atunci când acea aplicație trebuie săinteracționeze cu registrul de tranzacții. În cele mai multe cazuri, chaincode interacționează doar cu componenta de bază de date a registrului de evidență, starea lumii (interogarea acesteia, de exemplu), și nu cu jurnalul de tranzacții.
Chaincode poate fi implementat în mai multe limbaje de programare. În prezent, Go, Node.js și Java chaincode sunt acceptate.
Privacy
În funcție de nevoile unei rețele, participanții la o rețea Business-to-Business(B2B) ar putea fi extrem de sensibili cu privire la cantitatea de informații pe care le împărtășesc.Pentru alte rețele, confidențialitatea nu va fi o preocupare de top.
Hyperledger Fabric suportă rețele în care confidențialitatea (folosind canale) este o cerință operațională cheie, precum și rețele care sunt relativ deschise.
Consensus
Transacțiunile trebuie să fie scrise în registrul de evidență în ordinea în care au loc, chiar dacă ar putea fi între diferite seturi de participanți în cadrul rețelei. Pentru ca acest lucru să se întâmple, trebuie stabilită ordinea tranzacțiilor și trebuie pusă în aplicare o metodă de respingere a tranzacțiilor greșite care au fost introduse în registru din greșeală (sau cu rea intenție).
Acest domeniu al informaticii a făcut obiectul unor cercetări amănunțite și există mai multe modalități de realizare a acestui lucru, fiecare dintre ele cu diferite compromisuri. De exemplu, PBFT (PracticalByzantine Fault Tolerance) poate oferi un mecanism prin care replicile de fișiere să comunice între ele pentru a menține consecvența fiecărei copii, chiar și în caz de corupție. Alternativ, în Bitcoin, ordonarea are loc printr-un proces numit minerit, în care computerele concurente se întrec să rezolve un puzzle criptografic care definește ordinea pe care se bazează ulterior toate procesele.
Hyperledger Fabric a fost conceput pentru a permite starterilor rețelei să aleagă un mecanism de consens care să reprezinte cel mai bine relațiile care există între participanți. Ca și în cazul confidențialității, există un spectru de nevoi; de la rețelele care sunt foarte structurate în relațiile lor la cele care sunt mai mult de la egal la egal.