مفهوم ممپول (Mempool) چیست؟ حافظهای برای نگهداری تراکنشهای تایید نشده
تاریخ: 3 آبان 1400
زمان مطالعه:
5 دقیقه
گاهی ممکن است مجبور باشید یک مدت زمان طولانی منتظر بمانید تا فرآیند تأیید تراکنشها در بلاکچین انجام شود. این اتفاق نه تنها برای بیتکوین بلکه برای تمام ارزهای دیجیتال دیگر نیز رایج است. حتی ممکن است این امر چند ساعت و یا حتی چند روز نیز زمان ببرد.
اگر از واحد پشتیبانی چرایی این مسأله را جویا شوید، به طور حتم به شما خواهند گفت که اندازه ممپول افزایش یافته است و این مسأله موجب شده تا تراکنشهایتان بیش از حد معمول زمان ببرد. اگر شما هم جزء آن دسته از افرادی هستید که میخواهید با اهمیت ممپول و نحوه عملکرد آن آشنا شوید، در ادامه این مطلب با ما همراه باشید تا به سوالات شما نیز در این زمینه پاسخ داده شود.
مکانی که دادهها به منظور پردازش درون آن ذخیره میشوند ممپول (Mempool) نامیده میشود که کوتاه شده عبارت Memory Pool است. آن دسته از دادهها که مربوط به تراکنشهایی هستند که در انتظار تأیید شدن قرار دارند در ممپول قرار میگیرند، به همین دلیل است که به آن «استخر تراکنش» نیز گفته میشود. این استخر مکانی است که تمامی تراکنشهایی که در شبکه بلاکچین معلق است یا اخیراً مورد استفاده قرار گرفته، در آن قرار میگیرد. این تراکنشها در انتظار تأیید ماینرها خواهند ماند تا بتوانند پس از تأیید در بلوک بعدی بلاکچین قرار بگیرند.
ممپولها در زنجیره بلوک ذخیره نمیشوند بلکه هر یک از گرههای موجود در شبکه، حافظه داخلی مختص به خود را دارند که این حافظهها هر یک ظرفیتهای متفاوتی را در بر میگیرند. به عبارتی این گرهها، ماینرهای موجود در سراسر جهان هستند که نسخهای کامل از بلاکچین را دارا میباشند.
هرگاه که یک گره، بلوک معتبر جدیدی را دریافت میکند، تمامی تراکنشهایی که در بلوک وجود دارند، از حافظه داخلی پاک شده و آن دسته از تراکنشهایی که ورودیهایشان متناقض است نیز حذف میشوند. این امر میتواند به طور ناگهانی باعث تغییر اندازه ممپول و افت شدید آن شود.
به طور کلی برای ایجاد یک گره، سختافزاری به آن تخصیص داده میشود که در اغلب موارد محدود است و باید گفت که در تولید یک گره هیچگونه انگیزه مالی وجود ندارد. یک تراکنش همواره پس از ارسال، مدت زمانی را نیاز دارد که به واسطه شبکه مورد تبلیغ قرار گیرد. این بدان معناست که شما ابتدا یک تراکنش را برای همسالان خود ارسال مینمائید، پس از گذشت مدت زمانی این تراکنش برای سایر همسالان منتقل میشود. با توجه به اینکه این کار طبق روال معمول انجام نمیشود، موجب میگردد تا گرههای مختلف در زمانهای مختلف، معاملاتی را که در حافظه داخلی خود انجام میدهند، متفاوت باشد. این معاملات تا زمانی تأیید نشده باقی میمانند که در یک بلوک قرار نگیرند.
معدنچیان، معاملات را برای تأیید بر اساس نرخ کارمزد انتخاب میکنند. بدین ترتیب که هر چقدر میزان کارمزدها بیشتر باشد، معامله در اولویت قرار گرفته و سریعتر در بلوک لحاظ میشود.
برای نمونه به این فکر کنید که افرادی که در ایستگاه اتوبوس منتظرند، همان معاملات تأیید نشدهاند. هر یک از این افراد در صف منتظر ایستادهاند تا پس از آنکه شرایطشان (ارائه بلیط یا پرداخت هزینه) برای سوار شدن به اتوبوس مورد تأیید قرار گرفت، سوار اتوبوس شوند.
کیف پول خود را باز میکنید، در نظر بگیرید که قرار است مقدار کمی بیتکوین، به آدرس دیگری ارسال کنید. شما آدرس گیرنده را همراه با مبلغی که قرار است ارسال کنید وارد نموده، سپس میزان هزینه انجام تراکنش(Fee) را مشخص کرده و گزینه ارسال را انتخاب مینمائید. در این حالت بیتکوین ارسالی، بلافاصله به آدرس گیرنده نخواهد رسید بلکه ابتدا کیف پول شما، تمامی این تراکنشها را به گرههای دیگر موجود در شبکه منتقل میکند. بدین صورت که در ابتدا تراکنشهای مورد نظر را به واسطه کلیدهای خصوصی امضاء کرده و سپس روی شبکه قرار میدهید. تراکنشها پس از اینکه این مرحله با موفقیت به اتمام رسید، به ممپول اضافه شده و به مکانی تبدیل خواهند شد که برای انجام تراکنشهای تأیید نشده بیتکوین مورد استفاده قرار میگیرند.
نحوه عملکرد ممپول
حال تراکنش شما به همراه هزاران تراکنش تأیید نشده دیگر، به ممپول رسیده و منتظر تأیید هستند. تمامی تراکنشهایی که در ممپول قرار میگیرند، نیاز به تأیید دارند تا بتوانند وارد بستر بلاکچین شوند. شاید برای شما این سوال پیش آید که چه کسی تمامی این تراکنشهای تأیید نشده را پس از بررسی، مورد تأیید قرار میدهد؟ در جواب باید بگوییم، «ماینرها» هستند که این مسئولیت را به عهده دارند.
برای اینکه تراکنش شما بتواند به آدرس گیرنده برسد، حداقل نیازمند یک تأیید از سوی ماینر است. به منظور دریافت این تأیید، ماینر باید تراکنش شما را همراه با تعدادی از تراکنشهای تأیید نشده دیگر، ابتدا از ممپول خارج کرده و سپس در یک بلاک قرار دهد. در این حالت است که ماینر فعالیت خود را برای حل مسأله پیچیده ریاضی آغاز میکند و پس از یافتن راه حل، بلوکی که تراکنش مورد نظر شما در آن ذخیره شده است، بخشی از بلاکچین خواهد شد. از سوی دیگر، در صورتی که تراکنش شما برای مدت زمانی طولانی مورد تأیید واقع نشود، لغو شده و برگردانده میشود. این زمان برای هر تراکش دو هفته است و به آن زمان انقضا میگویند. این بدان معناست که اگر تراکنش شما بیش از دو هفته درون ممپول باقی بماند و تأیید نشود، مجدداً به کیف پول شما برگشت داده میشود.
از پیوند بلاکچین و هوش مصنوعی، به پول میرسیم؟
جوابت تو شماره ۱۴ ماهنامه دامیننسه!
اندازه ممپول
هرگاه که یک گره تأیید شده و بلاک معتبری را دریافت میکند، تمام تراکنشهایی که مورد پردازش قرار گرفته و در حافظه ذخیره شدهاند، حذف میشوند. این امر موجب میشود تا فضای موجود خالی شده و جا برای تراکنشهایی که هنوز تأیید نشدهاند و میبایست به بلاکچین اضافه شوند، اختصاص یابد و اندازه ممپول کاهش پیدا کند.
به عبارتی اندازه ممپول متغیر بوده و به تعداد تراکنشهایی که انجام شده وابستگی دارد. این نکته نیز حائز اهمیت است که هر بلوک تنها قادر است تعداد معینی از تراکنشها را انجام دهد. حال تصور کنید که به یکباره تعداد بسیار زیادی از تراکنشها به حافظه داخلی برسند؛ در این لحظه حافظه داخلی پُر شده و موجب تأخیر در انجام معاملات خواهد شد. در نتیجه به خاطر وجود محدودیت در گرههای موجود، حافظه مورد نیاز در شبکه نیز که به منظور ذخیره تمام تراکنشها تأیید نشده مورد استفاده قرار میگیرند، محدود میشوند. بنابراین برای اینکه بتوانیم از کم شدن حافظه ممپول جلوگیری کنیم، میبایست یک حد مجاز یا آستانهای به طور خودکار تعیین شود. بدین طریق که پس از رسیدن به آن، هر تراکنشی که کمتر از آستانه تعیین شده بود، از ممپول حذف میشود. این اتفاق باعث میشود تا فقط تراکنشهایی که هزینه ممپول را برآورده میکنند، در آن قرار گرفته و توسط ممپول پذیرفته شوند.
گفتار پایانی!
در این نوشتار با ممپول و عملکرد آشنا شده و دانستیم که حافظهای شامل مجموعهای از تراکنشهاست که در انتظار تأیید شدن قرار گرفتهاند تا پس از تأیید در بلاک بعدی گنجانده شوند. هرگاه که یک تراکنش به شبکه انتقال داده میشود، در ابتدا به واسطه تمامی گرههای موجود در شبکه مورد تأیید قرار میگیرد.
هرگاه اندازه ممپول افزایش پیدا کند، موجب ترافیک بیشتر و در نتیجه تأخیر در انجام تراکنشها خواهد شد. زیرا زمان تأیید طولانیتر و هزینههای اولویت نیز بالاتر میروند. گاهی نیز تراکنشها ممکن است به خاطر کاهش میزان هزینه انجام تراکنش (fee کم) در ممپول باقی بمانند.
سوالات متداول
ممپول چیست؟
حافظهای است که برای نگهداری تراکنشهای تأیید نشده مورد استفاده قرار میگیرد. به عبارتی جایی است که همه تراکنشهای معتبر منتظر تأیید شدن توسط شبکه بیتکوین هستند.
به طور معمول چه دادههایی در ممپول مورد ذخیرهسازی قرار میگیرد؟
آن دسته از دادهها که مربوط به تراکنشهایی هستند که در انتظار تأیید شدن قرار دارند در ممپول قرار میگیرند، به همین دلیل است که به آن «استخر تراکنش» نیز گفته میشود.
بیتکوین چه مدت زمانی در ممپول باقی میماند؟
به صورت پیش فرض، گرههای بیتکوین تراکنشها را از ممپول خود حذف میکنند، در صورتی که هیچ معدنچی هزینه تراکنشها را آنقدر جذاب نبیند، میتوانند در یک بلوک 336 ساعته (دو هفتهای) قرار گیرند.
اولویت ممپول چیست؟
حجم معاملات بیتکوین همیشه بسته به ویژگیهای معامله متفاوت است. برای به حداکثر رساندن سود، معدنچیان بهطور معمول اولویت را به معاملات پرداختی با بالاترین سطح کارمزد اختصاص میدهند.
از چه راهی میتوان تعداد تراکنشها و اندازه ممپول را محاسبه کرد؟
تعدادی از کوینها وجود دارند که خودشان مجهز به جستجوگر (Explorer) میباشند. وب سایتهایی نیز همچون https://www.blockchain.com/en/charts/mempool-size هستند که میتوانید از آنها برای مشاهده و اندازهگیری ممپول استفاده کنید و تعداد تراکنشها و هزینههای انجام شده را محاسبه کنید.
کارن آهنگری
بازی با کلمات، یکی از بهترین سرگرمیهاست. در کنارش، کمک به دیده شدن این کلمات با کمک SEO هم مهمترین وظیفهی من تو بیتپینه. سعی میکنم دانستههام رو تو حوزه کریپتو با کاربرها به اشتراک بذارم و با سئو به دیده شدن این دانستهها، کمک کنم.