Cum funcționează tranzacțiile Bitcoin?

Astăzi este greu să găsești o persoană care să nu fi auzit de ea Bitcoin. Cu toate acestea, nivelul de înțelegere a principiilor și mecanismelor sale variază foarte mult. Mulți oameni sunt mulțumiți de știința faptului că este suficient să obțineți un portofel, să primiți, să trimiteți criptomonedă unei alte persoane sau vinde-o. Pentru unii utilizatori aceste informații sunt suficiente. Cu toate acestea, pentru investitori în criptomonede o înțelegere mai profundă a BitcoinNatura este obligatorie, deoarece poate rezolva multe întrebări și poate evita problemele legate de utilizarea criptomonedelor.

Odată ce am analizat deja ce este Bitcoin, dar nu am intrat în detalii. În acest articol, vom încerca să descriem cum funcționează Bitcoin într-un mod accesibil și detaliat.

Reţea

După cum ne spun multe surse, Bitcoin este un peer-to-peer sistem de plata / network, criptomoneda cu același nume este unitatea de decontare a operațiunilor din această rețea.

O rețea peer-to-peer este o rețea de calculatoare al cărei principiu este dreptul egal al tuturor participanților. Fiecare peer sau nod, așa cum se mai numește, îndeplinește atât funcțiile clientului, cât și ale serverului. O astfel de organizație vă permite să mențineți operabilitatea rețelei pentru orice număr și orice combinație de noduri disponibile, suma nu se schimbă de la rearanjarea locurilor termenilor. Participanții la rețea sunt toți colegi, deci caracteristica principală a sistemului este descentralizarea completă: nu există niciun administrator sau server central. În loc de termenul „peer-to-peer”, puteți utiliza definiții precum: o rețea descentralizată sau p2p.

Blockchain

Baza bitcoin și, pe parcurs, „registrul” contabilității tranzacțiilor este o secvență ordonată (lanț) a unui set de date (blocuri), sau pur și simplu un blockchain. Fiecare bloc al rețelei bitcoin conține până la 1 MB de date, este format în medie 10 minute și conține informații despre toate tranzacțiile plasate în acesta și informații care îl conectează la blocul anterior..

Fiecare bloc din lanț este interconectat criptografic cu precedentul și următorul. Această relație protejează rețeaua de înlocuirea sau modificarea blocurilor existente în viitor, făcând blocul imutabil și tranzacțiile ireversibile.

Principiul de funcționare

Pentru o înțelegere mai clară a elementelor de bază ale rețelei Bitcoin, imaginați-vă un ipotetic entuziast cripto, să-i spunem Tony, care are un portofel bitcoin cu 2 BTC pe sold.

Să presupunem că Tony vrea să dea 1 BTC prietenului său Cindy și, pentru aceasta, are nevoie de adresa ei unică de portofel bitcoin – un analog al numărului de cont dintr-o bancă tradițională. Tony pune această adresă în câmpul de intrare corespunzător al portofelului său, iar în celălalt câmp indică suma transferului – 1 BTC. Apoi Tony continuă să stabilească mărimea taxei de tranzacție și aici vom locui puțin mai mult.

Tranzacții și încărcarea rețelei

Ca în orice alt sistem de plăți, tranzacțiile au loc în bitcoin, adică activele sunt transferate de la un client la altul. Pentru tranzacțiile bitcoin, se percepe un comision care este trimis ca recompensă minerilor care confirmă aceste tranzacții. Cu cât este mai mare comisionul și cu cât este mai mică sarcina rețelei, cu atât tranzacțiile sunt mai rapide.

Încărcarea în rețea înseamnă numărul total de participanți care își trimit traducerea în același timp.

În esență, o tranzacție este un set de informații care indică participanților la rețea ce valoare a scăzut soldul expeditorului și ce valoare a crescut soldul destinatarului.

Minerii

Pentru ca o tranzacție să fie finalizată cu succes, minerii trebuie să o confirme sau să o valideze. În prezent, acestea sunt în mare parte ferme specializate care utilizează echipamente de calcul puternice, ASIC, pentru a verifica tranzacțiile pentru „corectitudine”, colectează aceste tranzacții în blocuri, iar blocurile sunt conectate secvențial între ele. Algoritmul de rețea durează 10 minute pentru a forma un bloc, timp în care minerii efectuează același tip de muncă de calcul în căutarea unei soluții unice în fiecare secundă. Acest lucru nu este dificil, nu este o problemă matematică, dar este o cantitate foarte mare de muncă, lucru dificil de realizat cu o putere de calcul mică și rapidă și eficientă.

Minerii primesc o recompensă sub formă de BTC pentru munca depusă. Această recompensă constă din comisioanele pe care utilizatorii le-au plătit pentru tranzacții și bitcoins noi pe care rețeaua însăși le-a generat atunci când un bloc nou a fost finalizat și confirmat din tranzacții. Vom vorbi mai multe despre mineri și despre generarea de noi bitcoini într-un articol separat.

Comisioane

Să ne întoarcem la entuziastul nostru cripto. Stabilind mărimea taxei de tranzacție, Tony este ghidat de faptul că pentru fiecare octet de informații trebuie să plătească o anumită cantitate de Satoshi – o parte fracțională a bitcoinului. Deoarece Tony nu știe cât de multe date va lua tranzacția sa, el decide să economisească și să stabilească prețul la 1 Satoshi pe octet.

Pentru dvs., cititori, vă vom spune cum se va forma greutatea și costul unei tranzacții Tony.

Acele 2 BTC, pe care le are în bilanț, au apărut în portofel dintr-un motiv. Tony le-a câștigat – 1 BTC în 2017, 1 BTC în 2018. Acum vrea să trimită jumătate iubitei sale. În tranzacția sa, pe lângă informațiile despre numărul de monede, vor fi incluse informații despre adresele de la care au venit monedele (se numesc intrări), informații despre adresele destinatarilor (se numesc ieșiri) și informații vor fi incluse și despre propria adresă.

  • Fiecare intrare de la care s-au primit monede cântărește 148 de octeți
  • Fiecare ieșire către care merg monedele este de 34 de octeți
  • Tranzacția în sine cântărește 10 octeți, indiferent de numărul de adrese sau de valoarea transferului.

Considerăm: 148 * 2 + 34 * 2 + 10 = 374 octeți. Acum știm că „lacomul” nostru Tony va plăti 374 Satoshi pentru tranzacție.

Schimbare

Întrebați, de ce înmulțim 34 (greutatea adresei destinatarului) cu 2, când destinatarul este unul singur? Faptul este că atunci când trimiteți o parte din sold către cineva, atunci nu o parte, ci întreaga sumă, vă lasă soldul și, după validare, adică includerea tranzacției în bloc, soldul minus comisionul de rețea este returnat înapoi la portofelul tau. Prin urmare, pe lângă informațiile despre adresa destinatarului, în tranzacție sunt incluse și informații despre adresa expeditorului, adică adresa dvs. Această revenire se numește schimbare.

Mempool

După ce a stabilit un comision minuscul de 374 satoshi, Tony confirmă trimiterea a 1 BTC și așteaptă ca minerii să confirme această tranzacție.

Doar că minerii nu se grăbesc să o confirme, tranzacția cade în mempool – cartea cozii pentru confirmare. De ce? Pentru că minerii vor să câștige bani și nu doar să își exploateze echipamentele, pentru că pentru confirmarea tranzacției lui Tony, vor primi doar 374 de satoshi. Mai ales pentru astfel de tranzacții foarte ieftine, există un mempool cu ​​sistemul său de sortare.

În primul rând, minerii „iau” tranzacții mai ușoare cu un comision mai mare de la mempool, deoarece confirmarea lor este mai profitabilă și se pune mult mai mult în blocul lor.

Apropo, dacă expeditorul folosește tehnologia SegWit, atunci tranzacțiile sale de ieșire cântăresc mai puțin decât de obicei, ceea ce atrage și minerii.

Dar nu ar trebui să credeți că, odată ajuns în mempool, tranzacției i se atribuie un fel de număr de ordine. Nu. Această coadă este dinamică, în fiecare secundă intrând o mulțime de tranzacții cu taxe și greutăți diferite, astfel încât tranzacția noastră Tony poate aștepta mult timp pentru confirmare. Și, cel mai important, în timp ce se află în mempool, Tony nu va putea dispune de schimbare.

De fapt, într-o astfel de situație, soldurile expeditorului sunt „înghețate”. Acest mecanism protejează rețeaua de tranzacțiile spam – situații în care un spammer creează o mulțime de tranzacții ieftine, supraîncărcând astfel rețeaua.

În timp ce tranzacția lui Tony este în mempool, nu este considerată confirmată și nu este considerată suspendată. În același timp, poate fi în coadă pentru o perioadă destul de lungă – până când este confirmată sau până când este eliminată prin validarea nodurilor din mempool. Conform statisticilor, perioada maximă de așteptare a unei cozi este de aproximativ 3 zile, dar în perioadele cu activitate ridicată în rețea, această perioadă poate fi prelungită cu o săptămână sau mai mult.

Sunt de acord că viteza transferurilor în timpul nostru este una dintre caracteristicile prioritare în problema utilizării sistemelor de plată, iar astfel de cozi nu sunt foarte plăcute, ca să spunem cel puțin.

Există multe modalități de a împinge o tranzacție prin mempool. Toate sunt destul de greu de înțeles și implementat pentru utilizatorul obișnuit, iar unele dintre ele se învecinează într-un mod atât de fraudulos precum "cheltuieli duble", sau cheltuieli repetate. Cu toate acestea, există o caracteristică excelentă pe care oricine o poate folosi și vom vorbi despre aceasta. Se numește „Comisia de înlocuire” (Înlocuire cu taxă sau RBF).

Înlocuire cu taxă (RBF)

În zilele noastre, nu fiecare portofel bitcoin are funcționalități avansate similare. RBF editează o tranzacție existentă care se află în mempool.

Editarea înseamnă că noile intrări vor folosi aceleași intrări ca cele vechi, dar comisionul va fi modificat. O astfel de tranzacție editată nu va fi considerată cheltuială dublă, deoarece utilizarea opțiunii Înlocuiește cu taxă va evita acest lucru. Nodurile rețelei bitcoin percep tranzacția editată ca fiind veche și este transferată în coada mempool-ului în poziții mai atractive pentru mineri.

Astfel, dacă comisia este prea mică, atunci creșterea este o practică normală dacă trebuie să grăbiți operațiunea. Nu neglijați funcția RBF și activați-o înainte de a efectua tranzacții, aceasta vă va permite să o jucați în siguranță în cazul în care transferul este întârziat în coadă.

Confirmarea

Tony și-a dat seama la timp că, din cauza lăcomiei sale, Cindy ar putea să nu primească deloc un cadou, așa că a folosit în timp util funcția RBF și a mărit comisionul. Tranzacția, așa cum era de așteptat, a devenit mai atractivă pentru mineri și a inclus-o în următorul bloc – tranzacția a primit o confirmare. Cu fiecare bloc ulterior găsit, această tranzacție va primi o confirmare suplimentară. Atunci când există 6 sau mai multe astfel de confirmări, tranzacția este considerată confirmată.

Rata tranzacției

Vorbind despre viteza transferurilor, trebuie înțeles că nu există o valoare definită. Dar să o calculăm pe baza tranzacției lui Tony și a datelor pe care le avem.

Condiție:

  • dimensiunea unui bloc este de 1 Mb (1048576 octeți);
  • fiecare bloc umplut cu tranzacții se formează o dată în 10 minute (600 de secunde);
  • tranzacția noastră Tony are o pondere de 374 de octeți.

Decizie:

  • 1048576 octeți: 374 octeți = 2803,6 tranzacții într-un bloc de 10 minute.
  • 2803,6 tranzacții: 600 secunde = 4,6 tranzacții pe secundă.

Răspuns: În fiecare secundă, minerii confirmă 5 tranzacții, similar cu tranzacția lui Tony.

Desigur, toate acestea sunt valori aproximative, deoarece viteza de procesare se schimbă în fiecare secundă și depinde de mulți factori. Principalul lucru este că tranzacția dvs. este preluată din mempool cât mai curând posibil și, dacă se întâmplă acest lucru, transferul dvs. va ajunge la destinatar în termen de 1-600 de secunde.

De fapt, după ce tranzacția este inclusă în bloc, destinatarul nu numai că poate vedea fondurile din bilanțul său, ci și, într-o anumită condiție, le poate gestiona. Repede, nu? Da, dar cum rămâne cu regula celor 6 confirmări? 6 blocuri, câte 10 minute, total – 1 oră …

Clienții Bitcoin

Este vorba despre software-ul pe care îl folosesc deținătorii de criptomonede. Portofelele Bitcoin clasice vor afișa tranzacția ca „neconfirmată” până când primesc 6 confirmări (blocuri).

Serviciile care acceptă BTC ca plată își pot stabili limitele asupra numărului de blocuri necesare pentru confirmare (7, 10, 45, 214).

BTC, care sunt generate de rețea ca recompensă pentru găsirea unui bloc, pot fi utilizate numai după 100 de confirmări, dar portofelele bitcoin clasice nu vor afișa monedele primite pentru găsirea unui bloc până când nu vor fi colectate 120 de confirmări.

Numarul "6" nu a fost ales întâmplător. Cu fiecare bloc nou, tranzacția devine mai puțin vulnerabilă la falsificare sau schimbare. Pentru a face ceva cu o tranzacție deja confirmată într-un bloc, va trebui să „rescrieți” toate blocurile ulterioare, iar acest lucru necesită o putere de calcul foarte mare și milioane de investiții. Și cu cât o tranzacție primește mai multe confirmări, cu atât va fi mai sigură.

Dar într-un blockchain atât de puternic și stabil ca Bitcoin, este mai probabil cerința destinatarului tranzacției și nu o regulă a protocolului.

Prin urmare, Cindy și Tony utilizează nu un portofel Bitcoin clasic, ci foarte avansat și funcțional. Datorită funcției de utilizare a tranzacțiilor neconfirmate activate în acesta, tranzacția de ieșire a lui Tony, după ce a fost inclusă în bloc, va fi afișată imediat pe portofelul Cindy. În acest caz, Tony va putea dispune imediat de schimbare, iar Cindy poate primi cadoul.

Link-ul „SegWit + RBF + utilizarea tranzacțiilor neconfirmate” vă permite să scoateți viteza maximă din blockchain-ul BTC, care este important pentru serviciile non-custode.

Concluzie

Bitcoin este foarte complex și foarte avansat din punct de vedere tehnologic. Într-un articol este imposibil să descriem toate subtilitățile și nuanțele lucrării sale, dar încă v-am spus despre elementele sale de bază. Acum știi ce călătorii dificile fac monedele tale într-o singură tranzacție între două portofele și cu ce viteză. Cum și în ce mod rețeaua se protejează de hacking, atacuri de spam, fraude sau acțiuni neprevăzute ale începătorilor.

Funcționarea stabilă a bitcoinului depinde în egală măsură atât de mineri, cât și de utilizatorii obișnuiți, iar cu cât sunt mai mulți participanți în rețea, cu atât va deveni mai sigur și descentralizat.

Autor: Kate Solano pentru Сrypto-Rating.com