Bitcoin, blockchain, criptografie si criptomonede
Daca pana acum nu multa vreme, termenul de "Bitcoin" era cvasi-necunoscut sau era considerat doar o simpla "glumita naiva" cand venea vorba despre un mod de a utiliza/stoca valoare, incepand cu toamna anului 2017 lucrurile s-au schimbat. "Bitcoin" a devenit, relativ brusc, un cuvant pe buzele tuturor, un fel de laitmotiv al "noului sistem financiar".
De ce? Pentru ca, daca la inceputul anului 2017 piata criptomonedelor era undeva la 17.5 miliarde de dolari, aceasta a ajuns, in ianuarie 2018, sa atinga o valoare de 813 miliarde de dolari (pe 7 ianuarie 2018).
Bitcoin-ul insusi a avut o valoare de ~960$ pe 1 ianuarie 2017, urmand sa culmineze la o valoare de 20.089$, pe 17 decembrie 2017, ora 15:19. De atunci insa, a coborat substantial.
In acest articol as dori sa abordez subiectul criptomonedelor si a conceptelor de criptografie din spatele acestora. Ca si pentru restul articolelor pe care le-am scris, va trebui sa fac mentiunea ca si acesta este unul complex. Voi incerca sa ma rezum la esentiale, dar am sa descriu si cateva lucruri pe care le consider interesante (si la care majoritatea oamenilor nu au acces).
Pana la urma, ce este un Bitcoin? Un Bitcoin este o moneda digitala (sau o criptomoneda). Ideea principala din spatele Bitcoin este ca aceasta moneda este decentralizata, si anume, nu "apartine" de o anumita institutie financiara, si nu este supusa vreunei reglementari. Prin "decentralizata" ne referim la faptul ca nu este stocata undeva "anume", pe un anumit server sau intr-o locatie fizica efectiva. Registrul care determina ce Bitcoin se afla unde anume, si de cine apartine, este un registru distribuit, decentralizat - informatiile referitoare la Bitcoin sunt in toata reteaua Bitcoin, nu intr-un loc anume.
Astfel, nimeni nu detine un control asupra Bitcoin - este o moneda controlata de insasi reteaua de care apartine. Cine face parte din aceasta retea? Cei care au un portofel Bitcoin (si deci detin o cheie publica si una privata) si cei care mineaza in reteaua Bitcoin, ducand la bun sfarsit tranzactiile si mentinand integritatea retelei.
Structura software din spatele Bitcoin se cheama blockchain. Blockchain-ul, la randul sau, se bazeaza pe criptografie. Ce este criptografia? Este stiinta care se ocupa cu studiul si practica comunicatiilor sigure.
Acum, criptografia este o stiinta veche. Blockchain-ul este doar o ramura a ei, iar criptomonedele se bazeaza pe aceasta ramura a criptografiei, folosind, dupa cum am spus mai sus, chei criptografice: cheia publica si cheia privata.
La prima vedere, sistemul este unul complicat, dar cu putina atentie, nu este atat de dificil de inteles.
Sa luam urmatorul exemplu (in criptografie, in mod conventional, daca vrem sa afisam 2 persoane care vor sa discute pe un canal sigur, vom folosi numele "Bob" si "Alice"):
In acest exemplu, Alice vrea sa comunice cu Bob, si sa-i transmita mesajul "Hello Bob" intr-o maniera sigura, fara ca acesta sa poata fi interceptat si decodificat de catre un eventual hacker. Ambii parteneri de discutie au cate doua chei: o cheie publica si o cheie privata (secreta).
Avem, deci, patru chei in total:
Cheile private (sau secrete, pentru a putea folosi prescurtarile mai eficient), sunt chei cunoscute numai de catre cei care le detin. Doar Alice are acces la SKA (cheia ei secreta), si doar Bob are acces la SKB (cheia lui secreta).
Dar ce sunt, pana la urma, aceste "chei"? Cheile sunt practic un sir de caractere la intamplare, foarte greu (cel putin pentru calculatoarele clasice) de "spart". Cu cat cheia este mai lunga, cu atat este mai greu de spart, similar cu o parola. Un exemplu de cheie publica Bitcoin: "1CC3X2gu58d6wXUWMffpuzN9JAfTUWu4Kj". Similar pentru o cheie privata.
Daca privim la pictograma de mai sus, vedem ca pentru ca Alice sa trimita un mesaj ce sa poata fi decriptat doar de Bob, aceasta poate encripta mesajul cu cheia publica a lui Bob. De ce? Pentru ca odata ajuns la Bob, Bob isi poate folosi cheia secreta pentru a decripta mesajul lui Alice.
Cheia secreta este folosita pentru a decripta orice fel de mesaj este encriptat cu cheia publica. Cu alte cuvinte, daca encriptezi un mesaj cu PKB, Bob il poate decripta cu SKB. Cum Bob este singurul care are acces la SKB, avem garantia ca doar Bob va putea citi mesajul.
In criptografia reala, lucrurile stau, de fapt, mai complicat decat in lumea criptomonedelor. Atunci cand Alice encripteaza mesajul "Hello Bob" cu cheia publica a lui Bob, Bob nu are garantia ca mesajul provine de la Alice. Un hacker ar putea la fel de bine sa encripteze un mesaj folosind cheia publica (din moment ce hackerul, si oricine altcineva, are acces la cheia publica a lui Bob) si sa pretinda ca e Alice, incercand sa-l pacaleasca pe Bob.
Cu alte cuvinte, folosirea cheii publice de encriptare a lui Bob nu garanteaza identitatea mesajului - garanteaza doar securitatea mesajului (doar Bob poate citi mesajul).
Daca Alice ar dori sa ii demonstreze ca este intr-adevar un mesaj de la ea si nu de la un hacker, atunci Alice ar trebui sa encripteze mesajul cu cheia ei secreta, urmand ca Bob sa decripteze mesajul cu cheia publica a lui Alice.
Stiu ca poate fi putin dificil de urmarit tot acest scenariu, dar de fapt este foarte simplu: din moment ce doar Alice are acces la cheia ei secreta, inseamna ca doar ea poate encripta folosind cheia ei secreta. Bob poate apoi folosi cheia ei publica pentru a decripta mesajul.
Problema, in acest caz, este ca oricine poate decripta mesajul folosind cheia publica a lui Alice. Un hacker ar putea intercepta mesajul encriptat cu cheia secreta a lui Alice, si apoi ar utiliza cheia publica a lui Alice pentru a-l decripta.
Rezumand:
Daca Alice encripteaza mesajul adresat lui Bob cu PKB, Bob poate folosi SKB pentru a-l decripta. Mesajul va fi unul secret, dar identitatea celui care a trimis mesajul nu va putea fi verificata.
Daca Alice encripteaza mesajul adresat lui Bob cu SKA, Bob poate folosi PKA pentru a-l decripta. Identitatea mesajului este garantata, dar mesajul va putea fi decriptat de oricine.
Din moment ce am ajuns atat de departe in criptografie, trebuie sa dau si solutia a cum faci exact sa obtii ambele lucruri: si natura secreta a mesajului, si dovedirea identitatii celui care trimite mesajul?
Mult timp, acest lucru a parut a fi imposibil, insa de fapt are o solutie foarte simpla (asa dupa cum sunt majoritatea solutiilor bune).
Pentru ca Alice sa trimita un mesaj care sa fie secret si sa dovedeasca ca a fost trimis de ea, trebuie sa faca doar doua lucruri:
1) Sa encripteze mesajul cu SKA (cu cheia ei secreta). Astfel, vom sti ca mesajul provine de la Alice.
2) Sa encripteze inca o data mesajul cu PKB (cu cheia lui Bob publica). Astfel, doar Bob poate decrypta mesajul.
Pentru ca Bob sa citeasca mesajul, mai intai va folosi SKB (cheia lui Bob secreta), ca prima etapa in procesul de decriptare. Apoi, va folosi PKA (cheia publica a lui Alice) pentru a decripta complet mesajul.
In notatie criptografica, tot procesul arata in felul urmator:
{{{{m}SKA}PKB}SKB}PKA = m
Cu alte cuvinte, dupa ce mesajul a fost encriptat cu SKA si PKB, si decriptat cu SKB si PKA, avem din nou mesajul in text normal.
Acest proces a fost developat de catre Whit Diffie si Martin Hellman, eroi ai criptografiei.
Evident, criptografia este o stiinta complexa si foarte, foarte interesanta. Unul dintre cele mai simple moduri de "codare" a datelor este Caesar Cipher (cifrul Cezar). Acesta nu este altceva decat un cifru de substitutie, prin care mutam caracterele cu un numar n de unitati la stanga sau la dreapta in alfabet.
Un mesaj de genul abc, cu un shift de +2 in alfabet va fi "cde".
Un mesaj de genul "Acest mesaj a fost codificat prin intermediul Caesar cipher" va fi "ceguv ogucl c hquv eqfkhkecv rtkp kpvgtogfkwn ecguct ekrjgt"
Aparent, greu de decodificat. Dar de fapt, este relativ usor de spart. Maniera prin care poti sparge un astfel de cifru este prin analizarea cuvintelor din mesajele pe care le interceptezi, ce au fost codificate prin cifrul Caesar. Cu cat ai acces la mai multe cuvinte si mesaje, cu atat sansele tale sunt mai bune.
Cum faci asta, exact? Simplu. Fiecare limba are o anumita distributie a literelor din alfabetul sau. Poti realiza o histograma a frecventei literelor din mesajele interceptate de tine si apoi poti compara histograma mesajelor tale cu histograma obisnuita a acelei limbi.
Avand ambele histograme, putem determina cu cate unitati au fost deplasate literele (de exemplu, +2, ca in exemplul dat de mine mai sus) si apoi practic putem decodifica mesajul encriptat cu Caesar cipher.
De ce spun toate aceste lucruri? O data, pentru ca sunt interesante. A doua oara, pentru ca, pentru Bitcoin si celelalte criptomonede, a fost nevoie de inventia unui sistem de chei publice si secrete pentru ca lucrurile sa fie sigure - dupa cum se vede, un sistem simplu precum cifrul lui Caesar poate fi spart cu usurinta.
Pentru criptomonede, cheile publice si secrete joaca un rol oarecum diferit. O cheie publica este, de fapt, adresa unde cineva poate trimite Bitcoin sau alte criptomonede. O cheie publica este, astfel, un portofel de criptomonede. Criptomonedele pot fi tinute numai in portofele de acest gen, ori personale, ori portofele ce apartin de platforme de tranzactionare. Fiecare criptomoneda are propriul ei tip de portofel, cu o structura specifica, si cu un algoritm de encriptare specific. O cheie publica (portofel) Bitcoin nu va fi la fel cu o cheie publica pentru Ethereum, Ripple sau Litecoin (alte criptomonede).
O cheie secreta este metoda de a deschide acel portofel. Numai cine are cheia secreta poate deschide un portofel de criptomonede. Unele portofele pun la dispozitia userilor lor cheile secrete. Daca vrei sa ai control asupra banilor tai virtuali, vrei sa stochezi criptomonedele intr-un portofel la care ai acces la cheile secrete (un portofel care iti "spune" care sunt cheile tale secrete).
Evident, cheile secrete trebuie sa ramana asa cum le spune numele: secrete. Ele nu vor fi spuse nimanui - oricine are acces la cheile tale secrete are acces la criptomonedele tale.
Balene, ursi si tauri
Lumea Crypto a capatat propriul jargon, care este destul de bogat si imaginativ. Sa luam cativa dintre termenii des intalniti in lumea crypto:
- "Whales"
Nu, nu se refera la "Tara Galilor". Se refera la balene. Balenele sunt persoane care detin o cantitate mare dintr-o anumita criptomoneda. De exemplu, un om (sau o "entitate", un bot) care detine foarte multi Bitcoini este o balena. De ce? Pentru ca poate influenta piata. Daca mai multe balene vorbesc intre ele sa vanda o cantitate mare de Bitcoin, pretul Bitcoin poate scadea brusc. Din moment ce a scazut brusc, balenele pot re-cumpara Bitcoin la un pret mai scazut, dupa care-l pot vinde la un pret ridicat, din nou. Astfel, bogatii devin mai bogati, dupa cum eram deja obisnuiti.
- "Pump'n'dump"
Pump'n'dump este similar cu procesul descris de mine mai sus, dar poate lua diferite nuante: un PnD se poate intampla si daca o persoana influenta arunca un zvon pe piata, de genul "moneda X va exploda, isi va tripla valoarea in urmatoarele ore!". De obicei se intampla pe Twitter sau Reddit.
Evident, acea influenta persoana cel mai probabil are foarte multe monede acumulate, deja. In urma zvonului, lumea care afla de acesta va cumpara foarte mult din acea moneda. Pretul va creste temporar iar cel care a lansat zvonul va vinde si va scoate un profit foarte bun.
Uneori, cei care lanseaza astfel de zvonuri sunt ei insisi balene, dar nu este obligatoriu. Pot fi doar foarte influenti/cu multi followeri. Un exemplu este John McAfee.
- "FOMO"
"FOMO" vine de la "Fear of Missing Out". Este atunci cand o moneda are o crestere brusca, iar oamenii care urmaresc evolutia pietei o identifica, si spera ca moneda sa "explodeze" - ei nu vor sa piarda o astfel de ocazie si vor investi in acea moneda, ducandu-i pretul si mai sus. Este un mecanism psihologic pe care balenele se bazeaza, pentru a scoate si mai mult profit.
- "FUD"
"FUD" este opusul lui "FOMO", venind de la "Fear, Uncertainty and Doubt". Este atunci cand apar zvonuri negative referitoare la o moneda, sau cineva lanseaza intentionat zvonuri negative, intentionand sa determine un fel de "panica" in acea comunitate, ducand la scaderea pretului. Persoana respectiva cumpara apoi moneda la un pret mai mic, dupa care asteapta ca sentimentul negativ pe care chiar ea l-a creat sa dispara, pretul sa ajunga inapoi de unde a coborat, iar persoana respectiva sa vanda la profit (evident, cand spun "persoana respectiva" folosesc doar o exprimare "naiva" - putem vorbi despre grupuri de indivizi, boti si asa mai departe).
- "Bears"
"Bears" sau "Bear Market" se refera la un trend negativ al pietei. Atunci cand piata incepe sa scada ca valoare, spunem ca suntem in "Bear Market". Cei care participa la bear market sunt cei care duc pretul pietei in jos, prin vanzari masive (pot fi balene).
- "Bulls"
"Bull" sau "Bull Market" reprezinta opusul ursilor - o piata care e "bullish" inseamna o piata in crestere. Motivul folosirii acestor termeni este ca ursii au tendinta sa loveasca "in jos", iar taurii sa loveasca cu coarnele "in sus". De aici ideea de "bearish" sau "bullish" market. O piata bearish e in scadere, iar o piata bullish e in crestere.
- "HODL"
Este o greseala gramaticala dintr-un mesaj de pe forumul Bitcoin din 2013, eroare ce a intrat in jargonul criptomonedelor. Provine de aici.
Practic, se refera la depasirea tentatiei de a vinde o moneda atunci cand aceasta se afla in scadere. Atunci cand "you HODL" o criptomoneda, vrei sa spui ca in ciuda faptului ca valoarea ei scade, ai incredere ca o sa-si revina si ca o vei vinde la profit, in viitor. "HODL" mai este uneori tradus si ca "Hold On for Dear Life".
Acestia sunt numai cativa dintre termenii folositi in jargonul lumii criptomonedelor, cei mai importanti si cei mai des utilizati.
Inselatorii si tepe
Lumea Crypto este printre cele mai instabile/miscatoare/inselatoare lumi la ora actuala. Ca sa activezi in lumea criptomonedelor, trebuie sa ai cateva calitati esentiale:
1) Sa fii inteligent
2) Sa fii rabdator
3) Sa fii foarte, foarte atent
4) Sa nu fii foarte calic
5) Sa nu ai incredere in nimeni
Aceste 5 lucruri sunt absolut esentiale. Nivelul tepelor care se intampla in lumea crypto este unul absolut nebunesc. Ca un simplu exemplu, am putut vedea oameni care faceau peste 10.000$ pe zi din tepe date credulilor. Asta inseamna peste un sfert de milion de dolari pe luna, "venit din tepe". Si, culmea, oricine le poate face, sunt foarte simplu de facut. Majoritatea dintre ele se intampla pe Twitter.
Creatorul Ethereum (o criptomoneda/platforma cripto foarte populara), Vitalik Buterin, si-a schimbat numele de pe Twitter in "Vitalik "Not giving away ETH" Buterin", tocmai din aceasta cauza. La fiecare mesaj pus de el pe twitter, primul raspuns la mesajul lui era generat de boti special facuti pentru a simula "concursuri" in care, daca trimiti 0,3 ETH catre o adresa, primesti inapoi 3 ETH.
Sub anuntul respectiv, alti boti (care emulau "oameni normali", evident) raspund ca au primit banii, si ce minunat este concursul, si ce fericiti sunt. Dupa cum probabil v-ati dat seama deja, totul nu este altceva decat o mare inselatorie, numai buna pentru creduli.
Am verificat personal una dintre tepe (pentru ca tranzactiile sunt publice, si le poti urmari), si am ajuns in portofelul celui care dadea tepele. Stransese in jur de 13.000$ in ziua respectiva, de la oameni care trimisesera 0,3 ETH in respectivul portofel. 0,3 ETH insemnau, la acea data, in jur de ~200$.
Nu are sens sa detaliez aici (nu ar fi inteligent) cum banii deveneau "de neurmarit", mai apoi, dar ideea este ca cel care dadea tepele ii transforma in alte monede si apoi ii incasa. Nimeni nu putea urmari pana la capat ce se intampla cu banii.
Mai mult, actul in sine se pare ca este legal - practic el nu facea altceva decat sa primeasca bani de la necunoscuti - nu facea nimic ilegal, efectiv.
Am vazut foarte multi care au trimis mesaje disperate, in astfel de situatii. Unul dintre ei a spus ca il va blestema pe cel care l-a tras teapa cu shamanul de la el din sat (era cineva din Africa). Altul ca se duce la Interpol si la "Internet Police".
Am vazut si raspunsuri date de cei care fac asta - unul se dadea Illuminati, si in legaturi cu Zeul Luminii (whatever that is), si chestii absolut incredibile.
Ideea este ca trebuie sa indeplinesti cele 5 caracteristici descrise de mine mai sus, daca vrei sa nu iti iei mari tepe in lumea crypto.
Profituri?
Sunt multe, foarte multe de spus pe aceasta tema. As vrea sa inchei cu ce profituri poti obtine, fara sa tepuiesti pe nimeni. Vorbim despre cifre fantasmagorice, posibile, daca ai noroc: de zeci, sute sau mii de ori decat ai investit.
Am facut un calcul recent pe o anumita criptomoneda, si rezultatul a fost undeva la 2700 de ori. Ai pus 1000 de euro? Acum ai 2.7 milioane de euro. Si cand zic "acum", ma refer la o durata de ~1 an.
Tot ce trebuie sa faci este sa nimeresti moneda corecta, si momentul potrivit in care sa investesti in ea. Evident, nu ai garantia ca o sa reusesti, dar poti investi in mai multe monede. Iti trebuie timp si efort sa cauti printre ele, daca vrei sa-ti cresti sansele sa investesti in "cea buna". Poti, la fel de bine, sa investesti la noroc, sau "dupa intuitie" (adica, la noroc).
Trebuie de asemenea sa stii cand sa cumperi, cand sa vinzi, cum sa interpretezi piata si asa mai departe, daca vrei sa faci trading. Daca vrei sa "HODL", atunci poti cumpara o moneda si o poti tine linistit in portofel, sperand ca valoarea sa va creste. Trebuie insa sa fii pregatit sa pierzi acei bani - e posibil ca valoarea ei sa scada, nu sa creasca.
Piata crypto este foarte volatila, si nimeni nu stie ce se va intampla cu ea. Insa, dupa parerea mea, este inca (in continuare) la inceput, si a ignora o astfel de posibilitate uriasa de castig mi se pare inadmisibil pentru cineva care isi poate permite sa faca astfel de investitii - potentialul de castig este incomparabil mai mare fata de orice alta forma de investitie.
La momentul scrierii acestui articol, piata crypto consta in 1560 de criptomonede, si 10120 de piete de tranzactionare. Parerea mea este ca, pana la urma, majoritatea criptomonedelor vor ajunge la preturi foarte foarte mici (si deci cei care au investit in ele vor pierde sume enorme de bani), iar cateva dintre ele vor domina piata (si deci cei care au investit in ele vor fi practic miliardari (in euro sau in crypto, oricum vreti)).
Daca esti un bun programator, poti chiar face parte din anumite grupuri care construiesc anumite criptomonede. Personal, lucrez sa ma implic intr-un grup de la Harvard Business School. Astfel, o parte din succesul acelei monede va depinde in mod direct de tine, si nu va fi o chestiune de 100% hazard.
Cu putin noroc si bataie de cap, te poti gasi in cel de-al doilea grup. Ce e interesant e ca probabil nimeni nu va sti ca esti miliardar, daca esti indeajuns de discret :).
De ce? Pentru ca, daca la inceputul anului 2017 piata criptomonedelor era undeva la 17.5 miliarde de dolari, aceasta a ajuns, in ianuarie 2018, sa atinga o valoare de 813 miliarde de dolari (pe 7 ianuarie 2018).
Bitcoin-ul insusi a avut o valoare de ~960$ pe 1 ianuarie 2017, urmand sa culmineze la o valoare de 20.089$, pe 17 decembrie 2017, ora 15:19. De atunci insa, a coborat substantial.
In acest articol as dori sa abordez subiectul criptomonedelor si a conceptelor de criptografie din spatele acestora. Ca si pentru restul articolelor pe care le-am scris, va trebui sa fac mentiunea ca si acesta este unul complex. Voi incerca sa ma rezum la esentiale, dar am sa descriu si cateva lucruri pe care le consider interesante (si la care majoritatea oamenilor nu au acces).
Pana la urma, ce este un Bitcoin? Un Bitcoin este o moneda digitala (sau o criptomoneda). Ideea principala din spatele Bitcoin este ca aceasta moneda este decentralizata, si anume, nu "apartine" de o anumita institutie financiara, si nu este supusa vreunei reglementari. Prin "decentralizata" ne referim la faptul ca nu este stocata undeva "anume", pe un anumit server sau intr-o locatie fizica efectiva. Registrul care determina ce Bitcoin se afla unde anume, si de cine apartine, este un registru distribuit, decentralizat - informatiile referitoare la Bitcoin sunt in toata reteaua Bitcoin, nu intr-un loc anume.
Astfel, nimeni nu detine un control asupra Bitcoin - este o moneda controlata de insasi reteaua de care apartine. Cine face parte din aceasta retea? Cei care au un portofel Bitcoin (si deci detin o cheie publica si una privata) si cei care mineaza in reteaua Bitcoin, ducand la bun sfarsit tranzactiile si mentinand integritatea retelei.
Structura software din spatele Bitcoin se cheama blockchain. Blockchain-ul, la randul sau, se bazeaza pe criptografie. Ce este criptografia? Este stiinta care se ocupa cu studiul si practica comunicatiilor sigure.
Acum, criptografia este o stiinta veche. Blockchain-ul este doar o ramura a ei, iar criptomonedele se bazeaza pe aceasta ramura a criptografiei, folosind, dupa cum am spus mai sus, chei criptografice: cheia publica si cheia privata.
La prima vedere, sistemul este unul complicat, dar cu putina atentie, nu este atat de dificil de inteles.
Sa luam urmatorul exemplu (in criptografie, in mod conventional, daca vrem sa afisam 2 persoane care vor sa discute pe un canal sigur, vom folosi numele "Bob" si "Alice"):
In acest exemplu, Alice vrea sa comunice cu Bob, si sa-i transmita mesajul "Hello Bob" intr-o maniera sigura, fara ca acesta sa poata fi interceptat si decodificat de catre un eventual hacker. Ambii parteneri de discutie au cate doua chei: o cheie publica si o cheie privata (secreta).
Avem, deci, patru chei in total:
- PKA (Public Key Alice)
- SKA (Secret Key Alice)
- PKB (Public Key Bob)
- SKB (Secret Key Bob)
Cheile private (sau secrete, pentru a putea folosi prescurtarile mai eficient), sunt chei cunoscute numai de catre cei care le detin. Doar Alice are acces la SKA (cheia ei secreta), si doar Bob are acces la SKB (cheia lui secreta).
Dar ce sunt, pana la urma, aceste "chei"? Cheile sunt practic un sir de caractere la intamplare, foarte greu (cel putin pentru calculatoarele clasice) de "spart". Cu cat cheia este mai lunga, cu atat este mai greu de spart, similar cu o parola. Un exemplu de cheie publica Bitcoin: "1CC3X2gu58d6wXUWMffpuzN9JAfTUWu4Kj". Similar pentru o cheie privata.
Daca privim la pictograma de mai sus, vedem ca pentru ca Alice sa trimita un mesaj ce sa poata fi decriptat doar de Bob, aceasta poate encripta mesajul cu cheia publica a lui Bob. De ce? Pentru ca odata ajuns la Bob, Bob isi poate folosi cheia secreta pentru a decripta mesajul lui Alice.
Cheia secreta este folosita pentru a decripta orice fel de mesaj este encriptat cu cheia publica. Cu alte cuvinte, daca encriptezi un mesaj cu PKB, Bob il poate decripta cu SKB. Cum Bob este singurul care are acces la SKB, avem garantia ca doar Bob va putea citi mesajul.
In criptografia reala, lucrurile stau, de fapt, mai complicat decat in lumea criptomonedelor. Atunci cand Alice encripteaza mesajul "Hello Bob" cu cheia publica a lui Bob, Bob nu are garantia ca mesajul provine de la Alice. Un hacker ar putea la fel de bine sa encripteze un mesaj folosind cheia publica (din moment ce hackerul, si oricine altcineva, are acces la cheia publica a lui Bob) si sa pretinda ca e Alice, incercand sa-l pacaleasca pe Bob.
Cu alte cuvinte, folosirea cheii publice de encriptare a lui Bob nu garanteaza identitatea mesajului - garanteaza doar securitatea mesajului (doar Bob poate citi mesajul).
Daca Alice ar dori sa ii demonstreze ca este intr-adevar un mesaj de la ea si nu de la un hacker, atunci Alice ar trebui sa encripteze mesajul cu cheia ei secreta, urmand ca Bob sa decripteze mesajul cu cheia publica a lui Alice.
Stiu ca poate fi putin dificil de urmarit tot acest scenariu, dar de fapt este foarte simplu: din moment ce doar Alice are acces la cheia ei secreta, inseamna ca doar ea poate encripta folosind cheia ei secreta. Bob poate apoi folosi cheia ei publica pentru a decripta mesajul.
Problema, in acest caz, este ca oricine poate decripta mesajul folosind cheia publica a lui Alice. Un hacker ar putea intercepta mesajul encriptat cu cheia secreta a lui Alice, si apoi ar utiliza cheia publica a lui Alice pentru a-l decripta.
Rezumand:
Daca Alice encripteaza mesajul adresat lui Bob cu PKB, Bob poate folosi SKB pentru a-l decripta. Mesajul va fi unul secret, dar identitatea celui care a trimis mesajul nu va putea fi verificata.
Daca Alice encripteaza mesajul adresat lui Bob cu SKA, Bob poate folosi PKA pentru a-l decripta. Identitatea mesajului este garantata, dar mesajul va putea fi decriptat de oricine.
Din moment ce am ajuns atat de departe in criptografie, trebuie sa dau si solutia a cum faci exact sa obtii ambele lucruri: si natura secreta a mesajului, si dovedirea identitatii celui care trimite mesajul?
Mult timp, acest lucru a parut a fi imposibil, insa de fapt are o solutie foarte simpla (asa dupa cum sunt majoritatea solutiilor bune).
Pentru ca Alice sa trimita un mesaj care sa fie secret si sa dovedeasca ca a fost trimis de ea, trebuie sa faca doar doua lucruri:
1) Sa encripteze mesajul cu SKA (cu cheia ei secreta). Astfel, vom sti ca mesajul provine de la Alice.
2) Sa encripteze inca o data mesajul cu PKB (cu cheia lui Bob publica). Astfel, doar Bob poate decrypta mesajul.
Pentru ca Bob sa citeasca mesajul, mai intai va folosi SKB (cheia lui Bob secreta), ca prima etapa in procesul de decriptare. Apoi, va folosi PKA (cheia publica a lui Alice) pentru a decripta complet mesajul.
In notatie criptografica, tot procesul arata in felul urmator:
{{{{m}SKA}PKB}SKB}PKA = m
Cu alte cuvinte, dupa ce mesajul a fost encriptat cu SKA si PKB, si decriptat cu SKB si PKA, avem din nou mesajul in text normal.
Acest proces a fost developat de catre Whit Diffie si Martin Hellman, eroi ai criptografiei.
Martin Hellman si Whitfield Diffie, in 1977, la Stanford.
Acestia au castigat premiul Turing in 2015,
echivalentul Premiului Nobel in computer science.
Evident, criptografia este o stiinta complexa si foarte, foarte interesanta. Unul dintre cele mai simple moduri de "codare" a datelor este Caesar Cipher (cifrul Cezar). Acesta nu este altceva decat un cifru de substitutie, prin care mutam caracterele cu un numar n de unitati la stanga sau la dreapta in alfabet.
Un mesaj de genul abc, cu un shift de +2 in alfabet va fi "cde".
Un mesaj de genul "Acest mesaj a fost codificat prin intermediul Caesar cipher" va fi "ceguv ogucl c hquv eqfkhkecv rtkp kpvgtogfkwn ecguct ekrjgt"
Aparent, greu de decodificat. Dar de fapt, este relativ usor de spart. Maniera prin care poti sparge un astfel de cifru este prin analizarea cuvintelor din mesajele pe care le interceptezi, ce au fost codificate prin cifrul Caesar. Cu cat ai acces la mai multe cuvinte si mesaje, cu atat sansele tale sunt mai bune.
Cum faci asta, exact? Simplu. Fiecare limba are o anumita distributie a literelor din alfabetul sau. Poti realiza o histograma a frecventei literelor din mesajele interceptate de tine si apoi poti compara histograma mesajelor tale cu histograma obisnuita a acelei limbi.
Histrograma distributiei literelor pentru limba engleza.
Avand ambele histograme, putem determina cu cate unitati au fost deplasate literele (de exemplu, +2, ca in exemplul dat de mine mai sus) si apoi practic putem decodifica mesajul encriptat cu Caesar cipher.
De ce spun toate aceste lucruri? O data, pentru ca sunt interesante. A doua oara, pentru ca, pentru Bitcoin si celelalte criptomonede, a fost nevoie de inventia unui sistem de chei publice si secrete pentru ca lucrurile sa fie sigure - dupa cum se vede, un sistem simplu precum cifrul lui Caesar poate fi spart cu usurinta.
Pentru criptomonede, cheile publice si secrete joaca un rol oarecum diferit. O cheie publica este, de fapt, adresa unde cineva poate trimite Bitcoin sau alte criptomonede. O cheie publica este, astfel, un portofel de criptomonede. Criptomonedele pot fi tinute numai in portofele de acest gen, ori personale, ori portofele ce apartin de platforme de tranzactionare. Fiecare criptomoneda are propriul ei tip de portofel, cu o structura specifica, si cu un algoritm de encriptare specific. O cheie publica (portofel) Bitcoin nu va fi la fel cu o cheie publica pentru Ethereum, Ripple sau Litecoin (alte criptomonede).
O cheie secreta este metoda de a deschide acel portofel. Numai cine are cheia secreta poate deschide un portofel de criptomonede. Unele portofele pun la dispozitia userilor lor cheile secrete. Daca vrei sa ai control asupra banilor tai virtuali, vrei sa stochezi criptomonedele intr-un portofel la care ai acces la cheile secrete (un portofel care iti "spune" care sunt cheile tale secrete).
Evident, cheile secrete trebuie sa ramana asa cum le spune numele: secrete. Ele nu vor fi spuse nimanui - oricine are acces la cheile tale secrete are acces la criptomonedele tale.
Balene, ursi si tauri
Lumea Crypto a capatat propriul jargon, care este destul de bogat si imaginativ. Sa luam cativa dintre termenii des intalniti in lumea crypto:
- "Whales"
Nu, nu se refera la "Tara Galilor". Se refera la balene. Balenele sunt persoane care detin o cantitate mare dintr-o anumita criptomoneda. De exemplu, un om (sau o "entitate", un bot) care detine foarte multi Bitcoini este o balena. De ce? Pentru ca poate influenta piata. Daca mai multe balene vorbesc intre ele sa vanda o cantitate mare de Bitcoin, pretul Bitcoin poate scadea brusc. Din moment ce a scazut brusc, balenele pot re-cumpara Bitcoin la un pret mai scazut, dupa care-l pot vinde la un pret ridicat, din nou. Astfel, bogatii devin mai bogati, dupa cum eram deja obisnuiti.
- "Pump'n'dump"
Pump'n'dump este similar cu procesul descris de mine mai sus, dar poate lua diferite nuante: un PnD se poate intampla si daca o persoana influenta arunca un zvon pe piata, de genul "moneda X va exploda, isi va tripla valoarea in urmatoarele ore!". De obicei se intampla pe Twitter sau Reddit.
Evident, acea influenta persoana cel mai probabil are foarte multe monede acumulate, deja. In urma zvonului, lumea care afla de acesta va cumpara foarte mult din acea moneda. Pretul va creste temporar iar cel care a lansat zvonul va vinde si va scoate un profit foarte bun.
Uneori, cei care lanseaza astfel de zvonuri sunt ei insisi balene, dar nu este obligatoriu. Pot fi doar foarte influenti/cu multi followeri. Un exemplu este John McAfee.
- "FOMO"
"FOMO" vine de la "Fear of Missing Out". Este atunci cand o moneda are o crestere brusca, iar oamenii care urmaresc evolutia pietei o identifica, si spera ca moneda sa "explodeze" - ei nu vor sa piarda o astfel de ocazie si vor investi in acea moneda, ducandu-i pretul si mai sus. Este un mecanism psihologic pe care balenele se bazeaza, pentru a scoate si mai mult profit.
- "FUD"
"FUD" este opusul lui "FOMO", venind de la "Fear, Uncertainty and Doubt". Este atunci cand apar zvonuri negative referitoare la o moneda, sau cineva lanseaza intentionat zvonuri negative, intentionand sa determine un fel de "panica" in acea comunitate, ducand la scaderea pretului. Persoana respectiva cumpara apoi moneda la un pret mai mic, dupa care asteapta ca sentimentul negativ pe care chiar ea l-a creat sa dispara, pretul sa ajunga inapoi de unde a coborat, iar persoana respectiva sa vanda la profit (evident, cand spun "persoana respectiva" folosesc doar o exprimare "naiva" - putem vorbi despre grupuri de indivizi, boti si asa mai departe).
- "Bears"
"Bears" sau "Bear Market" se refera la un trend negativ al pietei. Atunci cand piata incepe sa scada ca valoare, spunem ca suntem in "Bear Market". Cei care participa la bear market sunt cei care duc pretul pietei in jos, prin vanzari masive (pot fi balene).
- "Bulls"
"Bull" sau "Bull Market" reprezinta opusul ursilor - o piata care e "bullish" inseamna o piata in crestere. Motivul folosirii acestor termeni este ca ursii au tendinta sa loveasca "in jos", iar taurii sa loveasca cu coarnele "in sus". De aici ideea de "bearish" sau "bullish" market. O piata bearish e in scadere, iar o piata bullish e in crestere.
- "HODL"
Este o greseala gramaticala dintr-un mesaj de pe forumul Bitcoin din 2013, eroare ce a intrat in jargonul criptomonedelor. Provine de aici.
Practic, se refera la depasirea tentatiei de a vinde o moneda atunci cand aceasta se afla in scadere. Atunci cand "you HODL" o criptomoneda, vrei sa spui ca in ciuda faptului ca valoarea ei scade, ai incredere ca o sa-si revina si ca o vei vinde la profit, in viitor. "HODL" mai este uneori tradus si ca "Hold On for Dear Life".
Acestia sunt numai cativa dintre termenii folositi in jargonul lumii criptomonedelor, cei mai importanti si cei mai des utilizati.
Inselatorii si tepe
Lumea Crypto este printre cele mai instabile/miscatoare/inselatoare lumi la ora actuala. Ca sa activezi in lumea criptomonedelor, trebuie sa ai cateva calitati esentiale:
1) Sa fii inteligent
2) Sa fii rabdator
3) Sa fii foarte, foarte atent
4) Sa nu fii foarte calic
5) Sa nu ai incredere in nimeni
Aceste 5 lucruri sunt absolut esentiale. Nivelul tepelor care se intampla in lumea crypto este unul absolut nebunesc. Ca un simplu exemplu, am putut vedea oameni care faceau peste 10.000$ pe zi din tepe date credulilor. Asta inseamna peste un sfert de milion de dolari pe luna, "venit din tepe". Si, culmea, oricine le poate face, sunt foarte simplu de facut. Majoritatea dintre ele se intampla pe Twitter.
Creatorul Ethereum (o criptomoneda/platforma cripto foarte populara), Vitalik Buterin, si-a schimbat numele de pe Twitter in "Vitalik "Not giving away ETH" Buterin", tocmai din aceasta cauza. La fiecare mesaj pus de el pe twitter, primul raspuns la mesajul lui era generat de boti special facuti pentru a simula "concursuri" in care, daca trimiti 0,3 ETH catre o adresa, primesti inapoi 3 ETH.
Sub anuntul respectiv, alti boti (care emulau "oameni normali", evident) raspund ca au primit banii, si ce minunat este concursul, si ce fericiti sunt. Dupa cum probabil v-ati dat seama deja, totul nu este altceva decat o mare inselatorie, numai buna pentru creduli.
Am verificat personal una dintre tepe (pentru ca tranzactiile sunt publice, si le poti urmari), si am ajuns in portofelul celui care dadea tepele. Stransese in jur de 13.000$ in ziua respectiva, de la oameni care trimisesera 0,3 ETH in respectivul portofel. 0,3 ETH insemnau, la acea data, in jur de ~200$.
Nu are sens sa detaliez aici (nu ar fi inteligent) cum banii deveneau "de neurmarit", mai apoi, dar ideea este ca cel care dadea tepele ii transforma in alte monede si apoi ii incasa. Nimeni nu putea urmari pana la capat ce se intampla cu banii.
Mai mult, actul in sine se pare ca este legal - practic el nu facea altceva decat sa primeasca bani de la necunoscuti - nu facea nimic ilegal, efectiv.
Am vazut foarte multi care au trimis mesaje disperate, in astfel de situatii. Unul dintre ei a spus ca il va blestema pe cel care l-a tras teapa cu shamanul de la el din sat (era cineva din Africa). Altul ca se duce la Interpol si la "Internet Police".
Am vazut si raspunsuri date de cei care fac asta - unul se dadea Illuminati, si in legaturi cu Zeul Luminii (whatever that is), si chestii absolut incredibile.
Ideea este ca trebuie sa indeplinesti cele 5 caracteristici descrise de mine mai sus, daca vrei sa nu iti iei mari tepe in lumea crypto.
Profituri?
Sunt multe, foarte multe de spus pe aceasta tema. As vrea sa inchei cu ce profituri poti obtine, fara sa tepuiesti pe nimeni. Vorbim despre cifre fantasmagorice, posibile, daca ai noroc: de zeci, sute sau mii de ori decat ai investit.
Am facut un calcul recent pe o anumita criptomoneda, si rezultatul a fost undeva la 2700 de ori. Ai pus 1000 de euro? Acum ai 2.7 milioane de euro. Si cand zic "acum", ma refer la o durata de ~1 an.
Tot ce trebuie sa faci este sa nimeresti moneda corecta, si momentul potrivit in care sa investesti in ea. Evident, nu ai garantia ca o sa reusesti, dar poti investi in mai multe monede. Iti trebuie timp si efort sa cauti printre ele, daca vrei sa-ti cresti sansele sa investesti in "cea buna". Poti, la fel de bine, sa investesti la noroc, sau "dupa intuitie" (adica, la noroc).
Trebuie de asemenea sa stii cand sa cumperi, cand sa vinzi, cum sa interpretezi piata si asa mai departe, daca vrei sa faci trading. Daca vrei sa "HODL", atunci poti cumpara o moneda si o poti tine linistit in portofel, sperand ca valoarea sa va creste. Trebuie insa sa fii pregatit sa pierzi acei bani - e posibil ca valoarea ei sa scada, nu sa creasca.
Piata crypto este foarte volatila, si nimeni nu stie ce se va intampla cu ea. Insa, dupa parerea mea, este inca (in continuare) la inceput, si a ignora o astfel de posibilitate uriasa de castig mi se pare inadmisibil pentru cineva care isi poate permite sa faca astfel de investitii - potentialul de castig este incomparabil mai mare fata de orice alta forma de investitie.
La momentul scrierii acestui articol, piata crypto consta in 1560 de criptomonede, si 10120 de piete de tranzactionare. Parerea mea este ca, pana la urma, majoritatea criptomonedelor vor ajunge la preturi foarte foarte mici (si deci cei care au investit in ele vor pierde sume enorme de bani), iar cateva dintre ele vor domina piata (si deci cei care au investit in ele vor fi practic miliardari (in euro sau in crypto, oricum vreti)).
Daca esti un bun programator, poti chiar face parte din anumite grupuri care construiesc anumite criptomonede. Personal, lucrez sa ma implic intr-un grup de la Harvard Business School. Astfel, o parte din succesul acelei monede va depinde in mod direct de tine, si nu va fi o chestiune de 100% hazard.
Cu putin noroc si bataie de cap, te poti gasi in cel de-al doilea grup. Ce e interesant e ca probabil nimeni nu va sti ca esti miliardar, daca esti indeajuns de discret :).
Comentarii
O alta teapa foarte inteligenta o gasesti pe Amazon sau diferite site-uri de anunturi unde cate un personaj are pus la vanzare portofele electronice "masluite" precum Ledger Nano S. Aceste portofele crypto au deja setate cuvintele cheie iar dupa ce ai stocat monedele virtuale pe el portofelul este activat in alta parte si iti transfera toate fondurile. Cand investesti in criptomonede trebuie sa fii foarte atent pentru ca sunt tepe peste tot.