Šta je mempool?

Šta je mempool, zašto ga svaki čvor ima za sebe, šta čvor proverava pre nego što primi transakciju, kako rudar slaže sledeći blok i kako novčanik procenjuje naknadu.

Sadržaj

Najvažnije u nekoliko reči:

  • Mempool je čekaonica nepotvrđenih transakcija. Transakcija u njoj stoji od slanja do ulaska u blok.
  • Jednog zajedničkog mempoola nema. Svaki čvor ima svoj i sam odlučuje koju transakciju prima.
  • Čekaonica ima granicu. Kad se napuni, čvor izbacuje transakcije koje plaćaju najmanje po virtuelnom bajtu.
  • Rudar sledeći blok slaže od transakcija koje plaćaju najviše po virtuelnom bajtu, pa naniže.
  • Zaglavljenu transakciju može da pogura i primalac, novom transakcijom sa većom naknadom.
  • Svaka predložena naknada je procena, a ne garancija.

Peron u gužvi, gledano s leđa: zeleni voz od dva vagona je već pun, ulaze samo oni kod vrata, a većina ljudi ostaje da čeka sledeći

Mempool (engl. memory pool, skup transakcija u memoriji) je čekaonica nepotvrđenih transakcija. U njoj stoji svaka transakcija koju je čvor primio i proverio, a koja još nije upisana u blok.

Zamisli peron na kome voz staje u proseku svakih deset minuta. Voz ima tačno određen broj mesta, a kondukter ne prima putnike redom kojim su stigli, nego prvo one koji su platili više po mestu. Ko je platio malo, čeka sledeći voz, pa sledeći. Mempool je peron, blok je voz, a naknada je cena karte.

U tekstu Šta je dvostruka potrošnja? videli smo da nepotvrđena transakcija može da bude zamenjena drugom. Ovde je reč o samoj čekaonici, o tome ko je vodi, ko u nju ulazi i kako se iz nje izlazi.

Od novčanika do bloka, put jedne transakcije

Kad šalješ bitcoine, novčanik napravi transakciju, potpiše je i preda čvoru. To je tvoj čvor ili tuđ server, kako piše u tekstu o novčanicima. Čvor proveri transakciju, stavi je u svoj mempool i pošalje je čvorovima sa kojima je povezan. Oni urade isto, pa se transakcija tako širi mrežom.

Rudar, učesnik mreže koji pravi nove blokove, uzme je iz svog mempoola u blok koji pokušava da nađe. Kad neki rudar nađe blok sa tvojom transakcijom, svaki čvor koji primi taj blok briše je iz svog mempoola. Transakcija tada ima prvu potvrdu.

Od novčanika do bloka

Put jedne transakcije, i tri načina na koja izlazi iz mempoola bez bloka.

  1. 1NovčanikNapravi i potpiše transakciju, pa je preda čvoru.
  2. 2Prvi čvorProveri je. Ako je ispravna i plaća bar najmanju naknadu, stavi je u svoj mempool i pošalje susedima.
  3. 3Ostali čvoroviSvaki je proveri isto tako, stavi u svoj mempool i pošalje dalje.
  4. 4RudarUzme je u blok koji pokušava da nađe, ako plaća dovoljno po virtuelnom bajtu.
  5. 5Svi čvoroviKad stigne blok sa njom, izbrišu je iz mempoola. Transakcija ima prvu potvrdu.

Izlaz bez bloka

  • Ne prođe proveruČvor je odbije i ne šalje je dalje.
  • Čekaonica je punaČvor izbaci transakcije koje plaćaju najmanje po virtuelnom bajtu.
  • Čeka 14 danaČvor je izbriše sam. Novac nije otišao, UTXO je i dalje tvoj.

Izvori: Bitcoin Core 31.1, validation.cpp (otvara se u novom prozoru), 2026, provere pre ulaska u mempool; Bitcoin Core 31.1, txmempool.cpp (otvara se u novom prozoru), 2026, brisanje posle 14 dana i izbacivanje kad je mempool pun.

Mempoola ima onoliko koliko ima čvorova

Ne postoji jedan mempool za celu mrežu. Svaki čvor drži svoj, u memoriji računara na kome radi, i niko drugi ga ne vidi niti menja.

Zato se mempoolovi dva čvora retko poklapaju do poslednje transakcije. Jedan čvor je transakciju primio pre drugog, a neki je možda nije ni primio. Drugi ima manju čekaonicu, pa je već izbacio najjeftinije transakcije. Svaki čvor sam podešava koliko je velika njegova čekaonica i koju najmanju naknadu prima. Ta pravila važe samo za čvor koji ih je podesio, a ne i za transakcije u blokovima (Bitcoin Core, „Transaction Relay Policy“).

Ni blok eksplorer ne pokazuje „mempool mreže“, nego mempool svojih čvorova. Mempool.space piše da podatke uzima sa više čvorova, nekih sa podrazumevanom čekaonicom od 300 MB, a nekih sa mnogo većom (mempool.space, FAQ). Kad tamo vidiš svoju transakciju, znaš da su je primili čvorovi tog sajta. To još ne znači da ju je primio svaki rudar.

Šta čvor proveri pre nego što primi transakciju

Čvor ne veruje ni novčaniku ni drugom čvoru. Pre nego što transakciju stavi u mempool, Bitcoin Core proverava sledeće (izvorni kod, verzija 31.1):

  • Da je ispravno sastavljena. Ima bar jedan ulaz i bar jedan izlaz, a nijedan iznos nije negativan.
  • Da je uobičajenog oblika. Čvorovi podrazumevano prosleđuju samo transakcije poznatog oblika i veličine do 400.000 jedinica težine, što je desetina bloka (izvorni kod).
  • Da je već nema. Ista transakcija ne ulazi dvaput.
  • Da svaki ulaz troši UTXO koji postoji. Ako izlaza na koji ulaz pokazuje nema ni u lancu blokova ni u mempoolu, transakcija ne ulazi. Ako isti UTXO već troši transakcija koja čeka, važe pravila zamene uz veću naknadu.
  • Da naknada nije premala. O tome piše sledeći deo.
  • Da su potpisi ispravni. Ova provera ide poslednja.

Za poslednju proveru u kodu piše i razlog (izvorni kod): „Ovo se radi na kraju, da bi se sprečili napadi koji iscrpljuju procesor.“ Provera potpisa je najsporija, pa je čvor radi tek kad je transakcija prošla sve ostalo. Transakcija koja padne na bilo kojoj proveri ne ulazi u mempool i čvor je ne šalje dalje. Tako se loša transakcija zaustavi već na prvom čvoru.

Čekaonica ima granicu, a najjeftiniji izlaze prvi

Bitcoin Core za mempool podrazumevano koristi najviše 300 MB memorije (izvorni kod). Dok ima mesta, čvor prima svaku ispravnu transakciju koja plati bar najmanju naknadu. Od jeseni 2025. ta najmanja naknada je 0,1 sat/vB, a ranije je bila 1 sat/vB (napomene uz izdanje 30.0).

Kad transakcije stižu brže nego što ih blokovi odnose, čekaonica se napuni. Tada čvor izbacuje transakcije koje plaćaju najmanje po virtuelnom bajtu, dok ne oslobodi mesto (izvorni kod). Posle toga neko vreme ne prima transakcije koje ne nude više od izbačenih. Kako se čekaonica prazni, ta granica polako pada (izvorni kod).

Transakcija ne čeka ni zauvek. Posle 14 dana čvor je briše sam (izvorni kod).

Izbačena transakcija nije poništena. Nije ni u jednom bloku, pa je UTXO koji troši i dalje tvoj. Možeš ponovo da je pošalješ ili da napraviš novu, sa većom naknadom. Dok je stara još u mempoolu nekog čvora, i ona može da uđe u blok. Zato nova transakcija treba da troši isti UTXO, pa u lanac ulazi samo jedna od njih, kako objašnjava tekst o dvostrukoj potrošnji.

Rudar slaže sledeći blok od najskupljeg mesta naniže

Rudar blok pravi iz svog mempoola. Bitcoin Core uzima transakcije koje plaćaju najviše satošija po virtuelnom bajtu, pa sledeće, dok blok ne bude pun (izvorni kod). Šta su virtuelni bajt i granica od 4.000.000 jedinica težine, objašnjava tekst o UTXO-u.

Naknade iz bloka dobija rudar, uz nove bitcoine koje blok sme da napravi. Zbir te dve stvari je nagrada za blok, o kojoj piše tekst Nagrada za blok.

Mempool složen po naknadi i isečen na blokove

Što je deo trake izraženiji, to transakcije u njemu plaćaju više po virtuelnom bajtu. Blok prima oko 1.000.000 vB.

  • Sledeći blok10 do 60 sat/vB, srednja 15
  • Drugi blok4 do 10 sat/vB, srednja 6
  • Treći blok2 do 4 sat/vB, srednja 4
  • Čeka dalje1.650.000 vB

Izvori: Bitcoin Core, node/miner.cpp (otvara se u novom prozoru), 2026, blok se slaže od najveće naknade po virtuelnom bajtu naniže; BIP 141 (otvara se u novom prozoru), 2015, 4.000.000 jedinica težine po bloku. Primer, brojevi su izmišljeni. Nove transakcije stižu stalno, pa se red menja posle svakog bloka.

Iz ovoga se vidi zašto naknada raste sa gužvom. Mesto u bloku se ne deli po redu dolaska, nego ga dobija onaj ko ponudi više. Kad čeka mnogo transakcija, najniža naknada koja još staje u sledeći blok ide gore.

Dete plaća za roditelja

Šta ako je transakcija poslata sa premalom naknadom, a pošiljalac ne može ili neće da je zameni? Može da je pogura primalac.

Dete plaća za roditelja (engl. child pays for parent, CPFP) je nova transakcija koja troši izlaz transakcije koja još čeka i plaća veliku naknadu. Rudar dete ne može da upiše bez roditelja, jer dete troši novac koji roditelj tek pravi. Zato ih gleda zajedno, po zbiru naknada podeljenom zbirom veličina. Bitcoin Core tako bira transakcije od verzije 0.13.0, izdate 23. avgusta 2016. godine (napomene uz izdanje). Od verzije 31.0 ceo mempool je složen u takve grupe povezanih transakcija (napomene uz izdanje).

Dete plaća za roditelja

Rudar dete ne može da upiše bez roditelja, pa naknadu računa za obe transakcije zajedno.

Roditelj, čeka

1 sat/vB

0,00000141 BTC · 141 sat za 141 vB

Dete, troši izlaz roditelja

21,5 sat/vB

0,00002369 BTC · 2.369 sat za 110 vB

Zajedno, kako ih rudar gleda

10 sat/vB

0,0000251 BTC · 2.510 sat za 251 vB

Izvori: Bitcoin Core 0.13.0, napomene uz izdanje (otvara se u novom prozoru), 23.8.2016, rudar bira transakcije po naknadi zajedno sa nepotvrđenim roditeljima („Child Pays For Parent“); Bitcoin Core 31.0, napomene uz izdanje (otvara se u novom prozoru), 19.4.2026, roditelj i dete se u mempoolu gledaju zajedno. Primer, naknade su izmišljene. Veličine su za adrese koje počinju sa bc1q, kao u tekstu o UTXO-u.

Razlika od zamene je u tome ko može da je uradi. Zamenu pravi pošiljalac, jer samo on može ponovo da potpiše isti ulaz. Dete može da napravi svako ko ima jedan od izlaza, i primalac, i pošiljalac preko svog kusura. Dete zauzima i svoje mesto u bloku, pa se plaća i ono.

Dva načina da se pogura transakcija koja čeka

PitanjeZamena (RBF)Dete (CPFP)
Ko može da je napravisamo pošiljalac, jer samo on može ponovo da potpiše isti ulazsvako ko ima jedan od izlaza: primalac, ili pošiljalac preko svog kusura
Šta trošiisti UTXO kao transakcija koju menjaizlaz transakcije koja čeka
Šta biva sa transakcijom koja je zapelane ulazi u blok, jer isti UTXO troši zamenaulazi u blok zajedno sa detetom
Zauzima li svoje mesto u blokune, zamena stoji umesto stareda, dete se plaća i za svoje mesto
U Bitcoin Core-uza svaku nepotvrđenu transakciju od verzije 28.0 (2.10.2024)od verzije 0.13.0 (23.8.2016)

Verzije i datumi su iz napomena uz izdanja Bitcoin Core-a, linkovanih u tekstu.

Kako novčanik procenjuje naknadu

Niko ne zna koliko će transakcija stići pre sledećeg bloka, ni kada će blok biti nađen. Zato je svaka predložena naknada procena. Novčanici je računaju na dva načina.

Po onome što je bilo. Bitcoin Core deli transakcije koje je video u grupe po naknadi i prati koliko je blokova svaka grupa čekala. Kad pitaš koliko da platiš za potvrdu u, recimo, pet blokova, traži najnižu grupu u kojoj je dovoljno transakcija stiglo u blok u tom roku (izvorni kod).

Po onome što čeka sada. Eksplorer gleda svoj mempool i seče ga na blokove, kao na slici iznad. Mempool.space za visok prioritet predlaže srednju naknadu prvog bloka u redu, a za srednji i nizak prioritet proseke sa drugim i trećim blokom. Isti sajt piše da njegovi predlozi ne garantuju potvrdu (mempool.space, FAQ).

Prvi način se oslanja na prošle blokove, pa kasni kad gužva naglo počne. Drugi ne zna šta će stići posle tebe. Po nama, za uplatu koja ne mora da stigne odmah dovoljna je niža naknada, jer zaglavljenu transakciju možeš kasnije da poguraš zamenom ili detetom.

Šta vidiš na stranici mempool eksplorera

Mempool eksplorer je sajt koji pokazuje šta čeka u mempoolu njegovih čvorova. Na početnoj stranici mempool.space vidiš ovo:

  • Blokove koji dolaze. Levo od isprekidane linije stoje blokovi kakvi bi bili da su nađeni sada, a desno pravi blokovi koji su već nađeni (mempool.space, FAQ). Blok najbliži liniji je sledeći.
  • Raspon naknade u svakom bloku. Uz blok piše srednja naknada i raspon, od najniže do najviše. Najniža pokazuje otprilike koliko treba platiti da bi transakcija stala baš u taj blok.
  • Predložene naknade. Četiri broja, od „bez prioriteta“ do „visokog prioriteta“, izračunata kako je opisano gore.
  • Granicu kad je čekaonica puna. Kad se čvorovi od 300 MB napune, sajt pokazuje naknadu ispod koje oni izbacuju transakcije.

Uveče 21.10.2026. u mempoolu tog sajta čekalo je oko 61.700 transakcija, ukupno 27,7 miliona virtuelnih bajtova. To je dovoljno za oko 28 blokova. Prvi blok u redu imao je srednju naknadu 3,8 sat/vB, a za visok prioritet sajt je predlagao 4 sat/vB (mempool.space).

Noć kada su naknade bile 12 puta veće od novih bitcoina

Blok 840.000 nađen je 20. aprila 2024. godine, u 2.09 po našem vremenu. U tom bloku je broj novih bitcoina za rudara prepolovljen, sa 6,25 na 3,125 (halving). Za mesto u njemu rudar je dobio 37,63 bitcoina naknade, 12 puta više nego što je dobio novih bitcoina (mempool.space). Srednja naknada bila je 200 sat/vB, a najniža 100 sat/vB.

Blok pre njega, 839.999, nađen četiri minuta ranije, doneo je 1,04 bitcoina naknade, sa srednjom naknadom od 90 sat/vB (mempool.space). Polovina transakcija u bloku 840.000 platila je više od 0,000348 bitcoina (34.800 satošija), a polovina manje. Po ceni bitcoina i kursu dinara od 21.10.2026. to je oko 3.077 dinara (mempool.space, kurs NBS).

Šta su rudari dobili od naknada u tri bloka

Ukupna naknada u bloku, u bitcoinima, i srednja naknada po virtuelnom bajtu.

  • Blok 839.999, 20.4.2024. u 2.051,04 BTCsrednja naknada 90 sat/vB
  • Blok 840.000, 20.4.2024. u 2.0937,63 BTCsrednja naknada 200 sat/vB
  • Blok 972.506, 21.10.2026. u 18.400,0017 BTCsrednja naknada 0,14 sat/vB

Izvori: mempool.space, blok 839.999 (otvara se u novom prozoru), otvoreno 21.10.2026, naknade, srednja i najniža naknada po virtuelnom bajtu, broj transakcija; mempool.space, blok 840.000 (otvara se u novom prozoru), otvoreno 21.10.2026, naknade, srednja i najniža naknada po virtuelnom bajtu, broj transakcija; mempool.space, blok 972.506 (otvara se u novom prozoru), otvoreno 21.10.2026, naknade, srednja i najniža naknada po virtuelnom bajtu, broj transakcija.

Dve i po godine kasnije isto mesto košta skoro ništa. Blok 972.506 od 21.10.2026. imao je 6.598 transakcija i ukupno 0,0016864 bitcoina (168.640 satošija) naknade, oko 22.300 puta manje od bloka 840.000. Srednja naknada u njemu bila je 0,14 sat/vB (mempool.space). Tako niske naknade stižu do rudara jer čvorovi od jeseni 2025. podrazumevano primaju transakcije od 0,1 sat/vB (napomene uz izdanje 30.0).

Čekaonica u kojoj se mesto plaća

Ključne lekcije:

  • Mempool je čekaonica nepotvrđenih transakcija. Svaki čvor ima svoju.
  • Čvor u mempool prima samo transakciju koju je sam proverio i koja plaća bar najmanju naknadu.
  • Kad je čekaonica puna, prvo ispadaju najjeftinije transakcije. Ispala transakcija nije poništena.
  • Rudar bira transakcije koje plaćaju najviše po virtuelnom bajtu. Zaglavljenu transakciju gura zamena ili dete.
  • Predložena naknada je procena iz prošlih blokova ili iz onoga što čeka sada.

Šta dalje?

Mempool odlučuje šta čeka, a rudar šta ulazi u blok. Kako rudar nalazi blok i zašto to košta, čitaš u tekstu Šta je rudarenje Bitcoina?

Mesto u bloku dobija onaj ko ga plati. Ko zna kako radi čekaonica, ne plaća više nego što mora.