ممپول (Mempool) چیست؟ بهترین کاربرد ممپولها در بلاکچین
عبارت ممپول به فضای مهمی در بلاکچین اشاره دارد که تعدادی از تراکنشهای معلق (پردازش نشده) را که منتظر اعتبارسنجی از طرف یک گره هستند، در خود ذخیره میکند. این اصطلاح که از ترکیب دو کلمه «Memory» و «Pool» ساخته شده؛ مجموعهای که شامل فضای ذخیره و استخر است که در الگوریتم فناوری زیر ساخت بلاک چین یک عنصر کلیدی به شمار میآید. در سادهترین حالت میتوان گفت ممپول در فرایند خرید بیت کوین و جابهجایی آن از طریق شبکه انتقال این ارز کاربرد مهمی دارد. این مقاله از صرافی ارز دیجیتال او ام پی فینکس به بررسی موضوعات پیرامون این مفهوم پرداخته و نحوه عملکرد و کارایی ممپول ها را با جزئیات بیشتر توضیح میدهد.
پادکست ممپول چیست؟
در واقع، کارایی این ابزار شبیه به استفاده از محیطهای «استیجینگ» (Staging) در توسعه نرمافزارهای سنتی برای انجام تست و کنترل کیفیت قبل از عرضه است. درحالیکه محیطهای سنتی استیجینگ متمرکز هستند، در دنیای غیرمتمرکز بلاکچین هر گره دارای یک فضای ذخیره مخصوص به خود به نام Mempool برای مدیریت است. در ادامه به روند جریان تراکنشها در یک بلاکچین میپردازیم تا هدف ممپولها را به طور کامل درک کنیم.
ممپول چیست؟
هر ممپول بهعنوان یک ابزار شامل حافظه و استخرها، عنصری کلیدی در تئوری الگوریتمهای مبتنی بر بلاک چین محسوب میشود. با استفاده از این ابزارها، ماینرها میتوانند تراکنشهای انجام شده در یک اتاق انتظار را بررسی کنند و تراکنشهایی که بالاترین کارمزد را دارند، در اولویت تایید قرار دهند.
هر گره در یک بلاکچین بهجای یک اتاق انتظار کلی، فضای ذخیره مخصوص به خود را مدیریت میکند که به طور موثر فضای ذخیره موقت دیگر گرهها را منعکس میکند؛ زیرا تراکنشها در سطح همه گرههای فعال پخش میشوند. البته لازم به ذکر است که اساسا اصطلاح ممپول در وایت پیپر بیت کوین گنجانده نشده است؛ در واقع این عبارت اولین بار در پیشنهاد بهبود بیتکوین (BIP 35) که توسط جف گازریک (Jeff Garzik) در سال ۲۰۱۲ ارائه گردید، معرفی شد.
مطالعه بیشتر: ادرس کانترکت ارزها در بلاکچین چیست و چه کاربردی دارد؟ + آموزش گام به گام
در یک سیستم مبتنی بر بلاک چین که تا حدی مشابه به یک حساب بانکی معمولی است، به فضایی نیاز است که تراکنشهای معلق قبل از تایید ذخیره شوند؛ در واقع، قبل از اینکه یک تراکنش توسط همه گرههای شرکتکننده در یک شبکه بلاکچینی تایید شود، با صبر و حوصله در این فضای نگهداری موقت ثبت شده تا یک گره (اعتبارسنج) آن را گرفته و به دفترکل اضافه کند. ازاینرو میتوان گفت که این عناصر فقط مختص به بلاکچین بیتکوین نیستند و در هر سیستم مبتنی بر بلاک چین کاربرد دارند.
بهعنوانمثال، در زمان خرید اتریوم و جابهجایی آن از طریق بلاکچین این ارز دیجیتال، در مراحل انجام تراکنشی که در شبکه ایجاد شده از ممپولها استفاده میشود که در ادامه به بررسی نحوه عملکرد این ابزار در بلاکچین اتریوم میپردازیم.
نحوه عملکرد ممپول و هدف آن
بهطورکلی، تراکنشهای اتریوم به ۳ دسته زیر تقسیم میشوند:
- انتقال ساده (Simple Transfer): مقدار از یک آدرس عمومی به آدرس دیگر ارسال میشود که میتواند پرداختی برای یک NFT یا خدماتی خاص باشد.
- ایجاد یک قرارداد هوشمند (Deployment of a smart contract): هر زمان که یک قرارداد هوشمند روی بلاکچین مستقر شود، یک تراکنش ایجاد میکند.
- اجرای قرارداد هوشمند (Execution of a smart contract): به تراکنشی که ناشی از ارسال وجوه یا داده از یک آدرس عمومی به یک آدرس قرارداد هوشمند است، اشاره دارد.
باوجوداینکه سه مدل تراکنش فوق در شبکه بلاکچین اتریوم وجود دارد، تمام آنها در این شبکه چرخه عمر یکسانی دارند که شامل مراحل زیر است:
- کاربری یک تراکنش ایجاد کرده و با استفاده از کلید خصوصی خود، آن را امضا میکند.
- سپس یک گره تراکنش را دریافت کرده و آن را در فضای ذخیره مختص به خود ذخیره میکند که کاربرد ممپولها در این مرحله نمایان میشود.
- در حالی که تراکنش هنوز در آن فضا وجود دارد، گره اعتبارسنجی تراکنش را انجام میدهد. اگر تستها با موفقیت پشت سر گذاشته شوند، وضعیت تراکنش به حالت «در انتظار» (Pending) تغییر مییابد.
- گرهای که تراکنش را اولینبار دریافت کرده، تراکنش در حال انتظار را به تمام گرههای دیگر شبکه اطلاعرسانی میکند و آن را به دادههای قبلی شبکه اضافه میکند.
- پس از ایجاد بلاک جدید، اعتبارسنجها معاملات را به ترتیب از بالاترین هزینه کارمزد تایید میکنند و تراکنش به وضعیت «موفقیت» تغییر میکند.
- تراکنشها پس از اینکه گره هر بلاک جدید را به شبکه اضافه کند، تاییدیه دریافت میکنند. این امر تضمین میکند که تراکنشها به طور دائم به شبکه بلاکچین اضافه میشوند و سازماندهی آنها بهروز شود که همین موضوع باعث امنیت شبکه خواهد شد.
مطالعه بیشتر: معرفی لیست ارزهای دیفای برتر در دنیای رمز ارزها
هدف از وجود یک ممپول چیست؟
ازآنجاییکه بلاک چینها تغییرناپذیر هستند، مهم است که تراکنشهای وارد شده به بلاکچین معتبر و بدون خطا باشند. در نتیجه لازم است قبل از اضافهشدن آنها به لیست تراکنشهای تایید شده از یک بلاکچین، اعتبارسنجی شوند. اما برای انجام مراحل اعتبارسنجی، به یک فضای ذخیره موقت نیاز است که هدف یک Mempool ارائه همین فضا است.
در واقع گره، به عنوان میزبان ممپول، نقش مهمی در اعتبارسنجی هر تراکنش قبل از شروع فرایند ایجاد بلاک جدید و تعهد آن به بلاکچین ایفا میکند. از نظر توسعهدهندگان، تستهای اعتبارسنجی برای درک اینکه چرا تراکنشها ممکن است شکست بخورند یا در حالت «انتظار» بمانند، مهم است. تستهای اعتبارسنجی شامل موارد زیر میشوند:
دردسترسبودن وجوه
گره پس از دریافت درخواست تراکنش، در ابتدا اعتبارسنجی میکند که آیا آدرس فرستنده وجوه کافی برای پوشش هزینه مقدار ارسالی و کارمزد آن برای تکمیل تراکنش را دارد یا خیر. اگر این اعتبارسنجی ناموفق باشد، تراکنش از فضای موقت نگهداری یعنی همان ممپول حذف خواهد شد و ناموفق میشود. مهم است که در زمان معاملات خود از پارامترهای صحیح بودن مقادیر ارسال و آدرس مقصد اطمینان حاصل کنید تا تراکنش شما از تایید در این مرحله عبور کند.
اعتبار امضای فرستنده
هر تراکنش باید توسط آدرس فرستنده امضا شود. این مرحله برای تشخیص این است که فرستنده کاربر واقعی است یا خیر.
تایید مقدار صحیح Nonce
مقدار Nonce تعداد تراکنشهایی را نشان میدهد که درخواست آنها از آدرس فرستنده ارسال شده است. هر بار که درخواست یک تراکنش جدید ارسال میشود، مقدار Nonce به میزان یک واحد افزایش مییابد. الگوریتم این معیار طوری طراحی شده است که از موضوع دوباره خرجکردن جلوگیری کند. در این تست گره تایید میکند که مقدار nonce با تراکنش درخواست داده شده تطابق دارد یا خیر. اگر این تست ناموفق باشد، تراکنش به مرحله بعد نخواهد رفت.
هزینه فی تراکنش
بسته به استاندارد یک ممپول از یک شبکه بلاکچینی، محدودیتی برای تعداد تراکنشهای همزمان وجود دارد. برای مثال، گث (Geth) یک روش در اولویتبندی ذخیره موقت تراکنشها در بلاکچین اتریوم است که دارای محدودیت پیشفرض ۴۰۹۶ تراکنش در وضعیت «انتظار» است. یعنی در این روش با رسیدن میزان درخواستها به این حد، معاملات با کمترین کارمزد از روند مدیریت در فضای موقت ذخیره یک گره حذف و به گره دیگری ارسال میشوند.
مطالعه بیشتر: کارمزد شبکه بلاک چین چگونه تعیین می شود؟
اندازه ممپول
اندازه این ابزارها متغیر است و به شلوغی شبکه و تعداد تراکنشهایی که انجام شده بستگی دارد. در واقع، هر زمان که یک گره بلاک جدیدی را دریافت میکند، تمام تراکنشهای پردازش شده از حافظه ذخیره موقت حذف شده و به شبکه اضافه میشوند. این موضوع باعث میشود که فضای موجود پاک شده و جا برای تراکنشهایی جدید که هنوز تایید نشدهاند و میبایست به بلاکچین اضافه شوند، خالی شود. این نکته ازآنجهت حائز اهمیت است که هر بلاک تنها قادر است، تعداد مشخصی از تراکنشها را انجام دهد.
تصور کنید که به یکباره تعداد بسیار زیادی از تراکنشها به حافظه داخلی شبکه اضافه شوند؛ در نتیجه حافظه پر شده و موجب تاخیر در انجام معاملات خواهد شد. ازاینرو، بهخاطر وجود محدودیت در تعداد گرههای یک شبکه، میزان حافظه موردنیاز موقت که برای ذخیره تراکنشهای معلق استفاده میشود نیز محدود خواهد شد. این محدودیت که به طور خودکار فعالیت میکند، برای زمانی در نظر گرفته میشود تا تراکنشی که شرایط کمتر از حد تعیین شده را دارد، از ممپول حذف شود و فقط تراکنشهایی که آن شرایط را برآورده میکنند، توسط آن پذیرفته شوند.
سوالات متداول درباره ممپول
ممپول چیست؟
تعریف مستقیم این ابزار، فضایی است که در آن تراکنشهای معلق بلاک چین قبل از اینکه توسط یک ماینر جمعآوری شده و به دفتر کل اضافه شوند، ذخیره میشوند.
چگونه به یک mempool دسترسی پیدا کنیم؟
تراکنشهای معلق در این ابزارها را بسته به نوع بلاکچین میتوان در سایتهای ردیابی مختلف از جمله mempool.space برای بلاکچین بیتکوین مشاهده کرد.
اندازه ممپول چیست؟
حجم این فضاهای ذخیره موقت در یک زمان معین تعیین میشود. در مواقع ازدحام بالای شبکه، اندازه آن افزایش مییابد. Mempool ها در بلاکچین بیتکوین پیش فرض دارای اندازه ۳۰۰MB هستند؛ اما این اندازه قابل تغییر است.
مطلب جدید و بسیار عالی بود
خوشحالم که برای شما مفید واقع شده، پیروز و پرسود باشید.