وانفینکس

ممپول (Mempool)

16 آبان 1405

318

زمان تقریبی مطالعه: 3 دقیقه

ممپول، کوتاه‌شده عبارت «استخر حافظه»، محل نگهداری تراکنش‌هایی است که به یک گره شبکه رسیده‌اند اما هنوز در بلاک ثبت نشده‌اند. وقتی انتقالی را در کیف پول می‌بینید و وضعیت آن «در انتظار» است، ممکن است آن تراکنش در ممپول بعضی گره‌ها قرار داشته باشد. این مرحله میان پخش تراکنش و ثبت احتمالی آن در بلاک رخ می‌دهد. حضور در ممپول به‌تنهایی نشان نمی‌دهد که انتقال انجام شده یا گیرنده می‌تواند آن را قطعی بداند.

advertise blog post start

ممپول دقیقاً چیست؟

هر گره، تراکنش‌هایی را که دریافت کرده و طبق قواعد شبکه و سیاست پذیرش خود مناسب می‌داند، در مجموعه‌ای محلی نگه می‌دارد. به این مجموعه ممپول می‌گویند. بنابراین یک ممپول واحد و مشترک برای تمام شبکه وجود ندارد. دو گره ممکن است در یک لحظه فهرست‌های متفاوتی داشته باشند؛ چون تراکنش‌ها را در زمان‌های متفاوت می‌گیرند یا درباره نگهداری آن‌ها سیاست یکسانی ندارند.

ممپول را می‌توان صف انتظار پیش از ثبت در بلاک چین دانست، با این تفاوت که جای تراکنش‌ها در آن لزوماً ترتیب ثبتشان را تعیین نمی‌کند. داده‌ای که هنوز در ممپول است، بخشی از سابقه تأییدشده زنجیره محسوب نمی‌شود. همچنین تراکنشی که در ممپول یک گره دیده می‌شود، شاید هنوز به گره دیگری نرسیده باشد. همین تفاوت دید گره‌ها هنگام بررسی وضعیت یک انتقال اهمیت دارد.

تراکنش چگونه وارد ممپول و از آن خارج می‌شود؟

فرستنده تراکنش را امضا و به شبکه ارسال می‌کند. گره دریافت‌کننده آن را بررسی می‌کند و اگر شرایط لازم را داشته باشد، ممکن است آن را در ممپول خود بگذارد و به گره‌های دیگر خبر دهد. گره‌های دیگر نیز تراکنش را بر اساس اطلاعات و سیاست‌های خود بررسی می‌کنند. در شبکه‌هایی که بلاک تولید می‌کنند، سازنده بلاک از میان تراکنش‌های در دسترس خود انتخاب می‌کند. پس از ثبت تراکنش در بلاکی که گره پذیرفته است، آن گره تراکنش را از ممپولش حذف می‌کند.

کارمزد می‌تواند بر شانس انتخاب یک تراکنش اثر بگذارد، اما تنها عامل نیست. قواعد شبکه، محدودیت ظرفیت بلاک، وابستگی تراکنش به تراکنش‌های دیگر و سیاست گره‌ها نیز نقش دارند. به همین دلیل، مدت انتظار را نمی‌توان فقط از روی کارمزد یا تعداد تراکنش‌های ممپول با قطعیت پیش‌بینی کرد. ممکن است گرهی تراکنش را نگه دارد و گره دیگری آن را نپذیرد یا بعداً از حافظه خود کنار بگذارد.

یک مثال ساده

فرض کنید سارا انتقالی را برای نیما ارسال می‌کند. کیف پول سارا تراکنش را به یک گره می‌رساند و آن گره، پس از بررسی، آن را در ممپول خود قرار می‌دهد. نیما شاید بتواند شناسه یا هش تراکنش را ببیند و وضعیت آن را «در انتظار» تشخیص دهد. این مشاهده فقط نشان می‌دهد که تراکنش به بخشی از شبکه رسیده است؛ هنوز ثبت آن در بلاک مشخص نیست.

اگر سازنده بلاک بعدی این تراکنش را انتخاب کند و بلاک از سوی شبکه پذیرفته شود، وضعیت تراکنش از انتظار به تأیید تغییر می‌کند. اگر انتخاب نشود، ممکن است در ممپول برخی گره‌ها باقی بماند. همچنین ممکن است به‌دلیل سیاست‌های محلی، تغییر وضعیت شبکه یا جایگزین شدن با تراکنشی دیگر، از ممپول یک گره حذف شود. پس نیما برای تحویل قطعی دارایی باید وضعیت ثبت و تأیید تراکنش را بررسی کند.

ممپول چه کاربردی دارد؟

برای کاربر، بررسی ممپول به فهمیدن فاصله میان «ارسال شده» و «تأیید شده» کمک می‌کند. اگر کیف پول تراکنشی را در انتظار نشان می‌دهد، مشاهده آن در ممپول یک گره می‌تواند سرنخی از پخش شدن تراکنش باشد. ابزارهای نمایش وضعیت شبکه نیز از داده‌های ممپول برای نشان دادن تراکم تراکنش‌های در انتظار استفاده می‌کنند. این داده‌ها تصویری از همان گره یا مجموعه گره‌هایی هستند که ابزار به آن‌ها دسترسی دارد.

برای گردانندگان گره و سازندگان بلاک، ممپول فهرستی از تراکنش‌های قابل بررسی برای بلاک‌های بعدی فراهم می‌کند. توسعه‌دهندگان کیف پول هم می‌توانند از وضعیت تراکنش‌های در انتظار برای نمایش پیام مناسب به کاربر استفاده کنند. در هر کاربرد، باید روشن باشد که ممپول وضعیت موقت تراکنش‌ها را نشان می‌دهد و جای مشاهده بلاک‌های پذیرفته‌شده را نمی‌گیرد.

محدودیت‌ها و نکات مهم

ممپول ضمانت ثبت تراکنش نیست. یک تراکنش ممکن است مدت زیادی در انتظار بماند، از حافظه یک گره حذف شود یا در شرایط مجاز با تراکنش دیگری جایگزین شود. حتی اگر چند ابزار آن را نشان دهند، این نمایش به معنی تأیید شبکه نیست. از سوی دیگر، پیدا نکردن تراکنش در ممپول یک گره نیز ثابت نمی‌کند که هیچ گره دیگری آن را ندیده است.

محتوای ممپول‌ها یکسان نیست و ممکن است با تغییر شرایط شبکه به‌سرعت عوض شود. در بعضی شبکه‌ها یا روش‌های ارسال، همه تراکنش‌های در انتظار نیز لزوماً برای عموم قابل مشاهده نیستند. برای قضاوت درباره نتیجه یک انتقال، وضعیت ثبت تراکنش در بلاک و تعداد تأییدهای موردنیاز خدمت دریافت‌کننده را بررسی کنید. ممپول برای شناختن مرحله انتظار مفید است، اما به‌تنهایی مبنای مطمئنی برای قطعی دانستن پرداخت نیست.

آیا مطالعه این مقاله برای شما مفید بود؟!

advertise blog post end