به طور خلاصه، ارزهای دیجیتال، واحد پول عصر جدید هستند. آنها به معنای ارزهای پولی که ما با آنها آشنا هستیم نیستند. هر ارز رمزنگاری شده هدف خاص خود را به عنوان یک ابزار معاملاتی دارد. ارزشمندی این ارزها و گسترش محبوبیت آن و موفقیتش در جلب سرمایههای مردمی به حدی بود که امروزه بیش از 2000 ارز دیجیتال مختلف وجود دارد که برخلاف بانکها، سیستمهای غیرمتمرکز دارند. با این تعریف، ارز دیجیتال یک ارز مجازی است که ارزش آن تا حد زیادی بر اساس محبوبیت شبکه یا زنجیره بلوکی است که از آن استفاده میکند و به تناسب، کاربرد هر یک از آنها با دیگری متفاوت خواهد بود. تلاش بر این است تا با این ارز و یا واحدی مالی در بستری فرامرزی و فراجغرافیایی و حتی فراتر از قوانین و مقررات دولتها، شکافهای موجود را رفع کرد.
نگاهی کوتاه به اهمیت ارز دیجیتال
شاید ارز دیجیتال بتواند با رفع نقایص اقتصاد سنتی، در دوران پساپول و پسادلار، گونهای دیگر از مبادله کالا به کالا را ایجاد کرده و ترویج کند و جهان آینده شاهد روزی باشد که هر کالا با ارز مختص به خود فروخته، خرید و یا مبادله شود. این مهم البته به قوانین و مقررات دقیق و نظاممندی احتیاج دارد چراکه در این نوع اقتصاد و رفتار مالی، هیچ ارزش واحدی بریا مقایسه ارزهای مختلف وجود نخواهد داشت و این به مراتب کار را سختتر میکند اما همین که افراد میتوانند کالای خود را بدون ارزشگذاری پول و بدون داد و ستد پولی واحد، مبادله کنند، شاید اقدامی جذاب باشد.
بلاک چین چه کارکردی دارد؟
بلاک چین از دو کلمه Block و Chain ساخته شده و یک سیستم امن برای حفظ و نگهداری اطلاعات مختلف است و میتوان با استفاده از آن فضایی امن برای ثبت و نگهداری اطلاعات ایجاد کرد. در واقع در هر بلاک، اطلاعات خاصی وجود دارد که در دسترس همه اعضای شبکه ات. نکته مهم درباره بلاک چین این است که اطلاعات آن با همه اعضای یک شبکه به اشتراک گذاشته میشود و همه افراد به همه اطلاعات دسترسی دارند؛ در نتیجه امکان هیچ دخل و تصرفی وجود ندارد. این مفهوم همزمان با تولد بیت کوین گسترش پیدا کرد چراکه این ارز دیجیتال به عنوان رهبر بازار رمزارزها، این این فناوری برای حفظ اطلاعات خود بهره برد.
اطلاعات در بلاکها ثبت میشوند و بلاکها با هم به صورت زنجیرهای مرتبط میشوند. این زنجیره، بلاک چین را تشکیل میدهد.
اثبات کار (proof of work) چیست؟
بعد از تعریف کوتاهی از ارز دیجیتال و بلاک چین حالا میپردازیم به مفهوم اثبات کار. اما واقعاً اثبات کار چه نوع الگوریتمی است؟ با توجه به اقتضائات دنیای ارزهای دیجیتال و اینکه در این فضا خطرات بسیاری دارایی افراد را تهدید میکند چون در ظاهر امنیت پایینی دارد. به هر حال یکی از مهمترین نکات و چالشها در حوزه ارزهای دیجیتال، همواره موضوع امنیت بوده است.
در واقع امنیت شبکههایی که ارزهای دیجیتال بر مبنای آنها ایجاد شدهاند یک ضرورت و یک موضوع همیشگی در ادبیات این بازار است که البته در این نوع بازار آن را بر اساس الگوریتم اجمااع حل میکنند. در واقع در این شبکهها، به منظور تامین امنیت در شبکه بلاک چین ارزها دیجیتال خاصه در دو حوزه دارایی و اعتبارسنجی تراکنشها، از الگوریتم اجماع استفاده میشود.
تعریف الگوریتم اجماع
در یک تعریف مشخص و با بیانی ساده میتوان گفت که الگوریتم اجماع روشی است که در آن افراد و کاربران یک شبکه غیرمتمرکز میتوانند بر اساس آن با یکدیگر در تراکنشها و بلاکها توافق کرده و به اجماع برسند. در واقع در این روش نوعی اجماع روی اطلاعات ایجاد میشود. به عنوان نمونه در شبکه بیت کوین به عنوان ارزشمندترین ارز دیجیتال موجود که لقب پادشاه بازار ارزهای دیجیتال را یدک میکشد، یک شبکه غیرمتمرکز و مبتنی بر بلاک چین است، همه کاربران به نوعی در کنترل شبکه سهم دارند؛ این یعنی همه کاربران و مشارکتکنندگان در شبکه بیت کوین به نوعی از مالکان این شبکه هستند و میتوانند نظر خود را پیرامون این شبکه اعمال کند. این روند گرچه بسیار جذاب است اما ممکن است امنیت شبکه را به خطر بیاندازد یا لااقل در حوزه امنیت برای شبکه دردسرساز شود.
در واقع در این روند سوالاتی پیرامون امنیت شبکه در ذهن کاربران ایجاد میشود. سوالاتی مانند اینکه فرد از کجا مطمئن باشد شبکه بدون نقص کار میکند و یا اینکه تقلبی در شبکه انجام نشده باشد. اصلاً از کجا باید مطمئن بود و اعتماد کرد به این شبکه در حالیکه ممکن است یک نفر تمام سرمایه و دارایی افراد شبکه را به سرقت ببرد؟ در ظاهر امر، دارایی افراد در شبکه مثل خانهای است که روی آب بنا شده و هر آن ممکن است به یکبار به زیر آب برود و نابود شود. این موضع از زمان ایجاد ارزهای دیجیتال در دهه اول قرن جدید، یک چالش جدی برای این بازار بوده است.
کارکرد اصلی الگوریتم اجماع کار
در واقع میتوان گفت که الگوریتم اجماع نوعی پاسخ به این سوالات است. با این نگاه، الگوریتم اجماع را میتوان نوعی اقدام برای اعتمادسازی و بالا بردن امنیت شبکه معرفی کرد چراکه شامل تمام قوانین و مقرراتی است که کاربر و مشارکتکننده میتواند با استناد به آنها از امنیت و صحت شبکه خیال جمع و مطمئن شود. این مهم در واقع تمام ابهامات ذهنی کاربر برای فعالیت در این بازار را از بین میبرد و او را برای حضور در این بازار نویت و فناورانه ترغیب میکند. البته الگوریتم اجماع به دو ورت اثبات سهام و اثبات کار است که درباره آنها نیز نکاتی را مختصراً بیان خواهیم کرد.
همانطور که میدانید، بر اساس الگوریتم اجماع که در واقع چیزی شبیه مقررات و قانون این شبکه است، افرادی که بخواهند در تولید بلاک مشارکت کنند باید در گام اول هزینه قدرت پردازش و مصرف برق شبکه را بپردازند و در رقابت با دیگر ماینرها یا همان اعتبارسنجها برای کسب پاداش شرکت کنند. به عبارت دیگر این افراد باید توکنها شبکه را خریداری کنند و آنها را به شبکه اختصاص دهند؛ در این مسیر، آنان خود را به عنوان سهامگذار (Stake) شبکه معرفی میکنند. حالا سوال این است که چرا باید سهامگذاری کرد و سهامگذاری چه منفعتی دارد؟ این کار برای ایجاد و تایید بلاک انجام میشود و در نتیجه اعتبارسنجها میتوانند به طور مستقیم و البته به میزان سرمایهگذاری خود از پاداشهای شبکه بهرهمند شوند. در واقع، هر چه فرد سهام بیشتری را در قالب توکن خریداری و سپس قفل کند، به همان نسبت هم میتواند پاداش بیشتری را دریافت کند. در اینجا از نوعی رقابت صحبت میشود که البته افراد در آن به شکل کاملاً تصادفی انتخاب میشوند.
با پرداخت این پاداش، شبکه بر اساس بازده سرمایهگذاری اعتبارسنجها و یا همان ماینرها که به آن ROI میگویند، نودها (node) را به ادامه فعالیت اعتبارسنجی تشویق دعوت میکند. این کار را میتوان نوعی سیاست تشویقی دانست.
امنیت در الگوریتم اجماع
حالا شاید سوال این باشد که چنین فضایی تا چه مطلوب دستکاری و دستبرد است و تا چه میزان میتواند تبهکاران و افراد نادرست را به حضور در این فضا ترغیب کند؟ پاسخ این سوال را میتوان احتمالی نزدک به صفر دانست. چراکه در این مسیر اگر فردی بخواهد در شبکه اختلال ایجاد کند و یا دست به خرابکاری و دستبرد بزند، باید بخش زیادی از توکنهای شبکه (حدود ۴۰ درصد) را خریداری کند که این کار با توجه به سیستم عرضه و تقاضا عملاً امکانپذیر نیست و یا لااقل بسیار دشوار است خاصه اینکه با توجه به هزینههای لازم، اساساً توجیه اقتصادی و زمانی ندارد.
نکته دیگر اینکه حتی اگر به فرض فردی موفق شود که در شبکه اختلال ایجاد کند و یا به آن دستبرد بزند و کارهایی از این دست، اولین بازخورد بازار این است که ارزش آن توکن به شدت افت میکند تا جایی که قیمت آن دچار ریزش عجیبی میشود. در نتیجه اولین فردی که ضرر میکند، خود فرد مخل و یا سارق است چراکه انگار به دارایی خود دستبرد زده و یا آن را کمارزش کرده است. این یکی از تفاوتهای جدی در بازار مالی سنتی با بازار مالی ارزهای دیجیتال است که در اینجا دزدی و یا دستبرد، حتی به لحاظ مالی هم به ضرر خود دزد تمام میشود و اساساً حتی در صورت موفقیت فرد، توجیه اقتصادی ندراد. به بیان ساده، فرد با دستکاری و دستبرد در شبکه به دارایی خود ضربه میزد. که این کار اصلا عقلانی نیست حتی برای یک فرد نادرست. پس با این نکات میتوان تامین امنیت شبکه را مهمترین کارکرد الگوریتمهای اجماع دانست.
الگوریتم اثبات کار چیبست؟
بگذارید در ابتدا با یه مثال راحت فضای این الگوریتم را برای شما شفاف کنیم. در بیت کوین الگوریتم اجماع، اثبات کار است. بر اساس این الگوریتم که در واقع قانون این شبکه است، افرادی که بخواهند در تولید بلاک مشارکت کنند باید در گام اول هزینه قدرت پردازش و مصرف برق شبکه را بپردازند و در رقابت با دیگر ماینرها یا همان اعتبارسنجها برای کسب پاداش شرکت کنند. در واقع شرکت در این رقابت نیاز به پرداخت ورودی دارد. خب با این حساب، اگر فردی بخواهد روی شبکه فعالیت مخرب و آسیبزنندهای روی شبکه بلاک چین بیت کوین انجام دهد، مجبور است قدرت پردازش بیشتری را نسبت به دیگر ماینرها و اعتبارسنجهایی که در مسیر صحیح فعالیت میکنند، به کار بگیرد که خب این کار بریا فرد خطاکار و مخرب، نه توجیه عقلی دارد و نه منطقی است.
باید دانست که الگوریتم اثبات کار مهمترین الگوریتم اجماع است که آن را PoW نشان میدهند. این الگوریتم در واقع پایه و اساس استخراج تمام ارزهای دیجیتال از جمله بیت کوین است. این کار بر پایه قدرت محاسباتی رایانه است و در آن ماینرها باید بر اساسا معادلات پیچیده ریاضی، اعتبار تراکنشها را تایید کنند. به عبارت بهتر، بلاک چینی که بر اساس اثبات کار فعال است به میزان تعداد کاربرانش میتواند امنیت خود را ارتقاء دهد؛ یعنی اینکه هر چه تعداد کاربران افزایش یابد، به همان میزان نیز امنیت شبکه در برابر حملات سایبری بیشتر و شبکه مقاومتر خواهد شد.
در این شرایط تنها هکری میتواند به شبکه حمله کند که قدرت محاسباتی بسیار بالایی داشته باشد که به آن حمله ۵۱درصدی میگویند. به بیان دیگر هکر باید تجهیزات استخراج را به اندازه کافی خریداری و یا اجاره کند تا بتواند حداقل به ۵۱درصد بلاک چین احاطه پیدا کند و آن را کنترل کند. در این موقع است که هکر میتواند ضربه نهایی را به بلاک چین وارد کرده و دارایی آن را به سرقت ببرد.
در بین ارزهای دیجیتال، بیت کوین به عنوان ارزشمندترین آنها از الگوریتم اثبات کار استفاده میکند و همین موضوع سبب شده که بتواند خود را به قابلیت پیادهسازی نامتمرکز قدرت و کنترل روی توزیع برسد و از سوی دیگر، تغییرات عمده اقتصادی و فنی شبکه را پیادهسازی کند.
تاریخچه اثبات کار
در سال ۱۹۹۳ بود که به منظور جلوگیری از حمله به سرویسهای اینترنتی و مقابله با اسپم ایمیل، واژه اثبات کار برای اولینبار توسط Naor و Dwork به کار برده شد. در آن زمان قرار بود که این الگوریتم به این صورت کار کند که هر کس بریا ارسال ایمیل، یک معمای ریاضی را حل کند و سپس جواب آن را به عنوان اثبات کار در ایمیل عرضه کند. در آن سوی ماجرا، دریافتکننده ایمیل نیز تنها در صورتی میتوانست ایمیل را دریافت کند که پاسخ داده شده به آ» معمای ریاضی را تایید کند. با این همه، در آن زمان این ایده مورد استقبال قرار نگرفت و داشت کمکم به فراموشی سپرده میشد تا اینکه در سال ۲۰۰۹، بیت کوین شیوه نوین و شکل جدیدتری از آن را ارائه داد که بعدها به عنوان الگوریتم اجماع در بازار مالی ارزهای دیجیتال پذیرفته شد و خیلی زود جایگاه خود را تثبیت کرد.
به دلیل وجود این الگوریتم، فعالان و کاربران شبکه میتوانند تراکنشهای انجام شده در یک بلوک را تایید کنند. در واقع یک تراکنش وقتی نهایی میشود که ماینرهای شبکه بیت کوین آن را تایید کنند. به این ترتیب بود که الگوریتم شبکه بلاک چین بیت کوین ایجاد شد. بعد از این موفقیت نسبی، دیگر ارزهای دیجیتال حاضر در این بازار نیز از الگوریتم اثبات کار به عنوان الگوریتم اجمااع خود بهره بردند.
الگوریتم اجماع کار چگونه کار میکند؟
در این نوع الگوریتم، ماینرها و یا استخراجکنندگان ارزهای دیجیتال، باید در فضایی رقابتی با یکدیگر برای حل یک معمای پیچیده ریاضی رقابت کنند. بعد از اینکه معماهای ارائه شده توسط رقابتکنندگان حل شد، آن را به شبکه اعلام میکند تا دیگر افراد حاضر در رقابت پاسخ را تایید کنند.
باید بدونید که پاسخ یک معما در واقع همان هش بلوک است و زمانی که ماینری آن را به شبکه ارسال میکند، دیگر ماینرها با تایید آن، بلاک رو تایید میکنند و در این سیکل، ماینر موفق نیز پاداش خود را دریافت میکند. این یعنی یک بلوک بدون آنکه هش صحیح برای آن پیدا شود، نمیتواند در شبکه وارد شود.
به عبارت بهتر، هش همان جواب معادله ریاضی است. اثبات کار به عنوان مهمترین عامل برای دوبار خرج کردن پول است. اثبات کار در واقع از علم رمزنگاری، توابع هش، تئوری بازی استفاده میکند تا قوانین را بر شبکه حاکم کند.
حالا با ید بدانیم که اثباتکار الگوریتمی است که بر مبنای بلاک چین ساخته شده است و بسیاری از ارزهای دیجیتال از جمله بیت کوین و اتریوم را ایمن میکند.
اکثر ارزهای دیجیتال دارای یک نهاد مرکزی یا رهبر هستند که هر کاربر و میزان پول آنها را پیگیری میکند اما در ارز دیجیتالی مانند بیت کوین که زیر نظر هیچ نهاد و دولتی نیست برای اینکه بتواند تراکنشات را بدون دخالت شرکت یا دولتی اجرا کند به proof of work یا اثبات کار نیازمند است.
مخصوصاً، اثبات کار، «مشکل دوباره خرج کردن» را حل میکند، که حل آن بدون نهاد مسئول دشوارتر است. اگر کاربران بتوانند سکههای خود را دو برابر خرج کنند، این کار باعث افزایش عرضه کلی میشود و ارزش سکههای ارزهای دیگر کاهش مییابد و آنها را غیرقابل پیش بینی و بیارزش میکند.
دوباره خرج کردن برای تراکنشهای آنلاین مسئله مهمی است چرا که تکرار آن بسیار آسان است و این موضوع با کپی پیست یک فایل یا فرستادن یک ایمیل برای امکانپذیر است.
اثبات کار، دو بار خرج کردن پول دیجیتال را بسیار بسیار سخت میکند. این به دان معناست که شخصی با استفاده از سخت افزار کامپیوتر خود همهی محاسبات را انجام دهد.
اثبات کار و بیت کوین
بیت کوین شامل بلاکهایی است که به صورت زنجیره به یکدیگر متصل هستند و یک دفتر کل مشترک دارد و همانطور که از نام بلاک چین پیداست به صورت بلاک بلاک بوده وتمام تراکنشات بیت کوین در آن ثبت و ذخیره میشود.
اثبات کار از مهمترین بخشهای بلاک چین است. بلاکها توسط ماینرها به روش اثبات کار تولید میشوند و زمانی که ماینرها با انجام محاسبات سخت به روش اثبات کار به هش مورد نظر رسیدند، یک بلاک جدید به شبکه اضافه خواهد شد که تقریباً هر 10 دقیقه اتفاق می افتد.
پیدا کردن هش با روش اثبات کار بسیار دشوار است و تنها راه برای موفق شدن در این عملیات و به دست آوردن بیت کوین، داشتن رایانههای گران قیمت و تخصصی است. اگر ماینرها محاسبات را به درستی انجام دهند بیت کوین را به دست خواهند آورد. هرچه محاسبات بیشتری انجام شود، احتمال به دست آوردن بیت کوین بیشترخواهد بود.
ماینرها دقیقاً چه محاسباتی انجام می دهند؟ همانطور که گفته شد در بیت کوین، ماینرها به اصطلاح «هش» را به صورت خروجی بیرون می دهند، یعنی ورودی را به رشته ای تصادفی از حروف و اعداد تبدیل میکنند.
هدف ماینرها از ایجاد هش، مطابق با «هدف» فعلی بیت کوین است. آنها باید یک هش با صفرهای کافی در جلو ایجاد کنند. احتمال به دست آوردن چندین صفر پشت سر هم بسیار کم است. اما ماینرها در سراسر جهان چنین محاسباتی را تریلیونها بار در ثانیه انجام میدهند، بنابراین رسیدن به این هدف به طور متوسط حدود 10 دقیقه طول میکشد.
هرکسی که اول به هدف برسد، برنده مقداری ارز دیجیتال بیت کوین است. سپس پروتکل بیت کوین یک مقدار جدید ایجاد میکند که ماینرها باید آن را هش کنند و برای اثبات کار درست و برنده شدن دوباره شروع به کار کنند.
ایجاد یک بلاک در الگوریتم اجماع اثبات کار به نوعی شبیه بازی است. تابعی مورد استفاده بیت کوین، SHA-256 است و برای حل مسئله بلاک باید با استفاده از روش آزمون و خطا، متغیرهای تابع را تغییر داد تا به بهترین ترکیب برای به دست آمدن متغیرها رسید. در این الگوریتم اثبات کار متغیرها باید به گونهای تغییر کنند که تغیر تنها یک کاراکتر، نتایج متفاوتی را ایجاد کند و در نتیجه هیچ راهی برای پیشبینی خروجی وجود نداشته باشد. به عنوان نمونه در الگوریتم اجماع بیت کوین، گرچه هشهایی با ۶۴ کاراکتر تولید میشود اما باید بدانید که تفغییر تنها یک کاراکتر، کل هش را دچار تغییر میکند. در این روند اطلاعات مربوط به تمام تراکنشها یک هش ثابت است که در یک بلاک قرار دارد.
خلاصه اینکه درالگوریتم اثبات کار با به دست آوردن نانس مدنظر، فرد میتواند درفرایند استخراج یا ماینینگ شرکت کرده و به به شبکه ثابت میکند به دلیل صرف وقت و انرژی لازم، استحقاق برخورداری از پاداش را دارد.
به هر حال روال کار در اثبات کار یک روند بسیار پیچیده با ابعاد گسترده است که نمیتوان همه آنها را بیان کرد. ضمن اینکه علاوه بر دانش این کار، فرد باید در مرحله عملیاتی نیز به پختگی و تجربه لازم برسد. پس لازم است پیش از هر کاری به طور خلاصه آنچه در الگوریتم اثبات کار گفته شد را خلاصه کنیم:
برای استخراج یا ماینینگ به روش اثبات کار باید از توان محاسباتی دستگاه ماینر استفاده کرد.
اگر فردی بتواند یک بلاک در زنجیره تولید و آن را به بلاک چین اضافه کند، بر مبنای ارز دیجیتال بومی همان بلاک چین پاداش میگیرد. مثلاً پاداش استخراج بیت کوین را با بیت کوین میپردازند.
هر شبکهای که بر مبنای بلاک چین کار میکند توسط عدهیای زیادی گره یا همان نود، نگهداری میشود اما فقط برخی از آنها به عنوان ماینر شناخته میشوند و میتوانند بلاکهای جدیدی را به شبکه اضافه کنند. به عبارت دیگر یک ماینر با ارائه نانس خاص میتواند به راحتی آن را با دادههای بلاک ترکیب و در نتیجه هش را بررسی کند. البته ناگفته نماند که محاسبه و جاگذاری نانس برای کاربرانی که ماینر نیستند هم امکانپذیر است و آنان میتوانند اعتبار یک بلوک را بدون صرف توان محاسباتی زیادی تایید کنند.
طبق پروتکل اثبات کار، ماینر برای یافتن نانس یک بلاک مجبور است در رقابت شدید با دیگر ماینرها از راه آزمون و خطا شرکت کند اما باید دانست که فقط بلاکهایی با نانس معتبر میتوانند به بلاک چین اضافه شوند.