Ca o gospodină care încearcă să lungească ciorba ca să le ajungă la toți cei cinci copii ai săi, dezvoltatorii bitcoin își bat capul să găsească o soluție pentru scalabilitatea rețelei în așa fel încât utilizatorii, indiferent de câți ”ar da dumnezeu” să încapă sub acoperișul bitcoin. Au venit cu o oală mai mare, cu mai multă apă și cu câțiva cartofi în plus, dar problema persistă, iar copiilor le cam piere răbdarea și încep să îi roadă gospodinei urechile. Riscul e să moară cu toții de malnutriție, iar gospodina să nu mai aibă pentru cine trebălui. Scalabilitate bitcoin, ce solutii avem?
Dincolo de vulgaritatea comparației, acesta este nivelul problemei. Bitcoin ar putea deveni o casă care nu se mai poate gospodări singură, iar protecția copilului s-ar putea să îi plaseze în familii mai responsabile și care, chiar dacă nu sunt mai de încredere, păstrează aparențele foarte bine (iar aici mă gândesc la sistemul bancar tradițional).
GoanaDupăBitcoin a început să caute soluții prin celelalte industrii importante, care au avut de rezolvat problema resurselor limitate și au făcut-o cu succes. Scalabilitatea nu ar trebui să fie o problemă pentru o afacere de orice fel care este bine gândită. Fiecare mediu de succes are probleme asemănătoare în procesul de creștere, mai devreme sau mai târziu, iar faptul că Satoshi Nakamoto le-a anticipat încă de la început presupune că a creat și premizele unei rezolvări.
Iată 3 soluții pe care le-au adoptat profesioniștii din alte industrii pentru a-și putea crește activitatea, în momentul definitoriu pentru afaceri, acela al creșterii la o nouă scară.
Grafica pentru jocurile pe calculator
Să nu uităm că scalabilitatea rețelei prin adăugarea de noi noduri ori prin soluții de cod nu este singura soluție. La conferința Scaling Bitcoin din Hong Kong au fost propuse și soluții pentru a face rețeaua mai elastică, venind cu o soluție dinamică de procesare a tranzacțiilor. Și mai important când vine vorba de elasticitate este că se adaptează mănușă la volumele procesate în rețea, scăzând și crescând în funcție de acestea.
Un exemplu de elasticitate vine din partea industriei jocurilor, unde pretențiile pentru o grafică mai bună cresc în fiecare an iar diversele platforme intră într-o competiție acerbă pentru mai mult realism, până când vom putea simți gustul personajelor și mirosul exploziilor din joc. Competiția însă nu se dă doar pentru grafică, ci și pentru menținerea unui bun raport între resursele calculatoarelor unui gamer mediu și cerințele jocului. Până la urmă, cui folosește o lume virtuală complexă pe care computerele nu o pot procesa?
Ca parte din acest univers, texturile sunt deosebit de importante și pot fi făcute, teoretic, în orice format foto. Formatul ideal s-a dovedit însă a fi DDS (pentru DirectX), care economisește una dintre resursele limitate ale calculatorului, memoria RAM, împărțind responsabilitatea pentru decodare între aceasta și placa video. Practic, nu se face decodarea unor imagini mari cum ar fi PNG-urile ori uriașe cum ar fi TGA-urile, din software costisitor ca resurse, nici din capacitatea limitaă a memoriei RAM ci se face decodarea DDS-urilo, care sunt încărcate în formula lor comprimată pe placa video, făcând o decompresie în real-time de placa video
Printr-o astfel de soluție, rețeaua bitcoin nu ar trebui să suporte toată încărcătura, iar o parte din aceasta ar putea fi suportată de mineri și de resursele calculatorului personal. Astfel de soluții de comprimare a datelor din rețea au fost deja discutate de dezvoltatori și aclamate de utilizatori.
Cloud computing
Bitcoin este mai mult decât un cod, este o infrastructură bazată pe cod, iar în multe dintre discuții se ignoră aspectul de infrastructură.
Soluția BitcoinXT a creat multă frustrare, justificată, dezvoltatorilor care au lucrat la ea și nu au reușit să câștige în popularitate. Problema de bază a propunerii este însă una de principiu – ceea ce nu poți măsura, nu poți administra. Și cum poți, ca programator, să măsori comportamentul din viitor al utilizatorilor bitcoin? Aceasta este discuția care se poartă în mediul cloud computing, însă într-un mod ceva mai organizat și încercând o abordare diferită.
Conceptul ”scaling on demand” – scalare în funcție de cerere, se numără printre avantajele oferite de cloud computing. Autoscalarea se asigură că firmele nu mai trebuie să se teamă de efectul Slashdot – fluxul masiv de trafic care ar putea să facă serverele să cadă. Sistemele cloud lucrează cu soluții de stocare AWS și S3, dar atunci când acest lucru nu este posibil se poate crea un sistem de fișiere distribuite, adică exact soluția implementată în protocolul bitcoin, care însă nu are parte de ElastiCache sau RDS pentru a salva sesiunile. Deși concepte precum principiile agile, dezvoltarea iterativă și programarea modulară sunt încă în studiu, protocolul bitcoin se mândrește cu faptul că este deschizător de drumuri, așadar nu ar fi o surpriză să avem parte de noutăți în întreaga industrie, declanșate de dezvoltatorii bitcoin.
Arhitectură
De la pensiunile mici de pe marginea drumului și până la hotelurile cu 80 de etaje din Dubai este cale lungă. Nu o să spun că este vorba de scalabilitate per se, pentru că în definitiv hotelurile din Dubai nu au fost create pe fundația unei case cu două camere la parter, ci pe o fundație nouă, creată să susțină întreaga structură a clădirii într-un mod mai elastic și mai rezistenț, dar este clar că pe măsură ce nevoile vizitatorilor s-au schimbat, arhitecții au fost pregătiți să facă designul unor clădiri mai rezistente care să stea în picioare.
Deocamdată, structura de rezistență a protocolului blockchain, cea care îl face rezistent la cutremurele pe care hackerii poate ar vrea să le stârnească, este rețeaua formată din noduri, care împreună ranforsează rețeaua. Când însă aceste noduri sunt supuse unei greutăți prea mari, sistemul poate să se prăbușească.
Așadar soluții precum lanțurile paralele care să preia din tensiune ar putea să fie foarte utile. La fel și duplicarea nodurilor pentru a procesa în paralel tranzacții, ceea ce ar presupune o regândire a acestor puncte de articulație din rețea.
Este greu de evaluat ce putem împrumuta din soluțiile găsite de alții pentru a crește. Fiecare domeniu are propriul său ritm de dezvoltare și propriile nevoi nutriționale. Deocamdată, bitcoinului pare că i se servesc diverse mâncăruri, doar-doar îi va făcea vreuna poftă. Nu este însă exclus ca acesta, oricât de rebel ar fi, să învețe bunele maniere la masă de la bătrâni.