اگر تا به حال درباره ی بلاک چین و سیستم آن فکر کرده باشید قطعا سوالات زیادی ذهن شما را درگیر کرده. اینکه بلاک چین چگونه کار می کند؟ از چه منیعی برای کار های خود دستور می گیرد؟ استخراج بیت کوین ها چگونه انجام می شود؟ چه کسانی تراکنش ها را تایید می کنند؟ همه ی این سوال ها به فهمیدن الگوریتم اجماع یا همان توافقی باز می گردد که تصمیم می گیرد چه تراکنشی باید تایید شود و چه تراکنشی دارای اشکال است و باید برطرف شود. در این مقاله بیشتر راجع به یکی از این الگوریتم ها به نام اثبات کار صحبت می کنیم.
برای اینکه پاسخ این سوال را بفهمید ابتدا مختصری به بلاک چین می پردازیم. بلاک چین همان طور که از نامش پیداست زنجیره ای از بلوک هاست. این بلوک ها به صورت حقیقی وجود ندارند و اینطور نیست که در یک مکان خاص اطلاعات را در بلوک ها ذخیره کنند. بلکه این بلوک ها در واقع یک نوع تشبیه برای درک بهتر از بلاک چین است. بنابراین در این بلوک ها ما اطلاعات حساب و هزاران تراکنش را داریم. این بلوک ها مانند یک زنجیره یکی پس از دیگری به هم متصل می شوند. بعد از اتصال ما یک زنجیره ی اطلاعاتی داریم.
این زنجیره به دلایل امنیتی زیادی به وجود آمده است که بررسی آن در این مقاله نمی گنجد. اما در همین حد کافی است که بدانید این زنجیره ی اطلاعاتی بین کاربران ارز در سراسر جهان منتشر می شود. به دلیل اینکه نسخه های بسیار زیادی از این ارز در جهان وجود دارد هیچ هکری نمی تواند به بلاک چین و اطلاعات آن ها دسترسی داشته باشد. چون برای تغییر اطلاعات آن مجبور است برای تک تک بلوک ها وقت بگذارد و آن ها را تغییر دهد. این بدون در نظر گرفتن این است که با هر بار ثبت اطلاعات زنجیره ی بلاک چین قوی تر می شود و بازیابی می شود.
الگوریتم مجموعه ای از قوانین است که به آن ها به اصطلاح پروتکل می گوییم. این پروتکل ها مشخص می کنند چه تراکنش هایی مطمئن هستند و باید تایید شوند و چه تراکنش هایی ناقص هستند و باید منحل شوند. در الگوریتم اثبات کار برای اینکه کسی بتواند تراکنشی را تایید کند و یا حتی به آن تراکنش دسترسی داشته باشد باید کار انجام دهد. این نوع کار انجام دادن فیزیکی نیست! بلکه منظور از کار در اینجا انجام یک سری محاسبات مربوط به معادله ی خاص آن تراکنش است.
این معادلات معادلات پیچیده ای هستند به قدری که یک انسان معمولی نمی تواند در زمان لازم به پاسخ آن ها برسد. بنابراین برای این کار از یک سری دستگاه به نام ماینر استفاده می شود. ماینر ها در واقع محاسبه کننده هایی هستند که با مصرف برق و انرژی (که همان انجام کار است) یک معادله را حل می کنند. هر چه ماینر دارای قدرت بیشتری باشد می تواند سریعتر به جواب معادله برسد. منظور از قدرت بیشتر داشتن قدرت پردازشی بیشتر است.
اما راجع به سریعتر به جواب رسیدن و زمان، گفتیم که یک انسان معمولی نمی تواند در زمان مناسب به پاسخ معادله دست پیدا کند. مگر زمان چه اهمیتی دارد؟
فرض کنید تعدادی کارگر دارید که برای ساخت یک سازه که به صورت فوری به آن نیاز دارید استخدام کردید. در صورتیکه به آنها بگویید هر وقت ساخت سازه را تمام کردید مشکلی ندارد، همه ی کارگران کند کار خواهند کرد. چون می دانند دیر یا زود به پاداش خود می رسند. اما اگر به آن ها بگویید مزد فقط به کسانی تعلق می گیرد که سریعتر از بقیه کارکنند، می توانید شاهد بیشترین بازده بین کارگران خود باشید. شما همان پاداش را می دهید و همان مزد را پرداخت می کنید. اما با این کار نوعی رقابت ایجاد کردید که می تواند به ساخت سازه کمک کند.
در رابطه با ثبت اطلاعات در اثبات کار مخصوصا در ارز معروفی مانند بیت کوین هم همینطور است. شبکه ی بیت کوین فقط به کسی پاداش می دهد که زودتر به پاسخ معادله برسد. تمامی دستگاه هایی که در حال پردازش معادله هستند غیر از دستگاهی که زودتر به جواب رسیده از پاداش بی بهره می مانند. بنابراین استخراج کنندگان باید روز به روز از دستگاه های بهتر و دارای قدرت پردازشی بالاتر استفاده کنند. در غیر اینصورت به ندرت می توانند به پاداش ثبت اطلاعات دست پیدا کنند.
الگوریتم اثبات کار از آن جهت در بیت کوین اهمیت دارد که شبکه باید به همه ی تراکنش ها پاسخ بدهد و همه ی آن ها را ثبت کند. و اگر این اتفاق در زمان مناسب صورت نگیرد و کند باشد صف طولانی ای از تراکنش ها را خواهیدم داشت که بدون انجام شدن فقط موجب نارضایتی کاربران شده است. پس اثبات کار برای ما حل معادلات است. اما منظور از معادلات چیست؟
این معادلات بسیار پیچیده هستند. به طور معمول در این معادلات واژه ی هش بسیار به کار می رود. برای ساده سازی هش را معادل اطلاعات در نظر بگیرید. معادلاتی که در شبکه انجام می شوند می توانند انواع مختلفی داشته باشند از جمله:
در بالا اشاره کردیم که برای ساده سازی هش را اطلاعات در نظر می گیریم. اما اگر بخواهیم دقیق تر بگوییم هش همان جواب هایی است که از حل معادلات بالا توسط دستگاه ها به دست می آید و به صورت اطلاعات در بلاک چین ثبت و ذخیره می شود.
با گذشت زمان و افزایش تعداد کاربران ارز دیجیتالی که از سیستم اثبات سهام استفاده می کند حل این معادلات پیچیده تر می شود. از طرفی حمله های سایبری و DoS هم در شبکه افزایش می یابند و بخشی از بازدهی شبکه را درگیر خود می کنند. اگر معادلاتی که به دستگاه ها داده می شود بیش از حد ساده باشد شبکه را مستعد حملات سایبری و Dos می کند. اگر هم این معادلات سخت باشند گاهی دستگاه ها توان حل ان ها را ندارند و شبکه در تولید بلوک های جدید دچار مشکل می شود. بنابراین شبکه معادله های حد واسط را به گره ها ارسال می کند.
حالا باید فهمیده باشید که چرا ارزی معروف مانند اتریوم در حال انتقال سیستم اثبات کار به سیستم اثبات سهام است. چون به این موضوع پی برده که حل این مسائل فقط برق و انرژی و زمان زیادی می برد در صورتی که می توان از روشهای دیگری هم برای اثبات خود به سیستم برای ثبت اطلاعات استفاده کرد.
میزان سختی معادلاتی که در بالا گفته شد بستگی به بار کل شبکه، تعداد کاربران وقدرت فعلی شبکه بستگی دارد. برای اینکه معادلات به درستی و به حد لازم سخت باشند شبکه با توجه به شرایط زمانی معادله های حد واسط را ایجاد می کند. اما به سراغ ثبت بلوک ها می رویم:
گفتیم در بلاک چین هر بلوک به بلوک قبلی خود متصل می شود. این اتصال هم فیزیکی نیست! منظور ما از اتصال نوعی ارتباط است که مشخص می کند کدام بلوک قبل از بلوک دیگر قرار گرفته. در هر بلوک علاوه بر اطلاعات خود بلوک، اطلاعات مربوط به هویت بلوک قبلی هم ذخیره می شود. با این کار اگر فردی یک بلوک را تغییر دهد اطلاعات آن را هم تغییر داده و با توجه به اینکه اطلاعات بلوک قدیم روی بلوک تغییر کرده با اطلاعات بلوک قبلی ثابت یکسان نیست، کل این زنجیره نامعتبر شناخته شده و از بین می رود.
با اینکه مضرات استفاده از اثبات کار تقریبا برای تمامی شرکت های ارز دیجیتال مشخص شده اما جالب است بدانید که در حال حاضر بزرگترین ارزهای دیجیتال در حال استفاده از این سیستم هستند. ارز هایی مانند بیت کوین و اتریوم و لایت کوین همگی از این ارزها استفاده می کنند. البته توسعه دهندگان آن ها نکات منفی این روش را بهتر از من و شما می دانند اما به این دلیل که اولین ارز هایی بودند که پا به عرصه گذاشتند همین شیوه را ادامه داده اند.
اتریوم اما ارزی است که می تواند به عنوان اولین ارز معتبری شناخته شود که در حال تغییر الگوریتم خود و پیاده سازی آن بر روی بلاک چینش است. اتروم در حال انتقال سیستم اثبات کار به اثبات سهام است و قرار است که تا چند ماه آینده وعده ی خود را عملی کند. بنظر می رسد یک فرصت خوب برای سرمایه گذاران اتریوم به وجود آمده است.
طبیعتا نمی توان به اثبات کار به عنوان یک الگوی سیاه نگاه کرد. الگوی اثبات کار هم مزیت هایی دارد از جمله اینکه در مقابل حملات DoS بسیار قوی عمل می کند و اینکه افزایش تعداد بیت کوین ها یا به طور کلی تر افزایش سهام باعث افزایش احتمال پاداش گرفتن شما از فرایند استخراج نمی شود.
1-حملات DoS می توانند صورت بگیرند. اما همانطور که گفته شد برای هر بلوک نیاز به ثبت اطلاعات از طریق دستگاه های حل معادلات است. بنابراین اگر هم کسی فکر حمله به سرش بزند مجبور است از تعداد بسیار زیادی دستگاه برای حل همه ی معادلات شبکه استفاده کند که این کار باعث صرف هزینه های زیادی می شود و برای آن فرد توجیه اقتصادی ندارد!
2-ضمن اینکه برخلاف سیستم اثبات سهام، فردی که دارای بیت کوین های زیادی باشد بیت کوین هایش هیچ تاثیری بر فرایند استخراج نخواهد گذاشت. چون اگر این فرد دستگاه استخراج بیت کوین نداشته باشد نمی تواند فرایند استخراج را انجام دهد.