12 °C, Budapest
12 °C
Budapest
Holnap
22°
Holnapután
24°
Kedd
25°
2022.05.28. szombat, Emil, Csanád
filter.hu filter.hu

Mi az a dupla költés?

A digitális világ egyik legnagyobb előnye, hogy szinte bármiről pillanatok alatt készíthetünk másolatokat. Legyen szó írott anyagról, videó- vagy hangfelvételekről, egy kattintással annyi másolatot hozhatunk létre belőlük, amennyit csak a merevlemez elbír.

Mindez rendkívül hasznosnak bizonyul, ha információkról, esetleg szórakoztató anyagokról van szó. Ha azonban digitális pénzben gondolkodunk, épp a könnyű lemásolás az, ami a legnagyobb problémát jelentheti a rendszerre nézve.

A fizikai megjelenéssel rendelkező készpénzzel ellentétben egy virtuális valuta digitális fájlok formájában létezik, amelyek könnyen többszörözhetők, meghamisíthatók.

Centralizált rendszerek esetében ez a probléma könnyen kiküszöbölhető, hiszen a központi, megbízható harmadik fél bármilyen taktikát bevethet annak ellenőrzésére, vajon az adott tokent elköltötték-e már vagy sem. Megbízhatósági és biztonsági szempontból azonban ez a megoldás számít a legkevésbé vonzónak.

Mi a helyzet az elosztott rendszerekkel?

Olyan rendszereknél, amelyek egymástól függetlenül létező csomópontokon tárolják az adatokat, a dupla költés problémája már okozhat némi fejtörést.

Ahhoz, hogy ne kelljen megbízható harmadik félre támaszkodni, elengedhetetlen, hogy a csomópontok minden egyes pillanatban ugyanazokat az adatokat tárolják az adott hálózatról. Mivel azonban a tranzakciók szerverek felé történő közvetítése időbe telik, minden csomópont más pillanatban fog értesülni egy-egy fizetés megvalósulásáról. Ha két tranzakció ugyanazt a tokent szeretné kétszer elkölteni, a csomópontok mindig az első tranzakciót fogják hitelesnek tekinteni – jogosan, hiszen ha másodjára is megpróbálkoznak ugyanazon token elköltésével, akkor evidens, hogy a küldő félnek erre már nem lenne szabad lehetőséget biztosítani.

Előfordulhat azonban, hogy az egyik csomóponthoz a korábbi, míg a másik csomóponthoz a későbbi tranzakció érkezik be hamarabb. Ez azt okozhatja, hogy a szerverek között egyet nem értés alakul ki – ebben az esetben nem igazán lehet meghatározni, hogy melyik tranzakció számít hitelesnek.

Bitcoinban a megoldás

Ezt a problémát oldotta meg annak idején a Bitcoin, a blokklánc bevezetésével. Ennek lényege, hogy a tranzakciók nem azonnal, a küldés pillanatában kerülnek végrehajtásra, hanem körülbelül 10 percenként, ún. blokkokba foglalva.

Félelmetes élmény újnak lenni a titkosítási piacon. Ezért mindig próbáljon olyan szabályozott platformot használni, mint a CFD Trader.

A blokkot egyetlen csomópont hozza létre, amely így képes arra, hogy csakis hiteles tranzakciókat foglaljon bele. A létrehozott blokkot aztán a bányász közvetíti a hálózat felé, amelynek résztvevői ellenőrzik azt, és ha minden megfelel a feltételeknek, a benne lévő tranzakciók végrehajtódnak. A blokk ezt követően felkerül a blokkláncra, a blokkot kibányászó bányász pedig jutalomban részesül.

Ezt a – dupla költésnek ellenálló – modellt nevezzük proof of work konszenzusmechanizmusnak. A proof of work megköveteli a bányászoktól, hogy komoly erőforrások felhasználása révén bonyolult algoritmusokat oldjanak meg.

Az általuk kibányászott blokk minden esetben kap egy időbélyeget, illetve a fejlécében hivatkozik az őt megelőző összes blokkra, és saját magára. Ennek köszönhető az, hogy egy korábban kibányászott blokkban lehetetlen megváltoztatni az adatokat anélkül, hogy egy potenciális támadó ne változtatná meg az adatokat az összes őt követő blokkban is.

Ritkán ugyan, de technikailag előfordulhat olyan helyzet is, hogy a blokkláncra véletlenül egy időben két blokkot fűznek fel. Ez a blokklánc kettéválásához vezet. Az egyik lánc végül hosszában felülkerekedik a másikon, a rövidebbet pedig a hálózat kidobja magából – az ezen a láncon található blokkokat nevezzük árva blokkoknak, a benne foglalt tranzakciók pedig utólag érvénytelenné válnak.

51%-os támadás

Az 51%-os támadás azért jelent nagy problémát, mivel segítségével bármennyiszer elkölthető egy adott token. Ennek magyarázata egyszerű: a támadó bármikor képes visszafordítani a blokkláncot, és a coin elküldése után visszaállítani a hálózatot abba az állapotba, amikor még nem költötte azt el. Ezt annyiszor ismételi meg, ahányszor csak akarja, a kereskedővel pedig elhitetheti, hogy valóban kiegyenlítette a számlát.

Az 51%-os támadások mindenesetre nem túl gyakoriak – főleg nem a Bitcoin esetében. Ahogyan korábban is említettük, a bányászoknak bonyolult algoritmusokat kell megoldaniuk, ha akár egyetlen blokkot is ki szeretnének bányászni.

Az 51%-os támadás esetében a támadónak legalább ugyanannyi erőforrással kell rendelkeznie, mint a szabályok szerint játszó bányászoknak. Nem meglepő tehát, hogy egy ilyen jellegű csalás megtervezése és kivitelezése akkora erőforrás-felhasználással jár, hogy az esetek túlnyomó többségében még csak meg sem fordul egy mezei támadó fejében, hogy ilyen eszközökhöz folyamodjon.

Mennyire kell félni ettől a fajta kockázattól?

Mindaddig, amíg kis összegekkel dolgozunk, és hajlandók vagyunk megvárni, amíg legalább 1 blokkba belefoglalják az általunk fogadott tranzakciót, gyakorlatilag nincs mitől tartanunk a dupla költés kapcsán.

A nagyobb összegű fizetések esetében mindenesetre érdemes megvárni legalább 6 megerősítést, vagyis amíg a fogadott tranzakció blokkját nem fogja további 5 blokk követni.