الگوریتم اجماع بلاک چین چیست؟
اگر در مورد بلاک چینها مطالعه کرده باشید می دانید که یکی از تفاوت های اصلی بلاک چین های مختلف …
خانه »
اگر در مورد بلاک چینها مطالعه کرده باشید می دانید که یکی از تفاوت های اصلی بلاک چین های مختلف در چیزی است که الگوریتم اجماع نامیده می شود. الگوریتم اجماع مکانیسمی است که به کاربران یا ماشین ها اجازه می دهد در حالتی توزیع شده با هم هماهنگ شوند. باید اطمینان حاصل شود که همه عوامل و نودها در شبکه در مورد فقط یک منبع حقیقت و درستی واحد توافق دارند، حتی اگر برخی از عوامل با خطا مواجه شوند. به عبارت دیگر، سیستم به کمک مکانیسم اجماع نسبت به خطاها مصون می شود.
در یک سیستم متمرکز، یک شخص واحد بر سیستم کنترل دارد. در اکثر موارد، مدیران سیستم می توانند هر طور که می خواهند در مجموعه تغییر ایجاد کنند و سیستم حاکمیتی پیچیده ای برای دستیابی به اجماع بین بسیاری از مدیران وجود ندارد. اما در یک ساختار غیرمتمرکز، داستان کاملاً فرق دارد. فرض کنید که ما با یک پایگاه داده توزیع شده کار می کنیم، چگونه می توانیم در مورد صحت ورودی هایی که ثبت می شوند به توافق برسیم؟
ابداع شیوه ی غلبه بر این چالش در محیطی که غریبه ها به یکدیگر اعتماد ندارند، به طوری که اصلا نیازی به اعتماد نباشد شاید مهم ترین پیشرفتی بود که راه را برای بلاک چین هموار کرد. در این مقاله، نگاهی خواهیم داشت به اینکه چرا الگوریتم های اجماع برای عملکرد ارزهای دیجیتال و دفتر ثبت توزیع شده حیاتی هستند.
الگوریتمهای اجماع و ارزهای دیجیتال
در رمزارزها موجودی کاربران در یک پایگاه داده به نام بلاک چین ثبت می شود. ضروری است که همه (یا دقیق تر بگوییم هر گره) یک کپی یکسان از پایگاه داده را نگهداری کنند. در غیر این صورت، به زودی با اطلاعات متناقضی برخورد خواهید کرد که هدف کلی شبکه ارزهای دیجیتال را خدشه دار می کند.
رمزنگاری کلید عمومی تضمین می کند که کاربران نتوانند سکه های دیگران را خرج کنند. اما هنوز باید یک منبع حقیقت وجود داشته باشد که مشارکت کنندگان شبکه به آن تکیه کنند تا بتوانند تعیین کنند که آیا فلان نقدینگی خاص قبلاً خرج شده است یا خیر.
ساتوشی ناکاموتو خالق بیت کوین، سیستم اثبات کار را برای هماهنگی میان مشارکت کنندگان شبکه پیشنهاد کرد. به زودی به نحوه عملکرد این سیستم که به PoW معروف است، خواهیم پرداخت. فعلا برخی از ویژگیهای مشترک الگوریتم های اجماع موجود را بررسی خواهیم کرد.
اول این که ما از کاربرانی که می خواهند بلوک ها را به زنجیره اضافه کنند و ما آن ها را تاییدگر می نامیم، می خواهیم یک سپرده یا وثیقه ایجاد کنند. سپرده نوعی دارایی است که اعتباردهنده یا تاییدگر باید تامین کند و باعث می شود که آنها از رفتار غیر صادقانه منصرف شوند زیرا اگر تقلب کنند، سپرده ی خود را از دست خواهند داد. این سپرده یا دارایی می تواند قدرت محاسباتی، ارز دیجیتال یا حتی شهرت باشد.
اما چرا آنها باید به خود زحمت دهند و منابع خود را به خطر بیندازند؟ خب، چون پای یک جایزه نیز در میان است. این پاداش معمولاً از ارز دیجیتال بومی همان پروتکل داده می شود و از کارمزدها و هزینه هایی که توسط سایر کاربران پرداخت شده یا واحدهای ارز دیجیتال تازه تولید شده یا هر دو تامین می شود.
آخرین چیزی که ما نیاز داریم شفافیت است. ما باید بتوانیم تشخیص دهیم که چه کسی در حال خیانت به سیستم است. در حالت ایده آل، تولید بلاک ها باید برای آن ها عملی هزینه بر، اما اعتبارسنجی بلاک ها برای همه ارزان باشد. این رویه تضمین می کند که اعتبارسنجی ها توسط کاربران عادی قابل کنترل باشند.
انواع اصلی الگوریتم های اجماع
اثبات کار (PoW)
اثبات کار (Proof of Work) پدرخوانده ی الگوریتم های اجماع بلاک چین محسوب می شود. گرچه این الگوریتم اولین بار در بیت کوین پیاده سازی شد، اما مفهوم آن از مدت ها پیش وجود داشته است. در اثبات کار، تاییدگرها یا همان ماینرها داده هایی را که می خواهند اضافه کنند تا زمانی که راهکار خاصی تولید شود، هش می کنند.
هش یک رشته ی تصادفی از حروف و اعداد است که هنگام اجرای داده ها از طریق یک تابع هش ایجاد می شود. اگر دوباره همان داده ها را از طریق آن اجرا کنید، همیشه با همان خروجی مواجه خواهید شد. با این حال، حتی اگر یکی از جزئیات را تغییر دهید، هش شما کاملاً متفاوت خواهد بود.
با نگاه کردن به خروجی یا همان هش، احتمالاً نمی توان گفت که چه اطلاعاتی وارد تابع شده است، اما برای اثبات اینکه شما مقداری اطلاعات را قبل از زمان مشخصی می دانستید مفید هستند. می توانید هش آن اطلاعات را به شخصی بدهید تا وقتی بعدا داده ها را فاش کردید، آن شخص بتواند آن را از طریق تابع اجرا کند و مطمئن شود که خروجی یکسان است. در اثبات کار، خود پروتکل شرایط یک بلوک معتبر را تعیین می کند. به عنوان مثال، ممکن است بگوید فقط بلاکی که هش آن با 00 شروع می شود معتبر خواهد بود. تنها راه ماینر برای ایجاد بلاکی که با آن ترکیب منطبق است، این است که مرتبا پارامتری را در دادههای خود تغییر دهد تا برای هر حدس، نتیجه متفاوتی ایجاد کند و این قدر این کار را ادامه دهد تا زمانی که هش مناسب را به دست آورند.
در بلاک چین های اصلی، میزان حدس های مورد نیاز در مقادیر بسیار بالا در نظر گرفته می شود. برای رقابت با سایر ماینرها، شما به یک انبار پر از سخت افزار مخصوص هشینگ (ASIC) نیاز دارید تا شانس تولید یک بلاک معتبر را داشته باشید.
در روش اثبات کار آن چیزی که قرار است هنگام ماینینگ سپرده گذاری کنید، هزینه این ماشین ها و برق مورد نیاز برای راه اندازی آنهاست. ASIC ها برای یک هدف ساخته شده اند، بنابراین در برنامه های کاربردی خارج از استخراج ارزهای دیجیتال کاربردی ندارند. تنها راه شما برای بازگرداندن سرمایه اولیه، استخراج است که اگر با موفقیت یک بلاک جدید به بلاک چین اضافه کنید، پاداش قابل توجهی به همراه خواهد داشت.
اثبات سهام یا سپرده (PoS)
روش اثبات سهام (PoS) در روزهای اولیه ی شروع به کار بیت کوین به عنوان جایگزینی برای اثبات کار پیشنهاد شد. در یک سیستم PoS، هیچ خبری از ماینرها، سخت افزارهای تخصصی یا مصرف انبوه انرژی نیست. تنها چیزی که نیاز دارید یک کامپیوتر معمولی است.
خب، البته چند مورد دیگر هم نیاز است. شما هنوز باید چیزی را به عنوان سپرده وسط بگذارید. در PoS، شما یک منبع بیرونی مثل برق یا سخت افزار ارائه نمی کنید، بلکه یک منبع داخلی مثل رمزارز را وسط می گذارید. قوانین در هر پروتکل متفاوت است، اما عموما یک مقدار ثابت نقدینگی وجود دارد که باید برای واجد شرایط بودن سپرده گذاری کنید.