منظور از اثبات کار (PoW) چیست؟
برای آنان که کم یا زیاد در مورد بلاکچین، رمزارزها، متاورس یا مورد مشابه دیگری مطالعه می کنند …
خانه »
برای آنان که کم یا زیاد در مورد بلاکچین، رمزارزها، متاورس یا مورد مشابه دیگری مطالعه می کنند، بسیار پیش می آید که با بعضی کلمات و عبارات تخصصی برخورد می کنند. اگر از آنهایی هستید که معمولا از این کلمات هم سرسری عبور نمی کنید و در حد چند دقیقه هم شده به دنیای معنای پشت عبارات تخصصی سرک می کشید توصیه می کنیم این مقاله در مورد یکی از بنیادی ترین مفاهیم بلاکچین ها یعنی مکانیسم اجماع اثبات کار را از دست ندهید. اثبات کار یا Proof of Work یا به اختصار Pow مکانیسمی برای جلوگیری از حملات و کلاهبرداری هایی به نام خرج مضاعف (double-spending) است. اکثر رمزارزهای اصلی از این روش به عنوان الگوریتم اجماع خود استفاده می کنند و روشی برای تامین امنیت دفتر ثبت تراکنش های ارزهای دیجیتال است.
اثبات کار اولین الگوریتم اجماعی بود که ظاهر شد و تا به امروز هم همچنان الگوریتم غالب و اصلی باقی مانده است. این فناوری توسط ساتوشی ناکاموتو در وایت پیپر بیت کوین در سال 2008 معرفی شد، اما خود این فناوری مدت ها قبل از آن ابداع شده و برای جلوگیری از ارسال اسپم در ایمیلها مورد استفاده بود. HashCash Adam Back نمونه اولیه الگوریتم اثبات کار در عصر پیش از ظهور ارز دیجیتال است. این الگوریتم فرستنده ها را ملزم می کرد که مقدار کمی محاسبات را قبل از ارسال ایمیل انجام دهند. این محاسبه تقریباً برای یک فرستنده ی معمولی هیچ هزینه ای به همراه نداشت، اما به سرعت برای کسی که به صورت انبوه ایمیل ارسال می کرد، جمع شده و تبدیل به مقدار زیادی محاسبات کمرشکن می شد.
این خرج مضاعف (double-spend) یعنی چه؟
خرج مضاعف زمانی رخ می دهد که نقدینگی بیش از یک بار خرج شود. این اصطلاح تقریباً به طور انحصاری در زمینه پول دیجیتال استفاده میشود چون در نهایت، شما برای دوبار خرج کردن پول نقد فیزیکی یکسان با مشکل مواجه خواهید شد. وقتی امروز برای یک قهوه پول می پردازید، پول نقد را به صندوقدار تحویل می دهید که احتمالاً در مقابل به شما یک قبض رسید می دهد. معلوم است که شما نمی توانید به کافی شاپ روبرویی بروید و با همان قبض قهوه دیگری سفارش بدهید. اما در خرج کردن ارز دیجیتال به صورت نقدی، این امکان وجود دارد که بتوانید یک مقدار پول را دوبار خرج کنید. مطمئناً قبلاً یک فایل رایانه را کپی کرده اید. فقط یک کپی و پیست ساده انجام داده و سپس می توانید همان فایل را برای ده، بیست یا پنجاه نفر ایمیل کنید.
از آنجایی که پول دیجیتال فقط مقداری اطلاعات و داده الکترونیکی است، باید از کپی کردن و خرج کردن واحدهای مشابه در مکان های مختلف جلوگیری شود. در غیر این صورت، ارز شما در کوتاه ترین زمان ممکن سقوط می کند.
چرا اثبات کار ضروری است؟
می دانید که کاربران هر تراکنش خود را به شبکه اعلام می کنند اما این طور نیست که بلافاصله هر تراکنشی تایید شود. این اتفاق وقتی می افتد که این تراکنش ها بررسی شده و در یک بلاک به زنجیره ی بلاکها اضافه شود. آنگاه دیگر تراکنش معتبر محسوب می شود. از ویژگی های بلاکچین این است که هر کاربری می تواند ببیند که آیا یک مقدار نقدینگی مشخص قبلا خرج شده است یا نه. بیایید تصور کنیم که شما و سه نفر از دوستانتان یک دفترچه ی یادداشت دارید. هر وقت کسی از شما می خواهد مقداری پول انتقال دهد آن را یادداشت می کند. مسئله ای که در اینجا وجود دارد این است که هر بار بین خود انتقالی انجام می دهید به تراکنشی که پول شما از آنجا آمده هم اشاره می کنید. یعنی اینگونه حسابها را یادداشت می کنید که علی دو ریال از 5 ریالی را که از محمد گرفته بود، به حسین داد. در این حالت این امکان وجود دارد که رد پولها را از آخرین تراکنش تا منشا اولیه ی آن پول به راحتی دنبال کنیم. اگر علی بخواهد با همان پولهایی که به حسین داده باز هم خریدی و خرج دوباره ای انجام دهد، بلافاصله همه متوجه می شوند و گروه اجازه نمی دهد این تراکنش انجام شده و به دفترچه اضافه شود. خب این روش در یک گروه کوچک کار می کند. گروهی که همه یکدیگر را می شناسند و در مورد اینکه یک نفر را مسئول وارد کردن حساب ها به دفتر قرار دهند به احتمال زیاد توافق خواهند کرد. حالا برای یک گروه 10000 نفره چطور؟ بعید است که آن ایده ی دفترچه جواب بدهد زیرا سخت است مسئولیت محاسبات و ثبت آنها را به یک نفر غریبه بسپاریم.
اینجاست که اثبات کار وارد عمل می شود و تضمین می کند که کاربران پول دیگران را خرج نمی کنند و یا پول خود را دوبار خرج نخواهند کرد. یک الگوریتم اثبات کار که ترکیبی از تئوری بازی ها و رمزنگاری است به همه اجازه می دهد که مسئولیت وارد کردن حسابها به دفتر و ثبت آن را انجام دهند بدون آنکه وسوسه شوند تا کلاهبرداری کنند.
اثبات کار (Proof of Work) چطور کار می کند؟
دفترچه یادداشتی که در بالا اشاره شد همان بلاک چین است. اما ما تراکنش ها را یکی یکی اضافه نمی کنیم، بلکه آنها را به بلاک تبدیل می کنیم. ما تراکنش خودمان را به شبکه اعلام می کنیم، سپس کاربرانی که شغلشان ساختن بلاک است، آنها را در یک بلاک کاندید قرار می دهند. تراکنش ها تنها زمانی معتبر تلقی می شوند که بلوک کاندید آنها به یک بلوک تأیید شده تبدیل شود، به این معنی که به بلاک چین اضافه شده است.