Mempool نوعی «اتاق انتظار» در گره بلاکچین است که تراکنشهای استخراج نشده در آن ذخیره میشوند. اصطلاح “mempool” ترکیبی از دو کلمه “حافظه” و “pool” است و به فضایی اطلاق میشود که تراکنشهای معلق قبل از اضافه شدن به بلاک چین در صف منتظر بمانند.
بیت کوین اولین بلاکچین بود که مفهوم استخر حافظه تراکنش (mempool) را معرفی کرد و از آن استفاده کرد. بلاکچینهای دیگری مانند اتریوم نیز بعداً این اصطلاح را پذیرفتند. همه بلاکچینها دارای نوعی ممپول هستند، حتی اگر اصطلاح متفاوتی برای آن داشته باشند. به عنوان مثال، بلاکچین Parity از عبارت “صف تراکنش” برای نشان دادن ممپولها در زنجیره خود استفاده میکند.
نقش در معاملات بلاکچین
ممپولها نقش مهمی در نحوه عملکرد گرههای بلاک چین ایفا میکنند. برای اینکه یک تراکنش در یک بلاکچین تکمیل و ثبت شود، ابتدا باید به یک بلوک اضافه شود. با این حال، همه گرهها در شبکه بلاکچین نمیتوانند یک بلوک جدید ایجاد کنند. برای مثال، در بلاکچینهایی که با استفاده از مکانیزم اثبات کار مانند بیتکوین کار میکنند، فقط ماینرها میتوانند تراکنشها را به یک بلوک جدید اضافه کنند. در مورد بلاک چین هایی که از مکانیزم اثبات سهام مانند اتریوم استفاده میکنند، فقط تایید کنندگان یا پیشنهاد دهندگان می توانند تراکنش ها را به یک بلوک اضافه کنند.
پس از شروع یک تراکنش، کاربران باید برای تایید تراکنش و افزودن آن به بلاک چین به یک ماینر یا اعتباردهنده وابسته باشند. این فورا اتفاق نمی افتد. در عوض، بین زمان شروع تراکنش و زمان تکمیل آن تاخیر وجود دارد. در طول این مدت، تراکنش در یک mempool در انتظار تایید ذخیره می شود.
ممپول چگونه کار میکند؟
ابتدا، باید توجه داشته باشید که بلاکچینها فقط یک ممپول ندارند . برعکس، هر گره در یک شبکه بلاکچین خاص دارای حافظه تراکنش های خاص خود است. به عنوان مثال، هر گره در بلاکچین بیت کوین دارای استخر معاملات خود است که منتظر اضافه شدن به دفتر کل هستند. با هم، ممپولها در گرههای مجزا یک ممپول جمعی را تشکیل میدهند.
هنگامی که یک کاربر تراکنش را آغاز می کند، به یک گره ارسال می شود. سپس گره تراکنش را به mempool خود اضافه میکند و آن را در یک صف قرار میدهد و در انتظار اعتبارسنجی است. هنگامی که تراکنش تایید شد، به عنوان “در انتظار” علامت گذاری میشود. ماینرها فقط میتوانند تراکنشهایی را که بهعنوان «در انتظار» علامتگذاری شدهاند، به یک بلوک جدید اضافه کنند.
دینامیک Mempool و چرخه عمر تراکنش
برای نشان دادن پویایی ممپول و چرخه عمر تراکنش، بیایید فرض کنیم که میخواهید 0.01BTC را برای یک دوست ارسال کنید.
- ابتدا آدرس کیف پول دوستتان را کلید می زنید، کارمزد تراکنش های بلاک چین را می پذیرید و سپس «ارسال» را فشار می دهید.
- تراکنش به عنوان یک تراکنش در صف به نزدیکترین ممپول اضافه می شود.
- در مرحله بعد، تراکنش برای سایر گرههای شبکه پخش میشود، اما هنوز در بلاک چین در دسترس نخواهد بود. در عوض، هر گره آزمایشهای جداگانهای را برای بررسی واقعی بودن تراکنش انجام میدهد.
- اگر گره ها تراکنش را تایید کنند، وضعیت آن از “صف” به “در انتظار” تغییر می کند.
- در نهایت، تراکنش معلق توسط یک ماینر انتخاب شده و به یک بلوک جدید اضافه می شود.
- در مرحله بعد، ماینر این بلوک را به تمام گره ها بازگرداند. در نتیجه، همه گره ها اکنون به تمام تراکنش های موجود در بلوک جدید دسترسی خواهند داشت.
- در این مرحله، گره هایی که هنوز تراکنش شما را در ممپول خود ذخیره کرده اند، آن را حذف می کنند.
- در نهایت، تراکنش شما تکمیل می شود و دوست شما 0.01 BTC را دریافت میکند.
ازدحام و عقب ماندگی ممپول
ازدحام در یک مجموعه تراکنش زمانی رخ میدهد که تقاضا برای تراکنشها از تعداد تراکنشهایی که میتوانند در یک بلوک قرار گیرند بیشتر شود. عوامل متعددی می تواند باعث ایجاد عقب ماندگی در ممپول شود. این شامل:
- ازدحام در شبکه: اگر شبکه بلاک چین حجم تراکنش های بالایی را تجربه کند، فضای بلوک موجود را تحت فشار قرار می دهد و در نهایت منجر به ازدحام ممپول می شود. به عنوان مثال، میانگین تعداد تراکنش ها در یک بلاک در بلاک چین بیت کوین در حال حاضر حدود 2800 است . اگر تعداد تراکنشهای معلق به مدت چندین ساعت از این تعداد بیشتر شود، شبکه شلوغ میشود و در نتیجه ممپولها نیز شلوغ میشوند.
- رویدادها یا اخبار: رویدادها و اخباری که مستقیماً بر صنعت بلاک چین تأثیر میگذارند، مانند راهاندازی توکن، ایردراپ یا پشتیبانی از شخصیتهای مشهور، میتوانند باعث افزایش ناگهانی تقاضای تراکنش شوند. این افزایشها ممکن است منجر به عقب ماندگی موقتی شود.
- فورکها یا ارتقاء شبکه: فعالیتهای شبکه مانند فورکها یا ارتقاء به شبکه بلاک چین ممکن است باعث ازدحام موقتی ممپول شود زیرا گرهها در شبکه تغییرات را بهروزرسانی میکنند.
درک این عوامل و نحوه تأثیر آنها بر ازدحام mempool برای کاربران و توسعه دهندگان مهم است. آنها را قادر می سازد تا تاخیرهای احتمالی را پیش بینی کرده و تنظیمات لازم را برای صرفه جویی در هزینههای گاز و جلوگیری از تاخیر انجام دهند.
مدیریت اولویت تراکنشها و کارمزدها
از آنجایی که بسیاری از تراکنشها به طور همزمان انجام می شوند، عوامل متعددی وجود دارد که تعیین میکند کدام تراکنشها در یک ممپول اولویتبندی میشوند. در زیر به برخی از آنها اشاره میکنیم.
برآورد کارمزد و شامل تراکنش
یکی از عوامل اصلی تعیین کننده ترتیب اجرای تراکنشها در یک ممپول، کارمزدهای پیوست شده به هر تراکنش است. ماینرها و اعتبارسنجیها بر اساس سود هدایت میشوند و آنها میتوانند تراکنشهایی را که میخواهند به یک بلوک جدید اضافه کنند، انتخاب کنند. جای تعجب نیست که آنها طرفدار تراکنشهایی هستند که کارمزدهای بالاتری به آنها تعلق میگیرد، زیرا این به پاداشهای بیشتر تبدیل میشود.
بنابراین، کارمزدهای مرتبط با یک تراکنش به شدت بر شانس گنجاندن آن در یک بلوک تأثیر میگذارد. ماینرها معمولاً تراکنش ها را در داخل ممپول خود بر حسب کارمزد به ازای هر واحد داده تراکنش سازماندهی می کنند که معمولاً به صورت ساتوشی/بایت نمایش داده می شود. از آنجا، آنها تراکنش هایی با بالاترین نرخ کارمزد را اولویت بندی می کنند تا زمانی که بلوک پر شود.
این رویکرد مبتنی بر هزینه، یک بازار رقابتی در داخل ممپول ها ایجاد می کند . کاربران را مجبور میکند بین پرداخت هزینههای بالاتر برای تکمیل سریع تراکنش یا کارمزدهای پایینتر به قیمت دورههای انتظار طولانیتر، یکی را انتخاب کنند.
با این وجود، کاربران می توانند کارمزد بهینه را تخمین بزنند که خیلی گران نیست، اما همچنان تایید به موقع را تضمین می کند. این را می توان با در نظر گرفتن برخی از عوامل مانند داده های تاریخی، حجم تراکنش، ازدحام شبکه و توزیع هزینه در داخل ممپول به دست آورد. اکثر پلتفرمهای محبوب، مانند کیف پولهای رمزنگاری و صرافیها، ابزارهایی دارند که میتوانند وضعیت فعلی یک ممپول را تحلیل کرده و مناسبترین کارمزد را توصیه کنند.
با این حال، تخمین دقیق هزینه ها علم دقیقی نیست و چالش ها همچنان باقی است. به عنوان مثال، شرایط شبکه می تواند به سرعت تغییر کند و داده های تاریخی را غیرقابل اعتماد کند. علاوه بر این، کارمزدها می توانند در دوره های پر تقاضا به شدت نوسان داشته باشند و منجر به نوسانات غیرمنتظره کارمزد شوند.
تاثیر ازدحام شبکه
تراکم شبکه بر نحوه پردازش تراکنش ها و پویایی هزینه های گاز به طرق مختلف تأثیر میگذارد:
- افزایش زمان تأیید: هنگامی که ازدحام وجود دارد، ماینرها شروع به اولویت بندی تراکنش هایی می کنند که هزینه گاز بیشتری می پردازند. این به طور کلی منجر به زمان تایید طولانی تر می شود. اگر مجموعه پر ازدحام باقی بماند، تراکنشهایی که کمترین هزینه گاز را پرداخت میکنند ممکن است ساعتها یا حتی روزها طول بکشد.
- رقابت کارمزد: ازدحام در mempool اغلب باعث می شود که کاربران شروع به رقابت برای اضافه شدن سریع تراکنش های خود به یک بلوک کنند. این به این معنی است که برای ماینرها یا اعتبار سنجی ها برای اولویت بندی تراکنش شما، باید هزینه های بیشتری بپردازید. این باعث می شود هزینه های بیشتری در ساعات اوج مصرف دریافت کنید.
همگامسازی Mempool و فضای بلوک
Mempool ها مجبور نیستند فهرستی منطبق از همه تراکنش ها را در انتظار اضافه شدن به یک بلوک نگه دارند. با این حال، آنها باید بدانند که کدام تراکنشها قبلاً به بلاک چین اضافه شدهاند تا در صورتی که هنوز در آنجا ذخیره میشود، بتوانند آن را از mempool خود حذف کنند. هنگامی که یک ماینر یک بلوک جدید را برای گره ها پخش می کند، آنها می توانند این اطلاعات را بررسی کنند و در نتیجه به همگام سازی mempool دست یابند. این تضمین می کند که فقط تراکنش های استخراج نشده در ممپول ها نگهداری می شوند.
از سوی دیگر، فضای بلوک، ظرفیت موجود برای گنجاندن تراکنشها در یک بلوک جدید است. از آنجایی که این فضا محدود است، استخراجکنندگان یا اعتبارسنجیها تراکنشهایی با هزینههای گاز بالاتر را در اولویت قرار میدهند، در حالی که بقیه در انتظار تایید به انبارها ارسال میشوند.
اندازه Mempool و اخراج
هر تراکنش اضافه شده به mempool یک قطعه داده است که بیش از چند کیلوبایت (کیلو بایت) نیست. مجموع تمام بایت هایی که تراکنش ها را تشکیل می دهند به اندازه ممپول است. اندازه Mempool بزرگتر نشان می دهد که تراکنش های متعددی در انتظار تایید هستند. همچنین می تواند نشان دهنده افزایش در ترافیک شبکه باشد.
در حالی که ممپولها حداکثر اندازه از پیش تعریف شدهای ندارند، گرهها میتوانند محدودیت های اندازه را برای ممپول های خود تعیین کنند. این مقدار معمولاً برای بیت کوین 300 مگابایت تعیین میشود. هنگامی که ممپول به این آستانه میرسد، گرهها ممکن است حداقل نیاز به کارمزد تراکنش را اعمال کنند. هرگونه تراکنش با نرخ کارمزد کمتر از این حد از mempool خارج می شود. با انجام این کار، گره ها می توانند از خراب شدن به دلیل بار بیش از حد تراکنش های معلق جلوگیری کنند.
درک اینکه چگونه اندازه ممپول بر کارمزد و زمان تراکنش ها تأثیر می گذارد مهم است زیرا به کاربران امکان می دهد بهترین زمان ها را برای انجام تراکنش انتخاب کنند. چندین وب سایت وجود دارند که اندازه ممپول جهانی را در شبکه بیت کوین ردیابی می کنند، مانند mempool.space و BitcoinTicker.co.
Mempool در شبکههای بیت کوین و اتریوم
اکنون، بیایید به نحوه عملکرد ممپول ها در بیت کوین و اتریوم، دو بزرگ ترین بلاک چین در سراسر جهان، نگاه کنیم.
ممپول بیت کوین
تمام تراکنش های معتبر ارسال شده در سراسر شبکه بیت کوین فوراً به بلاک چین اضافه نمی شوند. آنها باید در ممپول بیت کوین منتظر بمانند.
در ابتدا، کارمزد تراکنشها در بیت کوین بر حسب تعداد ساتوشی در هر بایت تراکنش اندازه گیری میشد. با این حال، این پس از ارتقاء SegWit تغییر کرد. اکنون، تراکنشها در یک ممپول بیتکوین با واحد وزنی اندازهگیری میشوند. این ارتقاء چیزی را معرفی کرد که به عنوان ویژگی SegWit شناخته میشود.
با شروع استفاده از تراکنشهایی که از ویژگیهای segwit استفاده میکنند، این تغییر اجازه میدهد تا دادههای بیشتری در هر بلوک گنجانده شود (با 100٪ تراکنشهایی که از ویژگیهای segwit استفاده میکنند، انتظار میرود این مقدار حدود 2 مگابایت داده در هر بلوک باشد، اما در بدترین حالت ممکن است. حداکثر 4 مگابایت داده در هر بلوک باشد).
تا آنجایی که حجم تراکنش بیشتری را امکان پذیر میکند، میتوان انتظار داشت که پایگاه داده UTXO را سریعتر افزایش دهد (با 100٪ تراکنشها با استفاده از ویژگیهای segwit، ممکن است انتظار میرود نرخ افزایش تقریباً دو برابر شود؛ اما چون segwit یک فورک نرم است. بدترین حالت رشد UTXO بدون تغییر است).- از طریق Bitcoin Core
در نتیجه ارتقاء، بلاکهای بیت کوین اکنون میتوانند تا چهار برابر تراکنشهای بیشتری را در خود جای دهند.
ممپول اتریوم
مانند بیتکوین، بلاک چین اتریوم در ابتدا از ممپول اتریوم برای ذخیره موقت تراکنشهایی که در انتظار اضافه شدن به یک بلوک توسط ماینرها هستند، استفاده کرد. با این حال، پس از حرکت اتریوم از اثبات کار به مکانیزم اجماع اثبات سهام، شبکه مفهوم سازنده بلاک را معرفی کرد.
سازندگان بلاک، نهادهای شخص ثالث تخصصی هستند که تراکنش ها را برای ایجاد یک بسته تراکنش بهینه سازی شده که می تواند یک بلوک را تشکیل دهد، جمع آوری می کنند. آنها این کار را با مرتب کردن مجدد یا گنجاندن تراکنش های خاص در بسته از یک مخزن حافظه تراکنش انجام می دهند. در نهایت، آنها بستهها را برای گنجاندن در یک بلوک با هزینهای به پیشنهاد دهندگان/تأییدکنندگان ارائه میکنند.
ارزش یک بلوک به تراکنش هایی که شامل آن می شود بستگی دارد. بنابراین، سازندگان بلوک را تشویق میکند تا سودآورترین بلوکها را ایجاد کنند، زیرا احتمالاً توسط اعتبارسنجیها سریعتر اولویتبندی و تأیید میشوند. در نتیجه، مانند سایر بلاکچینها، هرچه کارمزد بیشتری در اتریوم بپردازید، احتمال اینکه تراکنش شما زودتر تایید شود، بیشتر میشود.
ممپول ها کلید معاملات غیرمتمرکز هستند
Mempool یک جزء حیاتی در معاملات بلاک چین است. این به عنوان شکلی از “اتاق انتظار” عمل می کند که در آن تراکنش های تایید نشده منتظر اعتبارسنجی و در نهایت گنجاندن در یک بلوک جدید هستند. درک مکانیزم یک ممپول، مانند صف تراکنش، اعتبارسنجی و اولویت بندی کارمزد، برای کاربران ارزهای دیجیتال ضروری است.
نظرات کاربران