TSM - Experts Panel – Blockchain

Ovidiu Mățan - Fondator @ Today Software Magazine

Am discutat în cadrul evenimentului de lansare a numărului 121 al revistei Today Software Magazine despre Blockchain. A fost un panel special și ne-am bucurat de prezența următorilor speakeri:

Vă rog să vă faceți o scurtă introducere

Ajay Rathore: Locuiesc în România de aproape opt ani și am absolvit ca inginer în electronică și comunicații, dar am decis să-mi urmez cariera în inginerie software. În ceea ce privește experiența mea de până acum, am lucrat mai ales la dezvoltare web, iar recent, în ultimii ani, am aprofundat mai mult implementările algoritmice în grafuri. Am văzut cazuri de utilizare ale unor astfel de algoritmi care mi-au atras atenția asupra ariei de distributed computing și asupra modalităților de a conecta nodurile între ele pentru a construi un sistem precum blockchain.

Dan Sabadîș: Am absolvit Facultatea de Matematică la Universitatea din București, unde am și lucrat câțiva ani. Apoi m-am mutat în Canada timp de nouă ani, acum fiind la Cluj de aproape opt ani. Am lucrat într-o varietate de afaceri, mai ales legate de tehnologia Microsoft, deci c-sharp, baze de date, SQL Server, JavaScript Frameworks propuse de Microsoft. În acest moment lucrez cu un start-up în domeniul cercetării clinice legate de lansarea unui medicament. Adică în Big Pharma și Financial Modelling.

Paul Trestian: Sunt stabilit în Cluj, am studiat Informatică la UBB și de atunci locuiesc în Cluj. În prezent lucrez la Accesa și backgroundul meu a fost în principal Java pe aplicații web, cum ar fi partea de backend a aplicațiilor web. În ultimii doi ani am făcut tranziția către proiecte de date mari în Cloud. Am lucrat în construirea de AWS, Big Data Solution, iar acum lucrez la un proiect pentru o bancă germană

Ce frameworkuri folosiți pentru Blockchain ?

Paul Trestian: Experiența mea cu blockchain este doar la început. În urma hackathonului Tendermint m-am uitat pe Hyperledger Fabric și am făcut tutorialul lor care a funcționat destul de ușor și rapid. Dacă cineva își dorește să înceapă ceva care să aibă legătură cu blockchain îl recomand. În ceea ce privește următorul meu plan, este să mă informez mai mult cu privire la Ethereum și Smart Contracts.

Dan Sabadîș: Momentan, cel mai interesant și folosit instrument este Hardhat, pe care îl combin cu Ganache, de exemplu, pentru a crea in-memory blockchain când testăm ceva. Pentru a realiza un nou blockchain, un nou contract pe care să îl implementăm în Blockchain, putem modifica timpul și tot ce ține de blockchain. Avem astfel un blockchain virtual în care testăm totul.

Ajay Rathore: Am lucrat la Thundermint, unde am ajuns la partea de construire a aplicației blockchain, dar aș vrea să vorbesc despre calitate. Pentru noi, lipsa experienței în blockchain ne oferă o oportunitate de a ne defini cu adevărat proprii termeni de calitate. La ce te referi când spui calitate într-un blockchain? Înseamnă cât de repede poate procesa tranzacțiile? Înseamnă cât de securizat este? Cât de descentralizat este? Sau înseamnă că vă poate ajuta să construiți o soluție care să se potrivească nevoilor voastre ca organizație, fie că este o corporație, o bancă sau o organizație guvernamentală. Așadar, aceasta a fost una dintre cele mai mari întrebări care ne-a rămas în minte și de aceea ne concentrăm mai mult pe conceptele fundamentale și pe implementarea diferitelor componente, pentru că așa ești capabili să-ți definești propria calitate. Poți alege ceva foarte ușor bazat pe algoritmi și să economisești o mulțime de resurse sau poți merge cu altele mai sigure și mai stabile, dar care solicită mai multe resurse.

Ați găsit probleme (bug-uri) atunci când ați testat Thundermint?

Ajay Rathore: În testarea noastră, nu am avut probleme majore, pentru că eram încă în stadiul de a înțelege. Pentru a găsi o eroare, cred că ar trebui să devenim adevărați experți, iar momentan suntem limitați doar la stadiul de bârfă. Ar fi doar un algoritm pe care să îl obții și care are o variație a BFD, așa că ești limitat și la asta, deoarece nu oferă nicio implementare ulterioară. Deci de acolo ești liber să dezvoltați ce vrei tu. Dacă următoarea sarcină a lui Paul este să se informeze mai mult despre Ethereum, a mea este să aprofundez rețelele peer-to-peer și să văd ce alte studii recente putem folosi pentru a oferi soluții alternative la problemele de rețea cu care se confruntă blockchain.

Paul Trestian: Aș adăuga un lucru la discuția despre buguri. La un moment dat am discutat despre descoperirea nodurilor, unde există noduri de validare care rulează un cod și acolo sunt, de asemenea, seed nodes care acționează ca un intermediar pentru a descoperi alte noduri. Noi am încercat să folosim acele seed nodes, dar ceva nu funcționa așa că le-am urmărit documentația. Nu înseamnă că era un bug acolo, dar am ajuns într-un punct în care am făcut ceea ce au specificat ei în documentație și tot nu a funcționat.

Cum credeți că ar putea fi îmbunătățite tehnologiile blockchain (e.g. migrarea de la PoW la PoS sau Delegated Proof of Stake)?

Dan Sabadîș: Aceste lucruri au tendința să ducă după un timp la o discuție religioasă, așa că tind să prefer mai mult Proof of Work decât Proof of Stake, chiar dacă acest mare dezavantaj este timpul lent de tranzacție, execuție, acceptare și risipă de energie. Dar pe PoS avem dezavantajul centralizării. În același timp, dacă vrei să funcționeze ceva, vei căuta o soluție în care ai microtranzacții care se rezolvă în câteva milisecunde. În cele din urmă, cred că ambele cuvinte se vor lipi, pentru că este ca rețeaua fulger în Bitcoin, care nu mai este complet descentralizată dacă o folosești, dar este foarte rapidă, așa că probabil va fi o soluție hibridă.

Paul Trestian: Probabil că aș favoriza PoS din cauza motivelor care țin de energie și performanță, chiar dacă vine cu un anumit risc. Sper că va apărea o soluție de PoS, care să nu aibă dezavantajele ca cineva să aibă o majoritate cu ușurință, doar pentru că are mai mulți bani și sper că vom putea merge mai departe într-un fel. În afară de asta, ceea ce mi-a venit în minte legat zona de blockchain este că mi-aș dori să văd dezvoltarea unor frameworkuri sau tehnologii care să ușureze dezvoltarea lucrurilor legate de blockchain, cum ar fi contractele inteligente. Un exemplu este cel pe care l-a menționat Dan, Ganache, ca un in-memory blockchain, deoarece cred că aceasta este o piesă a puzzle-ului care poate ajuta la dezvoltarea și atragerea mai multor oameni în zona de "ok, cum pot să încep la nivel local și să încerc ceva". Având mai multă dezvoltare în acel spațiu de frameworkuri și poate având chiar frameworkuri peste frameworkuri care pot deveni mature și pot aduce contribuitori în acele frameworkuri, cred că ar ajuta spațiul blockchain.

Ce părere aveți despre identitatea descentralizată (Decentralized identity)?

Dan Sabadîș: Nu știu prea multe despre acest subiect, dar pot spune înainte de toate să nu încercăm să rezolvăm marile probleme ale umanității, ci să încercăm să rezolvăm ceva anume din blockchain și, în al doilea rând, să încercăm să popularizăm blockchain în modul de a face programare. Iar după ce vom obține destule minți strălucitoare aici, va apărea ceva bun, sau ceva rău. Dar suntem optimiști...

Recent am discutat cu Daniel Tămaș de la WAM despre utilizarea și premierea jucătorilor cu crypto. Ce părere aveți despre această abordare ?

Paul Trestian: Deoarece sunt interesat de blockchain, încurajez dorința de a încerca să construim tot felul de soluții bazate pe blockchain, mai ales dacă nu există niciun risc de securitate sau risc pentru sănătatea oamenilor. Aș merge înainte cu orice și aș încerca acest tip de soluții în domenii diferite, astfel încât să obținem experiență și să simțim ce funcționează și ce nu. Cred că pentru alte scenarii și idei, doar timpul va spune dacă are sens sau nu. Uneori, alte idei pot ieși dintr-o idee care este decentă sau nu atât de bună, iar ideile mai bune pot apărea doar văzând cum au fost construite proiectele inițiale.

Ajay Rathore: Eram foarte curios cu privire la protecția împotriva ransomware-ului. Pentru mine, asta reprezintă o oportunitate, deoarece doar în Europa cred că atacurile ransomware valorează sute de miliarde de euro. Așa că există cu siguranță un interes acolo, câtă vreme au suficiente fonduri pentru a finanța o astfel de cercetare și pentru a adopta o tehnologie care să ajute în această direcție. Există mari jucători de securitate pe piață, dar cel puțin din câte știu eu, niciunul dintre ei nu se bazează pe blockchain. Prin urmare, ar fi interesant să vedem blockchainul luând parte la asta.

Cum vedeți situația de pe piața de crypto?

Dan Sabadîș: Întreaga proprietate imobiliară din SUA este de aproximativ 400 de trilioane de dolari, adică terenuri și clădiri. Bursa de valori din New York este evaluată la aproximativ 100 de trilioane de dolari, iar întreaga capitalizare de piață a blockchainului este în prezent de aproximativ 1 trilion, 60% din ea fiind evaporată din noiembrie, până acum. Este încă mult, dar tranzacțiile care se creează acolo sunt foarte rapide, nu ca într-un schimb tradițional, pentru că vorbim de 24 de ore de funcționare, fără reguli, unde poți paria, cumpăra și vinde oricând. Ca o concluzie, cred că nu poate merge decât în sus, pe termen mai lung.

Dacă cineva dorește să înceapă să lucreze la blockchain ca software developer, ce sfaturi i-ați oferi?

Paul Trestian: Le sugerez să facă niște cercetări și să decidă în ce zonă sau parte a blockchainului vor să înceapă să caute. De exemplu, cu Tendermint Core, ceea ce am făcut a fost să înțelegem puțin cum funcționează blockchainul și care sunt elementele de bază ale acestuia. Apoi am văzut contractele lor inteligente ca o parte complet separată, pe care o puteți aborda la nivel de începător. Așadar, recomandarea mea este să identifici tipurile sau zonele de blockchain care există și să decizi în funcție de ceea ce vrei să obții, ce domeniu să aprofundezi și să cercetezi.

Ajay Rathore: După cum a spus Paul, cred că depinde într-adevăr de developer. Să presupunem că ești mai obișnuit cu Python. Atunci aș recomanda să lucrezi cu instrumente care oferă Python și nu să sugerez să înveți C++, pentru că este o călătorie lungă pentru a ajunge în zona în care se utilizează soluții bazate pe C++. În același timp, sunt de acord că aici sunt multe niveluri diferite de concepte. Pe de altă parte, dacă ești interesat de cum putem crește viteza tranzacțiilor sau cum putem mări rețeaua fără a compromite performanța, atunci da, rețeaua P2P este ceva în care ar trebui să intrăm. Așadar, cred că Python ar putea fi un bun punct de plecare pentru mulți developeri.

Dan Sabadîș: Ca recomandare de final, menționez două site-uri cu adevărat utile. Unul a fost Ethernetul care este pentru oameni avansați și interesați de hacking și probleme de securitate. Acesta îți oferă o problemă de tip puzzle pe care trebuie să o rezolvi. Nu este securizat, dar devin din ce în ce mai securizat. Există totuși o modalitate de a-l sparge. Așa poți învăța partea de securitate în Solidity. Iar cealaltă recomandare este pentru începătorii care vor să învețe syntactics și lucrurile care vin cu smart contracts.