Kaip veikia bitcoin operacijos?

Šiandien sunku rasti žmogų, kuris nebūtų girdėjęs Bitcoin. Tačiau jos principų ir mechanizmų supratimo lygis labai skiriasi. Daugelis žmonių patenkinti žinojimu, kad pakanka gauti piniginę, gauti, išsiųsti kriptovaliuta kitam asmeniui arba parduoti. Kai kuriems vartotojams šios informacijos pakanka. Nepaisant to, už kriptovaliutų investuotojai gilesnis supratimas BitcoinPrigimtis yra privaloma, nes ji gali išspręsti daugelį klausimų ir išvengti problemų, susijusių su kriptovaliutų naudojimu.

Kartą mes jau apžvelgėme, kas yra „Bitcoin“, bet nesileidome į detales. Šiame straipsnyje mes stengsimės lengvai ir išsamiai aprašyti, kaip veikia „Bitcoin“.

Tinklas

Kaip mums sako daugelis šaltinių, „Bitcoin“ yra lygiavertis mokėjimo sistema / tinklas, to paties pavadinimo kriptovaliuta yra šio tinklo operacijų atsiskaitymo vienetas.

Lygiavertis tinklas yra kompiuterių tinklas, kurio principas yra lygios visų dalyvių teisės. Kiekvienas bendraamžis ar mazgas, kaip jie dar vadinami, atlieka ir kliento, ir serverio funkcijas. Tokia organizacija leidžia išlaikyti tinklo veikimą bet kokiam skaičiui ir bet kokiam turimų mazgų deriniui, suma nesikeičia nuo sąlygų vietų pertvarkymo. Visi tinklo dalyviai yra bendraamžiai, todėl pagrindinis sistemos bruožas yra visiškas decentralizavimas: nėra centrinio administratoriaus ar serverio. Vietoj termino „lygiavertis ryšys“ galite naudoti tokius apibrėžimus kaip: decentralizuotas arba p2p tinklas.

Blockchain

„Bitcoin“ pagrindas ir pakeliui sandorių apskaitos „registras“ yra užsakyta duomenų rinkinio (blokų) seka (grandinė) arba tiesiog blokinė grandinė. Kiekviename „Bitcoin“ tinklo bloke yra iki 1 MB duomenų, jis suformuojamas vidutiniškai 10 minučių, jame yra informacijos apie visas jame atliktas operacijas ir informaciją, jungiančią jį su ankstesniu bloku.

Kiekvienas grandinės blokas yra kriptografiškai sujungtas su ankstesniu ir kitu. Šis ryšys apsaugo tinklą nuo esamų blokų pakeitimo ar keitimo ateityje, todėl blokų grandinė yra nekintama, o operacijos – negrįžtamos.

Veikimo principas

Norėdami aiškiau suprasti „Bitcoin“ tinklo pagrindus, įsivaizduokite hipotetinį kriptovaliutų entuziastą, pavadinkime jį Toniu, kuris turi „Bitcoin“ piniginę su 2 BTC balansu.

Tarkime, kad Tonis nori padovanoti 1 BTC savo draugei Cindy, o tam jam reikia unikalios jos piniginės piniginės adreso – sąskaitos numerio analogo tradiciniame banke. Tonis nurodo šį adresą į atitinkamą piniginės įvesties lauką, o kitame lauke nurodo pervedimo sumą – 1 BTC. Tada Tonis nustato sandorio mokesčio dydį, ir čia mes dar šiek tiek pagyvensime.

Sandoriai ir tinklo apkrova

Kaip ir bet kurioje kitoje mokėjimo sistemoje, sandoriai vyksta bitkoinuose, tai yra, turtas perduodamas iš vieno kliento kitam. Už Bitcoin sandorius imamas komisinis mokestis, kuris siunčiamas kaip atlygis kalnakasiams, patvirtinantiems šias operacijas. Kuo didesnis komisinis mokestis ir mažesnė tinklo apkrova, tuo greičiau patvirtinamos operacijos.

Tinklo apkrova reiškia bendrą dalyvių skaičių, siunčiantį savo vertimą vienu metu.

Iš esmės sandoris yra informacijos rinkinys, kuris tinklo dalyviams nurodo, kokia vertė sumažėjo siuntėjo balanse ir kokia padidėjo gavėjo balansas.

Kalnakasiai

Kad sandoris būtų sėkmingai įvykdytas, kalnakasiai turi jį patvirtinti arba patvirtinti. Dabar tai dažniausiai specializuoti ūkiai, kurie naudoja galingą skaičiavimo įrangą, ASIC, kad patikrintų sandorių teisingumą, jie surenka šias operacijas į blokus ir blokai yra nuosekliai sujungti vienas su kitu. Tinklo algoritmas užima 10 minučių, kad suformuotų 1 bloką, kurio metu kasėjai atlieka to paties tipo skaičiavimo darbus, ieškodami vieno unikalaus sprendimo kiekvieną sekundę. Tai nėra sunku, tai nėra matematinė problema, tačiau tai yra labai daug darbo, kurį sunku padaryti greitai ir efektyviai naudojant mažą skaičiavimo galią.

Kalnakasiai gauna atlygį BTC pavidalu už atliktą darbą. Šis atlygis susideda iš komisinių, kuriuos vartotojai sumokėjo už operacijas, ir naujų bitkoinų, kuriuos pats tinklas sugeneravo, kai buvo baigtas ir patvirtintas naujas sandoris. Daugiau apie kalnakasius ir naujų bitkoinų generavimą kalbėsime atskirame straipsnyje.

Komisiniai

Grįžkime prie mūsų kriptovaliutų entuziastų. Nustatydamas sandorio mokesčio dydį, Tony vadovaujasi tuo, kad už kiekvieną informacijos baitą jis turi sumokėti tam tikrą Satoshi sumą – nedidelę bitkoino dalį. Kadangi Tonis nežino, kiek duomenų užims jo operacija, jis nusprendžia sutaupyti ir nustato 1 Satoshi už baitą kainą.

Jums, skaitytojams, pasakysime, kaip bus suformuotas „Tony“ sandorio svoris ir kaina.

Tie 2 BTC, kuriuos jis turi balanse, piniginėje atsirado dėl priežasties. Tonis juos uždirbo – 1 BTC 2017 m., 1 BTC 2018 m. Dabar jis nori pusę nusiųsti savo merginai. Į jo sandorį, be informacijos apie monetų skaičių, bus įtraukta informacija apie adresus, iš kurių monetos atkeliavo (jos vadinamos įėjimais), informacija apie gavėjų adresus (jie vadinami išėjimais) ir informacija taip pat bus nurodytas jo adresas.

  • Kiekvienas įvestis, iš kurio buvo gautos monetos, sveria 148 baitus
  • Kiekvienas išėjimas, į kurį eina monetos, yra 34 baitai
  • Pati operacija sveria 10 baitų, nepriklausomai nuo adresų skaičiaus ar perkėlimo sumos.

Mes manome: 148*2 + 34*2 + 10 = 374 baitai. Dabar mes žinome, kad mūsų „godus“ Tonijus už sandorį sumokės 374 Satoshi.

Keisti

Klausiate, kodėl 34 (gavėjo adreso svoris) padauginame iš 2, kai gavėjas yra tik vienas? Faktas yra tas, kad kai kam nors išsiųsite dalį savo balanso, o ne dalį, o visą sumą, liks likutis, o po patvirtinimo, ty operacijos įtraukimo į bloką, likutis, atėmus tinklo komisinius, grąžinamas savo piniginę. Todėl, be informacijos apie gavėjo adresą, į sandorį įtraukta ir informacija apie siuntėjo adresą, tai yra jūsų adresą. Šis grįžimas vadinamas pakeitimu.

Mempool

Nustatęs nedidelį 374 satoshi komisinį mokestį, Tony patvirtina 1 BTC siuntimą ir laukia, kol kalnakasiai patvirtins šią operaciją.

Tiesiog kalnakasiai neskuba to patvirtinti, sandoris patenka į mempoolą – patvirtinimo eilės knygą. Kodėl? Kadangi kalnakasiai nori užsidirbti pinigų, o ne tik eksploatuoti savo įrangą, nes už Tony sandorio patvirtinimą jie gaus tik 374 satoshi. Ypač tokiems labai pigiems sandoriams yra „mempool“ su savo rūšiavimo sistema.

Visų pirma, kalnakasiai „ima“ lengvesnes operacijas su didesniu komisiniu mokesčiu iš „mempool“, nes jų patvirtinimas yra pelningesnis ir į jų bloką įdedama daug daugiau.

Beje, jei siuntėjas naudoja „SegWit“ technologiją, jo siunčiamos operacijos sveria mažiau nei įprastai, o tai taip pat pritraukia kalnakasius.

Tačiau neturėtumėte galvoti, kad patekus į atmintį operacijai priskiriamas tam tikras eilės numeris. Ne. Ši eilė yra dinamiška, kiekvieną sekundę į ją įvedama daug operacijų su skirtingais mokesčiais ir svoriais, todėl mūsų Tony sandoris gali ilgai laukti, kol bus patvirtintas. Ir, svarbiausia, kol jis yra atmintyje, Tony negalės atsikratyti pakeitimo.

Tiesą sakant, tokioje situacijoje siuntėjo likučiai yra „įšaldyti“. Būtent šis mechanizmas apsaugo tinklą nuo šlamšto operacijų – situacijų, kai šlamšto siuntėjas sukuria daug pigių operacijų ir taip perkrauna tinklą.

Nors Tony sandoris yra „mempool“, jis nelaikomas patvirtintu ir nelaikomas sustabdytu. Tuo pačiu metu jis gali būti eilėje gana ilgą laiką – kol jis bus patvirtintas arba kol jis bus pašalintas patvirtinant mazgus iš mempool. Remiantis statistika, didžiausias eilės laukimo laikotarpis yra apie 3 dienas, tačiau didelio tinklo aktyvumo metu šis laikotarpis gali būti pratęstas savaitei ar ilgiau.

Sutikite, kad pervedimų greitis mūsų laikais yra viena iš prioritetinių mokėjimo sistemų naudojimo ypatybių, o tokios eilės, mažų mažiausiai, nėra labai malonios.

Yra daug būdų, kaip perkelti sandorį per „mempool“. Visi jie yra gana sunkiai suprantami ir įgyvendinami paprastam vartotojui, o kai kurie jų ribojasi su tokiu apgaulingu būdu, kaip "dvigubos išlaidos", arba pakartotines išlaidas. Nepaisant to, yra viena puiki savybė, kuria gali naudotis kiekvienas, ir mes apie tai pakalbėsime. Jis vadinamas „pakeitimo komisija“ (pakeitimo mokestis arba RBF).

Pakeisti pagal mokestį (RBF)

Šiais laikais ne kiekviena „Bitcoin“ piniginė turi panašias išplėstines funkcijas. RBF redaguoja esamą operaciją, esančią atmintinėje.

Redagavimas reiškia, kad naujosios įvestys naudos tas pačias įvestis kaip ir senosios, tačiau komisija bus pakeista. Tokia suredaguota operacija nebus laikoma dvigubomis išlaidomis, nes naudojant parinktį Pakeisti mokestį to išvengsite. „Bitcoin“ tinklo mazgai suvokia redaguotą sandorį kaip seną, ir jis perkeliamas į „mempool“ eilę į kalnakasiams patrauklesnes pozicijas.

Taigi, jei komisinis mokestis yra per mažas, padidinimas yra įprasta praktika, jei reikia paspartinti operaciją. Nepamirškite RBF funkcijos ir įjunkite ją prieš atlikdami operacijas, tai leis jums žaisti saugiai, jei perkėlimas vėluoja eilėje.

Patvirtinimas

Tonis laiku suprato, kad dėl savo godumo Cindy gali visai negauti dovanos, todėl laiku pasinaudojo RBF funkcija ir padidino komisinį mokestį. Sandoris, kaip ir tikėtasi, tapo patrauklesnis kalnakasiams, ir jie įtraukė jį į kitą bloką – sandoris gavo 1 patvirtinimą. Suradus kiekvieną sekantį bloką, ši operacija gaus 1 papildomą patvirtinimą. Kai yra 6 ar daugiau tokių patvirtinimų, sandoris laikomas patvirtintu.

Sandorio rodiklis

Kalbant apie perdavimo greitį, reikėtų suprasti, kad nėra jokios aiškios vertės. Tačiau apskaičiuokime ją pagal Tony sandorį ir turimus duomenis.

Būklė:

  • vieno bloko dydis yra 1 Mb (1048576 baitai);
  • kiekvienas sandoris užpildytas blokas suformuojamas kartą per 10 minučių (600 sekundžių);
  • mūsų Tony sandorio svoris yra 374 baitai.

Sprendimas:

  • 1048576 baitai: 374 baitai = 2803,6 operacijos per 10 minučių bloką.
  • 2803,6 operacijos: 600 sekundžių = 4,6 operacijų per sekundę.

Atsakymas: kas sekundę kalnakasiai patvirtina 5 sandorius, panašius į Tony sandorį.

Žinoma, visos šios vertės yra apytikslės, nes apdorojimo greitis keičiasi kas sekundę ir priklauso nuo daugelio veiksnių. Svarbiausia, kad jūsų operacija būtų kuo greičiau paimta iš „mempool“, o jei taip atsitiks, jūsų pervedimas pasieks gavėją per 1–600 sekundžių.

Tiesą sakant, po sandorio įtraukimo į bloką gavėjas gali ne tik matyti savo balanse esančias lėšas, bet ir tam tikromis sąlygomis jas valdyti. Greitai, tiesa? Taip, bet kaip su 6 patvirtinimo taisykle? 6 blokai, po 10 minučių, iš viso – 1 valanda…

Bitcoin klientai

Viskas susiję su programine įranga, kurią naudoja kriptovaliutų turėtojai. Klasikinėse „Bitcoin“ piniginėse operacija bus rodoma kaip „nepatvirtinta“, kol ji gaus 6 patvirtinimus (blokus).

Paslaugos, kurios priima BTC kaip mokėjimą, gali nustatyti apribojimus, kiek blokų reikia patvirtinti (7, 10, 45, 214).

BTC, kuriuos tinklas sugeneruoja kaip atlygį už bloko radimą, galima naudoti tik po 100 patvirtinimų, tačiau klasikinėse „Bitcoin“ piniginėse nebus rodomos monetos, gautos už bloko radimą, kol bus surinkta 120 patvirtinimų.

Skaičius "6" nebuvo pasirinktas atsitiktinai. Su kiekvienu nauju bloku sandoris tampa mažiau pažeidžiamas sukčiavimo ar pakeitimų. Norėdami ką nors padaryti su jau patvirtinta operacija bloke, turėsite „perrašyti“ visus vėlesnius blokus, o tam reikia labai didelės skaičiavimo galios ir milijonų investicijų. Ir kuo daugiau patvirtinimų gaus sandoris, tuo jis bus saugesnis.

Tačiau tokioje galingoje ir stabilioje blokinėje grandinėje kaip „Bitcoin“ labiau tikėtina sandorio gavėjo reikalavimas, o ne protokolo taisyklė.

Todėl mūsų Cindy ir Tony naudoja ne klasikinę, o labai pažangią ir funkcionalią „Bitcoin“ piniginę. Naudojant jame suaktyvintas nepatvirtintas operacijas, Tony išeinanti operacija, įtraukta į bloką, bus iškart rodoma Cindy piniginėje. Tokiu atveju Tony galės nedelsdamas atsikratyti pakeitimo, o Cindy gali gauti dovaną.

Nuoroda „SegWit + RBF + nepatvirtintų operacijų naudojimas“ leidžia išgauti maksimalų greitį iš BTC blokų grandinės, kuri yra svarbi paslaugoms, kurios nėra saugomos.

Išvada

Bitcoin yra labai sudėtingas ir labai technologiškai pažengęs. Viename straipsnyje neįmanoma apibūdinti visų jo darbo subtilybių ir niuansų, tačiau mes vis tiek papasakojome apie jo pagrindus. Dabar jūs žinote, kokias sudėtingas keliones jūsų monetos atlieka per vieną operaciją tarp dviejų piniginių ir kokiu greičiu. Kaip ir kokiu būdu tinklas apsisaugo nuo įsilaužimų, šlamšto atakų, sukčiavimo ar pradedančiųjų veiksmų.

Stabili bitkoinų veikla vienodai priklauso ir nuo kalnakasių, ir nuo paprastų vartotojų, ir kuo daugiau tinkle bus dalyvių, tuo ji taps saugesnė ir decentralizuota.

Autorius: Kate Solano, skirta „Сrypto-Rating.com“