ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 150
Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 82
Abonament PDF

Provocări în adoptarea tehnologiei blockchain

Norbert Szappanos
CTO @ RebelDot



PROGRAMARE

Blockchain este cuvântul pe care îl auzim din ce în ce mai des în ultimii ani în diverse contexte. Este considerată o tehnologie care are potențialul de a aduce o schimbare și cea care dă startul unui nou val de inovație. Poate te-ai gândit deja să folosești această tehnologie pentru următorul produs sau proiect pe care vrei să-l dezvolți, dar nu ești sigur de unde să începi. În cele ce urmează, vom analiza aspectele de care trebuie să ții cont înainte de a folosi tehnologia.

Adoptarea unei tehnologii inovative vine la pachet cu o serie de considerente, întrucât implică o schimbare radicală. Acest lucru necesită timp. De asemenea, presupune ieșirea din zona de confort - atât pentru tine cât și pentru echipă, utilizatorii și industria ta. Prin urmare, adoptarea acesteia trebuie să aibă loc într-un moment potrivit: când nevoia de a inova și beneficiile unei schimbări depășesc inconvenientele procesului. Acesta este, de fapt, și modul în care s-a născut blockchain: să rezolve o problemă.

Promisiunea Blockchain este crearea unei rețele peer-to-peer pe baza unui registru distribuit ce garantează imposibilitatea de a schimba datele introduse. Mai simplu spus, oferă siguranță și încredere într-un mediu căruia îi lipsesc aceste aspecte. Tehnologia a fost concepută în așa fel încât, modificarea datelor să fie imposibilă (sau cel puțin incredibil de dificil de modificat). Astfel, funcționează ca o istorie permanentă a evenimentelor.

În aparență, totul este simplu. Cu excepția faptului că vine la pachet cu o serie de costuri. Pentru că Blockchain rezolvă o serie de probleme într-o manieră inovatoare, se remarcă automat, o schimbare de paradigmă. Această schimbare vine cu o serie de provocări. O parte dintre acestea, însă, s-ar putea să nu fie evidente de la început pentru că inovația pune sub semnul întrebării tocmai lucrurile cu care suntem obișnuiți. Informațiile de mai jos vin să precizeze aspectele de care trebuie să ții cont înainte de a lua decizia de schimbare.

  1. Vei lucra cu un mediu descentralizat. Blockchain își îndeplinește cu succes promisiunea de a stabili încredere într-un mediu în care aceasta lipsește, prin faptul că nu există o singură entitate centrală care să controleze informația în blockchain. Acest transfer de control și proprietate presupune luarea în considerare a următoarelor aspecte:
  1. Utilizatorii tăi trebuie să comunice cu blockchain. Într-un sistem pur descentralizat, utilizatorii nu ar trebui să comunice cu o entitate centrală, ci cu însuși blockchain. Acest lucru nu este ușor și necesită efort din partea utilizatorilor tăi. Pentru a face uz de sisteme descentralizate, este nevoie de software specializat. Utilizatorii tăi trebuie să înțeleagă, de la început, acest aspect și să fie dispuși să treacă printr-o perioadă de învățare Pe de altă parte, utilizatorii sunt deja obișnuiți să interacționeze, în diverse moduri, cu un soft. În funcție de nevoia ta, valoarea pe care o poți oferi utilizatorilor tăi este să găsești o metodă prin care să faci un mix între tehnologiile folosite într-un mediu centralizat și blockcain. În felul acesta le vei oferi acestora lucrurile cu care sunt obișnuiți beneficiind, în același timp, de avantajele blockchain.

  2. Programatorii trebuie să se adapteze la această nouă paradigmă. Prin natura sa, dezvoltarea aplicațiilor pe blockchain este asemănătoare cu dezvoltarea firmware: din momentul în care ai lansat aplicația, aceasta ajunge pe mii de dispozitive asupra cărora nu ai control (sau ai puțin spre deloc). Acest lucru implică o serie de costuri ridicate pentru o eventuală modificare ulterioară. Practic, dacă nu perfecționezi aplicația de la început, vei plăti costurile mai târziu. Aceasta presupune, de asemenea, ca o mare parte dintre bunele practici cu care programatorii sunt obișnuiți, să nu funcționeze atât de bine în cazul blockchain:continous integration, incremental builds și chiar și metodologia Agile. Bineînțeles, poți continua folosirea acestor practici interne, însă prima versiune a produsului ar trebui să fie completă și stabilă.

  3. Datele din Blockchain nu pot fi schimbate. Acest aspect impune realizarea unui produs de calitate superioară încă de la început, lucru ce are impact asupra bugetului proiectului, deoarece va fi nevoie să aloci mai multe resurse pentru proiectarea și testarea produsului. Se spune că procesul de testare nu poate să demonstreze că o bucată de cod nu are buguri, ci numai faptul că toate bugurile cunoscute au fost rezolvate. Astfel, procesul de a asigura calitatea produsului începe încă din faza de proiectare. Va trebui să se ia în calcul alocarea de timp necesară pentru a analiza toate posibilele obstacole: de la limitări și consecințe pe termen lung la cazuri excepționale și implicații ce țin de securitate. Este indicată aplicarea unei serii de măsuri de calitate. A avea o echipă specializată în zona de testare este un alt aspect important. Chiar dacă pornim de la un sistem bine proiectat și scriem cod excelent, sunt șanse mari să se strecoare erori pe parcursul procesului. Acest lucru se întâmplă, deoarece este dificil să-ți testezi propriul cod. Oamenii obișnuiesc să construiască un model mental în momentul în care încearcă să rezolve o problemă, lucru ce se reflectă și în cazul programatorilor: vor folosi același model mental atât pentru scrierea codului cât și pentru testarea acestuia. Acest lucru este normal. Dar o echipă de testare dedicată se poate asigura de calitatea softului folosind un alt model mental. De asemenea, bugetarea unui număr considerabil de ore de testare este un lucru de care trebuie să ții cont. Deși pare șocant, regula, de obicei, este ca pentru fiecare săptămână de codare să se aloce între 5-10 săptămâni de testare. Testarea blockchain nu este doar o modalitate de a asigura calitatea softului ci și o metodă de reducere a riscurilor.

  4. Securitatea este de maximă importanță. Codul tău este accesibil, într-o formă sau alta, oricui deține un nod în blockchain (iar în cazul blockchainurilor publice este accesibil tuturor). Astfel că, securitatea joacă un rol crucial pe parcursul întregului ciclu de dezvoltare software. Mai ales că, odată lansat produsul, codul nu poate fi modificat. Dacă există un bug în soft, sunt puține lucruri pe care le poți face pentru a remedia situația, întrucât nu poți fixa ușor codul așa cum ai face într-un mediu centralizat. Așadar, există posibilitatea ca acest lucru să fie exploatat într-o manieră nedorită de tine.

  5. Tehnologia nu a ajuns încă la stadiul de maturitate. Ecosistemul este încă în stadiu incipient și cu toate că se fac eforturi constante pentru a crea instrumente noi care să faciliteze dezvoltarea pe blockchain, acestea nu sunt încă la fel de stabile ca cele existente deja pentru tehnologii centralizate. Astfel că, deseori, programatorii trebuie să conștientizeze că ceea este ușor de implementat în cazul altor tehnologii, este destul de complex când vine vorba de blockchain.

  6. Blockchain nu este (chiar) rapid. Principalele caracteristici ale blockchain sunt securitatea și imposibilitatea modificării datelor. Astfel că, blockchain va asigura aceste două trăsături în detrimentul performanței. Bineînțeles, tehnologia evoluează rapid și apar constant soluții care să crească performanța blockchain, însă realitatea curentă este că blockchain nu este la fel de performant ca tehnologiile centralizate.

Probabil că după ce ai citit rândurile de mai sus înclini spre a alege alte tehnologii în detrimentul blockchain, însă nu trebuie să uiți că sunt deja soluții existente care să te ajute să treci cu bine peste aceste provocări. Principala idee cu care trebuie să rămâi este că blockchain revoluționează atât domeniul în care este folosită cât și modul în care este dezvoltat produsul.

Așadar, merită să folosești blockchain ?

Ca și în cazul altor tehnologii, răspunsul este: depinde. Blockchain poate aduce, într-adevăr, inovație în foarte multe industrii și are mult potențial. În unele cazuri oferă cu adevărat, avantaje de neegalat de nici o tehnologie existentă pe piață. Dar trebuie să folosești instrumentul potrivit pentru nevoia ta. Această tehnologie este deosebit de bună pentru a te asigura că informațiile nu pot fi modificate și că există o istorie a evenimentelor, o arhivă permanentă a acțiunilor întreprinse pe blockchain. Dacă aceasta este ceva de care ai nevoie și crezi că poți aduce valoare prin blockchain, atunci este tehnologia potrivită pentru tine.

NUMĂRUL 149 - Development with AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects