Košík

Jedným z hlavných problémov každého vývojára kryptomien je otázka dvojitej útraty, čiže double spending. Vzťahuje sa to na výskyt toho, že jednotlivec minie svoje kryptomeny viackrát, čo vytvára rozdiely medzi záznamom výdavkov a množstvom dostupnej kryptomeny, ako aj na spôsob akým je distribuovaná.

Čo je to double spending problém?

Dvojité míňanie alebo double spending je potenciálnym problémom v kryptomenových ekosystémoch, v ktorom sa rovnaké prostriedky vynakladajú dvom príjemcom súčasne. Bez adekvátnych protiopatrení je zásadne narušený protokol, ktorý problém nevyrieši – používatelia nemajú žiadny spôsob ako overiť, že prostriedky, ktoré dostali už neboli inde použité.

Pokiaľ ide o kryptomeny je nesmierne dôležité zabezpečiť, aby sa nedali duplikovať konkrétne jednotky. Celý systém by bol narušený, ak by Alice mohla prijať 10 jednotiek, kopírovať ich a prilepovať 10-krát a takto si vytvoriť 100 jednotiek. Takáto schéma nemôže fungovať, ak dokáže súčasne poslať rovnakých 10 jednotiek Bobovi aj Carol. Aby kryptomeny fungovali, musia existovať mechanizmy, ktoré tomuto správaniu zabránia.

Ako možno zabrániť double spending problému?

Centralizovaný prístup
Implementácia centralizovaného riešenia je podstatne jednoduchšia ako decentralizované alternatívy. Zvyčajne to znamená, že jeden dozorca, ktorý riadi systém, tak riadi vydávanie a distribúciu jednotiek. Dobrým príkladom centralizovaného riešenia tohto problému je riešenie eCash Davida Chauma.

Na vydávanie používateľov digitalizujúcimi aktívami napodobňujúcimi hotovosť (schopnými anonymnej a rovnocennej výmeny) môže banka použiť slepé podpisy – ako to podrobne uvádza kryptograf David Chaum vo svojom papierovom dokumente Blind Signatures for Untraceable Payments z roku 1982.

V takomto prípade, ak si užívateľ (hovorme mu Bob) želá získať 100 dolárov v digitálnej hotovosti, je povinný o tom najskôr informovať banku. Ak má na svojom účte zostatok, vygeneruje náhodné číslo (alebo viac, pre menšie hodnoty). Predpokladajme, že vytvorí päť čísel, z ktorých každému bude pridelená hodnota 20 USD. Aby sa zabránilo banke v sledovaní konkrétnych jednotiek, Bob zahmlieva náhodné čísla pridaním blind (oslepujúceho) faktora ku každému z nich.

Tieto údaje potom odovzdá banke, ktorá zaúčtuje na účet 100 USD a podpíše správy, ktoré potvrdzujú, že za každú z piatich informácií je možné vyplatiť 20 dolárov. Bob teraz môže minúť prostriedky vydané bankou. Išiel do reštaurácie a kúpil si jedlo, ktoré ho stálo 40 dolárov.

Bob môže odstrániť faktor zaslepenia a vystaviť tak náhodné číslo spojené s každou digitálnou hotovostnou „účtenkou“, ktorá slúži ako jedinečný identifikátor pre každú jednotku (podobne ako sériové číslo). Dva z nich prezradí reštaurácií, ktorá ich musí teraz okamžite uplatniť v banke, aby zabránila Bobovi minúť ich u iného obchodníka. Banka skontroluje platnosť podpisov. Ak sa zdá, že je všetko správne, pripíše na účet reštaurácií kredit 40 dolárov.

Nastavenie Chaumovho eCash môže byť užitočné pre súkromné prevody. Padá však na flexibilite, pretože banka je ústredným bodom zlyhania. Vydaná zmenka sama o sebe nestojí nič, pretože jej hodnota je odvodená výlučne od ochoty banky ju vymeniť za doláre. Zákazníci sú odkázaní na milosť a nemilosť banky. To je problém, ktorý majú kryptomeny za cieľ napraviť.

Prečítajte si aj : Stock to flow model

Decentralizovaný prístup

Náročné je zabezpečiť, aby sa finančné prostriedky nedali minúť v ekosystéme viackrát. Rovnocenní účastníci musia koordinovať súbor pravidiel, ktoré zabránia podvodom a motivujú všetkých používateľov, aby konali čestne.

Najväčšou inováciou predstavenou vo white paper-i Bitcoinu bolo riešenie tohto problému. Aj keď to nie je uvedené ako také, Satoshi navrhol dátovú štruktúru, ktorá je v súčasnosti všeobecne známa ako blockchain.

Blockchain je skutočne iba databáza s niektorými jedinečnými vlastnosťami. Účastníci siete (nazývaní uzly) prevádzkujú špecializovaný softvér, ktorý im umožňuje synchronizovať ich kópiu databázy s ich rovesníkmi. Výsledkom je, že celá sieť môže auditovať históriu transakcií siahajúcich od bloku genézy. Verejným prístupom k blockchainu je ľahké odhaliť podvodnú aktivitu a zabrániť jej, ako sú transakcie, ktoré sa snažia dvakrát minúť.

Keď užívateľ vysiela transakciu, nie je okamžite pridaná do blockchainu. Musí sa najprv zahrnúť do bloku prostredníctvom ťažby. Preto by mal príjemca považovať transakciu za platnú až po jej pridaní do reťazca. V opačnom prípade riskujú stratu finančných prostriedkov, pretože odosielateľ môže rovnaké mince minúť aj inde.

Po potvrdení transakcie sa mince nedajú minúť dvakrát, pretože vlastníctvo je priradené novému používateľovi a celá sieť to môže overiť. Z tohto dôvodu mnohí odporúčajú čakať na viac potvrdení pred prijatím platby ako platnej. Každý nasledujúci blok drasticky zvyšuje množstvo úsilia potrebného na modifikáciu alebo prepísanie reťazca (ku ktorému môže dôjsť počas 51% útoku).

Vráťme sa k scenáru reštaurácie. Bob sa vracia do reštaurácie a tentoraz si všimne nálepku „Bitcoin Accepted Here“ na okne. Užil si jedlo, ktoré mal naposledy a tak si ho znova objednal. Stojí ho 0,005 BTC.

Reštaurácia mu predstaví verejnú adresu, na ktorú musí zaslať finančné prostriedky. Bob vysiela túto transakciu, čo je v podstate podpísaná správa, v ktorej sa uvádza, že 0,005 BTC, ktoré mal Bob vo vlastníctve, je teraz reštaurácie. Bez toho, aby bolo príliš veľa podrobností môže každý, kto sa predstavil s transakciou podpísanou Bobom overiť, či mal mince skutočne v držbe a mal oprávnenie ich poslať.

Ako už bolo spomenuté, transakcia je platná, iba ak je zahrnutá v bloku, ktorý je potvrdený. Prijímanie nepotvrdených transakcií je podobné ako prijatie 40 dolárov v eCash z predchádzajúceho príkladu bez okamžitého preplatenia v banke – umožňuje odosielateľovi ich minúť inde. Preto sa odporúča, aby reštaurácia počkala na najmenej 6 potvrdených blokov (zhruba hodinu) pred prijatím Bobovej platby.

Double spending a Bitcoin

Bitcoin je starostlivo navrhnutý tak, aby zabránil double spending útokom, aspoň keď sa protokol použije podľa očakávania. To znamená, že ak jednotlivci čakajú na potvrdenie transakcií v bloku, neexistuje žiadny jednoduchý spôsob, ako ho odosielateľ zruší. Na to by museli „obrátiť“ blockchain, čo vyžaduje nerealistické množstvo hashovacej sily.

Existuje však niekoľko útokov na double spending, ktoré sú zamerané na strany, ktoré akceptujú nepotvrdené transakcie. Napríklad pri nákupoch s nízkou hodnotou nemusí obchodník chcieť čakať na zahrnutie transakcií do bloku. Rušná reštaurácia s rýchlym občerstvením si pravdepodobne nemôže dovoliť stáť, pretože sieť spracúva každý nákup. Ak teda podnik umožňuje „okamžité“ platby, otvára sa double spendingu. Niekto si môže objednať hamburger, zaplatiť zaň a potom okamžite poslať rovnaké prostriedky na svoju adresu. Pri vyššom poplatku bude táto nová transakcia pravdepodobne potvrdená ako prvá, a preto zruší platnosť predchádzajúcej transakcie.

Existujú tri populárne spôsoby, ako vykonať dvojité výdavky (míňanie):

51% útok – ak jeden subjekt alebo organizácia dokáže ovládať viac ako 50% hash hodnoty, je im umožnené vylúčiť alebo zmeniť poradie transakcií. Takýto útok je na Bitcoine veľmi nepravdepodobný, ale stal sa v iných sieťach.

Race útoky – postupne sa vysielajú dve protichodné transakcie s použitím rovnakých prostriedkov – potvrdí sa však iba jedna transakcia. Cieľom útočníka je zneplatniť platbu iba potvrdením transakcie, z ktorej má úžitok (napr. zaslaním rovnakých prostriedkov na adresu, ktorú kontroluje). Tieto útoky vyžadujú, aby príjemca prijal nepotvrdenú transakciu ako platbu.

Finney útoky – útočník preťaží jednu transakciu do bloku bez toho, aby ju okamžite vyslal do siete. Namiesto toho utráca rovnaké mince v inej transakcii a až potom vysiela svoj predtým ťažený blok, čo môže platbu zneplatniť. Tieto útoky si vyžadujú špecifickú postupnosť udalostí a sú tiež podmienené prijatím nepotvrdených transakcií príjemcom.

Ako vidíme, obchodník, ktorý čaká na potvrdenie blokov, výrazne zníži riziko, že sa stane obeťou double spending.

Zdroje: academy.binance.com, investopedia.com, en.bitcoinwiki.org, coinsutra.com

Disclaimer

Až 13 kryptomien aktualizovaných každý deň, mince so zápalnou šnúrou, fundamenty, vzdelávanie, VIP chat pre všetkých a LIVE ROOM, kde naživo obchodujeme. Kryptomeny jednoducho a zrozumiteľne s Trader2.0

Tento článok patrí firme JKralo s.r.o a je chránený copyrightom. Akéhokoľvek zneužitie (napr. kopírovanie) je trestné! Uverejnené informácie sú autorským dielom a bez súhlasu nie je ďalšie šírenie tohto materiálu povolené.

Kontakt : 
Telegram : https://t.me/jtrader20
Facebook : https://www.facebook.com/kralovanskyjakub
Instagram : https://www.instagram.com/bitcoin_trader2.0/
Web : https://trader20.sk/
E-mail : info@trader20.sk
Youtube kanál : https://www.youtube.com/channel/UCLf520Y_L1DQKURva4npXUA?view_as=subscriber

75486051_1455104544666141_6829501680044736512_n

Leave a Reply