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

نحوه بررسی و پردازش تراکنشها در شبکههای بلاک چین یکسان نیست و از الگوریتمها و روشهای مختلفی برای بررسی تراکنشها استفاده میشود. به عنوان مثال شبکه بلاک چین اتریوم از الگوریتم اثبات سهام استفاده میکند. در این الگوریتم نسبت به الگوریتم اثبات کار، مقیاس پذیری بالاتری دارد و باعث میشود تا اعتبارسنجها با سرعت بالایی تراکنشها را بررسی و تایید کنند. همچنین تعداد تایید و بررسی تراکنشها نیز در هرشبکه متفاوت است. به عنوان مثال در شبکه بیت کوین، حداقل شش نود باید هر تراکنش را تایید کند؛ در حالی که در شبکه اتریوم باید هفت نود تراکنش را تایید کنند.
ممپول (mempool) چیست؟
عبارت ممپول از ترکیب دو کلمه memory، به معنی حافظه و pool، به معنی استخر ایجاد شده است و عبارت mempool به معنی استخر حافظه میباشد. کلمه mempool به فضای ذخیره سازی اشاره میکند که هر نود یا گره برای ذخیره اطلاعات تراکنشهایی که اعتبارسنجی یا ماین نشده است، آن را در فضایی به نام ممپول ذخیره میکند.
هرکدام از نودهای شبکه دارای ممپول هستند که تراکنشها برای تایید و ثبت در شبکه، در آن قرار میگیرند. در واقع به دلیل آن که تمامی تراکنشهای شبکه به طور همزمان اتفاق نمیافتد و پردازش آنها به صورت غیر متمرکز است، تراکنشها ناچار اند تا بعد از تایید، منتظر اعتبارسنجها یا ماینرها برای ثبت در شبکه باشند. بنابراین ممپول همانند اتاق انتظار برای تراکنشهای تایید شده میباشد.
اندازه ممپول در هر نود به سخت افزار استفاده شده نود یا گره بستگی دارد. سخت افزارهای قدرتمند با فضای ذخیره سازی و عملکرد بالا، میتوانند تعداد تراکنشهای بیشتری را ذخیره کنند و در نتیجه اندازه ممپول نیز بیشتر خواهد شد. زمانی که فضای ذخیره سازی یک ممپول پر شوند، ماینرها یا اعتبارسنجها تراکنشهای آن نود را در الویت قرار میدهند؛ زیرا با پرشدن ظرفیت ممپول، کارمزد آن نیز بیشتر میشود و اعتبارسنجها و ماینرها انگیزه بیشتری برای ثبت تراکنشهای آن دارند.

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

در واقع هرچه تعداد تراکنشهای کمتری در شبکه انجام شود، فضای ذخیره سازی کمتری در ممپولها اشغال میشود و فشاری کمتری به ماینرها و اعتبارسنجها وارد میشود. به همین دلیل است که بیشتر شبکههای بلاک چینی در ابتدای کار خود سرعت بسیار بالایی دارند اما با افزایش کاربران و تعداد تراکنشها، سرعت پردازش آنها افت میکند.
البته با افزایش کاربران شبکه، تعداد نودها و فضای ذخیره سازی ممپولها نیز رشد میکند. به طور خلاصه فرآیند انجام تراکنشها و عملکرد ممپول در چرخه زیر خلاصه میشود:
1. کاربر تراکنش را در کیف پول خود انجام میدهد و به شبکه ارسال میکند. یک نود تراکنش را در شبکه بلاک چین پخش میکند.
2. نود تراکنش را بررسی و تایید میکند و آن را در ممپول خود ذخیره و برای سایر نودها ارسال میکند.
3. هر نودی که تراکنش را دریافت کند، آن را بررسی و تایید کرده و در سراسر شبکه ارسال میکند.
4. اعتبارسنجها یا نودها تراکنشهای داخل ممپولها را بررسی و در بلاک جدید ثبت میکنند.
5. تمامی نودها بلاک جدید را دریافت میکنند. اگر هر یک از نودها تراکنش ثبت شده را در ممپول خود داشته باشد، آن را حذف میکند تا تراکنشهای جدید را در آن قرار دهد.
ممپولها و کارمزد تراکنشها
عملکرد ممپولها در شبکه بلاک چین باعث مدیریت تراکنشها و انجام بهتر آنها میشود. این سیستم زمانی که تعداد تراکنشها پایین و ترافیک شبکه کم باشد، به خوبی اجرا میشود اما زمانی که تعداد تراکنشها افزایش یابد، مشکلاتی را برای کاربران ایجاد میکند. در زمانی که تعداد تراکنشها افزایش یابد، میزان کارمزد شبکه نیز افزایش مییابد و کاربر مجبور است تا برای انجام تراکنش خود کارمزد بیشتری بپردازد. ممپول دارای فضای ذخیره سازی محدود است و اندازه این فضا به سخت افزار نودها بستگی دارد.
زمانی که فضای ذخیره سازی ممپول در نودها پر میشود، نودها حداقل نرخ کارمزد را برای تراکنشهای خود تعیین میکنند و آن را به شبکه ارسال میکنند تا تراکنشها کمتر از این نرخ انجام نشود. همین نکته باعث میشود که کارمزد تراکنش در شبکه افزایش یابد و کاربر ناچار شود تا هزینه کارمزد بیشتری پرداخت کند.
در واقع کاربرانی که تراکنشهای خود را ارسال کردهاند اما هنوز تایید نشده است، میتوانند صبر کنند تا اعتبارسنجها و ماینرها آنها را انجام داده و بعد در شبکه ثبت کنند. همچنین کاربران میتوانند با پرداخت هزینه تراکنش بیشتر، به تایید تراکنش خود سرعت ببخشند. این نکته یکی از انتقادات اصلی به ممپول میباشد؛ زیرا باعث میشود افرادی که میزان دارایی بیشتری دارند و ثروتمندتر هستند به سرعت تراکنشهای خود را انجام دهند. در صورتی که سایر کاربران باید برای تایید تراکنش خود مدت زمانی بیشتری انتظار بکشند.

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

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