fbpx
  • bitcoinBitcoin$66,258.003.64%
  • ethereumEthereum$4,298.5411.30%
  • ElrondElrond$251.386.37%

Ce este Sharding-ul

 

Astazi, va voi explica ce reprezinta procesul de Sharding, cum functioneaza si ce avantaje si dezavantaje are.

 

Ce este Sharding-ul

Sharding reprezinta procesul de separare a unei baze de date pe orizontala, pentru a imparti astfel inclusiv load-ul retelei, acesta fiind un concept comun in informatica, inca de la inceputul anilor ’90. 

În cazul unui blockchain, procesul este menit sa reduca congestia retelei si sa mareasca numarul tranzactiilor procesate pe secunda, deoarece creeaza noi chains, numite „shards” – in traducere,  „cioburi”.

Prin divizarea retelei Blockchain in segmente individuale, adica shards, fiecare segment va avea un set unic de smart contracts si balante de plati. Mai mult, nodes din retea sunt apoi alocate unor shards individuale, pentru a verifica astfel tranzactiile, in loc sa ajunga responsabile pentru verificarea fiecarei tranzactii din intreaga retea.

Scopul este ca, daca se separa Blockchain-ul in segmente mai mici, randamentul tranzactiilor ar creste, depasind astfel problemele tipice de scalabilitate cu care se confrunta de obicei un Blockchain.

Nu in ultimul rand la acest subpunct, voi completa ca, un blockchain care foloseste sharding se bazeaza pe un algoritm de consens Proof of Stake.

 

Cum functioneaza Sharding-ul

Acest proces poate fi realizat prin impartirea nodurilor retelei in grupuri, alaturi de separarea si atribuirea informatiilor din retea catre acele grupuri. Altfel spus, baza de date este astfel impartita in „shards”. Fiecare dintre acestea vine cu caracteristicile sale distincte, astfel incat shards sa nu poata fi confundate intre ele.

Una dintre metode presupune o horizontal partition a bazei de date, adica impartirea pe randuri. Cand se realizeaza acest lucru, randurile vor include numai shards cu un anumit tip de informatii, astfel incat sa poata fi separate pe baza acelor smart contracts pe care le includ.

O alta metoda ar fi organizarea nodes-urilor retelei intr-un mod in care este configurat un central relay network, astfel incat toate fragmentele sa poata comunica intre ele. Aceasta inseamna ca fiecare shard isi poate pastra informatiile specifice, dar le poate si partaja atunci cand este necesar, pe baza unui releu central.

Comunicarea dintre shards este extrem de importanta, deoarece permite tuturor utilizatorilor unei retele sa acceseze informatiile stocate in Blockchain.

 

Ce avantaje asigura Sharding-ul

Cel mai important aspect care vine odata cu acest proces este imbunatatirea scalabilitatii. Datorita sharding-ului, un numar mai mare de nodes si volume mai mari de informatie pot fi interconectate intr-un Blockchain, fara a afecta viteza tranzactiilor.

Ca urmare, diferite sectoare ar putea fi interesate sa adopte tehnologia Blockchain, deoarece astfel si-ar putea indeplini sarcinile mai repede. Daca tranzactia este mai rapida, companiile fintech bazate pe Blockchain au sanse mai mari sa concureze cu aplicatiile de plata centralizate.

Alte beneficii includ o accesibilitate mai buna pentru utilizatori si o participare mai extinsa la retea, deoarece se asteapta ca sharding-ul sa se poata face chiar si de pe un smartphone sau de pe PC, incurajand astfel tot mai multi useri sa se alature.

 

Ce dezavantaje ar avea Sharding-ul

La fel ca orice proces sau protocol, inclusiv acesta poate avea dezavantajele sale.

Principalul dezavantaj e posibilitatea cresterii riscurilor legate de securitate. Cateva exemple includ coruperea shards sau coluziunea dintre shards. 

Daca s-ar intampla acest lucru, informatiile ar putea fi pierdute complet sau partial – totodata, date eronate ar putea intra in retea printr-un shard corupt.

De pilda, acest risc este prevenit pe Ethereum 2 prin atribuirea aleatorie de nodes unor shards si prin efectuarea acestei proceduri la intervale neregulate.

 

Concluzii

Sharding-ul este o metoda de reducere a congestionarii unei retele si de crestere a numarului de tranzactii care pot fi efectuate pe un Blockchain – totul prin simpla impartire a bazei de date pe diferite randuri. 

Desi are unele avantaje mari, cum ar fi scalabilitatea imbunatatita, are totusi si riscuri ce tin de securitate, pentru evitarea carora inca se lucreaza la identificarea celor mai bune solutii.

 

Articolul PrecedentArticolul Urmator

Leave a Reply

Your email address will not be published. Required fields are marked *