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