Vysvetlenie dvojit├Żch v├Żdavkov
Domov
Články
Vysvetlenie dvojit├Żch v├Żdavkov

Vysvetlenie dvojit├Żch v├Żdavkov

Stredne pokro─Źil├Ż
Zverejnen├ę Feb 17, 2020Aktualizovan├ę Jan 31, 2023
7m

─îo je dvojit├ę m├ş┼łanie?

Dvojit├ę m├ş┼łanie ozna─Źuje potenci├ílny probl├ęm v┬ádigit├ílnom hotovostnom syst├ęme, kde sa rovnak├ę prostriedky po┼íl├║ s├║─Źasne dvom pr├şjemcom. Bez ak├Żchko─żvek adekv├ítnych protiopatren├ş je protokol, ktor├Ż tento probl├ęm nerie┼íi, z├ísadne naru┼íen├Ż. Pou┼ż├şvatelia nemaj├║ ako overi┼ą, ─Źi prostriedky, ktor├ę dostali, u┼ż neboli minut├ę niekde inde.

Pokia─ż ide o┬ádigit├ílnu hotovos┼ą, je mimoriadne d├┤le┼żit├ę zabezpe─Źi┼ą, aby nebolo mo┼żn├ę duplikova┼ą konkr├ętne jednotky. Ak by Alica mohla prija┼ą 10┬ájednotiek, 10-kr├ít ich skop├şrova┼ą a┬ávlo┼żi┼ą a┬ázistila by, ┼że vlastn├ş 100┬ájednotiek, cel├Ż syst├ęm by bol naru┼íen├Ż. Podobne, tak├íto sch├ęma nem├┤┼że fungova┼ą, ak dok├í┼że posla┼ą t├Żch ist├Żch 10┬ájednotiek s├║─Źasne Bobovi aj Carol. Aby teda digit├ílne peniaze fungovali, musia existova┼ą mechanizmy, ktor├ę tak├ęmuto spr├ívaniu zabr├ínia.


Ako je mo┼żn├ę zabr├íni┼ą dvojit├ęmu m├ş┼łaniu?

Centralizovan├Ż pr├şstup

Implement├ícia centralizovanej cesty je podstatne jednoduch┼íie ako implement├ícia decentralizovan├Żch alternat├şv. S├║─Źas┼ąou syst├ęmu je ┼ítandardne jeden dozorca, ktor├Ż riadi syst├ęm a┬ákontroluje vyd├ívanie a┬ádistrib├║ciu jednotiek. Dobr├Żm pr├şkladom centralizovan├ęho rie┼íenia probl├ęmu dvojit├ęho m├ş┼łania je elektronick├í hotovos┼ą Davida Chauma.┬á

Na vyd├ívanie digit├ílnych akt├şv napodob┼łuj├║cich hotovos┼ą pou┼ż├şvate─żom (s┬ámo┼żnos┼ąou anonymnej a┬ápeer-to-peer v├Żmeny) m├┤┼że banka pou┼żi┼ą slep├ę podpisy, ako to v┬ároku 1982 podrobne op├şsal kryptograf David Chaum v┬ádokumente Blind Signatures for Untraceable Payments.

V┬átomto kontexte, ak si pou┼ż├şvate─ż (nazvime ho Dan) ┼żel├í prija┼ą 100┬ádol├írov v┬ádigit├ílnej hotovosti, mus├ş o┬átom najsk├┤r informova┼ą banku. Za predpokladu, ┼że m├í dostato─Źn├Ż zostatok na ├║─Źte, vygeneruje n├íhodn├ę ─Ź├şslo (alebo viac ─Ź├şsel, v┬ápr├şpade men┼í├şch nomin├ílnych hodn├┤t). Predpokladajme, ┼że vygeneruje 5┬á─Ź├şsel, ka┼żd├ęmu bude priraden├í hodnota 20┬áUSD. Aby zabr├ínil banke sledova┼ą konkr├ętne jednotky, Dan pou┼żije zahmlievanie n├íhodn├Żch ─Ź├şsel a┬áku ka┼żd├ęmu z┬ánich prid├í maskuj├║ci faktor.

Potom tieto ├║daje po┼íle banke, ktor├í z┬ájeho ├║─Źtu odp├ş┼íe 100┬áUSD, a┬ápodp├ş┼íe spr├ívy potvrdzuj├║ce, ┼że ka┼żd├í z┬ápiatich inform├íci├ş je zamenite─żn├í za 20┬áUSD. Dan teraz m├┤┼że min├║┼ą prostriedky vydan├ę bankou. Ide do Erininej re┼ítaur├ície a┬ák├║pi si jedlo, za ktor├ę zaplat├ş 40┬áUSD.┬á

Dan teraz m├┤┼że odstr├íni┼ą maskuj├║ci faktor a┬át├Żm odhali┼ą n├íhodn├ę ─Ź├şslo spojen├ę s┬áka┼żdou digit├ílnou hotovostnou ÔÇ×bankovkouÔÇť, ktor├ę sl├║┼żi ako jedine─Źn├Ż identifik├ítor pre ka┼żd├║ jednotku (podobne ako s├ęriov├ę ─Ź├şslo). Dve z┬ánich prezrad├ş Erin, ktor├í si ich teraz mus├ş okam┼żite necha┼ą vyplati┼ą v┬ábanke, aby zabr├ínila tomu, ┼że ich Dan minie v┬áinom obchode. Banka skontroluje, ─Źi s├║ podpisy platn├ę, a┬áak bude v┼íetko vyzera┼ą v┬áporiadku, prip├ş┼íe Erin na ├║─Źet 40┬áUSD.

Pou┼żit├ę bankovky s├║ teraz v┬ápodstate sp├ílen├ę a┬áak chce Erin utrati┼ą svoj nov├Ż zostatok rovnak├Żm sp├┤sobom, musia sa vyda┼ą nov├ę bankovky.

Princ├şp Chaumovej elektronickej hotovosti m├┤┼że by┼ą cenn├Ż pre s├║kromn├ę prevody. Zlyh├íva v┼íak v┬ápru┼żnosti, preto┼że banka je centr├ílnym bodom zlyhania. Vydan├í bankovka je sama o┬ásebe bezcenn├í, preto┼że jej hodnota je odvoden├í v├Żlu─Źne od ochoty banky vymeni┼ą ju za dol├íre. Aby peniaze fungovali, z├íkazn├şci s├║ vydan├ş na milos┼ą a┬ánemilos┼ą banky. Musia sa spolieha┼ą na jej dobr├║ v├┤─żu. Toto je presne probl├ęm, ktor├Ż sa kryptomena sna┼ż├ş vyrie┼íi┼ą.


Decentralizovan├Ż pr├şstup

Zabezpe─Źi┼ą, aby sa v┬áekosyst├ęme, kde neexistuje ┼żiadny dozorca, nedali finan─Źn├ę prostriedky min├║┼ą dvakr├ít, je n├íro─Źnej┼íie. Rovnako siln├ş ├║─Źastn├şci sa musia koordinova┼ą okolo s├║boru pravidiel, ktor├ę zabra┼łuj├║ podvodom a┬ámotivuj├║ v┼íetk├Żch pou┼ż├şvate─żov, aby konali ─Źestne.

Najv├Ą─Ź┼íou inov├íciou prezentovanou v┬ábielej knihe Bitcoinu bolo rie┼íenie probl├ęmu dvojit├ęho m├ş┼łania. Hoci Satoshi to takto neozna─Źuje, navrhol ┼ítrukt├║ru ├║dajov, ktor├í je teraz v┼íeobecne zn├íma pod n├ízvom blockchain.

Blockchain je v┬ápodstate len datab├íza s┬áur─Źit├Żmi jedine─Źn├Żmi vlastnos┼ąami. ├Ü─Źastn├şci v┬ásieti (ozna─Źovan├ş ako uzly) pou┼ż├şvaj├║ ┼ípecializovan├Ż softv├ęr, ktor├Ż im umo┼ż┼łuje synchronizova┼ą k├│piu datab├ízy s┬áosobami, ktor├ę s├║ im seberovn├ę. V├Żsledkom je, ┼że cel├í sie┼ą dok├í┼że kontrolova┼ą hist├│riu transakci├ş, ktor├ę sa datuj├║ od vzniku prv├ęho bloku. T├Żm, ┼że blockchain je verejne vidite─żn├Ż, je ─żahk├ę odhali┼ą a┬ázabr├íni┼ą podvodn├Żm aktivit├ím, ako s├║ transakcie, ktor├ę sa pok├║┼íaj├║ vyu┼żi┼ą dvojit├ę m├ş┼łanie.

Ke─Ć pou┼ż├şvate─ż odvysiela transakciu, t├íto sa neprid├í okam┼żite do blockchainu. Najprv mus├ş by┼ą zahrnut├í do bloku prostredn├şctvom ┼ąa┼żby. Pr├şjemca by mal pova┼żova┼ą transakciu za platn├║ a┼ż po pridan├ş jej bloku do re┼ąazca. V┬áopa─Źnom pr├şpade riskuje stratu svojich prostriedkov, preto┼że odosielate─ż by mohol tie ist├ę coiny min├║┼ą niekde inde.┬á

Po potvrden├ş transakcie sa coiny nedaj├║ min├║┼ą dvakr├ít, preto┼że vlastn├şctvo je priraden├ę nov├ęmu pou┼ż├şvate─żovi. A┬ácel├í sie┼ą to m├┤┼że overi┼ą. Pr├íve z┬átohto d├┤vodu mnoh├ş odpor├║─Źaj├║ pred prijat├şm platby ako platnej po─Źka┼ą na viacero potvrden├ş. Ka┼żd├Ż nasleduj├║ci blok dramaticky zvy┼íuje mno┼żstvo ├║silia potrebn├ęho na ├║pravu alebo prep├şsanie re┼ąazca (─Źo sa m├┤┼że vyskytn├║┼ą po─Źas ├║toku 51┬á%).

Vr├í┼ąme sa znovu k┬áscen├íru z┬áre┼ítaur├ície. Dan sa vracia do re┼ítaur├ície. Tentokr├ít si na okne v┼íimne n├ílepku ÔÇ×Tu prij├şmame platby bitcoinomÔÇť. Jedlo, ktor├ę si dal naposledy, mu chutilo, tak si ho objedn├í znovu. Stoj├ş ho to 0,005┬áBTC.┬á

Erin mu predlo┼ż├ş verejn├║ adresu, na ktor├║ mus├ş posla┼ą peniaze. Dan odvysiela transakciu, ─Źo je v┬ápodstate podp├şsan├í spr├íva, v┬áktorej sa uv├ídza, ┼że 0,005┬áBTC, ktor├ę doteraz vlastnil Dan, teraz vlastn├ş Erin. Bez toho, aby sme zach├ídzali do pr├şli┼ín├Żch podrobnost├ş, ka┼żd├Ż, komu je predlo┼żen├í Danova podp├şsan├í transakcia, m├┤┼że overi┼ą, ┼że tieto coiny skuto─Źne vlastnil, a┬áteda mal pr├ívomoc posla┼ą ich.

Ako u┼ż bolo uveden├ę, transakcia je platn├í iba vtedy, ak je zahrnut├í do bloku, ktor├Ż sa potvrd├ş. Prijatie nepotvrden├Żch transakci├ş je podobn├ę ako prijatie 40┬áUSD v┬áelektronickej hotovosti z┬ápredch├ídzaj├║ceho pr├şkladu bez okam┼żit├ęho preplatenia v┬ábanke. Odosielate─żovi to umo┼ż┼łuje min├║┼ą ich niekde inde. Preto sa odpor├║─Źa, aby pred prijat├şm Danovej platby Erin po─Źkala aspo┼ł na 6┬ápotvrden├ş bloku (pribli┼żne 1┬áhodinu).


Dvojn├ísobn├ę m├ş┼łanie v┬áre┼ąazci Bitcoin

Bitcoin je starostlivo navrhnut├Ż tak, aby zabr├ínil ├║tokom dvojit├ęho m├ş┼łania. Minim├ílne v┬ápr├şpadoch, ke─Ć sa protokol pou┼ż├şva pod─ża o─Źak├ívania. To znamen├í, ┼że ak jednotlivci ─Źakaj├║ na potvrdenie transakci├ş v┬ábloku, odosielate─ż nem├í k┬ádispoz├şcii jednoduch├Ż sp├┤sob, ako vr├íti┼ą transakciu sp├Ą┼ą. Aby to dok├ízal, musel by ÔÇ×obr├íti┼ąÔÇť blockchain, ─Źo si vy┼żaduje nere├ílne mno┼żstvo ha┼íovacej sily.

Existuje v┼íak nieko─żko ├║tokov dvojit├ęho m├ş┼łania, ktor├ę sa zameriavaj├║ na strany, ktor├ę prij├şmaj├║ nepotvrden├ę transakcie. Napr├şklad pri n├íkupoch s┬án├şzkou hodnotou sa obchodn├şkovi nemus├ş chcie┼ą ─Źaka┼ą na zahrnutie transakci├ş do┬ábloku. Je pravdepodobn├ę, ┼że zanepr├ízdnen├í re┼ítaur├ícia r├Żchleho ob─Źerstvenia nebude ─Źaka┼ą na spracovanie ka┼żd├ęho n├íkupu. Ak teda obchodn├şk umo┼ż┼łuje ÔÇ×okam┼żit├ęÔÇť platby, d├íva t├Żm priestor pre dvojit├ę m├ş┼łanie. Niekto si m├┤┼że objedna┼ą hamburger, zaplati┼ą za┼ł a┬ápotom okam┼żite posla┼ą prostriedky v┬árovnakej v├Ż┼íke na svoju vlastn├║ adresu. Pri vy┼í┼íom poplatku bude t├íto nov├í transakcia pravdepodobne potvrden├í sk├┤r, ─Ź├şm zru┼í├ş platnos┼ą predch├ídzaj├║cej transakcie.

Existuj├║ 3┬áob─ż├║ben├ę sp├┤soby dvojit├ęho m├ş┼łania:

  • ├Ütok 51┬á%: ke─Ć jeden subjekt alebo organiz├ícia dok├í┼że kontrolova┼ą viac ako 50┬á% hash rate, ─Źo mu umo┼ż┼łuje vylu─Źova┼ą transakcie alebo upravova┼ą ich poradie. Tak├Żto ├║tok je v┬áre┼ąazci Bitcoin vysoko nepravdepodobn├Ż, vyskytol sa v┼íak v┬áin├Żch sie┼ąach.

  • Race attack: dve protikladn├ę transakcie s┬árovnakou v├Ż┼íkou prostriedkov sa vy┼íl├║ za sebou, ale potvrd├ş sa iba jedna z┬ánich. Cie─żom ├║to─Źn├şka je zneplatni┼ą platbu overen├şm iba tej transakcie, z┬áktorej m├í prospech (napr. zaslan├şm prostriedkov v┬árovnakej v├Ż┼íke na adresu, ktor├║ ovl├ída). Race attack vy┼żaduje, aby pr├şjemca prijal nepotvrden├║ transakciu ako platbu.

  • Finneyho ├║tok: ├║to─Źn├şk vopred vy┼ąa┼ż├ş jednu transakciu do bloku bez toho, aby ju okam┼żite poslal do siete. Namiesto toho minie tie ist├ę coiny v┬ár├ímci inej transakcie a┬áa┼ż potom odvysiela svoj predt├Żm vy┼ąa┼żen├Ż blok, ktor├Ż m├┤┼że platbu zneplatni┼ą. Finneyho ├║tok si vy┼żaduje ┼ípecifick├║ postupnos┼ą udalost├ş. Tento typ ├║toku je tie┼ż podmienen├Ż prijat├şm nepotvrden├Żch transakci├ş pr├şjemcom.

Ako vid├şme, obchodn├şk, ktor├Ż po─Źk├í na potvrdenia bloku, v├Żrazne zni┼żuje riziko, ┼że sa stane obe┼ąou dvojit├ęho m├ş┼łania.


Z├ívere─Źn├ę my┼ílienky

Dvojit├ę m├ş┼łanie umo┼ż┼łuje pou┼ż├şvate─żovi oklama┼ą elektronick├Ż hotovostn├Ż syst├ęm, z├şska┼ą finan─Źn├Ż zisk a┬ápou┼żi┼ą tie ist├ę prostriedky viackr├ít. Pokroku v┬átejto oblasti u┼ż tradi─Źne br├íni nedostatok primeran├Żch rie┼íen├ş tohto probl├ęmu.

Na┼í┼ąastie pou┼żitie slep├Żch podpisov prinieslo n├ívrh zauj├şmav├ęho rie┼íenia pre centralizovan├ę finan─Źn├ę sch├ęmy. Nesk├┤r vytvorenie mechanizmov Proof of Work a┬átechnol├│gie blockchain umo┼żnilo zrod re┼ąazca Bitcoin, ktor├Ż predstavuje siln├║ formu decentralizovan├Żch pe┼łaz├ş. A┬áto zase in┼ípirovalo tis├şce ─Ćal┼í├şch projektov v┬áoblasti kryptomien.