Nu prea mi-am băgat nasul în blockchain, însă știam deja că în orice sistem se pot introduce elemente care să compromită întregul sistem.
De exemplu dacă vrei să generezi un crash într-o aplicație, poți pur și simplu să introduci o linie de cod cu sintaxa eronată, iar aplicația nu va mai funcționa.
Ceva asemănător spun autorii acestui articol, însă am dubii. Ar funcționa cum zic ei?
O sa incerc eu sa fac cateva comentarii despre subiect…
Exista mai multe abordari si tipuri de blockchain (public,privat,centralizat,descentralizat,distribuit,etc). Desi a inceput sa fie populara odata cu aparitia criptomonedelor tehnologia blockchain poate fi (si este folosita astazi) in diverse alte aplicatii pentru stocarea sau ancorarea oricarui tip de date si este utila pentru un singur scop, creaza incredere intre cel care scrie si cel care citeste informatia.
Lanturile publice descentralizate sunt mai putin expuse prin faptul ca nu poti scrie decat tranzactii oarecum tipizate verificate de un smartcontract sau ceva similar. Problema e insa in lanturile private care stocheaza date generale ce pot fi predispuse unor tipuri de atacuri care le pot scadea gradul de incredere.
De exemplu intr-un astfel de lant poti scrie date prea mari,prea multe sau prea repede, poti avea bad actors care pot sterge si/sau face rehash. Lanturile private sunt expuse la astfel de atacuri si pentru ca lucreaza cu drepturi si roluri, unele de de administrare, ori chestia asta cel putin in teorie poate fi abuzata la un moment dat. Aici e foarte important cum se verifica informatia si cum reactioneaza nodul sau reteaua in aceste cazuri daca apar, cum se repara sau resincronizeaza informatia iar aici se gasesc de la abordari naive dar uneori eficiente la algoritmi sofisticati. Trebuie mentionat ca toate aceste masuri de protectie de regula scad performanta unui blockchain.
De aceea o discutie controversata in zona asta este blockchain centralizat/distribuit vs descentralizat. De exemplu un blockchain descentralizat unde nu ai control asupra informatiei e greu de atacat dar uneori neperformant si neconfidential, pe de alta parte avantajele unui blockchain privat sunt contabalansate de puncte sensibile (point of failure,bad actors,etc).
Una peste alta, e complicat daca vrei sa abordezi tehnologia blockchain in aplicatia ta si trebuie sa consideri o multime de edge cases in functie de use case-ul tau care sa asigure un nivel cat mai mare de incredere ori asta e o provocare foarte mare in domeniu.