Майнинг с доказателство за работа
Мемпулът, който пази всеки нод
Мемпул биткойн: как нодът пази чакащите трансакции, с 300 MB по подразбиране, 14-дневен срок и минимална такса за препращане.
От Dimitar Zurnov · Обновено на 4 ноември 2026
Адаптирано от Learn Me a Bitcoin на Greg Walker.
Мемпулът на биткойн (memory pool) е чакалнята на всеки нод за валидни трансакции, които още никой блок не е потвърдил. Всеки нод държи своя в RAM и задава собствени лимити. Тези лимити решават кои трансакции нодът приема, кои изхвърля, когато мястото свърши, и колко дълго ги пази. Тази страница описва тези правила. За кратко определение вижте страницата за мемпул.
Трансакция в мемпула още не е плащане. Тя само чака. Ако излезе от мемпула, без да е включена в блок, мрежата се държи така, сякаш никога не е била изпратена. Затова изчакайте блок, преди да считате плащането за уредено.
Колко голям може да стане мемпулът на нода?
По подразбиране Bitcoin Core ограничава мемпула до 300 MB. Настройката се казва maxmempool и се дава в мегабайти. Нод с повече RAM може да вдигне лимита, за да пази повече трансакции.
Лимитът брои и метаданните на всяка трансакция, а не само суровите ѝ байтове, така че мемпулът побира по-малко сурови данни, отколкото числото подсказва. Въпреки това 300 MB побират повече от цял блок трансакции.
Защо мемпулът се пази в RAM?
Нодът проверява новите трансакции спрямо мемпула много пъти в секунда. Проверява и всеки нов блок спрямо мемпула, а повечето трансакции от блока често вече са там. Майнърите подреждат мемпула, когато строят блока кандидат. Пазенето в паметта прави и трите задачи бързи.
Диск би бил много по-бавен. RAM пък е далеч по-малка от диска на обикновен компютър, затова стойността по подразбиране е скромна.
Как трансакция влиза в мемпула?
Трансакция стига до мемпула на нода по един от три начина.
1. Вие я изпращате
Портфейлът ви праща трансакцията към собствения ви нод. Нодът я проверява, добавя я в мемпула и я препраща към нодовете, с които е свързан.
2. Друг нод я препраща
Нодовете съобщават на съседите си за трансакциите, които държат. Ако съсед обяви трансакция, която вашият нод няма, той я изисква, проверява я и я пази, ако е валидна. Само валидни трансакции влизат в мемпула или се препращат.
3. Пренареждане на веригата я връща
Ако нод превключи към друга верига, трансакции от отпадналите блокове могат да се върнат в мемпула. Връщат се само ако новата верига още не ги включва. След това нодът ги препраща отново.
Каква такса изисква нодът?
Всеки нод задава и най-ниската такса, която приема в мемпула. Настройката minrelaytxfee е твърдият праг. От Bitcoin Core 29.1 насам стойността по подразбиране е 0.1 sat/vB, или 100 sat/kvB. По-старите версии са ползвали 1 sat/vB. Ако някой по-стар текст посочва тази цифра, той описва по-старите версии.
Действащият минимум никога не е по-нисък от minrelaytxfee, но може да е по-висок. Когато мемпулът се напълни, нодът изхвърля трансакциите с най-ниска такса, а минимумът се вдига до таксата на последната изхвърлена. Когато мемпулът се изпразни, минимумът пада отново. Той се разполовява на около 12 часа и пада по-бързо, когато мемпулът е под половината или една четвърт пълен. Нод с малко място затова отказва евтини трансакции за известно време.
Кога трансакцията излиза от мемпула?
Трансакция напуска мемпула на нода по една от пет причини.
1. Тя се включва в блок
Това е нормалният край. Когато пристигне блок, трансакциите му преминават от мемпула във веригата, а нодът ги премахва от мемпула.
2. Тя е в конфликт с включена трансакция
Ако блок съдържа трансакция, която харчи същите монети, записът в мемпула е двойно харчене и се премахва. Всяка трансакция, която зависи от нея, също излиза, защото родителят ѝ е изчезнал.
3. Тя е заменена
Нова версия, която харчи същите монети и плаща по-висока обща такса, може да замени оригинала. От Bitcoin Core 28.0, излязла през октомври 2024 г., нодът приема такава замяна, дори когато оригиналът не е сигнализирал replace-by-fee. Версия 29.0 на Bitcoin Core е премахнала възможността това да се изключи. Замяната трябва да плати и за собствения си допълнителен размер, по инкрементната такса за препращане (incremental relay fee) на нода.
4. Тя изтича
Всеки нод държи трансакцията само определено време. Стойността по подразбиране mempoolexpiry е 336 часа, което са 14 дни. По-старите версии са ползвали 3 дни. Версия 0.14.0 на Bitcoin Core е вдигнала стойността по подразбиране на две седмици през 2017 г. След изтичане трансакцията напуска мемпула, а вие винаги можете да я изпратите отново.
5. Изхвърля се заради място
Когато мемпулът е пълен, първи излизат трансакциите с най-ниска такса. Нодът не съди трансакцията само по нейната такса. Гледа descendant feerate, тоест средната такса на байт на трансакцията и на всички трансакции, които зависят от нея.
Как нодът избира какво да изхвърли?
Да вземем родител с ниска такса и дете с висока такса, което харчи един от изходите му. Детето не може да се включи в блок без родителя, а средната такса на двойката може да е достатъчно висока, за да запази и двете. Нодът ги пази, и така трябва.
Ако трансакцията има ниска такса и няма по-скъпи потомци, descendant feerate ѝ е ниска. Тогава нодът може да я изхвърли заедно с всичко, което зависи от нея. Нито едно от тях не може да се включи в блок без нея, така че нодът не губи нищо, което скоро би се потвърдило.
Какво са предшественици и потомци?
Предшественик (ancestor) е непотвърдена трансакция, от която друга трансакция харчи. Потомък (descendant) е трансакция, която харчи от една, намираща се в мемпула. Трансакцията не може да бъде включена в блок, преди всичките ѝ непотвърдени предшественици да са включени, затова мемпулът следи тези семейства.
Bitcoin Core ограничава колко голямо може да стане едно семейство, за да не може една трансакция да натрупа огромно дърво в мемпула. До версия 31.0 лимитите са важали за всяка трансакция поотделно: най-много 25 предшественици и 25 потомъка, като всяко семейство е било ограничено до 101 kvB.
Версия 31.0 на Bitcoin Core е заменила тези лимити с клъстерни. Клъстер (cluster) е група свързани непотвърдени трансакции, а по подразбиране в него могат да влизат 64 трансакции и 101 kvB. Тези лимити са политика (policy), а не консенсусно правило, затова могат да се променят между версиите. Проверете документацията за версията, която ползвате.
Предшествениците важат и за майнинга. Майнърът оценява трансакция по ancestor feerate, тоест по средната такса на трансакцията и на предшествениците ѝ заедно. Скъпо дете може да вдигне евтин родител в следващия блок. Така работи child pays for parent, защото родителят така или иначе не може да се включи сам.
Всички нодове ли споделят един и същи мемпул?
Не. Няма един-единствен мемпул, в който влиза всяка трансакция. Всеки нод държи свой и те се различават малко: заради различни настройки, заради времето, в което пристигат препратените трансакции, и заради конфликтни трансакции, които са в обращение. Мемпулите се припокриват толкова много, че хората говорят за „мемпула“ като за едно нещо. Това е разумно съкращение за общото състояние на мрежата.
С кои команди се вижда мемпулът?
Bitcoin Core има три команди, с които да надникнете в мемпула си.
bitcoin-cli getmempoolinfoдава обобщението: броя трансакции, общия им размер, лимита за размер и текущата минимална такса.bitcoin-cli getrawmempoolизброява идентификаторите (txid) на трансакциите в мемпула.bitcoin-cli getmempoolentry <txid>показва размера, таксите, броя предшественици и потомъци на една трансакция и дали може да бъде заменена.
Всеки запис носи тези метаданни. Мемпулът няма фиксирана структура отвъд тях: това е набор от непотвърдени трансакции, всяка със свой размер, такса, време на влизане и връзки към родителите и децата си.
Нашият експлорър чете същия вид данни от нашия нод. Потърсете идентификатора на трансакция, за да видите дали е потвърдена или още чака. Ако вашата не се е появила, вижте дали не е била изхвърлена, преди да платите отново.
Какво да запомните?
Мемпулът е набор от локални правила, а не обещание. Два нода могат за известно време да имат различно мнение за една трансакция. Ако чакате плащане, единственият окончателен резултат е потвърждение в блок. Дотогава трансакцията още чака реда си. Вижте потвърждението за това колко блока да изчакате.
В този раздел: Майнинг с доказателство за работа
Целият курс „Биткойн от нулата“
Нещо не изглежда наред? Кажете ни