Zdrobire - KamilTaylan.blog
1 mai 2021 21:42

Zdrobire

Ce este Sharding?

Sharding este o tehnică de partiționare a bazei de date utilizată de companiile blockchain în scopul scalabilității, permițându-le să proceseze mai multe tranzacții pe secundă. Sharding împarte întreaga rețea a unei companii blockchain în partiții mai mici, cunoscute sub numele de „cioburi”. Fiecare fragment este format din propriile date, făcându-l distinctiv și independent în comparație cu alte fragmente.

Fragmentarea poate ajuta la reducerea latenței sau încetinirii unei rețele, deoarece împarte o rețea blockchain în cioburi separate. Cu toate acestea, există unele probleme de securitate legate de fragmentare, în care fragmentele pot fi atacate.

Chei de luat masa

  • Sharding-ul este o tehnică de partiționare a bazelor de date, fiind luată în considerare de rețelele blockchain și testată de Ethereum.
  • Cu cât preiau mai mulți utilizatori rețele blockchain, cu atât rețeaua devine mai lentă, ducând la o latență semnificativă.
  • Fragmentarea poate îmbunătăți latența rețelei prin împărțirea unei rețele blockchain în cioburi separate – fiecare cu propriile date, separate de alte cioburi.
  • Problemele de securitate legate de fragmentare includ o preluare de hack sau fragmente, unde un fragment atacă altul, rezultând o pierdere de informații.

Înțelegerea fragmentelor

Rețelele blockchain și criptomonedele respective câștigă popularitate datorită aplicării pe scară largă a tehnologiei, care include gestionarea lanțului de aprovizionare și tranzacțiile financiare. Pe măsură ce popularitatea blockchain-ului crește, crește și volumul de muncă și volumul tranzacțional care este gestionat de rețea. Dacă ne gândim la un blockchain ca la o bază de date partajată, pe măsură ce se adaugă din ce în ce mai multe date, rețeaua trebuie să găsească noi modalități de a putea procesa toate aceste date în mod eficient și rapid, acesta fiind locul în care sharding-ul poate ajuta.

Registrul distribuit

Registrul distribuit al tehnologiei blockchain îl face atractiv deoarece permite tranzacțiile să fie partajate în mod consensual pe mai multe site-uri și geografii. Pe măsură ce tranzacțiile sunt înregistrate, copii sunt trimise în rețeaua partajată în câteva secunde creând „martori” publici. Dacă o porțiune a rețelei este victima fraudei sau a unui atac rău intenționat, participanții la rețeaua partajată pot identifica ceea ce a fost schimbat de către fraudatori, deoarece toți păstrează o copie a tranzacțiilor registrului. Ca urmare, tehnologia blockchain și sistemul său de registru distribuit pot ajuta la reducerea fraudei și la limitarea daunelor cauzate de atacurile cibernetice, cum ar fi un hack.

Scalabilitate

Cu toate acestea, una dintre provocările majore ale tehnologiei blockchain este că, pe măsură ce se adaugă computere suplimentare în rețea și se procesează mai multe tranzacții, rețeaua se poate împiedica, încetinind procesul – numit latență. Latența este un obstacol în calea adoptării blockchain-ului pentru o utilizare pe scară largă, în special în comparație cu sistemele actuale de plăți electronice care funcționează rapid și eficient. Cu alte cuvinte, scalabilitatea este o provocare pentru blockchain, deoarece este posibil ca rețelele să nu poată gestiona cantitatea crescută de fluxuri de date și tranzacții pe măsură ce tot mai multe industrii adoptă tehnologia.

Una dintre soluțiile luate în considerare pentru crearea scalabilității fără latență este procesul de partajare. Sharding-ul este conceput pentru a răspândi volumul de lucru al unei rețele în partiții, ceea ce poate ajuta la reducerea latenței și permite procesarea mai multor tranzacții de către blockchain.



Trei trăsături pe care rețelele blockchain încearcă să le folosească sunt descentralizarea, scalabilitatea și securitatea. 

Cum se realizează fragmentarea

Înainte de a explora cum se realizează partajarea într-o rețea blockchain, este important să examinați modul în care datele sunt stocate și procesate în prezent.

Noduri Blockchain

În prezent, în blockchain, fiecare nod dintr-o rețea trebuie să proceseze sau să gestioneze toate volumele de tranzacții din rețea. Nodurile dintr-un blockchain sunt independente și sunt responsabile de întreținerea și stocarea tuturor datelor într-o rețea descentralizată. Cu alte cuvinte, fiecare nod trebuie să stocheze informații critice, cum ar fi soldurile contului și istoricul tranzacțiilor. Rețelele blockchain au fost stabilite astfel încât fiecare nod să proceseze toate operațiunile, datele și tranzacțiile din rețea.

Deși asigură securitatea unui blockchain prin stocarea fiecărei tranzacții în toate nodurile, acest model încetinește procesarea tranzacției considerabil. Vitezele lente pentru procesarea tranzacțiilor nu prezintă un bun augur pentru un viitor în care blockchainul devine responsabil pentru milioane de tranzacții. 

Fragmentarea poate ajuta, deoarece partiționează sau răspândește volumul de lucru tranzacțional dintr-o rețea blockchain, astfel încât fiecare nod să nu aibă nevoie să gestioneze sau să proceseze toată volumul de lucru al blockchain-ului. Într-un fel, fragmentarea compartimentează volumul de lucru în partiții sau cioburi.

Partiționare orizontală

Fragmentarea poate fi realizată prin partiționarea orizontală a bazelor de date prin împărțirea în rânduri. Fragmentele, așa cum se numesc rândurile, sunt conceptualizate pe baza caracteristicilor. De exemplu, un fragment poate fi responsabil pentru stocarea stării și istoricului tranzacțiilor pentru un anumit tip de adresă. De asemenea, ar putea fi posibil să împărțim cioburile pe baza tipului de activ digital stocat în ele. Tranzacțiile care implică acel activ digital ar putea fi posibile printr-o combinație de cioburi.

De exemplu, luați în considerare o tranzacție imobiliară de închiriere în care sunt implicate mai multe cioburi. Aceste cioburi corespund diferitelor entități implicate în tranzacție, de la numele clientului la cheile digitale configurate într-un blocaj inteligent care este pus la dispoziția chiriașului la plata chiriei.

Partajarea fragmentelor

Fiecare ciob poate fi împărțit între celelalte cioburi, care păstrează un aspect cheie al tehnologiei blockchain – registrul descentralizat. Cu alte cuvinte, registrul este încă accesibil fiecărui utilizator, permițându-le să vizualizeze toate tranzacțiile contabile.

Fragmentare și securitate

Una dintre principalele probleme din practica care a apărut este securitatea. Deși fiecare fragment este separat și procesează doar propriile date, există o preocupare de securitate în ceea ce privește corupția fragmentelor, în cazul în care un fragment ocupă un alt fragment, rezultând o pierdere de informații sau date.

Dacă ne gândim la fiecare fragment ca la propria rețea blockchain cu utilizatorii și datele sale autentificate, un hacker sau printr-un atac cibernetic ar putea prelua un fragment. Atacatorul ar putea introduce apoi tranzacții false sau un program rău intenționat.

Ethereum, una dintre cele mai proeminente companii blockchain, se află pe prima linie de testare a shardingului ca o posibilă soluție la problemele de latență și scalabilitate. Ethereum a combătut potențialul unui atac de cioburi prin atribuirea aleatorie a unor noduri anumitor cioburi și realocarea lor constantă la intervale aleatorii. Această eșantionare aleatorie ar face dificil pentru hackeri să știe când și unde pot corupe un fragment.

De asemenea, este important să rețineți că sharding-ul este încă în faza de testare timpurie a utilizării pentru rețele blockchain. Ca urmare, toate problemele și provocările potențiale nu au fost încă rezolvate.