A tranzakciós díjakról bővebben

Bármely bitcoin-tranzakcióhoz ajánlhatunk fel tranzakciós díjakat. Jelen állás szerint, alaphelyzetben és általában a legtöbb tranzakcióhoz egyáltalán semmiféle felajánlást nem vár el a rendszer. Kivételt csak a sok különböző címről származó és ezért nagy adattömeget jelentő bitcoin-mennyiségek mozgatásának esete jelent; ilyenkor általában szükség lehet egy minimális felajánlásra.

A tranzakciós díjakat is a bányászok dolgozzák fel, és ők is kapják meg. Amint valamelyikük sikeresen legenerál egy új tranzakció-blokkot a megfelelő hashsel, úgy a blokkba foglalt valamennyi tranzakcióhoz felajánlott díj teljes összessége őt illeti meg.

A tranzakciót indító fél részéről a díj felajánlása teljesen önkéntes, mivel tetszés szerint ajánlhat fel bármekkora összegű díjat bármelyik tranzakciójához – vagy épp teljes egészében mellőzheti is bármiféle díj felajánlását. Ugyanakkor azonban a bányászokat senki és semmi nem kötelezi arra, hogy válogatás nélkül dolgozzanak fel minden tranzakciót, ami csak eléjük kerül; így tehát a tranzakciós díjjal a tranzakciót indító fél lényegében ösztönözheti a bányászokat arra, hogy mihamarabb vegyék sorra, dolgozzák fel és könyveljék le a kérdéses tranzakcióját.

Az alapelképzelés szerint a bányászok idővel több jutalmat gyűjthetnek majd össze a tranzakciós díjakból, mint amennyit automatikusan kapnak a blokkok legenerálásáért – ösztönözve őket ezzel arra, hogy a messzi jövőben is folytassák a tevékenységüket, amikor a blokkgenerálásért járó automatikus alapjutalom már a nullához konvergál majd.

A tranzakciós díjak működési elve a következő:

Ez az összeg teljes egészében 0,01 BTC-kből áll össze; ez nagyon sok adatot jelent, így a feldolgozása is igen költséges.

* A(z eredeti) kliensprogram felméri az elindítani kívánt tranzakciót, és megállapítja, hogy lesz-e szükség tranzakciós díjra az elküldéséhez. Ha igen, akkor kiszámolja annak a minimális értékét, és nem is engedi anélkül elküldeni.
* A felhasználó jóváhagyja a díjat, így elindulhat a tranzakció.
* Az így elindított tranzakció több bitcoint tartalmaz a bemeneti oldalon, mint amennyi a címzettnek szól a kimenetin, így marad egy “felesleg”, ami ezen a ponton még senkinek nincs címezve.
* Ezt a “felesleget” az a bányász kapja meg, aki blokkba foglalja a tranzakciót és sikeresen le is generálja azt.
* Ha egy tranzakcióhoz már kellene díj is, de mégsem ajánlanak fel hozzá semmit (vagy nem eleget), úgy azt a bányászok elutasíthatják – de lehet, hogy lesz, aki így is elfogadja és feldolgozza. A bányászok ugyan nem kényszeríthetnek rá közvetlenül senkire semmit, de saját hatáskörükben dönthetnek úgy, hogy ha egy tranzakció felajánlott díját túl kevésnek találják, akkor azzal egyszerűen nem foglalkoznak.

A különböző (és a különböző verziójú) Bitcoin-kliensek különböző szabályok szerint kezelik a tranzakciós díjak kérdését. Az eredeti kliens jelen állás szerint 0,0005 BTC-s minimáldíjjal számol. A régebbi, 0.3.20-as verzió alapszabályai a következők voltak:

* Minden 0,01 BTC-nél alacsonyabb összegű tranzakció díja 0,01 BTC. Ezt azért alakították így, hogy megakadályozzák általa a hálózat ellen intézett DoS támadásokat. Mivel azonban a díjakat nem a hálózat, hanem a kliensprogram kényszeríti ki, ezért annak a módosításával még így is lehet díjmentesen küldeni az alacsony összegű tranzakciókat – ha az ember maga generálja le az azokat tartalmazó blokkot.

* 0,01 BTC a tranzakció minden egyes kilobájtja után, de:
* Ha a legenerálandó blokk mérete a feldolgozásra váró összes tranzakcióval együtt is kevesebb, mint 27 kB, akkor a tranzakció ingyenes.
* Ha a blokk mérete meghaladja a 250 kB-ot, úgy minden tranzakció egyre drágább lesz, ahogy a blokk mérete közeledik az 500 kB-hoz.

* Az egyes díjkategóriákon belül a tranzakciókat egyrészt aszerint rangsorolja a rendszer, hogy mennyi megerősítéssel rendelkeznek a belefoglalt bitcoinok (egy spammer szinte bizonyosan ugyanazokkal a bitcoinokkal élne vissza újra és újra, ezáltal a tranzakciói hátrább kerülnének a rangsorban), másrészt pedig hogy mennyi BTC-t tartalmaznak (a több BTC magasabb, míg a több adat alacsonyabb prioritás).

* Ha a blokk mérete meghaladja a 4 kB-ot, úgy csak a kellően magas prioritású tranzakciók élvezhetnek a fenti szabályok szerinti ingyenességet.

Ha a szabály szerintinél alacsonyabb díjazású tranzakciót szeretnél indítani vagy ha bányászként szeretnéd az ilyeneket is a blokkodba foglalni, úgy érdemes lehet összekapcsolódnod a Free transaction relay networkkel (ehhez a “-addnode=173.242.112.53” parancsori paraméterre lesz szükséged).

Díjjal együtt tehát lényegesen nagyobb az esélye a tranzakció gyorsabb feldolgozásának, így itt értelemszerűen azt kell mérlegelni, hogy mennyire sürgős az adott tranzakció és hogy mennyi pluszt ér meg az embernek a feldolgozás felgyorsítása. Az általános minimumnál magasabb összegű felajánlás például az általánosnál jóval gyorsabb feldolgozást is biztosít.

A szabályok azonban nem kőbe vésettek, és a hálózat sok különböző szabályt tud támogatni. Ha például vannak olyan bányászok, akik soha nem várnak el tranzakciós díjat, te pedig olyan módosított klienst használsz, ami lehetővé teszi a díjtalan tranzakcióindítást, akkor az előbbiek előbb-utóbb fel fogják dolgozni a tranzakcióidat, de ez nagyon sok időbe telhet. A későbbiekben véletőleg körvonalazódnak majd jóval kézzelfoghatóbb és egyértelműbb díj-szabályok is, amelyek segítségével pontosan felbecsülheti majd az ember az ár-sebesség arányt. Áldozhat például 2%-ot arra, hogy már rögtön a következő blokkban benne legyen, vagy megmaradhat a 0,01%-nál, beérve a néhány órán belüli feldolgozással.

Ha tehát azt látod, hogy nagyon sokáig tart egy tranzakciód feldolgozása, úgy az nagy valószínűséggel annak tudható be, hogy nem ajánlottál fel hozzá (elegendő) díjat. Minél frissebb klienst használsz, annál kevésbé kell aggódnod emiatt.

Technikai információ

Az egyes tranzakciók prioritását az értéksúlyozott bemeneti kor és a tranzakció bájtokban mért méretének aránya adja meg:

prioritás = sum(input_value_in_base_units + input_age)/size_in_bytes

A 0.3.21-es kliensverziószám szerinti kényszerkorlát elkerüléséhez 57.600.000 feletti prioritást kell elérniük az egyes tranzakcióknak. Ez a küszöb a COIN * 144 / 250 képlettel került rögzítésre a kódban, ami lényegében megfeleltethető egy egynapos 1 BTC-nek (átlagosan 144 blokk kerül legenerálásra egy nap alatt) és egy 250 bájt méretű tranzakciónak.

Így tehát, példának okáért, egy 2 kimenetes, 5, 10 megerősítéssel, valamint 2, 3 megerősítéssel rendelkező, 500 bájt méretű tranzakció prioritása a következőképpen alakulna:
(500000000 * 10 + 200000000 * 3) / 500 = 11,800,000)

Forrás: Bitcoin Wiki

A lap szövege Creative Commons Nevezd meg! – Ne add el! – Így add tovább! 3.0 licenc alatt áll, felhasználni csak forrásmegjelöléssel, és ide mutató linkkel szabad.

Még nincsen hozzászólás

Jump into a conversation

Még nincsen hozzászólás!

Szólj hozzá elsőként.