انواع مکانیسم های توافق در بلاکچین (Consensus Mechanisms)

اکثر بلاکچین ها توابع مشابه و مشترکات زیادی دارند. ولی یکی از راههایی که باعث منحصر به فرد شدن بلاکچین می شود مکانیسم توافق است. کدام تراکنش قابل قبول و کدام تراکنش به بلاکچین اضافه خواهد شد. بلاکچین این کار را از طریق انواع مکانیسم توافق انجام می دهد, در این مقاله ما مهمترین مکانیزم ها و چند مکانیزم دیگر را توضیح می دهیم.

مکانیسم توافق چیست؟

به طور خلاصه مکانیزم توافق پروتکلی است که مطمئن می شود تمام نودها (دستگاههای موجود در بلاکچین که بلاکچین را حفظ می کند و بعضا معاملات را پردازش می کند) باهم هماهنگ شده و در مورد اینکه کدام تراکنش ها قابل قبول است و می تواند به بلاکچین اضافه شود توافق می کنند.

مکانیزم توافق برای بلاکچین خیلی مهم است تا بتواند به درستی کار کند. این مکانیزم اطمبنان می دهد که همه از بلاکچین یکسانی استفاده کنند. هر کسی می تواند مواردی را به یلاکچین اضافه کند, بنابراین خیلی ضروری است که تراکنش ها به طور مداوم بررسی شوند و بلاکچین به طور مداوم توسط همه ی نودها کنترل شود. بدون یک مکانیزم توافق خوب, بلاکچین ها در معرض حملات مختلف قرار دارند.

روش های زیادی برای دستیابی به اتفاق نظر وجود دارد ، بنابراین ما به محبوب ترین روش ها می پردازیم.

اثبات کار (POW)

Proof Of Work (POW) اولین مکانیسم توافق بلاکچین است و اولین بار توسط بیت کوین استفاده شد. بسیاری از ارزهای رمزنگاری شده از بیت کوین پیروی کرده و این مکانیزم توافق را نیز در پیش گرفته اند.

روند اثبات کار به استخراج (mining) و گره ها به عنوان استخراج کننده (miners) شناخته می شوند. ماینرها معماهای پیچیده ریاضی را حل می کنند که به قدرت محاسباتی زیادی نیاز دارند. اولین کسی که موفق به حل این معما می شود یک بلوک ایجاد می کند و برای ایجاد یک بلوک پاداش دریافت می کند. این معماهای ریاضی دارای ویژگی های جالبی هستند.

اول از همه ، آنها نامتقارن هستند ، به این معنی که یافتن پاسخ به زمان زیادی نیاز دارد ، اما تأیید صحت پاسخ آسان است.

ثانیا ، تنها راه حل این معما ها “حدس زدن” پاسخ است. حل سریع معماها با استفاده از روش دیگری غیر از آزمون و خطا امکان پذیر نیست. این همچنین بدان معنی است که اگر کسی بخواهد سریعتر راه حل معما را پیدا کند ، به قدرت محاسباتی بیشتری احتیاج دارد که بسیار هزینه بر خواهد بود.

در آخر اینکه ، دشواری این پازل ها بسته به سرعت استخراج بلوک ها تغییر می کند. برای حفظ یک منبع ثابت کوین های جدید ، بلوک ها باید در یک بازه زمانی مشخص ایجاد شوند. اگر بلوک ها خیلی سریع ایجاد شوند ، پازل ها سخت تر می شوند و اگر خیلی آهسته ایجاد شوند ، پازل ها راحت تر می شوند.

این فرایند تضمین می کند که برای اینکه بتوانید یک بلاک ایجاد کنید، قبل از هرچیزی به محاسبات زیادی احتیاج دارید تا معما را کنید. اما استخراج کنندگان چگونه این بلوک ها را استخراج می کنند؟

ماینرها می توانند با استفاده از سخت افزارهای مختلف بلوک ها را استخراج کنند:

CPU Mining - استفاده از CPU رایانه معمولی برای تأیید تراکنش ها در اثبات پروتکل توافق.

GPU Mining - این روش بی شباهت به استخراج CPU نیست ، با این حال در این حالت از کارت گرافیک استفاده می شود. کارت های گرافیک در حالی که از برق کمتری استفاده می کنند قدرت بیشتری دارند.

FPGA Mining – همچنین به عنوان " Field-Programmable Gate Array mining" شناخته می شود. FPGA یک مدار مناسب برای یک کار محاسباتی خاص است که باعث می شود آنها در استخراج چندین برابر سریعتر از پردازنده های معمولی باشند.

ASIC Mining - مخفف “Application-specific integrated circuit” است ، یک مدار سفارشی برای استفاده خاص. ASIC ها از نظر سرعت و کارایی به راحتی از CPU ها ، GPU ها و FPGA ها سبقت می گیرند ، به طور کلی فقط برای استخراج بیت کوین استفاده می شوند.

Mining Pools - برای افزایش احتمال موفقیت استخراج ماینرهای بلوک ، منابع خود را تقسیم می کنند ، و هر پاداش بالقوه بستگی به میزان کمک هر ماینر دارد.

Cloud Mining - برخی از ماینرها ، قدرت پردازش خود را برای مدت زمانی خاص به سایر ماین کنندگان اجاره می دهند.

برگرفته از lisk.io

اگرچه یک اشکال اساسی در مکانیسم Proof Of Work توافق وجود دارد. این مکانیسم از منابع زیادی استفاده می کند و گفته می شود در آینده پایدار نیست ، به همین دلیل است که برخی از بلاکچین ها به مکانیزم توافق مختلف منتقل می شوند.

برای اینکه ایده ای از این داشته باشید که بلاکچین با استفاده از Proof Of Work چقدر می تواند انرژی مصرف کنند، نمودار فوق را آورده ایم، که تخمین می زند بیت کوین چه مقدار انرژی را طی 2 سال گذشته مصرف کرده است. Digiconomist تخمین می زند که فقط در سال گذشته ، بیت کوین تقریباً 73.12 TWh مصرف کرده و هزینه تخمینی آن 3،656،073،069 دلار بوده است.

اثبات سهام (POS)

Proof Of Stake (POS) برادر سازگار با محیط زیست پروتکل Proof Of Work است. Proof Of Stake از این پیش فرض استفاده می کند که کسانی که بیشترین سکه ها را در شبکه دارند ، علاقه مند به حفظ شبکه و ارزش بالای سکه های آن هستند.

در سیستمی که از Proof Of Stake استفاده می کند، برای تعیین اینکه چه کسی بلوک بعدی را تولید می کند، از فرایند تصادفی استفاده می شود. کاربران می توانند توکن های خود را برای اعتبار سنج شدن (validator کسی که می تواند بلوک تولید کند) گرو بگذارند، این بدان معنی است که آنها توکن های خود را برای مدت زمان مشخص قفل می کنند. پس از انجام این کار، آنها قادر به تولید بلوک هستند. فرایندی که تصمیم می گیرد چه کسی می تواند بلوک بعدی را تولید کند ، چند عامل را در نظر می گیرد ، اینکه این عوامل چیست به طراحی بلاکچین بستگی دارد، اما به طور کلی، شخصی که بیشترین سهم را دارد بیشترین شانس را برای تولید بلوک دارد. به عنوان مثال یکی دیگر از عواملی که می توان در نظر گرفت ، مدت زمان گرو گذاشتن توکن ها است.

اعتبارسنجان (Validators) همچنین به خاطر کارشان پاداش می گیرند. پاداشی که validator برای ایجاد بلاک بعدی دریافت می کند، به طراحی بلاکچین بستگی دارد. معمولاً آنها یا تمام یا بخشی از هزینه های فی تمام تراکنش ها را در بلاکی که ایجاد کرده اند دریافت می کنند یا مقدار مشخصی سکه دریافت می کنند (که از طریق تورم تولید می شود).

Proof Of Stake نه تنها بسیار کمتر از سیستم Proof Of Work انرژی مصرف می کند، بلکه تمایز عمده دیگری نیز دارد. در سیستم Proof Of Work ، یک استخراج کننده ممکن است مالک هیچ یک از سکه هایی که در حال استخراج هستند نباشد، به این معنی که آنها فقط به دنبال به حداکثر رساندن سود خود هستند بدون اینکه واقعاً شبکه را بهبود بخشند. در سیستم Proof Of Stake اعتبارسنجان انگیزه بسیار بیشتری برای نگه داشتن شبکه دارند زیرا در واقع سکه های بلاکچینی را که روی آن اعتبار سنجی می کنند نگه می دارند.

اثبات نمایندگی سهام (DPOS)

Delegated Proof of Stake (DPOS) مکانیسمی بسیار سریع برای توافق است و بیشتر به دلیل اجرای آن در EOS شناخته می شود و به لطف سیستم رأی دهی با وزن ، اغلب از آن به عنوان دموکراسی دیجیتال یاد می شود.

در یک سیستم اثبات شده سهام ، کاربران می توانند سکه های خود را برای رای دادن به مقدار مشخصی از نمایندگان ، گرو بگذارند. وزن رأی آنها به میزان سهام آنها بستگی دارد ، به عنوان مثال ، اگر A ، 10 کوین را برای نماینده ای گرو بگذارد و B, 1 کوین برای نماینده گرو بگذارد، وزن رای A 10 برابر سنگین تر از B است.

اما نماینده چیست؟ نماینده یک شخص یا سازمانی است که می خواهد بلوک هایی را در شبکه تولید کند. نمایندگانی که بیشترین میزان آرا را کسب می کنند ، بلوک تولید می کنند و با ایجاد این بلوک ها پاداش می گیرند. درست مثل Proof Of Stake ، پرداخت به آنها یا از فی تراکنش انجام می شود یا مقدار مشخصی کوین به آنها پرداخت می شود که از طریق تورم ایجاد می شوند. اینکه چه تعداد نماینده می توانند بلوک تولید کنند ، به طراحی بلاکچین بستگی دارد، به طور کلی ، این مبلغ یا یک مبلغ ثابت است یا همه نمایندگان بالای یک حق الزحمه خاص هستند. نماینده های ارشد می توانند دائما تغییر کنند.

نماینده شدن به جای آنکه به سادگی با برداشت از سرمایه انجام شود می تواند با گرو گذاشتن سرمایه برای کارهایی مثل بازاریابی, کارهای قانونی یا لابی گری باشد, و رای بگیرد. بنابراین آنها می توانند برخی از وظایفی را که کارکنان سایر شرکت ها انجام می دهند را در شبکه انجام دهند.

بنابراین ، انگیزه های قوی ای برای همه نمایندگان وجود دارد که نه تنها امنیت شبکه را تأمین کنند، بلکه از روش های دیگر برای سهامداران ارزش فراهم کنند.
-Daniel Larimer

از آنجا که نمایندگان می خواهند هرچه بیشتر رأی بگیرند ، دائماً انگیزه ایجاد چیزهای باارزش برای جامعه را فراهم می کنند، زیرا احتمالاً آرا اضافی برای این کار دریافت می کنند.

پروتکل Delegated Proof of Stake در پردازش تراکنش ها نیز بسیار کارآمدتر از پروتکل های فوق است. همانطور که در تصویر بالا مشاهده می کنید ، فعال ترین بلاکچین ها که به ترتیب میزان معاملات 7 روز گذشته مرتب شده اند ، همه از پروتکل Delegated Proof Of Stake یا نوع دیگری از آن استفاده می کنند. همچنین می توانید شاخص CUI را در سمت راست تصویر مشاهده کنید ، که نشان می دهد یک بلاکچین میزان معاملات دریافتی خود را به خوبی مدیریت می کند. بلاک چین هایی که از پروتکل Delegated Proof Of Stake استفاده می کنند در اداره همه معاملات دریافتی مشکلی ندارند ، با این وجود بلاک چین هایی که از پروتکل Proof Of Work استفاده می کنند در مدیریت و بررسی مقدار معاملات بسیار کمی از انجام تراکنش ها مشکل دارند در مقایسه با تراکنش هایی که بلاک چین های بزرگتر در حال انجام آن هستند.

دیگر مکانیزم های توافق

اکنون شما در مورد 3 مکانیزم توافق رایج خواندید، شاید از خود بپرسید که چه مکانیزم های توافق دیگری وجود دارند. در زیر برخی از آنها را توضیح داده ایم.

اثبات ظرفیت (POC)

Proof of Capacity مکانیسم توافقی است که از فرایندی به نام plotting استفاده می کند. با استفاده از Proof Of Work ماینرها از محاسبات برای حدس زدن راه حل صحیح استفاده می کنند، با این حال ، با اثبات ظرفیت ، راه حل ها در حافظه های دیجیتال (مانند دیسک های سخت) از قبل ذخیره می شوند. به این روند plotting می گویند. بعد از اینکه یک فضای ذخیره سازی ترسیم (plot) شد (به این معنی که با راه حل هایی پر شده است) می تواند در روند ایجاد بلوک شرکت کند.

هر کسی که سریعترین راه حل را برای معمای یک بلوک (جدید) داشته باشد ، می تواند بلوک جدید را ایجاد کند. هر چقدر ظرفیت ذخیره سازی بیشتری داشته باشید ، راه حل های بیشتری می توانید ذخیره کنید و احتمال ایجاد بلوک بیشتر برای شما بیشتر خواهد بود.

اثبات زمان سپری شده (POET)

Proof of Elapsed Time مکانیزمی توافقی است که هدف آن تصمیم گیری تصادفی و عادلانه برای انتخاب تولید کننده ی بلوک است که بر اساس زمان انتظار آنها انجام می شود. برای تصمیم گیری در مورد اینکه چه کسی می تواند یک بلاک تولید کند ، در این فرآیند به هر گره زمان انتظار تصادفی اختصاص داده می شود. گره ای که زمان انتظار آن به پایان می رسد می تواند بلوک بعدی را تولید کند.

این مکانیسم توافق تنها در صورتی می تواند کار کند که سیستمی وجود داشته باشد برای تأیید اینکه هیچ کس نتواند چندین گره را همزمان اجرا کند و زمان انتظار اختصاص داده شده واقعا تصادفی باشد. بدون وجود سیستمی مانند این مکانیسم توافق دارای اشکالات عمده ای است.

در نهایت همه این مکانیسم ها یک هدف دارند: دستیابی به اتفاق نظر در یک شبکه غیرمتمرکز. اگرچه ، علیرغم اینکه این مکانیسم ها یک هدف مشترک دارند ، اما آنها از نظر رویکرد رسیدن به اتفاق نظر بسیار متفاوت هستند. در حالی که مکانیسم توافق کامل هنوز وجود ندارد ، جالب و الهام بخش است که ببینید مکانیزم های توافق در طول زمان چگونه به تکامل رسیده و با نیازهای متغیر پروتکل مانند این سازگار شده اند و مطمئنا دیدن بوجود آمدن ایده های جدید جذاب خواهد بود.
منبع: Different Blockchain Consensus Mechanisms | HackerNoon

12 پسندیده