الگوریتم

الگوریتم اجماع از مهمترین فرایندهای موجود در شبکههای بلاکچین است. در حال حاضر اجماع در بسیاری از پروژهها تفاوتها را رقم میزند. تفاوت میان اتریوم و اتریوم ۲ با آن همه بهروزرسانی و حرف و حدیث، صرفاً در تغییر مکانیسم از اثبات کار به اثبات سهام است. همه ایرادهایی که به بیت کوین در مورد مصرف انرژی میگیرند باز هم از مکانیسم اجماع آب میخورد. با رمزینکس همراه باشید تا شما را با انواع آن آشنا کنیم.
فهرست مطالب
اهداف مکانیسم اجماع بلاکچین
1-توافق واحد
یکی از اهداف اصلی مکانیسمهای اجماع دستیابی به توافق واحد است.
برخلاف سیستمهای متمرکز که در آنها وجود اعتماد لازم است، کاربران میتوانند حتی بدون ایجاد اعتماد به یکدیگر به شیوهای غیرمتمرکز عمل کنند. پروتکلهای به کار رفته در شبکه بلاکچین توزیع شده تضمین میکند که دادههای دخیل در فرایند درست و دقیق بوده و وضعیت دفتر عمومی به روز است.
2-تنظیم مشوق اقتصادی
وقتی در یک سیستم وجود اعتماد امری لازم و ضروری نباشد تنظیم و همسو کردن منافع مشارکتکنندگان در شبکه ضروری است.
در این شرایط، پروتکل بلاکچین اجماعی در مقابل رفتار خوب به مشارکتکنندگان پاداش داده و بازیگران بد را مجازات میکند. به این ترتیب، پروتکل انگیزههای اقتصادی مشارکتکنندگان را نیز تنظیم میکند.
3-عادلانه و برابر بودن
مکانیسمهای اجماع به هر کسی اجازه میدهد تا در شبکه شرکت کرده و از اصول اولیه یکسان آن استفاده کند. به این ترتیب، ویژگی منبع باز و غیرمتمرکز بودن سیستم بلاکچین اثبات میشود.
4-جلوگیری از دابل اسپندینگ یا دو بار خرج کردن
مکانیسمهای اجماع بر اساس الگوریتمهای خاصی کار میکند .تنها تراکنشهایی در دفتر عمومی شفاف گنجانده میشوند که تأیید شده و معتبر باشند . این رویکرد مشکل سنتی دابل اسپندینگ (double-spending)، یعنی مشکل دوبار خرج کردن ارز دیجیتال، را حل میکند.
5-تحمل خطا
ویژگی دیگر روش اجماع این است که از تحملپذیری خطا، پایداری و قابل اعتماد بودن بلاکچین اطمینان کسب میکند. این یعنی سیستم تحت کنترل حتی در صورت شکست و تهدیدها نیز به طور نامحدود کار میکند.
در حال حاضر تعداد زیادی الگوریتم اجماع بلاکچین در اکوسیستم ارزهای دیجیتال وجود دارد و بسیاری دیگر نیز در حال ورود به بازار هستند. این بازار پررونق باعث میشود شرکتهای توسعه بلاکچین و کارآفرینان مشتاق باید حتماً با عوامل تعیین کننده یک پروتکل اجماع خوب و تأثیر احتمالی داشتن یک پروتکل ضعیف آشنا شوند.
حالا که با مقدمات روشهای اجماع بلاکچین آشنا شدید بیایید عمیقتر به موضوع بپردازیم و انواع رایج مکانیسم اجماع را بررسی کنیم.
ویژگیهای یک مکانیسم اجماع بلاکچین خوب
1-ایمنی
در یک مکانیسم اجماع خوب همه گرهها قادر به ایجاد نتایج معتبر مطابق بر قوانین پروتکل هستند.
2-شمولیت
در یک مکانیسم بلاکچین اجماع خوب تمام گرههای شبکه فرصت مشارکت در روند رأیدهی را دارند.
3-مشارکتی بودن
مکانیسم اجماعی خوب است که در آن همه گرهها به طور فعال مشارکت کرده و در به روز رسانی کردن پایگاههای داده در بلاکچین مشارکت دارند.
4-تساوی طلبی
یکی دیگر از ویژگیهای یک مکانیسم خوب این است که به تمام رأیهای دریافتی از هر نود ارزش و وزن برابری میدهد.
با این حساب بیایید ببینیم اگر این عوامل را در نظر نگیرید و یک مدل اجماع ضعیف را در فرایند توسعه خود به کار بگیرید چه اتفاقی خواهد افتاد.
روش کشت سود در بسترهای دیفای
پیامدهای انتخاب پروتکلهای اجماع بد
فورکهای بلاکچین
انتخاب روش اجماع بلاکچین باعث افزایش آسیبپذیری زنجیره میشود. یکی از این آسیب پذیریها که علاقمندان و توسعه دهندگان بلاکچین با آن روبرو هستند فورکهای بلاکچین است.
فورک بلاکچین به زبان ساده به وضعیت یا شرایطی گفته میشود که در آن یک زنجیره واحد به دو یا چند زنجیره جداگانه تقسیم میشود.
پس از ایجاد فورک بلاکچین برنامه به طور غیرقابل پیش بینی شروع به کار میکند و دو یا چند گره جدا ایجاد میکند.
عملکرد ضعیف
در صورت استفاده از مکانیسم بلاکچین اجماع بد یا گره به درستی عمل نمیکند یا دچار مشکل ناشی از تقسیم شدن شبکه میشود. این مشکلات روند تبادل پیام بین گرهها را به تأخیر انداخته و زمان تأخیر برنامه را افزایش میدهد که در نهایت موجب تضعیف عملکرد شبکه میشود.
اختلال در اجماع
یکی دیگر از تأثیرات استفاده از مکانیسمهای اجماع بد در مدل کسب و کار اختلال در رسیدن به اجماع است. در این شرایط، بخشی از گرهها نمیتوانند در هیچ فرایندی شرکت کنند و در نتیجه در صورت عدم وجود آرای آنها، اجماع نمیتواند نتایج دقیق و دلخواه را ارائه دهد.
مکانیسم اجماع از پایههای دنیای ارزهای دیجیتال است که تبدیل به بهانهای برای ایراد گرفتن پروژههای از یکدیگر شده است. مکانیسم اثبات سهام و اثبات کار دو نوع رایج از اجماع هستند که هر یک مزایا و معایب خود را دارند و توسط ارزهای بیت کوین و اتریوم ۲ به کار گرفته شدهاند.
الگوریتمهای اجماع
به عبارت ساده، الگوریتم مکانیسم اجماع بلاکچین (consensus algorithm) روشی است که از طریق آن همه همتاهای یک شبکه بلاکچین در مورد وضعیت دفتر کل توزیع شده در زمان واقعی به توافق یا اجماع مشترک میرسند.
مکانیسم اجماع، شبکه بلاکچین را قادر میسازد تا ضمن ایجاد اطمینان و برقراری اعتماد میان گرههای مختلف، امنیت را نیز در محیط بلاکچین تضمین کند. به همین دلیل است که مکانیسم اجماع یکی از بخشهای حیاتی هر راهنمای توسعه برنامه بلاکچین و هر پروژه برنامه غیرمتمرکز در محیط دفتر توزیع شده است.
این الگوریتمها بر اساس اهداف مختلفی عمل میکنند که در بخش بعدی این مقاله به تعدادی از آنها میپردازیم.
در این مقاله می خواهیم انواع الگوریتم های اجماع را به شما معرفی کنیم. این الگوریتم های اجماع که به نام الگوریتم های ارز دیجیتال نیز شناخته می شوند در واقع راه کاری هستند که هر کدام از ارز های دیجیتال و شبکه های بلاک چین برای خود استفاده می کنند. در این مقاله لیست الگوریتم ارزهای دیجیتال را به شما معرفی می کنیم و مزایا و معایب هر کدام از آن ها را برایتان بیان می کنیم.
یکی از ویژگی های بلاک چین و به دنبال آن ارز های دیجیتال ، غیر متمرکز بودن آن ها است. اگر بخواهیم به زبان ساده غیر متمرکز بودن را تعریف کنیم باید بگوییم در این حالت اطلاعات و مواردی که در سیستم وجود دارند در یک سرور مرکزی ذخیره و یا پردازش نمی شوند و تمامی اطلاعات به صورت پخش شده در چندین دستگاه نگهداری می شود. به سرور هایی که این اطلاعات را نگهداری می کنند به اصطلاح نود یا گره گفته می شود.
بزرگ ترین دلیلی که باعث شده این نوع دفتر کل های توزیع شده محبوبیت شوند ،امنیت بسیار بالا و همچنین اطمینان از عدم نابودی و از بین رفتن داده ها است. در این نوع بلاک چین ها حتی اگر اطلاعات یک کامپیوتر به کلی از بین برود هیچ جای نگرانی وجود ندارد زیرا این اطلاعات در هزاران و یا میلیون ها دستگاه دیگر وجود دارد.
حال اگر این اطلاعات نیاز به تغییر و به روز رسانی داشته باشند این اتفاق باید در تمام گره ها رخ دهد. برای این کار مفهومی به نام الگوریتم اجماع وارد میدان میشود.
الگوریتم اجماع به زبان ساده به معنی روش هایی برای به توافق رسیدن اعضای درون شبکه است.
کاربرد های الگوریتم اجماع
به طور کلی کاربرد های این الگوریتم ها را می توان در سه مورد زیر ذکر کرد:
- تصمیم گیری برای این که آیا یک تراکنش صلاحیت تایید شدن و در ادامه ذخیره شدن
- انتخاب گره ها (نود ها ) برای مدیریت امور انجام شده بر روی دفتر کل
- تضمین یکدست سازی اطلاعات بر روی سیستم های سرویس دهنده به شبکه
سیستم توافق توزیع شده و یا همان به اصطلاح اجماع ، به این معنا است که در زمان ارسال و یا دریافت پول و ارز از هر شخص، دیگر نیاز به حضور سرویس های شخص ثالث مانند بانک ها و یا موسسات مالی نباشد.
در روش های پرداخت به صورت سنتی، شما باید به یک شخص ثالث که هر دو طرف معامله با آن موافق باشید اعتماد کنید تا بتوانید تراکنشتان را انجام دهید. برای مثال شما برای ارسال و یا دریافت پول باید به سرویس هایی مانند بانک ها، پی پال، مستر کارت و یا ویزا کارت اعتماد کنید. این سرویس ها تمام تاریخچه تراکنش های شما و همچنین موجودی شما را ذخیره و نگه داری می کنند.
اما در مورد ارز های دیجیتال مانند بیت کوین همچین موردی وجود ندارد. در ارز های دیجیتالی هر شخص یک کپی از دفتر کل توزیع شده را دریافت می کند و به صورت مستقیم این امکان را دارد تا بتواند اطلاعات مورد تایید خود را در این دفتر وارد کنند. در ادامه مقاله مهم ترین الگوریتم های اجماع را برایتان معرفی می کنیم.
اگر می خواهید خودتان دست به کار شده و ارز دیجیتال مورد نظرتان را استخراج نمایید حتما از آموزش استخراج ارز دیجیتال دیدن فرمایید. در این آموزش تمام نکات و آموزش ها به زبان ساده و عملی به شما نمایش داده شده و اگر کاربر مبتدی هستید نیز می توانید از این آموزش به خوبی استفاده نمایید.
انواع الگوریتم های اجماع:
1-الگوریتم گواه اثبات کار (Proof of Work )
پروتکل گواه اثبات کار، پروتکلی است که ساتوشی ناکاموتو برای بیت کوین پیاده سازی کرده است. ناکاموتو این الگوریتم را برای انتخاب گره ها در بیت کوین انتخاب کرده است و آن بیشتر برای محافظت در برابر خطا های بیزانس استفاده می شود. از جمله مشکلاتی که با این الگوریتم برطرف می شود مشکل دو بار خرج کردن پول ها است.
یک گره در شبکه وظیفه دارد تا یک مسأله رمزنگاری شده را حل کند. در این حالت، احتمال یافتن پاسخ درست به میزان تلاش و قدرت محاسبه بستگی دارد. یافتن پاسخ مسأله ها بسیار دشوار است و فقط با حدس زدن می توان به جواب درست رسید.
بنابراین باید این طور به شما بگوییم:
- هر گره در شبکه می تواند برای پیدا کردن جواب مسأله تلاش کند.
- تعداد زیادی از گره ها در شبکه بیت کوین برای پیدا کردن جواب در مدت زمان معینی تلاش می کنند. (در شبکه بیت کوین این مدت زمان 10 دقیقه است ).
- راه حل را تنها می توان به صورت تصادفی پیدا کرد.
گره مخرب
گره ای که بخواهد به صورت مخرب در شبکه فعالیت کند، فرصت بسیار کمی برای وارد کردن بلاک مخرب در شبکه دارد. این احتمال زمانی زیاد می شود که فرد یا گروه حمله کننده بتواند حداقل 51 درصد از کل نیروی موجود در شبکه را در اختیار داشته باشد. به همین دلیل می توان گفت روش گواه اثبات کار یک سیستم غیر قابل نفوذ را ارائه داده است. این سیستم تنها در حالتی قابل نفوذ می شود که بتوان حداقل 51 درصد نیروی شبکه را تامین کرد.
گاهی اوقات ممکن است که بیشتر از یک گره و به صورت هم زمان به جواب مسئله دست پیدا کنند. هنگامی که این اتفاق رخ دهد، هر یک از گره های یابنده جواب، یک بلاک را پیشنهاد می دهد و آن را برای شبکه ارسال می کند.
در این حالت، این بلاک ها توسط بلاک های کناری برداشت می شود و به صورت موقت یک بلاک چین شکل گرفته و بلاک های جدید به آن زنجیره اضافه می شوند. در نهایت پروتکل گواه اثبات کار، شاخه ای که طول بیشتری دارد و طولانی تر است را به عنوان زنجیره رسمی میشناسد و سایر بلاک ها را از بین می برد.
نقاط قوت الگوریتم PoW
در شبکه بیت کوین هر گره ای که برای ایجاد بلاک جدید موفق عمل کند و انتخاب شود، بابت فعالیت در شبکه و ثبت تراکنش ها پاداش میگیرد که این پاداش را به صورت بیت کوین دریافت میکند.
از آن جا که انجام محاسبات و پیدا کردن جواب درست مسئله کاری بسیار سخت و البته پر هزینه می باشد، ماینر های فعال در شبکه معمولا بر روی یک شاخه از بلاک چین تمرکز می کنند. آن ها شاخه ای را انتخاب می کنند که به نظر می رسد به عنوان شاخه اصلی شناخته می شود.
نقاط ضعف الگوریتم PoW
چندین نقطه ضعف شناخته شده برای این الگوریتم وجود دارد که از مهم ترین آن ها می توان به هزینه ها و مصرف انرژی بسیار بالای آن اشاره کرد. علاوه بر آن، موارد زیر را هم به لیست نقطه ضعف های این الگوریتم اضافه کنید
1-استخراج متمرکز
همان طور که می دانید در بخش پردازنده های کامپیوتری یا همان CPUها، اختلافات زیادی در بین مدل های مختلف و قدرت های آنان وجود دارد. از این رو به طور معمول افرادی با سیستم های ضعیف شانس کمتری نسبت به افراد با سیستم های قدرتمند برای حل مسئله و دریافت پاداش دارند.
در نتیجه، الگوریتم گواه اثبات کار نمی تواند الزامات الگوریتم اجماع را براورده سازد. بر اساس این الزامات، گره های تصادفی باید در میان گسترده ترین جمعیت ممکن از شرکت کنندگان و ماینر ها انتخاب شوند. وجود این ضعف باعث می شود تا خطر متمرکز شدن استخراج بالا رود. یکی از این خطر ها استخر های بزرگ پول هستند.
2-تاخیر زمانی زیاد
در شبکه بیت کوین، بلاک های جدید هر 10 دقیقه ایجاد می شوند. در نتیجه ی این زمان، انتظار برای تایید شدن یک بلاک تولید شده ممکن است تا ساعت ها زمان ببرد. دلیل این اتفاق هم این است که یک تراکنش حتما باید توسط گره هایی که در زنجیره اصلی وجود دارند تایید شود. علت این کارهم این است که مطمئن شویم بلاک تولید شده به شاخه اصلی در بلاک چین اصلی وصل شده است.
3-نرخ پایین تراکنش
حداکثر بلاک های تایید شده توسط الگوریتم گواه اثبات کار در شبکه ارز دیجیتال بیت کوین، مقدار هفت تراکنش در هر ثانیه است. این مقدار با توجه به تعداد بالای تراکنش ها در شبکه بسیار ناچیز است و این مورد محدودیت بزرگی برای بیت کوین است.
2- الگوریتم گواه اثبات سهام (Proof of Stake )
الگوریتم گواه اثبات سهام و یا به طور خلاصه PoS یکی دیگر از الگوریتم های اجماع بسیار معروف و پرکاربرد در دنیای بلاک چین است. در این الگوریتم، بلاک های جدید به جای آن که استخراج شوند، ساخته می شوند. در این الگوریتم، گره انتخاب شده برای ایجاد شدن بلاک بعدی، از طریق یک فرایند به صورت تصادفی انتخاب می شود. این انتخاب شدن البته به دارایی ذخیره شده در کیف پول مربوط به آن گره هم بستگی دارد. در این الگوریتم هیچ کدام از گره های نمی توانند نوبت خود را پیش بینی کنند.
در این الگوریتم تعداد مشخصی از سکه ها در استخر سهام نگهداری می شود تا شانس ایجاد بلاک جدید را خریداری کنند.
مقایسه با الگوریتم اثبات گواه کار
در الگوریتم اثبات گواه کار، به ماینر ها برای حل کردن مسئله ریاضی و در ادامه آن تایید شدن تراکنش ها و ایجاد شدن بلاک های جدید پاداش داده می شد. اما در الگوریتم اثبات گواه سهام خالق بلاک جدید نسبت به میزان سرمایه اش یک راه قطعی را انتخاب می کند. در نتیجه در این روش هیچ پاداشی در کار نیست. در این الگوریتم ماینر فقط کارمزد تراکنش ها را دریافت می کند.
البته به این نکته هم توجه داشته باشید که در الگوریتم اثبات گواه سهام به جای استفاده از کلمه ماینر، از کلمه Forger استفاده می شود.
نقاط قوت الگوریتم (PoS )
این الگوریتم در مقایسه با الگوریتم گواه اثبات کار از مزایای بیشتری برخوردار است. الگوریتم گواه اثبات سهام انرژی و قدرت محاسباتی بسیار زیادی مصرف نمی کند. این الگوریتم با جلوگیری از ایجاد استخر های استخراج متمرکز، خطر حملات مخرب را به طور قابل توجهی کاهش می دهد. همچنین در این روش با توجه به این که سازنده هر بلاک، مالکیت بخشی از آن سکه ها را نیز بر عهده دارد، کسی که وظیفه محافظت از سکه ها را دارد، خود مالک بخشی از آن ها نیز هست.
نقاط ضعف الگوریتم (PoS )
یکی از نقاط ضعفی که الگوریتم گواه اثبات سهام دارد این است که یک ماینر در شبکه می تواند در زمان هایی که یک انشعاب ایجاد می شود، با هر دو شاخه همراهی کند. این کار باعث جلوگیری از اجماع بین گره ها می شود و خطر دو بار خرج کردن را به همراه دارد.
3-الگوریتم گواه اثبات فعالیت (Proof of Activity )
این الگوریتم در اصل یک ترکیب از دو الگوریتم گواه اثبات کار و گواه اثبات سهام می باشد. در این روش در ابتدا ماینر های نوع PoW مقدار هش مربوط به بلاک را حل می کنند. سپس با حل کردن آن، بلاک های جدید و پیشنهادی را به شبکه میفرستند. پس از این که این عملیات انجام شد و پیشنهاد به شبکه ارسال شد، شبکه از هش ارسال شده استفاده می کند و عدد شبه تصادفی مانند N را ایجاد می کند. این عدد شبه تصادفی به کلید عمومی دارندگان آن سکه متصل است.
سپس سهام داران و افراد موجود در PoS بلاک را امضا و تایید می کنند. درخواست در ابتدا برای اولین ماینر PoS ارسال می شود. در صورتی که از او پاسخی دریافت نشود، شبکه به طور خودکار درخواست را برای گره بعدی می فرستد. این چرخه آن قدر ادامه پیدا می کند تا در نهایت بلاک توسط گره تایید شود.
نقاط قوت الگوریتم (PoA )
با استفاده از این روش، ماینر های PoS بعد از این که مسئله حل شد درگیر بلاک می شوند. همان طور که گفتیم حل کردن مسئله در این الگوریتم وظیفه ماینر های PoW می باشد. با استفاده از این روش، حتی اگر ماینر های PoS بیشتر از 50درصد سکه ها را نیز در اختیار داشته باشند باز هم نمی توانند در شبکه اخلال ایجاد کنند و کنترل آن را در دست بگیرند.
علاوه بر موارد بالا، اگر مقدار عدد تصادفی N بیشتر از یک باشد، نظر سایر ماینر ها نیز اهمیت دارد.
نقاط ضعف الگوریتم (PoA )
این الگوریتم نیاز به تبادل اطلاعات به صورت دائمی دارد. برای این که ترافیک شبکه کاهش یابد، الگو یا همان بلاک پیشنهادی شامل لیست تراکنش ها نمی باشد. این لیست توسط آخرین ماینر که بلاک را امضا می کند به شبکه اضافه می شود.
برای مثال: اگر عدد تصادفی N برابر با 3 باشد و فقط ده درصد از ماینر ها در شبکه آنلاین باشند، آن گاه ماینر های PoW باید پیش از آن که یک بلاک امضا شود، 1000 بلاک پیشنهادی را تولید کنند.
پروژه Meissa
این پروژه یکی از برنامه هایی است که قصد دارد از این الگوریتم در برنامه خود استفاده کند. آن ها می خواهند با استفاده از این الگوریتم از تمام گره ها یا همان کامپیوتر هایی که در سراسر شبکه فعال هستند استفاده کنند و با استفاده از قدرت آن ها به شکل کاملا ایمن، یک ابر کامپیوتر جهانی توزیع شده ایجاد کنند. این ابر کامپیوتر برای هدف های مختلفی مانند پروژه های غیر متمرکز، سیستم های انتقال پول و به اشتراک گذاشتن منابع مورد استفاده قرار می گیرد.
این الگوریتم علاوه بر نام فوق، با عنوان Delegated Proof of Activity یا به طور خلاصه DPoA نیز شناخته می شود. این الگوریتم هم از همان اصول PoA استفاده می کند و تفاوتی در آن ها وجود ندارد.
4-الگوریتم گواه اثبات سوزاندن Proof of Burn
در این الگوریتم، انتخاب گره هایی که قرار است نقش ماینر ها را در شبکه بازی کنند، با توجه به سکه هایی است که این گره ها سوزانده اند. سوزاندن در ارز های دیجیتال به این معنا است که بخشی از سکه ها از چرخه معاملات کنار بروند. برای مثال می توان سکه ها را با ارسال آن ها به آدرس های غیر قابل برداشت اصطلاحا سوزاند. سپس گره های انتخاب شده می توانند فعالیت کرده و تراکنش ها را تایید کنند و پس از آن کارمزد آن ها را دریافت کنند. البته در این روش باید از زمان سوزانده شدن کوین ها مدت مشخصی گذشته باشد تا بتوان مطمئن شد دیگر امکان استفاده از آن ها وجود ندارد.
سوزاندن سکه ها
از نظر گره ها، سوزاندن سکه ها گران تر از نگه داشتن آن ها به شمار می رود. بنابر این، این امکان وجود دارد که یک گره، شبکه را با امضا کردن بلاک ها در زنجیره های موازی فریب دهد.
شاید برای شما هم این سوال پیش آمده است که چه مقدار کوین برای این کار سوزانده میشود؟ ماینر ها به طور معمول ارز های دیجیتال و رمزنگاری شده خود را با نرخ متوسطی که با میزان کارمزد های هر تراکنش ارتباط دارد می سوزانند. به طور کلی اگر بخواهیم این الگوریتم را با الگوریتم گواه اثبات کار مقایسه کنیم، هزینه استخراج در این الگوریتم پایین تر است. دلیل آن هم تفاوت در سخت افزار های مورد نیاز است که در روش گواه اثبات کار، هزینه بالا به دلیل سخت افزار است.
نقاط قوت الگوریتم (PoB )
شما به هیچ سخت افزاری نیاز ندارید. برای استفاده از این الگوریتم تنها باید سکه بسوزانید.
نقاط ضعف الگوریتم (PoB )
این الگوریتم را تنها زمانی می توان استفاده کرد که پیش از آن با استفاده از روش ها و الگوریتم های دیگر سکه را استخراج کرده باشید.
5-الگوریتم گواه اثبات فضا Proof of Capacity
نام اصلی این الگوریتم اثبات فضا می باشد اما به آن الگوریتم اثبات ظرفیت نیز میگویند . این الگوریتم که برای حل یک چالش از سوی ارائه دهنده ی سرویس مطرح شده است، یک مقدار غیر اسمی از پول و یا حافظه را اختصاص می دهد. الگوریتم با این کار نشان می دهد که یک فرد سهم مشروعی در یک سرویس را دارد.این الگوریتم برای اولین بار توسط زیمبووسکی و در سال 2015 معرفی شد.
شباهت به الگوریتم اثبات کار
الگوریتم اثبات فضا از نظر کلی شبیه به الگوریتم اثبات کار است. تفاوت این دو الگوریتم در این است که به جای استفاده از رایانش از فضای ابری استفاده می شود.این الگوریتم به کارکرد حافظه سخت و همچنین اثبات برگشت پذیر بستگی دارد و بسیار با آن ها تفاوت دارد.
در این الگوریتم، گره ی انتخاب شده برای ایجاد بلاک بعدی از طریق یک فرایند شبه تصادفی انتخاب می شود. در این الگوریتم باید مقداری از حافظه دستگاه و یا همان فضای هارد دیسک را در شبکه به اشتراک بگذارید. در نتیجه می توان این طور عنوان کرد که این روش شباهت کمی به گواه اثبات کار دارد. تفاوت آن در این است که به جای توابعی که مخصوص پردازشگر های کامپیوتر است، از توابع مخصوص به خود استفاده می کند.
هر مگابایت حافظه که در شبکه به اشتراک گذاشته شود، در اصل یک بلیط اضافه برای استخراج است. این الگوریتم به شاخه های مختلفی تقسیم می شود اما در نهایت همه ی آن ها بطور کلی شبیه به یکدیگر هستند و تفاوت آنها در جزئیات است.
نقاط قوت الگوریتم (PoC )
- این الگوریتم مشابه الگوریتم اثبات گواه کار است. در این الگوریتم به جای رایانش از فضا استفاده می شود. در نتیجه این الگوریتم با محیط زیست سازگاری بیشتری دارد.
- می توان از این الگوریتم برای تشخیص بدافزار در شبکه استفاده کرد.
- می توان از آن برای تمهیدات ضد اسپم و یا پیشگیری از حملات رد سرویس استفاده کرد.
الگوریم PoC نسبت به الگوریتم گواه اثبات کار عادلانه تر می باشد و همچنین خطر ماینینگ به صورت متمرکز را کاهش می دهد. در این الگوریتم ماینر ها برای ذخیره داده های مفید عمومی در شبکه انگیزه پیدا می کنند.
نقاط ضعف الگوریتم (PoC )
در این روش مشکل nothing-at-stake وجود دارد. این مشکل در الگوریتم هایی مانند PoC و یا PoW وجود دارد. در این الگوریتم ها گره ها توانایی استخراج را دارند اما لزوما در ارزی که استخراج می کنند سرمایه ای ندارند. این موضوع باعث می شود که ماینر ها هیچ گونه تعهدی نسبت به شبکه نداشته باشند.
برای مثال همان طور که گفتیم در روش PoS، ماینر ها حتما در ارزی که استخراج می کنند سهم و نقش دارند. در نتیجه دغدغه و تعهد بیشتری برای سلامت شبکه دارند. دلیل آن هم این است که اگر به شبکه آسیبی برسد، خود ماینر ها نیز ضرر خواهند کرد.
در الگوریتم PoC یک گره این شانس را دارد تا در یک زنجیره جایگزین نیز شانس خود را امتحان کند. نتیجه ی این کار این است که بسیاری از گره ها این امکان را دارند که به صورت همزمان و بدون صرف منابع بسیار زیاد در زنجیر های مختلف بلاک ماین کنند.
6-الگوریتم Proof of Elapsed Time
در این الگوریتم گره ها به صورت قرعه کشی انتخاب می شوند. این الگوریتم از محیط اجرای TEE استفاده می کند تا مطمئن باشد فرایند انتخاب به صورت درست برگزار می شود. TEE توسط سخت افزار های خاص و ویژه کمپانی اینتل ارائه می شوند. در این الگوریتم هر تایید کننده بلاک در کوتاه ترین زمان و بر اساس یک تابع مطمئن و قابل اعتماد برای تولید بلاک جدید انتخاب می شود. در این انتخابات، ماینر ها به صورت تصادفی و از سراسر شبکه انتخاب می شوند.
این الگوریتم اغلب بر روی شبکه های خصوصی و شبکه های دارای مجوز استفاده می شود. در این گونه بلاک چین ها افراد برای آن که مجوز دسترسی به شبکه را پیدا کنند باید هویتشان را تایید کنند. این شبکه برای انتخاب گره یک سیستم قرعه کشی منصفانه دارد و تمام اعضای شرکت کننده در آن شانس یکسانی برای انتخاب شدن دارند.
فرایند کار در این شبکه به این صورت است که هر گره باید منتظر گذشت یک دوره زمانی باشد. پس از این که این دوره زمانی فرا رسید، اولین فردی که کار را به طور کامل انجام دهد برنده ی بلاک می شود. این مفهوم برای اولین بار در سال 2016 و توسط کمپانی اینتل طراحی و معرفی شد.
نقاط قوت الگوریتم (PoET )
- هزینه مشارکت در این الگوریتم پایین است به همین دلیل مردم می توانند به راحتی در آن ثبت نام کنند و شبکه غیر متمرکز می شود.
- تایید مشروعیت برای انتخاب رهبر برای همه کاربران ساده است.
- هزینه ای که برای کنترل فرایند گزینش رهبر پرداخت می شود بخشی از ارزش به دست آمده آن است.
در این الگوریتم نقدینگی کوتاه مدت اهمیت بالایی ندارد. همچنین این الگوریتم مصرف برق و انرژی خیلی زیادی نیز احتیاج ندارد و استخراج با آن ارزان تر انجام می شود. به همین دلایل نیز احتمال افزایش جمعیت ماینر ها وجود دارد و همین مسئله این الگوریتم اجماع را مستحکم تر می نماید.
نقاط ضعف الگوریتم (PoET )
- این پروتکل ارزان است اما برای استفاده از آن باید از سخت افزار های تخصصی و گران
قیمت استفاده کرد. در نتیجه امکان استفاده به صورت انبوه را ندارد.
- برای بلاک چین های عمومی مناسب نیست.
- برای استفاده از این الگوریتم نیاز به سخت افزار های ساخت شرکت اینتل هست.
7-پروتکل اجماع ریپل
ریپل یک پروتکل و پلتفرم پرداخت است که بر روی بستر بلاک چین پیاده سازی شده است. هدف از ایجاد ریپل، استفاده های مالی و ارزی و ایجاد درگاه های پرداخت است. در پروتکل ریپل، هر گره (برای مثال گره X )، یک لیست منحصر به فرد دارد. اطلاعات درون این لیست شامل گره های دیگر قابل اعتماد در شبکه توسط گره X است.
در این پروتکل حداقل 40 درصد از گره های موجود در لیست منحصر به فرد گره X باید در لیست دیگر گره ها نیز باشد. برای این که در این اجماع یک تراکنش تایید شود، باید هر گره مجموعه ای از تراکنش ها را منتشر کند و پس از آن رای گیری از سایر گره های موجود در لیست انجام می شود. پس از انجام رای گیری گره ها باید لیست منحصر به فرد خود را در ارتباط با این گره به روز رسانی کنند.
هنگامی که یک مجموعه تراکنش موفق شود حداقل 80 درصد رای از سایر گره ها دریافت کند، آن لیست کاندید به یک بلاک معتبر در شبکه بلاک چین ریپل تقسیم می شود.
8-پروتکل اجماع استلار
استلار هم مانند ریپل یک پروتکل پرداخت است. این پروتکل بر بستر بلاک چین توسعه یافته است و برای مسائل مالی و ارزی طراحی شده است. این پروتکل برای کار خود از دو مفهوم استفاده می کند. مفهوم اول quorum نام دارد. این مفهوم مجموعه ای از گره های کافی برای رسیدن به یک توافق است.مفهوم بعدی quorum slice است. این عنوان یک زیر مجموعه برای quorum است و کار آن متقاعد کردن گره برای رسیدن به توافق است.در این اجماع برای دست یابی به یک توافق سراسری، quorum ها باید تقسیم شوند.
برای این کار در مرحله اول هر گره رای گیری اولیه در خصوص تراکنش ها را انجام می دهد. سپس هر گره تراکنش های مورد تایید خود را انجام می دهد و به تراکنش های دیگر رای نمی دهد. البته در این میان اگر quorum slice یک تراکنش را بپذیرد، گره هم آن را قبول می کند.
در مرحله آخر رای گیری کلی انجام می شود و نشانه توافق در سطح شبکه است.
9-الگوریتم اثبات تاخیر کار (Delayed Proof of Work )
مزایا
- مصرف انرژی به صورت بهینه
- امنیت بالا
- امکان اضافه کردن ارزش به سایر بلاک چین ها با تامین غیر مستقیم بیت کوین (و یا سایر سکه ها ) بدون نیاز به هرگونه پرداخت هزینه بابت تراکنش را دارد
معایب
- تنها بلاک چین هایی که از الگوریتم اثبات کار و یا اثبات سهام استفاده می کنند می توانند در این اجماع شرکت کنند.
- میزان هش گره های مختلف در وضعیت Notaries باید حتما درج شود. در صورتی که این کار انجام نشود تفاوت میان نرخ هش ها می تواند باعث انفجار شود!
توضیح
این الگوریتم یک روش ترکیبی است. در این روش شما می توانید از یک بلاک چین در حالی استفاده کنید که امنیت آن از قدرت هش یک بلاک چین دیگر تامین شده است. انجام این کار هم به این صورت است که گروهی از نود ها اسناد و داده های مورد نیاز را از بلاک چین اول به بلاک چین دوم میفرستند.
این بلاک چین می تواند برای انجام کار خود از هر دو روش اثبات سهام و اثبات کار استفاده کند و می تواند خودش را به هر نوع بلاک چینی که تمایل دارد متصل کند. در حال حاضر شبکه بیت کوین و نرخ هشی که دارد توانسته است بالاترین سطح امنیت را نسبت به سایر بلاک چین هایی که توسط اثبات تاخیر کار فعالیت می کنند به ارمغان آورد.اولین سیستم بلاک چین که از این فناوری استفاده کرده است کومودو نام دارد. کومودو به بلاک چین بیت کوین متصل شده است.
انواع گره
این الگوریتم از دو نوع گره پشتیبانی می کند. گره معمولی و گره اسناد.
در این الگوریتم 64 نفر که از شبکه نفع می برند، به منظور اضافه کردن بلاک های تایید شده از بلاک چین اثبات تاخیر کار انتخاب می شوند.
حال شبکه کومودو برای آن که در بین گره های اسنادی جنگ و درگیری پیش نیاید و میزان کارآمدی شبکه کاهش پیدا نکند، یک روش ماینینگ به صورت دوره ای ایجاد کرده است. این روش بر روی دو گره فعالیت می کند.
در حالت No Notary می توان مانند حالت سنتی و قدیمی اثبات کار فعالیت کرد و در آن گره ها اجازه استخراج بلاک را دارند. در حالتی که Notary فعال باشد نمایندگان درون شبکه می توانند با نرخ سختی شبکه بسیار پایین تری ماینینگ خود را انجام دهند.
10- الگوریتم اثبات سهام محول شده (EoS )
مزایا
- مصرف انرژی بهینه ای دارد
- این پروتکل زمانی برابر 0.5 ثانیه برای هر بلاک دارد که سرعت بالایی است.
معایب
- کمی تا قسمتی متمرکز است.
- شرکت کنندگانی که در این پروتکل سهام زیادی دارند می توانند به خودشان رای دهند تا به یک گره و تایید کننده تبدیل شوند. این مورد اخیرا در این پروتکل زیاد دیده شده است.
توضیح
در این نوع الگوریتم، سهام داران و افرادی که در شبکه فعالیت می کنند می توانند در سیستم رهبرانی را انتخاب کنند و از طرف آن ها رای دهند. همین کار باعث می شود این الگوریتم از الگوریتم اثبات سهام سرعت بیشتری داشته باشد.
در این الگوریتم شاهدان و کسانی که به عنوان تایید کننده در شبکه فعالیت می کنند به ازای تولید هر بلاک کارمزد دریافت می کنند. میزان این کارمزد را سهام داران تعیین می کنند. اگر شاهدان در این شبکه در بازه زمانی که مشخص شده بلاکی تولید نکنند، نوبتشان رد شده و این کار به شاهد بعدی واگذار می شود. این کار آن قدر ادامه پیدا می کند تا سرانجام یکی از شاهدان بلاک را تولید کند.
در این الگوریتم به طور معمول، تمامی نود ها در یک زمان با یکدیگر رقابت می کنند تا بلاک های جدید را ایجاد کنند . این کار از شکل گیری بلاک های پی در پی از سوی نود ها جلو گیری می کند و همچنین مشکل دو بار خرج کردن را نیز حل می کند.
در این نوع الگوریتم شرکت کنندگان می توانند به جای رقابت کردن با یکدیگر، برای تولید بلاک های جدید با یکدیگر همکاری کنند.
این الگوریتم می تواند با استفاده از متمرکز کردن ساخت بلاک ها به صورت حدودی، انجام سفارشات را بسیار سریع تر از سایر الگوریتم ها انجام دهد. این الگوریتم برای تولید بلاک به زمان بسیار کم 0.5 ثانیه نیاز دارد.
11-الگوریتم اثبات مسؤولیت (Proof of Authority )
مزایا
- مصرف انرژی بهینه شده
- سرعت بالا
معایب
- این الگوریتم قابلیت استفاده در بلاک چین های عمومی را دارا می باشد اما در بخش بلاک چین های خصوصی نیازمند مجوز دسترسی است و این موضوع باعث شده تا حدودی متمرکز باشد.
توضیح
در این نوع الگوریتم، تراکنش ها و همچنین بلاک ها از سوی حساب ها تایید شده و به نام تایید کنندگان مطمئن و معتبر شناخته می شوند. تایید کنندگان در این الگوریتم از نرم افزار هایی استفاده می کنند تا بتوانند تراکنش ها را با موفقیت در بلاک قرار دهند. نکته مثبت این فرایند این است که این کار به طور خودکار انجام می شود و دیگر نیاز نیست تا فرد به طور مستقیم و دائم بر روی کامپیوتر خود نظارت داشته باشد. البته شما باید همیشه از کامپیوتر خود مراقبت کنید تا دست افراد خرابکار به آن نرسد.
برای این که در این الگوریتم تایید کننده شوید باید این سه شرط را داشته باشید:
- هویت شما باید به طور رسمی در شبکه تایید شده باشد.
- صلاحیت انجام کار به سختی به دست می آید تا حق تایید بلاک های تایید شده و ارزش گذاری درست شود.
- باید برای برقراری ارتباط و انجام مسئولیت ها یکپارچگی کامل وجود داشته باشد.
با استفاده از این الگوریتم افراد این حق را دارند تا در شبکه تبدیل به یک تایید کننده شوند. در نتیجه یک مشوق برای حفظ موقعیتی که قبلا به دست آورده اند وجود دارد.
تایید کنندگان موجود در شبکه با اضافه کردن شهرت به هویت خودشان تشویق می شوند تا فرآیند انجام تراکنش ها را نگه دارند. دلیل این ماجرا هم این است که هیچ تایید کننده ای دوست ندارد تا شهرتی و اعتباری را که به سختی درون شبکه به دست آورده است را از بین ببرد.
12-الگوریتم اثبات وزن (Proof of Weight )
مزایا
- مصرف انرژی به صورت بهینه شده
- قابلیت شخصی سازی
- مقیاس پذیر
معایب
- ارائه کردن مشوق در آن سخت است.
توضیح
این الگوریتم توسط مدل اجماع آلگورند طراحی و ساخته شده است. در سیستم هایی که از روش PoS استفاده می شود، درصد سکه های تحت تملک تایید کننده نشان دهنده احتمال پیدا کردن بلاک است. اما در الگوریتم اثبات وزن از مقادیر وزنی به صورت نسبی استفاده می شود. الگوریتم های اثبات شهرت و اثبات فضا از این الگوریتم الهام گرفته اند.
13-الگوریتم اثبات شهرت (Proof of Reputation )
مزایا
- برای شبکه های خصوصی و دارای مجوز خوب و کارآمد است.
معایب
- فقط در بلاک چین های خصوصی و دارای مجوز قابل استفاده است.
توضیح
این الگوریتم مانند الگوریتم اثبات اختیار است. الگوریتم اثبات شهرت برای این که بتواند امنیت شبکه ی خود را تامین کند به شهرت افراد شرکت کننده در آن وابسته است. یک شرکت کننده و یا کسی که وظیفه امضا کردن بلاک را بر عهده دارد، باید از شهرت بالایی برخوردار باشد تا در صورتی که قصد تقلب و یا خرابکاری در سیستم را داشته باشد با عواقب مالی و تجاری بسیار قابل توجهی رو به رو شود.
البته این توضیح و مفهوم کاملا نسبی است. زیرا در هر حال وقتی یک کسب و کار سعی کند در شبکه خرابکاری کند بدون ضرر نخواهد بود. اما این ضرر در شرکت ها و کسب و کار های بزرگ بسیار بیشتر و چشمگیر تر است. به همین دلیل است که شرکت های بزرگ شانس انتخاب بیشتری نسبت به شرکت های کوچک دارند. هنگامی که شهرت یک تایید کننده در شبکه تایید شود، می تواند فعالیت خود را شروع کند. این الگوریتم در حال حاضر توسط گوچین در حال استفاده می باشد.
14-الگوریتم تحمل خطای بیزانس (Byzantine Fault Tolerance )
مزایا
- سرعت بالا
- مقیاس پذیر است
معایب
- به صورت معمول برای شبکه های خصوصی و نیازمند به مجوز استفاده می شود
توضیح
یک مشکل قدیمی و سنتی در رایانش های توزیع شده وجود دارد. این مشکل با ژنرال های بیزانس تعریف می شود. باید این مشکل را در قالب یک مثال برایتان تعریف کنیم. فکر کنید چندین ژنرال بیزانس وجود دارد و هر کدام قسمت های مربوط به خودشان را توسط یک ارتش بیزانس محاصره کرده اند. حال این ژنرال ها باید به طور دسته جمعی تصمیم بگیرند که آیا حمله کنند و یا نکنند. در این میان اگر برخی از ژنرال ها بدون هماهنگی با دیگران و به تنهایی حمله کنند، آن محاصره از بین می رود.
در این موارد ژنرال ها معمولا از یک دیگر فاصله دارند و برای این که بتوانند با یکدیگر ارتباط برقرار کنند باید برای هم پیام ارسال کنند. چندین پروتکل رمزارز برای اجماع در سیستم های خود از این شبکه استفاده می کنند. در ادامه دو نوع از این پروتکل ها را برایتان معرفی می کنیم.
تحمل عملی خطای بیزانس (PBFT )
یکی از اولین راه حل ها برای حل مشکل توسط تحمل عملی خطای بیزانس مطرح شده است. این نسخه در حال حاضر توسط هایپرلجر فابریک در حال استفاده است. این الگوریتم با چند ژنرال از پیش تعیین شده به خوبی و با هماهنگی کامل فعالیت می کند.
از مزیت های تحمل عملی خطای بیزانس ،خروجی بسیار بالای آن است .البته این الگوریتم مشکلاتی نظیر متمرکز شدن شبکه و نیاز به مجوز برای دسترسی نیز دارد.
توافق یکپارچه بیزانس (FBA )
این مورد هم دسته ی دیگری از پروتکل ها هستند که برای رفع خطای بیزانس از روش توافق یکپارچه بیزانس استفاده می کنند. در حال حاضر ارز های دیجیتال ریپل و استلار در شبکه خود از این نوع راه حل استفاده می کنند.
ایده کلی این راه حل به این صورت است که در آن هر ژنرال مسئول زنجیره و بخش خودش است و با بررسی و دسته بندی پیام ها می تواند به حقیقت دست پیدا کند.
در ارز دیجیتال ریپل این ژنرال های درون شبکه از قبل و توسط بنیاد ریپل انتخاب می شوند. در ارز استلار اما، هر کسی می تواند به عنوان تایید کننده فعالیت کند. در این ارز این خود شما هستید که تصمیم می گیرید به چه کسی اطمینان و اعتماد کنید.
از مزیت های این راه کار می توان به خروجی بسیار بالا، هزینه پایین برای انجام تراکنش و مقیاس پذیری قابل قبول شبکه اشاره کرد.
15- الگوریتم تحمل نیابتی خطای بیزانس (dBFT )
مزایا
- سرعت بالا
- مقیاس پذیر است
معایب
- همه شرکت کنندگان برای تبدیل شدن به زنجیره ریشه تلاش می کنند. امکان به وجود آمدن چندین زنجیره ریشه وجود دارد
توضیح
این الگوریتم یک مکانیزم اجماع خطای بیزانس است که در آن امکان مشارکت به صورت گسترده به صورت رای گیری واسطه ای فراهم شده است. این الگوریتم توسط نئو مورد استفاده قرار گرفته است. کسانی که از توکن های نئو استفاده می کنند می توانند با انجام رای گیری، کتابداری که می خواهند حمایت کنند را انتخاب نمایند. این گروه منتخب توسط الگوریتم BFT به اجماع می رسد و می تواند بلاک های جدید را تهیه نماید. در شبکه نئو رای گیری به جای آن که ثابت باشد در دنیای واقعی ادامه پیدا خواهد کرد.
این الگوریتم از قطعیت خوب و قابل قبولی برخوردار است. در این الگوریتم به محض آن که تاییدیه ها نهایی شوند، دیگر بلاک نمی تواند تقسیم شود و به دو شاخه تقسیم شود. به همین دلیل تراکنش دیگر قابل برگشت نخواهد بود.
در الگوریتم نئو تولید هر بلاک جدید تقریبا بین 15 تا 20 ثانیه طول می کشد.
تحمل خطا
این الگوریتم تحمل خطایی برابر F = [(n-1 ) / 3] را برای شبکه به همراه دارد. در این فرمول n برابر با تعداد گره های شبکه است. این فرمول و میزان تحمل خطا شامل امنیت شبکه و دسترسی ها هم می شود و همچنین در برابر شکست های عمومی و شکست های بیزانس نیز از خود مقاومت نشان می دهد.
این الگوریتم همان طور که گفتیم از میزان قطعیت خوب و کافی برخوردار است و پس از تایید تراکنش ها دیگر امکان بازگشت آن ها و یا دو شاخه شدن زنجیره وجود ندارد.
در این الگوریتم خروجی تراکنش ها تا میزان 10 هزار تراکنش بر ثانیه محاسبه می شود که این مقدار در میان بلاک چین هایی که عمومی هستند رقم بسیار خوبی است . این مقدار همچنین امکان پشتیبانی از اپلیکیشن های تجاری را به طور گسترده فراهم می کند.این الگوریتم همچنین تکنولوژی هویت دیجیتالی را می تواند ترکیب کند. یعنی یک گره یا کتاب دار در شبکه می تواند یک نام واقعی از افراد و یا موسسات باشد.
16-الگوریتم اجماع RAFT
مزایا
- مدلی ساده تر از الگوریتم اجماع Paxos اما با امنیت بالا
- قابلیت پیاده سازی در اکثر زبان های برنامه نویسی
معایب
- به طور معمول برای شبکه های خصوصی و نیازمند به مجوز استفاده می شود.
توضیح
این الگوریتم به عنوان یک جایگزین برای الگوریتم Paxos طراحی شده است. البته این الگوریتم در نهایت نسبت به آن چه برنامه ریزی شده بود بسیار امن تر شده است و همچنین ویژگی های بیشتری نیز دارد. این الگوریتم یک راه کلی تر را برای توزیع یک ماشین حالت در دسته ای از سیستم های رایانشی ارائه می کند.
این الگوریتم در فرآیند انجام خود این اطمینان را حاصل می کند که هر گره در دسته بر مجموعه ی یکسان و برابری از انتقال های وضعیت توافق دارند.
این الگوریتم به کمک انتخاب یک رهبر به اجماع کلی می رسد. یک سرور در این الگوریتم دو حالت دارد، یا رهبر است و یا دنبال کننده. سرور ها در این الگوریتم می توانند برای رهبر شدن کاندید شوند. رهبر در این الگوریتم وظیفه دارد تا فهرست را برای دنبال کنندگانش تکرار کند. او همچنین به طور منظم پیام هایی را می فرستد که وجود خود را یادآوری کند. این پیام ها در این شبکه مانند ضربان قلب است!
هر دنبال کننده ای که در این شبکه فعالیت دارد یک زمان مشخص دارد که در آن زمان مشخص باید منتظر ارسال پیام ضربان قلب از رهبر خود باشد. هنگامی که این پیام توسط دنبال کننده دریافت شود، زمان بندی دوباره تنظیم می شود. اگر در این مدت هیچ ضربانی دریافت نشود، دنبال کننده به دنبال انتخاب یک رهبر دیگر می رود.
17-الگوریتم گراف جهت دار غیر مدور (Directed Acyclic Graphs )
مزایا
- مقیاس پذیری بالا به دلیل نوع ساختار غیر خطی
- سرعت بالا
- مصرف انرژی به صورت بهینه شده
- در این الگوریتم قطعیت به سرعت به دست می آید.
معایب
- تنها راه پیاده سازی قرارداد های هوشمند استفاده از اوراکل ها است
توضیح
گراف های جهت دارد غیر مدور یک حالت عمومی تر از بلاک چین ها هستند. این نوع از الگوریتم ها به دلیل مقیاس پذیری و ظرفیت بالایی که دارند بسیار پرطرفدار هستند.
به طور کلی در ساختار شبکه های بلاک چین یک سیستم خطی وجود دارد. در این سیستم خطی بلاک ها به صورت یک به یک به زنجیره اضافه می شوند. این کار باعث می شود سرعت بلاک چین پایین آید و کند شود. دلیل آن هم این است که بلاک ها نمی توانند با هم و به صورت هم زمان به زنجیره اضافه شوند. اما در این نوع الگوریتم بلاک ها به صورت موازی اضافه می شوند و هر بلاک می تواند تراکنش های پیش از خود را تایید کند. این باعث می شود این الگوریتم مقیاس پذیری بیشتری داشته باشد.
در این الگوریتم می توانید تنوع های زیر را داشته باشید:
- ترتیب بندی تراکنش ها به چه صورت انجام شود؟
- قطعیت چگونه به دست آید؟
- الگوریتم انتخاب بلاک قبلی جهت تایید و یا الگوریتم انتخاب Tip
18-الگوریتم اثبات تاریخ
ایده ی اصلی در الگوریتم اثبات تاریخ به این صورت است که شما به جای آن که به برچسب های زمانی هر تراکنش اعتماد کنید، می توانید این را ثابت کنید که تراکنش زمانی قبل، و یا بعد از یک رویداد رخ داده است.
برای مثال هنگامی که شما از صفحه ی اول یک روزنامه (مانند نیویورک تایمز ) عکس می گیرید، درواقع دارید این را ثابت می کنید که عکس گرفته شده توسط شما بعد از انتشار روزنامه بوده است. با این کار شما راهی برای تاثیر گذاشتن بر روی آن چه که آن روزنامه چاپ کرده است ایجاد کرده اید. شما با استفاده از الگوریتم اثبات تاریخ می توانید یک سابقه ی تاریخی درست کرده و با استفاده از آن ثابت کنید که یک رویداد در چه لحظه ی مشخصی روی داده است.
برچسب های زمانی اثبات تاریخ
الگوریتم اثبات تاریخ یک تابع تاخیر به قابلیت تایید است که میزان تکرار بسیار بالایی را دارا می باشد. یک تابع تاخیر قابل تایید برای آن که ارزشیابی شود نیازمند تعدادی مراحل متوالی و مشخص است. خروجی این تابع یک مقدار منحصر به فرد است که می توان آن را به صورت بهینه و عمومی تایید کرد.
پیاده سازی این الگوریتم به صورتی است که از یک مقدار هش مقاوم ترتیبی استفاده می کند. این مقدار به طور مداوم بر خودش اجرا می شود و خروجی قبلی را به عنوان ورودی بعدی در نظر می گیرد. شمارش ها و ثبت خروجی کنونی هم به صورت دوره ای انجام می پذیرد.
برای مثال در الگوریتم هش بیت کوین، یعنی SHA256، موازی ساختن این فرایند بدون حمله و با استفاده از هسته های 2 به توان 12 ممکن نمی باشد.
پس از انجام این مراحل است که می توانیم مطمئن باشیم که در بین هر شمارشگر در هنگام تولید، زمانی واقعی مصرف شده است و درواقع سفارش ثبت شده در هر شمارشگر با سفارش ثبت شده در دنیای واقعی مطابقت دارد.
19-الگوریتم اثبات شتاب سهام
این الگوریتم در حال حاضر توسط ردکوین در حال استفاده می باشد.
الگوریتم اثبات شتاب سهام که با PoSV نیز شناخته می شود، به عنوان یک جایگزین برای دو الگوریتم اثبات کار و اثبات سهام معرفی شده است. این الگوریتم به این جهت طراحی شده است تا به شبکه ی همتا به همتا امنیت بیشتری بدهد و همچنین تراکنش های ردکوین را نیز تایید کند. رمزارز ردکوین به منظور تسهیل در تعاملات اجتماعی در عصر دیجیتال طراحی و توسعه داده شده است.
این الگوریتم برای دو هدف کلی طراحی شده است:
- تشویق تملک و سهام
- فعالیت و شتاب
هر دوی این موارد با اهداف ردکوین به عنوان یک ارز همخوانی و هماهنگی دارند. از جمله اهداف این ارز ذخیره ارزش و ابزار تبادل می باشد.
20-الگوریتم اثبات اهمیت
این الگوریتم در حال حاضر توسط NEM استفاده می شود.
از مزیت های این الگوریتم می توان به این مورد اشاره کرد که این الگوریتم در ارزشیابی سهام، از روش اثبات سهام عملکرد بهتری را ارائه می دهد.
الگوریتم اثبات اهمیت که توسط NEM مورد استفاده قرار گرفته است، علاوه بر این که به تعداد سکه ها وابسته است، همچنین به این احتمال که اقدام سیستم والد باید پاداش بگیرد نیز وابستگی دارد. در این الگوریتم شانس ایجاد یک بلاک به عوامل متفاوتی از جمله میزان اعتبار، مقدار موجودی و همچنین تعداد تراکنش های انجام شده بستگی دارد. در این الگوریتم مجموعه ی این عوامل را به عنوان گردش اهمیت نام گذاری کرده اند. این الگوریتم به کاربران یک تصویر امیدبخش از یک عضو مفید در سیستم را ارائه می دهد.
حداقل موجودی
کاربران برای این که بتوانند در این الگوریتم واجد شرایط گردش اهمیت باشند باید حداقل در حساب خود مقدار 10 هزار XEM داشته باشند. شاید به این فکر کنید که به دست آوردن این مقدار سکه خیلی سخت و پر هزینه است. اما در حال حاضر بیشتر از 9 میلیارد سکه ی XEM در گردش است، پس به دست آوردن ده هزار سکه چندان کار پر هزینه ای نمی باشد. البته این احتمال وجود دارد که محدودیت ده هزار سکه در آینده تغییر کند و مقدارش کمتر و یا بیشتر شود، اما در حال حاضر حداقل موجودی مورد نیاز 10 هزار XEM می باشد. گردش اهمیت در این الگوریتم صرفا با احتمال و اندازه ی سهام انجام نمی گیرد و برای آن یک الگوریتم خاص تعریف شده است.
همچنین باید این نکته را هم بدانید که الگوریتم استفاده شده در شبکه ی NEM در برابر دستکاری های اختیاری نیز مقاوم شده است. در این اجماع همچنین حملات سیبل و حلقه نیز با استفاده از یک سری مکانیزم های ساختاری کاهش یافته اند.
به این نکته توجه داشته باشید که الگوریتم اثبات اهمیت با الگوریتم اثبات سهام تفاوت دارد. البته در میان این دو الگوریتم شباهت هایی وجود دارد.
21-الگوریتم اثبات هویت
الگوریتم اثبات هویت یا Proof of Identity در اصل یک مدرک رمزنگاری می باشد که به ما این را می گوید که هر کاربری که کلید خصوصی را بداند، مانند یک کاربر با هویت معتبر شناخته می شود و از رمزنگاری، به یک تراکنش خاص متصل شده است. هر فردی از هر گروهی می تواند یک PoF بسازد و آن را به هر شخصی مانند یک گره پردازشگر بفرستد.
22-الگوریتم اثبات زمان
این الگوریتم توسط Chronologic در حال استفاده می باشد.
این الگوریتم توسط کرونولوچیک معرفی شده و توسط خود آن ها نیز در حال استفاده می باشد. آنان در حال برنامه ریزی هستند تا بتوانند یک بلاک چین جدا طراحی کنند. توسعه دهنده اصلی این الگوریتم در صحبتی این گونه گفته است:
در این جا بزرگ ترین مشکلی که ما با آن رو به رو هستیم این است که بزرگ ترین عددی که این امکان را دارد تا در یک متغیر سالیدیتی ذخیره شود باید از ترتیب بزرگی 1076 باشد. این کار زمان تولید توکن ها را برای ما دچار مشکل کرده است.
23-الگوریتم اثبات وجود
این الگوریتم در حال حاضر توسط DragonChain و HeroNode و Poex.io استفاده می شود. الگوریتم اثبات وجود و یا Proof of Existence یک سرویس آنلاین است که وجود فایل های کامپیوتری در زمان مشخص را با استفاده از تراکنش های دارای برچسب زمانی در شبکه ی بلاک چین بیت کوین تایید می کند. این الگوریتم اثبات برای اولین بار در سال 2013 و به عنوان یک پروژه متن باز کار خود را آغاز کرد. توسعه دهندگان اصلی این الگوریتم اثبات، مانوئل آراوز و استبان اوردانو هستند.
این الگوریتم را می توان در موارد زیر استفاده کرد:
- توافق امضای دیجیتال بدون آن که محتوای واقعی فاش شود.
- مشخص کردن تملک داده بدون آن که محتوای واقعی فاش شود.
- امکان زدن برچسب زمانی به اسناد
- ثابت کردن تملک
- بررسی کردن یکپارچگی داده
24-الگوریتم Ouroboros
الگوریتم Ouroboros نوعی از اثبات سهام به همراه ضمانت های امنیتی می باشد که در حال حاضر توسط کاردانو مورد استفاده قرار گرفته است. همان طور که گفتیم این الگوریم در حال حاضر توسط کاردانو استفاده می شود.
برای این که بتوانید توکن های شبکه ی کاردانو را به دست آورید نیاز به هیچ فشار زیاد و صرف انرژی زیادی ندارید. برای به دست آوردن این توکن ها باید از Ouroboros استفاده کنید. این سیستم به تازگی مورد بررسی قرار گرفته است و ایرادات و باگ های موجود در آن تا حد بسیار زیادی حل شده است.
Ouroboros معادل یک دستگاه استخراج در الگوریتم PoW می باشد و همان امکانات استخراج را به شما می دهدو و امکاناتی مانند تولید بلاک های جدید و همچنین تایید کردن تراکنش ها را به شما میدهد. همچنین در این سیستم الگوریتمی به نام ساتوشی را دنبال کن و یا به انگلیسی Follow Satoshi که با استفاده از آن می توانید به صورت تصادفی ماینینگ کنید.
مقیاس پذیری
فرآیند Ouroboros امکان استخراج توکن های کاردانو را برای کاربران فراهم می کند. همان طور که گفتیم برای استخراج این توکن نیاز به صرف انرژی زیادی نمی باشد، به همین دلیل الگوریتم بلاک چین کاردانو به شدت مقیاس پذیر شده است.
ارائه دهنده ی این الگوریتم پروفسور آگلوس کیایاس است. این پروفسور مسئول بخش تحقیقات IOHK می باشد. این الگوریتم در بخش اول به صورت ریاضی ارائه و اثبات شد و سپس برای این که در آینده از پدید آمدن مشکلات ساختاری جلوگیری شود تحت بررسی های همتا قرار گرفت.
در این الگوریتم برای استخراج کنندگان و یا همان ماینر ها، عنوان Slot در نظر گرفته شده است. سرپرست Slot شدن در این الگوریتم معادل استخراج کنندگان در الگوریتم هایی مانند اثبات کار می باشد.
ماکلین در این الگوریتم این امکان را دارند تا بلاک های جدید را بسازند و تراکنش های جدید را تایید کنند. هر گره در شبکه در صورتی که ارزش مثبتی داشته باشد به عنوان یک سهامدار شناخته می شود و می تواند به عنوان یک سرپرست در شبکه انتخاب شود.
همان طور که قبلا اشاره کردیم در الگوریتم اثبات سهام ، انتخاب سهام دار و در واقع شخصی که بلاک بعدی را خواهد ساخت به صورت تصادفی انجام می شود. البته این انتخاب تصادفی با سهمی که آن شخص در شبکه دارد هم متناسب است. ارزش نسبی سهم هر شخص نیز به این صورت انتخاب می شود که مقدار توکن های آن ها تقسیم بر تعداد کل توکن های موجود در سیستم می شود.
سرپرست
هنگامی که یک گره موفق شود تا اولین بلاک خود را با موفقیت بسازد، رسما به عنوان یک سرپرست Slot در شبکه معرفی می شود. مسئولیت سرپرست ها در این جایگاه بررسی تراکنش هایی است که پیش تر توسط سایر گره ها تایید شده است. از وظایف دیگر سرپرست ها میتوان به ساختن بلاک های جدید برای هر قسمت از تراکنش ها، اختصاص دادن کلید های شخصی برای بلاک ها و اعمال کردن آن در زنجیره اشاره کرد.
سرپرستان باید در بازه های زمانی مشخص بلاک های جدید خود را ایجاد کنند. این بلاک های جدید در شبکه ی کاردانو Slot نام دارد و مدت زمان مورد نیاز برای تولید هر بلاک 20 ثانیه می باشد. اگر این زمان را برای تولید بلاک جدید از دست بدهید باید تا رسیدن زمان انتخاب مجدد صبر کنید.
ساتوشی را دنبال کن
با استفاده از یک الگوریتم دیگر به نام “ساتوشی را دنبال کن” می توانید به صورت تصادفی استخراج را انجام دهید. این الگوریتم به صورت اتوماتیک برای شما یک سکه انتخاب می کند و در صورتی که شما از مالکان این سکه باشید به عنوان سرپرست Slot انتخاب می شوید. در این سیستم هرچه تعداد سکه های بیشتری را در اختیار داشته باشید، شانس انتخاب سکه ها را افزایش خواهید داد.
اگر شما به عنوان سرپرست انتخاب شوید تنها کاری که باید انجام دهید این است که کیف پول خود را برای گره باز نگه دارید و بر روی سکه هایتان فعالیت کنید.
در واقع این سیستم این امکان را به شما می دهد تا با کمک یک سیستم ماینینگ مقرون به صرفه فعالیت داشته باشید . این ماجرا تا زمانی که شما در این پلتفرم سکه های کافی را داشته باشید ادامه می یابد.
25-الگوریتم اثبات قابلیت بازیابی
این الگوریتم توسط مایکروسافت در حال استفاده می باشد.
الگوریتم اثبات قابلیت بازیابی یا Proof of Retrivability که به طور خلاصه به آن PoR نیز می گویند، یک اثبات فشرده با استفاده از یک سیستم فایل یا همان اثبات کننده به یک کلاینت و یا دریافت کننده است. در این الگوریتم فایل هدف (برای مثال فایل F ) دست نخورده باقی می ماند. به این معنی که کلاینت این امکان را دارد تا آن را به طور کامل بازیابی کند.
روند کاری در این الگوریتم به گونه ای است که این اثبات ها پیچیدگی ارتباطی کمتری نسبت به مخابره ی خود فایل هدف دارند. در نتیجه این الگوریتم و بلاک هایش، به نوعی یک بلاک جذاب برای سیستم های ذخیره سازی از راه دور به شمار می رود که تضمین بالایی هم به همراه دارد. این الگوریتم می تواند به عنوان یک الگوریتم اجماع برای سیستم هایی که رایانش ابری دارند بسیار مفید باشد.
26-الگوریتم اثبات باورپذیری
استفاده از این الگوریتم مزایای زیر را برای کاربران به همراه خواهد داشت:
- با استفاده از مفهومی به نام Servi که در ادامه بیشتر با آن آشنا می شوید، نسبت به الگوریتم سنتی اثبات سهام غیر متمرکز تر عمل می کند.
- نسبت به الگوریتم سنتی اثبات سهام قطعیت با سرعت بالاتری را دارد.
این الگوریتم در حال حاضر توسط IOST مورد استفاده قرار گرفته است.
توضیح الگوریتم
یک چالش همیشگی در مقابل الگوریتم سنتی اثبات سهام قرار دارد و آن هم گرایش آن الگوریتم به طرف تمرکز گرایی می باشد. IOST که در حال حاضر از این سیستم استفاده می کند، برای این که این ریسک را کاهش دهد، سرویس Servi را نیز به عنوان یک ابزار سنجش کمک کاربران، به جامعه ی خود یعنی IOST اضافه کرده است. این سرویس همچنین راهی را برای تشویق کاربران برای کمک به ادامه ی توسعه ی شبکه بلاک چین IOS را ارائه کرده است.استفاده از این مکانیزم در شبکه، ویژگی های زیر را به همراه خواهد داشت:
غیر قابل تبادل
سیستم Servi برای تبادل طراحی و ساخته نشده است، به همین منظور امکان تبادل و یا معامله در آن وجود ندارد.
خودنابود شونده
سیستم پس از این که یک بلاک تایید شد به صورت اتوماتیک موجودی Servi را که نزد کاربر تایید کننده قرار دارد از بین برده و پاک سازی می کند. با استفاده از این روش گره هایی که دارای امتیار بالای باورپذیری هستند این امکان را دارند تا در نوبت تایید بلاک قرار گیرند تا فرآیند منصفانه ی تولید بلاک جدید را تضمین کنند.
خود انتشاری
سیستم Servi به صورت اتوماتیک پس از ارائه ی کمک های مشخصی مانند ارائه ی سرویس های جمعی و یا ارائه خدمات جمعی که توسط نهاد های دیگر و یا کمک های برخی افراد جمع شده است، حساب های مربوطه را به حساب کاربران واریز می کند.
سیستم های سنتی
سیستم های بلاک چین قدیمی تر یا همان سیستم های سنتی، با توجه به اندازه قطعاتشان در زمینه ی امنیت و خروجی داده شده، مراحلی را داشتند که این مراحل می توانست همراه با سود و یا ضرر باشد. سیستم هایی که تعداد قطعاتشان بیشتر است، در کل عملکرد بهتری دارند، اما در مقابل، در مواجهه با حملات هکر ها انعطاف پذیری کمتری دارند. این ماجرا به صورت بالعکس نیز وجود دارد. این مشکل، یکی از مواردی است که Casper نیز با آن درگیر است.
سیستم IOST برای این که بتواند این مشکلات را برطرف کند و همچنین بتواند امنیت شبکه را نیز حفظ کند و میزان خروجی را افزایش دهد، برای شبکه بلاک چین IOS یک پروتکل اجمال اثبات باورپذیری نوآورانه را ارئه داده است. در این مکانیزم، اثبات باورپذیری تضمین می کند که احتمال رفتار سوء را دارند، اما خروجی تراکنش ها به همراه قطعه ها به صورت چشمگیری افزایش پیدا می کند.
رویکرد درون قطعه ای
الگوریتم اجماع اثبات باورپذیری از یک رویکرد درون قطعه ای اول باورپذیر در سیستم خود استفاده می کند. در این الگوریتم تمام گره ها یا همان تایید کنندگان به دو دسته تقسیم می شوند:
- گروه باورپذیر
- گروه معمولی
تاییدکنندگانی که در گروه باورپذیر قرار دارند تراکنش ها را در مرحله ی اول به سرعت پردازش می کنند. در مرحله بعد، تایید کنندگان اول تراکنش ها را در بخش بعدی نمونه برداری می کنند تا آن تراکنش ها تایید شود و کار کاملا قطعی شود. با این کار تاییدیه آن ها تضمین شود.
در این الگوریتم شانس انتخاب شدن به عنوان یک گره در گروه باورپذیر به عوامل مختلفی بستگی دارد. برخی از این عوامل عبارت اند از :
- موجودی توکن
- میزان کمک کردن به جامعه
- نوشتن بررسی ها
- و …
تایید کننده ای که بتواند امتیاز باورپذیری بالاتری را برای خود به دست آورد شانس بیشتری هم برای انتخاب شدن خواهد داشت. تاییدکنندگانی که در دسته باورپذیر قرار دارند برای تعیین کردن مجموعه تراکنش های انجام شده و مشخص کردن ترتیب آنان از یک رویه ی مشخص استفاده می کنند. این رویه باعث می شود تراکنش ها به ترتیب پردازش شود.
تایید کنندگان دسته ی باورپذیر خود گروه های کوچک تری را تشکیل می دهند. در این گروه ها یک تایید کننده وجود دارد. تراکنش ها به صورت تصادفی در میان این تاییدکنندگان تقسیم خواهد شد. در نتیجه بلاک های کوچک تر با تاخیر کمتر تولید خواهد شد.
مسائل امنیتی
با همه این محکم کاری ها باز هم امکان بروز مسائل امنیتی وجود دارد. آن هم به این دلیل است که در این الگوریتم تنها یک گره کار تایید شدن را انجام می دهد پس این احتمال وجود دارد که تعدادی تراکنش فاسد نیز توسط این تایید کنندگان تایید شده و انجام شود. برای حل این مشکل در شبکه ، یک نمونه امتحانی در شبکه تعیین می شود که در آن تاییدکنندگان معمولی تراکنش ها را بررسی کرده و تناقضات احتمالی را شناسایی می کنند.
اگر در این میان تاییدکننده ای به عنوان خرابکار در شبکه شناسایی شود، تمام توکن ها و همچنین شهرت خود را در سیستم از دست خواهد داد. با این کار زیان افراد فریب خورده نیز جبران خواهد شد.
استفاده از رویکرد اول باورپذیر باعث می شود تا سرعت پردازش تراکنش ها به شکل قابل توجهی افزایش پیدا کند. دلیل این کار هم این است که تنها یک تایید کننده ی باورپذیر فرآیند تایید را انجام می دهد و احتمال سوء رفتار از آن وجود ندارد.
27-الگوریتم تنگل (آیوتا )
الگوریتم تنگل یک الگوریتم اجماع از نوع DAG می باشد. در حال حاضر آیوتا از این الگوریتم استفاده می کند. کاربر برای آن که بتواند در الگوریتم تنگل یک تراکنش ارسال کند، باید قبل از آن ، دو تراکنش پیش از آن را که دریافت کرده است ثبت و تایید نماید. هرچه تعداد تراکنش هایی که به تنگل اضافه می شوند بیشتر باشد، اجماع دو به یک و پیش پرداخت، باعث می شود تا تایید شدن تراکنش ها هرچه بیشتر مستحکم شود.
از آن جا که در این الگوریتم اجماع توسط تراکنش ها به دست می آید، اگر کسی بتوان میزان یک سوم از تراکنش ها را تولید نماید این امکان را دارد تا سایر افراد شبکه را قانع کند که تراکنش های نامعتبرشان درواقع معتبر است. اما تا زمانی که حجم تراکنش های کافی برای ایجاد یک سوم حجم به وجود نیاید، آیوتا تمام تراکنش های شبکه را در یک گره متمرکز به نام Coordinator دو بار بررسی می کند.
آیوتا در توضیح Coordinator این گونه بیان می کند که این گره مثل یک چرخ کمکی برای شبکه عمل می کند و به محض آن که الگوریتم تنگل به اندازه کافی بزرگ و قدرتمند شود آن را حذف می کنند.
28-الگوریتم هش گراف
الگوریتم هش گراف یکی از انواع پروتکل های اجماع است. این الگوریتم توسط لیمون بیرد طراحی و توسعه داده شده است. در این الگوریتم فرآیند انجام کار به این صورت است که گره ها تراکنش های مورد تایید و شناخته شده خود را به صورت تصادفی با سایر گره ها به اشتراک می گذارند. در نتیجه ی این چرخش ها، تمام تراکنش ها در بین تمام گره ها می چرخد.
الگوریتم هش گراف برای شبکه های خصوصی گزینه ی بسیار خوبی است. این الگوریتم را در شبکه های عمومی مانند اتریوم و یا دیسپچ مشاهده نخواهید کرد.
29-الگوریتم هولوچین
این الگوریتم شباهت بسیار زیادی به مدل قبلی یعنی هش گراف دارد، اما هش گراف نیست. این الگوریتم یک ساختار داده ای را ارائه می کند که با استفاده از آن می توان اپلیکیشن های غیر متمرکز را توسعه داد. در این الگوریتم هر گره زنجیره ی خودش را دارد و با استفاده از آن می تواند داده های مورد نظر جمله تراکنش ها را به زنجیره اضافه کند.
زنجیره هایی که در این شبکه فعالیت می کنند این توانایی را دارند تا ادغام شده، تقسیم شوند و همچنین به شکل های پیچیده تبدیل شوند.
الگوریتم هولوچین داده ها را به طور غیر متمرکز ذخیره می کند. در هولوچین هر داده ای یک هش دارد که آن هش، اثر ریاضی مربوط به داده است.
اگر در این شبکه شخصی داده ها را دستکاری کند، بین داده ها و هش آن ها عدم تطابق پیش آمده و توسط شبکه شناسایی می شود. سپس این داده به عنوان یک داده غیر معتبر دسته بندی شده و رد خواهد شد. در این الگوریتم امضا های دیجیتالی ضامن مالکیت داده هستند. الگوریتم هولوچین در اصل بیت تورنت است و امضا های دیجیتال به آن اضافه شده است.
30- الگوریتم بلاک-لاتیس (نانو )
این الگوریتم که نام قبلی آن ریل بلاکس بوده است، با یک پیچ در بلاک چین فعالیت می کند که نام این پیچ بلاک لاتیس می باشد.
در این الگوریتم و در بلاک لاتیس، ساختاری وجود دارد به این صورت که همه ی کاربران زنجیره خود را در اختیار دارند. این زنجیره تنها توانایی نوشتن را به کاربران خود می دهد و همه ی کاربران در آن می توانند اطلاعات خود را وارد کنند. تمام کاربران در این الگوریتم یک کپی از زنجیره را دریافت و نگهداری می کنند.
در این الگوریتم هر تراکنش به دو بلاک ارسال در زنجیره ی فرستنده و یک بلاک دریافت در زنجیره دریافت کننده تقسیم می شود. اگر از دور به این الگوریتم نگاه کنید، نحوه کار و فعالیت آن بسیار ساده است و هیچ قسمت پیچیده ای در آن وجود ندارد.
این الگوریتم یک مزیت بزرگ دارد و آن هم به ساختار منحصر به فرد آن مربوط می شود. این ساختار منحصر به فرد باعث این شده است که این الگوریتم در مقابل حملاتی مانند حمله پنی مقاوم شود. این حمله این گونه است که در آن، فرد مهاجم تعداد زنجیره هایی را که در آن گره مسئول آن است را با ارسال مقادیر پایینی از ارایه ی گسترده ای از کیف پول های خالی اشباع و متورم می کند.
31-الگوریتم اسپکتر
در رابطه با این الگوریتم باید سریالی کردن رویداد های اثبات کار را برای شما توضیح دهیم. در این الگوریتم تایید تراکنش ها از طریق انتخابات بازگشتی انجام می شود. این روش بازگشتی به نام اسپکتر شناخته می شود. اسپکتر در اصل یک راه کار برای مقیاس پذیری در شبکه ی بیت کوین است که از ترکیب اثبات کار و DAG برای رسیدن به یک اجماع استفاده می کند. در الگوریتم اسپکتر، بلاک ها فقط به یک منبع اشاره نمی کنند و برای استخراج به چندین بلاک اشاره می کنند. با استفاده از این روش، شبکه امکان مدیریت چندین بلاک را در هر ثانیه دارد.
ماین کردن یک بلاک با استفاده از اشاره کردن به چندین منبع باعث ایجاد حمایت از اعتبار آن بلاک می شود. اسپکتر برای فعالیت خود از بلاک هایی با بیشترین برد استفاده می کند. البته این بلاک چین هنوز در دنیای واقعی و با شرایط واقعی امتحان نشده است و امکان دارد در آن مشکلاتی وجود داشته باشد و راه حمله ای برای خرابکار ها در آن باز باشد. اما خب این الگوریتم یک راه کار برای بهبود شبکه بیت کوین به شمار می رود.
32-الگوریتم بایت بال
این الگوریتم برای فعالیت خود از DAG استفاده می کند. در این الگوریتم یک ترکیب ناقص در میان تراکنش ها ایجاد می شود و سپس زنجیره اصلی به DAG اضافه می شود.
در این الگوریتم زنجیره اصلی ، اجازه تعریف ترتیب کلی در میان تراکنش ها را می دهد. زنجیره ای که در این الگوریتم به صورت مستقیم و یا غیر مستقیم به زنجیره اصلی گنجانده شده، در ترتیب کلی نیز وجود دارد. برای مثال در این الگوریتم اگر مشکل دو بار خرج کردن پیش آید، نسخه ی تراکنشی که پیشتر در ترتیب کلی آمده است به عنوان ترکیب معتبر شناخته شده و سایر تراکنش های انجام شده نا معتبر می شود.
در بایت بال زنجیره اصلی به صورت قطعی و مطمئن بر اساس موقعیت تراکنش ها در نمودار تعریف شده و مشخص می شود. در صورتی که نیاز دارید در مورد این الگوریتم اطلاعات بیشتری کسب کنید می توانید به وایت پیپر آن مراجعه کنید. بطور کلی جهت این الگوریتم به آن سمت حرکت می کند که تراکنش های درون آن توسط افراد شناخته شده نوشته شده باشد. دلیل این کار هم این است که بتوان آن افراد را به عنوان شاهد در نظر گرفت. لیست شاهد ها توسط کاربران تعریف و مشخص می شود.
فرآیند انجام کار
در این الگوریتم زنجیره اصلی به این صورت مسیر را درون DAG دنبال می کند:
- لیست شاهد ها در تراکنش های مجاور در زنجیره باید یکسان باشد و یا تنها می تواند با یک تغییر متفاوت باشد.
- زنجیره در اکثر تراکنش های نوشته شده توسط شاهدین می چرخد و آن ها را با زنجیره های جایگزین مقایسه می کند.
33-الگوریتم Proof-of-Coverage
این الگوریتم از مشخصه های فرکانس رادیویی استفاده میکند تا اثبات هایی که برای شبکه هلیوم و کاربرانش بامعنا باشند را تولید کند. بلاکچین بصورت مداوم هات اسپات ها را با مکانیسمی بنام “PoC Challenge” چک میکند. داده های اثبات های مداوم در شبکه بلاکچین هلیوم ذخیره میشود که تایید قطعی از پوشش وایرلسی هست که توسط هات اسپات هلیوم ساخته شده است.
چالش های اثبات پوشش(PoC Challenge )
هر چلنج یا چالش، کاری مجزا برای اثبات پوشش میباشد. تا به امروز میلیون ها چلنج صادر شده و پردازش شده و بلاکچین هلیوم تمامی داده های این فرایند را ذخیره میکند. بلاکچین داده های متعددی از کیفیت شبکه را ذخیره میکند. نحوه دقیق کارکرد چلنج ها بدین شکل است:
1-چالشگر (Challenger )
هات اسپاتی که چلنج را میسازد و ارسال میکند. هات اسپات ها به طور متوسط یک بار در هر 300 بلاک چلنج ارسال میکنند.
2-انتقال دهنده (Transmitter )
مخابره کننده یا Challenging یا چالش شونده نیز میتواند نامیده شود. این هات اسپات هدف چالش میباشد و مسئول انتقال داده چلنج به هات اسپات های مجاور (شاهد ها ) برای ثبت شاهد میباشد.
3-شاهد (Witness )
هات اسپات هایی که از لحاظ جغرافیایی به چالش شونده نزدیک هستند و وجود هات اسپات چالش شونده در چلنج را بعد از اینکه به آنها منتقل شد گزارش میکنند و در واقع شهادت میدهند.
عملیات چالش با جزئیات بیشتر
هات اسپات ها در حال حاضر مجاز هستند حدودا یک چلنج اثبات در هر 300 بلاک انجام دهند. آنها پس از انجام این کار ، مقداری توکن HNT (توکن شبکه هلیوم ) به عنوان پاداش دریافت می کنند. چالشگر ابتدا یک کلید عمومی و خصوصی زودگذر میسازد تا در چالش استفاده شود. کلید عمومی و خصوصی SHA256 هر دو همراه با هش بلاک فعلی به عنوان یک درخواست PoC ذخیره میشوند. اگر درخواست معتبر باشد و توسط بلاکچین تایید شود، هش بلاکی که رسید در آن ظاهر میشود با هش کلید عمومی زودگذر و هویت و اطلاعات چالشگر برای ایجاد آنتروپی قابل تایید ترکیب میشود. سپس یک عدد تصادفی از طریق این انتروپی ایجاد میشود و برای انتخاب یک هات اسپات تصادفی از کل شبکه (نه لزوما مودم های نزدیک چالش شونده ) استفاده میشود. وقتی بسته چالش ساخته شد، به انتقال دهنده از طریق شبکه همتا به همتا هلیوم منتقل میشود. چالش شونده مورد هدف، بسته چالش را دریافت میکند و بیرونی ترین لایه را بوسیله کلید خصوصی و کلید عمومی زودگذر این چالش رمزگشایی میکند. (کلید عمومی زودگذر در بسته PoC نمایش داده میشود و هات اسپات دریافت کننده بلاکچین را برای دریافت PoC فعال SHA256 مربوطه کلید عمومی بررسی میکند و سریعا نتیجه را به بسته در شبکه هلیوم منتقل میکند. هر تعدادی از هات اسپات های نزدیک به چالشگر از لحاظ جغرافیایی، این داده را دریافت میکنند و به عنوان شاهد وجود چالش شونده را اثبات خواهند کرد.
پاداش دهی در PoC
بصورت کلی دو متغیر برای پاداش دهی وجود دارد. تعداد شاهدین در مدل HIP15 و تعداد هات اسپات ها در هر فضای 6 ضلعی تعریف شده در HIP17
1-مدل HIP15:
برای هر چرخه چالش، هر پاداش بین هات اسپات هایی که در فرایند نقش داشته اند تقسیم میشود. اگر هات اسپاتی در این چرخه به عنوان شاهد نقش داشته باشد، سهم 5.31% از پاداشی که به انتقال دهنده ها داده میشود خواهد داشت. برای مثال اگر 5 هات اسپات شاهد در یک چالش موفق شرکت داشته باشند، هر هات اسپات 1/5 از 5.31% از پاداش در نظر گرفته شده برای چالش را نصیب میشود. برای هر انتقال دهنده، هرچه تعداد شاهدان بیشتر باشد، پاداش انتقال دهنده بیشتر خواهد بود.
2-مدل HIP17:
اگر تعداد هات اسپات های هر منطقه از هدف تراکمی مورد نظر بیشتر شود، شاهد، کمتر پاداش میگیرد . نقشه هر منطقه و فواصلی که بصورت 6 ضلعی در سایت هلیوم مشخص شده تراکم مورد نظر برای هر منطقه جغرافیایی را نشان میدهد. در نمودار مشاهده میکنید که هر محدوده جغرافیایی هدف تراکمی خود را دارد و با بیشتر شدن تعداد ماینر ها و و در واقع شاهد ها از تعداد مشخصی، درآمد چالش شونده افزایش پیدا نمیکند و درآمد شاهد ها کم میشود! در این مثال عدد 4 برای تراکم هدف منطقه در نظر گرفته شده. در مثال زیر ماینر های با موقعیت خوب به رنگ سبز و نقاط با تراکم بیش از نیاز قرمز شده اند.
توزیع پاداش
در دو جدول زیر نحوه توزیع پاداش ها پس انجام یک فرایند چالش Poc با جزئیات ذکر شده است.
تایید اثبات
زمانی که چالشگر مجموعه کامل رسید شاهد ها و انتقال دهنده های فرآیند را دریافت کرد، یا زمان سپری شده از زمان حدود چالش ویا از زمان تعیین شده بالاتر رفت، چالش PoC، کامل در نظر گرفته میشود. در این مرحله چالشگر رسید اثبات را به عنوان یک تراکنش به بلاکچین ارائه میکند تا توسط گروه اجماع فعلی تایید شود. به دلیل آنکه مراحل انجام شده توسط چالشگر برای ساخت و کامل کردن اثبات به راحتی قابل انجام مجدد هستند، اعضای گروه اجماع میتوانند مشروعیت اثبات را تایید کنند. به طور مشخص، چالشگر کلید زودگذر سری را که برای انجام درخواست اصلی PoC و رمزگذاری هر لایه از بسته چالش استفاده میکند را فاش می کند. این اطلاعات مهم، که تا زمان انتشار رسید پنهان بوده است، امکان ایجاد مجدد آنتروپی قطعی را می دهد.
34-الگوریتم اجماع هلیوم
هلیوم از الگوریتم اجماع نوآورانه و اختصاصی خود استفاده میکند. این الگوریتم به منظور اهمیت بخشیدن به ویژگی های کلیدی زیر ایجاد شده است:
1-بدون نیاز به اجازه
هر هات اسپات مطابق با قوانین اجماع و مشخصه های شبکه باید بتواند بصورت آزادانه در شبکه هلیوم شرکت کند.
2-طراحی کاملا غیرمتمرکز
هیچ مشوق و انگیزه ای برای استفاده از عواملی مثل مصرف کم انرژی برای استقرار سخت افزار بیشر از حد نیاز و متمرکز شدن در یک نقطه وجود ندارد.
3-بر اساس کار مفید
دستیابی به اجماع شبکه باید مفید و قابل استفاده مجدد برای شبکه باشد. در سیستم های مبتنی بر توافقی مثل بیتکوین، کار هایی که برای دستیابی به اجماع انجام میشود فقط برای یک بلوک خاص معتبر است. در مقابل، در سیستم اجماع هلیوم باید کار هایی انجام شود که علاوه بر ایمن سازی شبکه بلاکچین، برای شبکه مفید و قابل استفاده باشد.
4-نرخ بالای تراکنش های تایید شده
الگوریتم باید بتواند به تعداد زیادی تراکنش در ثانیه دست یابد و هنگامی که تراکنش توسط بلاکچین مشاهده شد، تایید میشود. کاربرانی که داده های دستگاه را از طریق شبکه هلیوم ارسال می کنند ، نمی توانند زمان های طولانی حل و فصل بلاک را که معمولاً در سایر بلاک چین ها وجود دارد را متحمل شوند.
HoneyBadger BFT-35
الگوریتم اجماع هلیوم بر اساس توزیع و شاخه ای از الگوریتم HoneyBadgerBFT (HBBFT ) نوشته شده است. HBBFT بر اساس مجموعه ای از تحقیقات است که در ابتدا توسط اندرومیلر در دانشگاه Illinois اغاز شد.
الگوریتم HBBFT یک الگوریتم پخش اتمی با زمان غیریکسان است که برای ایجاد گروهی از نود های شناخته شده برای دستیابی به اجماع در مورد پیوند های غیرقابل اعتماد طراحی شده است. در هلیوم، یک گروه اجماعی از اعتبار سنجان منتخب، تراکنش های رمزگذاری شده را به عنوان ورودی دریافت می کنند و قبل از تشکیل یک بلاک و افزودن آن به بلاکچین، به توافق مشترک در مورد ترتیب این تراکنش ها میرسند.
الگوریتم HBBFT متکی بر طرحی است که به عنوان Threshold Encryption شناخته میشود. با استفاده از این طرح، معاملات با یک کلید عمومی مشترک رمزگذاری میشوند و تنها زمانی رمزگشایی صورت میپذیرد که گروه اجماع انتخاب شده برای رمزگشایی آنها، با هم همکاری داشته باشند. استفاده از Threshold Encryption هلیوم را قادر میسازد تا به تراکنش های غیرقابل سانسور دست پیدا کند.
انتخابات گروه اجماع
یک گروه اجماع جدید (CG ) یکبار در هر دوره انتخاب می شود. در حال حاضر 40 عضو برای هر گروه اجماعی انتخاب شده اند ، همانطور که در متغیر زنجیره ای num_consensus_members تعریف شده است. انتخاب گروه منتخب و جریمه های در نظر گرفته شده خود به تنهای داستان طولانی دارد که در گیت هاب پروژه توضیح داده شده است!
رقبا
نودل نتورک (Nodle Network )، بزرگ تر از هلیوم!
شبکه نودل نتورک با شعار اتصال و امن کردن یک شبکه اینترنت اشیا با انرژی کم و استفاده از موبایل بجای مودم هات اسپات میباشد! در حال حاضر شبکه نودل 5 میلیون کاربر فعال روزانه در مقابل حدود 100 هزار شبکه هلیوم دارد. تعداد دستگاه های متصل شده به نودل نتورک در مجموع دو سال و نیم حدود 63 میلیون میباشد و 550 هزار نفر نود فعال در هر نیم ساعت وجود دارد. نقاط سمت چپ تصویر کاربران نودل را در مقابل هلیوم سمت راست نشان میدهد! برا اتصال به شبکه نودل نیاز به خرید ماینر نیست و با یک موبایل اندروید یا اپل میتوان متصل شد!
سوددهی استخراج هلیوم:
در وبسایت “هلیوم پلاس” یک برآورد کلی از درآمد تخمینی یک هات استپات با در نظر گیری تعداد هات اسپات های اطراف صفر، کمی و تعدادی بیان شده است که در تصویر آورده شده است. حدودا ماهی 130 دلار به ازای هر مودم در موقعیتی خوب با قیمت فعلی HNT.
خلاصه و جمع بندی:
به طور خلاصه عملکرد PoC بدین شکل می باشد:
شبکه بلاکچین حدودا هر 300 بلاک یک بار، ماینر هات اسپات شما را انتخاب میکند و تا چک کند آنجا هستی. سپس ماینر هات اسپاتی در جایی از دنیا بصورت تصادفی انتخاب میشود و آن ماینر هات اسپات از دستگاه شما درخواست میکند وجود خود در آن موقعیت جغرافیایی را به وی اثبات کند. ماینر شما با ارسال سیگنال رادیویی به اطراف، از ماینر های هات اسپات اطراف خود درخواست میکند شهادت بدهید من اینجا هستم. هات اسپات های های شاهد موقعیت جغرافیایی ماینر هات اسپات شما را تایید میکنند. چالش Poc تکمیل میشود و عوامل شرکت کننده در چالش پاداش میگیرند.
مقایسهای کوتاه بینالگوریتم Proof of Coverage و سایر با الگویتم ها
الگوریتم Proof of Coverage در صدد است تا به طور مداوم تائید کند که هاتاسپاتها موقعیت خود و پوشش شبکهی بیسیمی را که از آن موقعیت ایجاد میکنند، صادقانه نشان میدهند.
در بارهی شبکه ی هلیوم
شبکه ی هلیوم (Helium ) که در جولای 2019 راه اندازی شد، یک شبکه بلاک چین منبع باز است که برای راه اندازی دستگاه های اینترنت اشیا (IoT ) با اتصال بی سیم طراحی شده است. این شبکه تلاش می کند یک شبکه بی سیم جهانی و فراگیر ایجاد کند و در آن افراد تشویق می شوند تا میزبانی هات اسپات های آن را بر عهده بگیرند و تبدیل به نودها یا گره های این شبکه شوند که هم رمزارز HNT را برای ایجاد و ایمن کردن شبکه استخراج می کنند و هم اتصال دستگاه های نزدیک به خود به اینترنت را فراهم می کنند.
از طریق شبکه ی رو به رشد هلیوم در سراسر جهان، توسعه دهندگان و کسب و کارها می توانند دسته جدیدی از دستگاه های اینترنت اشیاء مانند حسگرهای از راه دور آتش سوزی یا حسگرهای محیطی، قلاده های هوشمند حیوانات خانگی، اسکوترها و دوچرخه هایی که در هر مکانی از شهر ردیابی می شوند، را به هم متصل کنند.
الگوریتم اثبات پوشش (Proof of Coverage ) شبکه ی هلیوم
شبکه ی هلیوم از اثبات پوشش (PoC ) استفاده می کند. این یک الگوریتم کاری جدید است که به کاربران در ازای تأیید پوشش پاداش می دهد و این کار از طریق اثبات موقعیت مکانی و اتصال شبکه انجام می شود. اثبات پوشش (PoC ) بر روی پروتکل اجماع هلیوم ساخته شده است که پروتکل اجماع محاسباتی چند طرفه HoneyBadgerBFT را در خود جای داده است.
این مدل انگیزشی جدید که از سوی شرکت هلیوم طراحی شده مردم را برای مشارکت در شبکه و کسب پاداش های استخراج هلیوم تشویق می کند و به آنها انگیزه می دهد تا هات اسپات ها را مستقر کنند. پیاده سازی استخراج شبکه هلیوم با استفاده از فناوری امواج رادیویی به جای دستگاه های استخراج سنتی اثبات کار مانند پردازنده های گرافیکی یا ASIC انجام می شود و باعث می شود هات اسپات ها نسبت به همتایان سنتی خود انرژی کمتری مصرف کنند.
الگوریتمهای رمزنگاری
چنانچه در بازار ارز دیجیتال به خرید و فروش ارزهای دیجیتال می پردازید می دانید که هر ارز رمزنگاری شده از الگوریتم رمزگذاری خاص خود استفاده میکند. ماینرها الگوریتمها را رمزگشایی کرده و پاداشهایی را در قالب توکنهای یک ارز رمزنگاری شده خاص دریافت میکنند.
در باره الگوریتم های رمزنگاری
الگوریتم رمزنگاری مجموعهای از مکانیسمها و قوانین رمزنگاری خاص هستند که یک ارز دیجیتال را رمزگذاری میکنند ماینرها با استفاده از تجهیزات خاص الگوریتم یک ارز دیجیتال را رمزگشایی میکنند. این فرایند شامل یافتن یک هش است. به محض یافتن هش صحیح، بلاک جدیدی در بلاکچین ایجاد میشود که اطلاعات مربوط به تراکنشها، هش بلوک قبلی، مقدار دریافتی توسط ماینر را ذخیره میکند.
فرآیند رمزگشایی (یا استخراج ارز ) مجموعهای از دادههای تصادفی را به اطلاعات منظم سیستماتیک تبدیل میکند که بعداً در بلاکچین ثبت میشود. امروزه حدود 10 الگوریتم رمزنگاری وجود دارد. برخی از الگوریتمها محبوبیت بیشتری دارند و برای چندین ارز رمزنگاری شده مختلف (بلاکچین ) استفاده میشوند. به عنوان مثال رایجترین الگوریتمها SHA-256، Scrypt، Equihash، Ethash، X11، RandomX و Lyra2z هستند. در زیر هر یک از این موارد را توضیح میدهیم.
1-الگوریتم SHA-256
الگوریتم SHA-256 یک الگوریتم رمزنگاری امن است که به دلیل استفاده بیت کوین محبوبیت زیادی دارد. مخفف SHA الگوریتم هش امن است و 256 به معنی این است که الگوریتم ارز رمزنگاری شده یک هش 256 بیتی ایجاد میکند(یک رشته 256 بیتی ). نرخ هش برای ارزهای دیجیتال مبتنی بر SHA-256 بر حسب واحد گیگاهش در ثانیه (GH/s ) محاسبه میشود. ایجاد یک بلوک شش تا ده دقیقه طول میکشد. بیت کوین و بعضی دیگر از ارزهای دیجیتال و به ویژه فورکهای بیت کوین از الگوریتم SHA-256 استفاده میکنند.
آژانس امنیت ملی ایالات متحده ، الگوریتم SHA-256 را در سال 2001 اختراع کرد. این الگوریتم بخشی از خانواده الگوریتمهای SHA است. در حال حاضر، این تنها الگوریتم از این خانواده است که از امنیت بیشتری برخوردار می باشد. الگوریتم SHA-256 علاوه بر ارزهای رمزنگاری شده، در فناوریهای دیگر نیز محبوب واقع شده است. به عنوان مثال عملکرد پروتکلهای امنیتی مانند TLS ،SSL ،PGP ،SSH بر اساس SHA-256 تکمیل می شود.
در سال 2009، زمانی که بیت کوین تنها برای چند نفر شناخته شده بود، از رایانههای معمولی برای استخراج بیت کوین استفاده میشد که محاسبات را با استفاده از پردازنده مرکزی انجام میداد. بعداً آنها شروع به استفاده از پردازندههای گرافیکی قویتر کردند. در حال حاضر محبوبیت بیت کوین بسیار زیاد است. با استفاده از ماینرهای ASIC، دستگاههای ویژه با قدرت محاسباتی بالا از نظر اقتصادی سودآور شده است.
ارزهای دیجیتالی که از الگوریتم SHA-256 استفاده میکنند عبارتند از:
- بیت کوین (BTC )
- بیت کوین کش (BCH )
- بیت کوین اس وی (BSV )
- پیر کوین (PPC )
- بیت کوین دارک (BTCD )
- لایت کوین کش (LCC )
2-الگوریتم Scrypt
الگوریتم Scrypt یکی دیگر از الگوریتم های هشینگ در رمز نگاری است. سرعت ایجاد بلاک در بلاکچین مبتنی بر Scrypt حدود 30 ثانیه می باشد. میزان هش در مگاهش بر ثانیه (MH/s ) اندازهگیری میشود. الگوریتم Scrypt به دلیل استفاده ارز دیجیتال لایت کوین Litecoin بیشتر مورد توجه واقع شد. سادگی عملکرد SHA-256 به شما امکان میدهد تا فرآیند استخراج را خودکار کنید. بنابراین، هدف اصلی ایجاد الگوریتم Scrypt این بود که مکانیسم تولید بلوک را به دلیل افزایش نیاز به منابع مورد استفاده برای عملیات محاسباتی، پیچیده کند. در فرآیند استخراج ارزهایی که از الگوریتم اسکریپت استفاده می کنند میزان RAM بسیار مهم است. در حالی که الزامات مصرف برق و قدرت پردازش در این الگوریتم بسیار کمتر از SHA-256 است. در ابتدا از پردازندههای مرکزی و گرافیکی برای استخراج ارزهای دیجیتال مبتنی بر Scrypt استفاده میشد اما این الگوریتم نتوانست با دستگاههای ماینر رقابت کند. بنابراین در سال 2014 اولین ماینر ASIC برای توکنهای با الگوریتم Scrypt ایجاد شد.
ارزهای دیجیتالی که از الگوریتم Scrypt استفاده میکنند عبارتند از:
- لایت کوین (LTC )
- دوج کوین (DOGE )
- رد کوین (RED )
- ویاکوین (VIA )
- سیس کوین (SYS )
3-الگوریتم Equihash
الگوریتم Equihash یک الگوریتم ارز رمزنگاری ناشناس است که در سال 2016 منتشر شد. اولین ارز رمزنگاری شده که از الگوریتم Equihash به عنوان پایگاه خود استفاده کرد، Zcash بود. ایجاد بلوکها در این الگوریتم 150 ثانیه طول میکشد و هش بر حسب مگاهش بر ثانیه (MH/s ) اندازهگیری میشود. اساس این الگوریتم یک تابع هش است که بر اساس اصل مسأله تولد ساخته شده است. این یک قاعده ریاضی است که برای محاسبه احتمال استفاده میشود.
قاعده میگوید:
اگر 23 نفر در یک اتاق باشند، احتمال اینکه حداقل دو نفر از آنها در یک روز تولد داشته باشند 50% است. بر اساس این الگو، احتمال یافتن عدد nonce در فرآیند استخراج 2 است.
این الگوریتم ارز رمزنگاری شده توسط Alex Biryukov و Dmitry Khovratovich، دانشمندان دانشگاه لوکزامبورگ که بخشی از گروه تحقیقاتی Crypto LUX هستند، ایجاد شده است. الگوریتم Equihash برعکس برخی الگوریتم ها که به سرعت پردازش محاسبات ریاضی نیاز دارند، فقط به ظرفیت RAM نیاز دارد. این باعث میشود که در برابر ماینرهای ASIC و غیر متمرکز بودن شبکه مقاوم باشد. برای استخراج ارزهای رمزنگاری شده مبتنی بر الگوریتم Equihash، از کارتهای گرافیک با حداقل ظرفیت حافظه 2 گیگابایت استفاده میشود.
ارزهای دیجیتالی که از الگوریتم Equihash استفاده میکنند عبارتند از:
- زی کش (ZEC )
- بیت کوین گلد (BTG )
- کومودو (KMD )
- زی کلاسیک (ZCL )
- هورایزن (ZEN )
- بیت کوین پرایوت (BTCP )
4-الگوریتم Ethash
الگوریتم Ethash یک الگوریتم ارز رمزنگاری شده می باشد که برای استخراج اتریوم توسعه یافته و بر اساس دو الگوریتم متفاوت (Dagger و هاشیموتو ) طراحی شده است. هش ریت الگوریتم Ethash بر حسب مگاهش بر ثانیه (MH/s ) اندازهگیری میشود.
Dagger یک الگوریتم ارز رمزنگاری شده است که به حافظه کارت گرافیک نیاز دارد. اصل عملکرد آن مشابه Scrypt است، اما بهتر از آن عمل می کند. این امر به ویژه در شلوغی شبکه قابل توجه است. با این حال Dagger دارای معایبی نیز می باشد. بنابراین فقط در صورت جفت شدن با هاشیموتو میتواند موثر باشد.
الگوریتم هاشیموتو با عملیات ورودی/خروجی در حالت خاصی کار میکند. این الگوریتم سرعت تولید را محدود میکند زیرا میزان حافظه برای نوشتن و خواندن اطلاعات بینهایت نیست. هاشیموتو یک الگوریتم ارز رمزنگاری شده است که به مقدار زیادی حافظه نیاز دارد. به همین دلیل امکان انجام تعداد زیادی عملیات ورودی/خروجی وجود ندارد، یعنی برای رمزگشایی، استفاده از روش انتخاب نامحدود مقادیر تصادفی کار نخواهد کرد که این مهم ترین دلیل عدم استفاده دستگاههای ASIC برای استخراج اتریوم بود. الگوریتم Ethash برای اتریوم ایجاد شده است. با این حال، ارزهای دیگر نیز شروع به استفاده از این الگوریتم کردند.
ارزهای دیجیتالی که از الگوریتم Ethash استفاده میکنند عبارتند از:
- اتریوم (ETH )
- اتریوم کلاسیک (ETC )
- یوبیک (UBQ )
- اکسپنس (EXP )
- پیرل (PIRL )
- موزیک کوین (MUSIC )
- کوارک چین (QKC )
5-الگوریتم X11
الگوریتم رمزگذاری X11 نیز جزو الگوریتم های هشینگ در رمز نگاری است که توسط ایوان دافیلد، خالق یکی از ارزهای رمزنگاری شده برتر یعنی ارز دش Dash، توسعه داده شد. او میخواست ناشناس بودن و قابلیت تبادل بیت کوین را بهبود بخشد، اما ایده او جایی پذیرفته نشد. مزیت الگوریتم X11 این است که استخراج ارزهای دیجیتال بر اساس آن از نظر مصرف انرژی بسیار اقتصادی است.
آزمایشها نشان داد که ماینینگ Dash روی کارتهای گرافیک 30% تا 50% کمتر از ماین بیت کوین در دستگاههای ASIC برق مصرف میکند. برای استخراج ارزهایی که بر اساس الگوریتم X11 کار میکنند، میتوانید نه تنها از GPU بلکه از CPU نیز استفاده کنید. این یکی از معدود الگوریتمهای امروزی است که اجازه استخراج با استفاده از پردازندهها را میدهد و این امر را برای ماینر های انفرادی و شرکتهای کوچک جذاب میکند. در حال حاضر، الگوریتمهای دیگری نیز ایجاد شدند که همانند الگوریتم X11 بر اساس ادغام چندین توابع هش ساخته شدهاند. الگوریتم های X12 ،X13 ،X14 ،X15 ،X16 و حتی X17 از این موارد هستند. با این حال، X11 هنوز محبوبترین الگوریتم این خانواده است.
ارزهای دیجیتالی که از الگوریتم X11 استفاده میکنند عبارتند از:
- دش (DASH )
- پورا (PURA )
- تائو (XTO )
- سینرژی (SNRG )
- انیگما (ENG )
- کن نابیس کوین (CANN )
5-الگوریتم RandomX
الگوریتم RandomX یک الگوریتم اثبات کار است که برای کارتهای گرافیک عمومی (GPU ) و پردازندههای عمومی (CPU ) بهینه شده است. ویژگی اصلی این نوآوری اجرای قطعات مختلف کد به ترتیب تصادفی و بارگذاری حافظه دستگاه است. الگوریتم RandomX از یک ماشین مجازی استفاده میکند که برنامهها را در یک مجموعه دستورالعمل ویژه اجرا میکند. این برنامهها را میتوان به سرعت به کد پردازنده تبدیل کرد. در نتیجه، خروجی برنامههای اجرا شده با استفاده از تابع هش رمزنگاری Blake2b به یک نتیجه 256 بیتی ترکیب میشود.
Random X از استخراج با CPU و GPU (AMD و Nvidia ) پشتیبانی میکند. اکثر مدلهای CPU اینتل و AMD و همچنین کارتهای گرافیک با حداقل 2 گیگابایت حافظه برای استخراج ارزهای مبتنی بر الگوریتم RandomX بسیار کارآمد هستند.
ارزهای دیجیتالی که از الگوریتم RandomX استفاده میکنند عبارتند از:
- مونرو (XMR )
- کوانتوم رزیستنس لجر (QRL )
6-الگوریتم Lyra2z
الگوریتم Lyra2z یک الگوریتم رمزنگاری کارآمد می باشد که با CPU سازگار است. Lyra2Z و Lyra2REv2 الگوریتمهایی هستند که با استفاده از توابع Blake256 و Lyra2 به صورت متوالی یکدیگر را تغییر میدهند. آنها برای کاهش مصرف برق هنگام استخراج روی کارتهای گرافیک بهینه سازی شدهاند.
ارزهای دیجیتالی که از الگوریتم Lyra2z استفاده میکنند عبارتند از:
- فایرو (XZC )
- ورج (XVG )
- ویلیس (VLS )
با توجه به مقاله الگوریتم های هشینگ در رمز نگاری، همه ارزهای دیجیتال از الگوریتمهای هش متفاوتی استفاده میکنند که مسئول عملکرد بلاکچین آن ها است. با کمک الگوریتم ها، رمزگشایی اجرا میشود و به لطف آنها، امنیت دادهها تضمین میشود. صنعت ارزهای رمزنگاری شده هنوز در ابتدای راه خود است. هر روز انواع جدیدی از ایجاد اجماع در بلاکچین ظاهر میشود. الگوریتمهای ارزهای رمزنگاری شده تغییر کرده و بهبود مییابند. مشاهده چنین رویدادهایی در بازار جذاب است.