الگوریتم اجماع چیست؟ – به زبان ساده + انواع و کاربردها
الگوریتم اجماع برای حفظ امنیت و یکپارچگی سیستمهای غیرمتمرکز استفاده میشود. در شبکههای غیرمتمرکز نهاد ناظری برای تأیید تراکنشها و ذخیره آنها وجود ندارد. بنابراین تأیید تراکنشهای شبکه بهعهده کامپیوترهای شبکه است. این کامپوترها برای اینکه بتوانند بهراحتی باهم ارتباط داشته باشند و برای تأیید و بررسی تراکنشها به توافق برسند، نیاز دارند تا از الگوریتم واحدی بهنام الگوریتم اجماع پیروی کنند. بلاک چین بیت کوین بهعنوان بستری غیرمتمرکز که امکان انجام تراکنشهای همتا به همتا را ایجاد کرده است از نوعی الگوریتم اجماع بهنام الگوریتم اجماع اثبات کار استفاده میکند. با گسترش استفاده از بلاک چین، الگوریتمهای اجماع دیگری همانند الگوریتم اجماع اثبات سهام نیز معرفی شدند. در این مطلب پس از تعریف الگوریتم اجماع، برخی از مهمترین الگوریتمهای اجماع را شرح میدهیم.
الگوریتم اجماع چیست ؟
«الگوریتم اجماع» (Consensus Algorithm) نوعی فرآیند در سیستمهای کامپیوتری است که برای رسیدن به توافق بین آنها انجام میشود. این توافق برای موضوعات یا اطلاعاتی است که در سیستمهای غیرمتمرکز وجود دارد. این توافق برای ایجاد اطمینان و بالا بردن امنیت در شبکه انجام میشود.
کارکرد الگوریتم اجماع چیست ؟
کارکرد الگوریتم اجماع ایجاد فرآیندی است تا کامپوترهای شبکه بتوانند برای موضوعات شبکه توافق کنند. یکی از مشکلاتی که در شبکههای غیرمتمرکز وجود دارد این است که کامپیوترهای شبکه بتوانند برای ایجاد و ذخیره تغییرات در سیستم به توافق برسند. این موضوع برای شبکههای غیرمتمرکزی همانند بلاک چین از اهمیت بالایی برخوردار است. پردازش اطلاعات در شبکه بلاک چین بین کامپیوترها توزیع شده است. اینگونه سیستمها طوری طرحریزی شدهاند تا در صورتی که برخی از این کامپیوترها بهدرستی عمل نکنند نیز بتوانند امنیت شبکه را حفظ کنند و بهکار خود ادامه دهند. این قابلیت در شبکههای غیرمتمرکز باعث میشود تا آنها در برابر خطاهای برخی کامپیوترها تحملپذیری داشته باشند.
الگوریتم اجماع چه مشکلی را حل میکند ؟
برای طرحریزی الگوریتم اجماع باید به این موضوع توجه شود که در شبکههای غیرمتمرکز همانند بلاک چین معمولا تمامی کامپیوترهای شبکه که آنها را «نود» (Node) مینامیم، کار خود را بهدرستی انجام نمیدهند. موضوع عدم انجام درست کار در میان نودهای شبکه همواره وجود دارد. برای همین برای طراحی شبکههای غیرمتمرکز همواره این موضوع را درنظر میگیرند که ممکن است برخی از نودهای شبکه در دسترس نباشند یا برخی از ارتباطات بین نودها در زمان انتقال اطلاعات ممکن است دچار اشکال شود.
برای مثال در برخی از الگوریتمها نیاز است تا تعداد ۵۱ درصد از نودهای شبکه برای موضوعی توافق کنند تا شبکه بتواند برای ایجاد تغییر مربوطه به اجماع برسد. بنابراین رسیدن به توافق با وجود در دسترس نبودن برخی از نودهای شبکه یا بروز مشکلات در برخی از این نودها اصلیترین مشکلی است که الگوریتم اجماع آن را حل میکند.
کاربرد الگوریتم اجماع در بلاک چین
الگوریتم اجماع در سیستمهای پردازشی توزیع شده کاربردهای فراوانی دارد. یکی از کاربردهای الگوریتمهای اجماع در بلاک چین است. بلاک چین نوعی دفتر کل توزیع شده است که نودهای آن بر روی «شبکهای همتا به همتا» (Peer-to-Peer Network) فعالیت میکنند. هر یک از نودهای بلاک چین یک کپی از نسخهای بهروز شده از تغییرات شبکه را دارند. هر تغییری که در شبکه بلاک چین روی دهد بهطور همزمان در اختیار نودهای شبکه قرار میگیرد. این موضوع باعث میشود تا نیازی برای وجود نهادی ناظر و متمرکز نباشد و امنیت و اعتماد در سیستم بلاک چین بهوجود آید.
انواع الگوریتمهای اجماع
برای رسیدن به توافق بین نودهای شبکه راههای گوناگونی وجود دارد که باعث بهوجود آمدن انواع الگوریتمهای اجماع در بلاک چین شده است. با توجه به اینکه در سیستمهای غیرمتمرکز نهادی ناظر و مرکزی وجود ندارد، بنابراین وظیفه اصلی الگوریتمهای اجماع در شبکههای غیرمتمرکز ایجاد امنیت و رسیدن به توافق برای ایجاد تغییرات در شبکه است. این موضوع از اهمیت بالایی برخوردار است و برای انجام آن راههای مختلفی وجود دارد. اما وجه اشتراکی که در همگی این الگوریتمهای اجماع وجود دارد این است که به نودها این امکان را بدهد تا بتوانند بهراحتی با یکدیگر ارتباط داشته باشند تا بتوانند برای ذخیره تراکنشها در شبکه به توافق برسند. برای انجام این توافق روشهای گوناگونی معرفی شدهاند که در ادامه این مطلب برخی از آنها را توضیح میدهیم.
الگوریتم اجماع اثبات کار
«الگوریتم اجماع اثبات کار» (Proof of Work | PoW) یکی از قدیمیترین الگوریتمهای اجماع موجود است. این الگوریتم اجماع برای اولین بار در سال ۱۹۹۳ معرفی شد. اما هنگامی که «ساتوشی ناکاموتو» (Satoshi Nakamoto) از آن برای معرفی بیت کوین در سال ۲۰۰۸ استفاده کرد، مورد توجه افراد زیادی قرار گرفت. ایده اصلی الگوریتم اثبات کار بهکارگیری نودهایی در شبکه است که بتوانند پازلهای پیچیده ریاضی را حل کنند و در کوتاهترین زمان ممکن حدسهایی برای حل پازل ارائه کنند.
الگوریتم اثبات کار چیست ؟
ارزهای دیجیتال برای تأیید تراکنشها و ذخیره آنها در بلاک چین سروری مرکزی ندارند و برای پردازش اطلاعات وابسته به کامپیوترهای داخل شبکه هستند. الگوریتم اثبات کار نوعی الگوریتم اجماع است که ماینری را برای تأیید و پردازش اطلاعات بلاک جدید انتخاب میکند. این گزینش ماینرها همانند مسابقهای بین آنها است که در آن ماینرها برای یافتن جواب پازل محاسباتی و گرفتن پاداش شبکه رقابت میکنند. به عبارتی دیگری الگوریتم اثبات کار نرمافزاری است که در شبکه غیرمتمرکز بلاک چین استفاده میشود تا قبل از تولید هر بلاک جدید در شبکه از انجام محاسبات و صرف انرژی توسط ماینرها مطمئن شود.
کلمه کار در الگوریتم اجماع اثبات کار نیز به این موضوع اشاره میکند که سیستم طوری طرحریزی شده است تا قبل از اینکه ماینری بخواهد تراکنشهای جدیدی را به شبکه اضافه کند، با کاری که انجام میدهد با ماینرهای دیگر رقابت کند. ماینری که در این رقابت برنده میشود زمانی پاداش خود را از شبکه دریافت میکند که اطلاعاتی که به شبکه اضافه کرده است، مورد تأیید ماینرهای دیگر قرار بگیرد.
اهمیت الگوریتم اجماع اثبات کار
ساتوشی ناکاموتو با معرفی بیت کوین بهعنوان اولین رمزارزی که در بستری غیرمتمرکز فعالیت دارد، مهمترین مشکل ارزهای دیجیتال که دوبار خرج کردن است را با بهکار بردن الگوریتم اجماع اثبات کار حل کرد. قبل از معرفی بیت کوین بهعنوان وسیلهای برای پرداختهای همتا به همتا، مشکل عمدهای که از ارائه ارزهای دیجیتال معتبر جلوگیری میکرد، دوبار خرج کردن بود.
دو بار خرج کردن به این معنا است که یک ارز دیجیتال را بتوانید دو یا چند بار خرج کنید. با توجه به اینکه ارزهای دیجیتال تنها اطلاعاتی بر روی بسترهای غیرمتمرکز هستند، بنابراین برای جلوگیری از دوبار خرج کردن نیاز به سیستمی است تا امنیت در شبکه تأمین شود. الگوریتم اثبات کار با ایجاد مکانیزمی برای پاداش به ماینرها این قابلیت را در شبکه ایجاد میکند تا تراکنشها قبل از اضافه شدن در بلاک جدید توسط ماینرهای شبکه تأیید و بررسی شوند.
ماینینگ و الگوریتم اثبات کار
بانکی را درنظر بگیرید که حسابهای بانکی را نگهداری میکند و تراکنشهای بانکی را انجام میدهد. هنگامی که میخواهید تراکنشی را از یکی از حسابهای بانکی خود انجام دهید، بانک مربوطه در ابتدا موجود حساب شما را چک میکند و درصورت داشتن اعتبار کافی تراکنش بانکی انجام میشود. اما در بسترهای بلاک چینی نهادی واسط برای انجام این کار وجود ندارد و در عوض حفظ امنیت و پردازش و ذخیرهسازی تراکنشها بر عهده ماینرها و الگوریتم اجماع مربوطه است. بنابراین در شبکههای بلاک چینی که از الگوریتم اجماع اثبات کار استفاده میکنند، ماینرها با استفاده از تجهیزات مربوطه تراکنشها را تأیید و بلاک جدید را به زنجیره بلوک اضافه میکنند.
عملکرد ماینرها در الگوریتم اثبات کار
نحوه کارکرد ماینرها در شبکه مبتنی بر الگوریتم اجماع اثبات کار برای تولید بلاک جدید و دریافت پاداش را میتوانیم در مراحل زیر بهطور خلاصه بیان کنیم.
- ذخیره تراکنشها در بلاک: کاربران تراکنشهایی را در قالب خرید یا فروش ارز دیجیتال انجام میدهند. اطلاعات مربوط به این تراکنشها در بلاک ذخیره میشود.
- رقابت ماینرها برای تولید بلاک جدید: ماینرها برای اینکه بتوانند بلاک جدید را تولید کنند باید با دیگر ماینرها رقابت کنند. در واقع ماینرها با صرف قدرت پردازشی این امتیاز را دریافت میکنند تا در صورت برنده شدن در رقابت بتوانند بلاک جدید را تولید کنند.
- یک ماینر برای افزودن بلاک جدید به شبکه انتخاب میشود: در نهایت ماینری که بتواند زودتر از دیگر ماینرها پازل محاسباتی را حل کند برای تولید بلاک جدید انتخاب میشود و از طرف شبکه پاداش میگیرد.
الگوریتم اثبات کار در بلاک چین بیت کوین
الگوریتم اجماع اثبات کار در بلاک چین بیت کوین باعث میشود فرآیند پردازش و ذخیره اطلاعات در این بلاک چین طبق نظم و اصول مشخصی انجام شود. همانطور که اطلاعات را در برگههایی جداگانه میتوان ذخیره کرد، در هر بلاک از زنجیره بلوک نیز اطلاعاتی را میتوان قرار داد. هر بلاک همانند یک سلول است که اطلاعاتی را میتواند ذخیره کند.
اطلاعاتی از قبیل مقدار تراکنشها، آدرس کیف پولها و زمان مربوط به تراکنشها همگی بهصورت رمزنگاری شده در بلاک ذخیره میشوند. هش هر بلاک در بلاک بعدی آن نیز استفاده میشود. این موضوع باعث میشود تا بلاکها همانند زنجیر بههم متصل باشند و ایجاد تغییر در یکی از آنها، کل آنها را تغییر میدهد. بنابراین دفتر کل توزیع شدهای بهوجود میآید که اطلاعات هش هر بلاک در هش بلاک جدید نیز وجود دارد.
هشینگ در بلاک چین بیت کوین چیست ؟
«هشینگ» (Hashing) به فرآیند تبدیل و تولید اطلاعات ورودی به رشتههایی با طول ثابت گفته میشود که با الگوریتم خاصی انجام میشود. الگوریتم هشینگ در بیت کوین SHA-256 است. این الگوریتم نوعی تابع یکطرفه است. به این معنی که نمیتوان با دادن خروجی بهدست آمده به تابع، اطلاعات ورودی را بازیابی کرد. استفاده از تابع هش در بلاک چین باعث میشود تا از تراکنشهای تقلبی و دوبار خرج کردن جلوگیری شود. اطلاعات بهصورت هش شده در بلاک چین ذخیره میشوند. بعد از اینکه اطلاعات ورودی به تابع هش داده میشوند، خروجی تابع، هش تراکنش نامیده میشود.
مطلبی که در بالا مطالعه کردید بخشی از مجموعه مطالب «آموزش ارزهای دیجیتال — راهنمای مفاهیم و اصطلاحات رمزارزها» است. در ادامه، میتوانید فهرست این مطالب را ببینید:
- دفتر کل توزیع شده چیست ؟ — توضیح DLT به زبان ساده
- بلاک چین چیست و چگونه کار می کند؟ — به زبان ساده
- کاربرد بلاک چین چیست ؟ — هر آنچه باید بدانید
- هش در بلاک چین چیست ؟ – به زبان ساده
- آموزش ارز دیجیتال به زبان ساده — بهترین راهنما برای شروع مبتدی ها
- آموزش بلاک چین ، رمزارزها و بیت کوین جادی — رایگان + دانلود همه بخشها
- اصطلاحات ارز دیجیتال که باید بدانید + توضیح به زبان ساده
- رمز ارز چیست ؟ — آموزش کامل به زبان ساده
- استخر نقدینگی چیست ؟ – توضیح Liquidity Pool به زبان ساده
- انواع بلاک چین چیست ؟ — به زبان ساده
- تفاوت های بلاک چین های عمومی و خصوصی — به زبان ساده
- کریپتو چیست ؟ — به زبان بسیار ساده
- راه های کسب درآمد از ارز دیجیتال – ۱۰ روش کلیدی که باید بدانید
- آموزش رمزنگاری رایگان + مفاهیم پایه و منابع یادگیری — به زبان ساده
- ارز دیجیتال چیست ؟ — به زبان ساده
- صرافی ارز دیجیتال — کدام صرافی آنلاین ارز دیجیتال برای ایرانیان بهتر است؟
- بهترین کیف پول ارز دیجیتال کدام است ؟ | راهنمای استفاده تصویری گام به گام
- کیف پول دیجیتال چیست و کدام کیف پول ارز دیجیتال بهتر است؟
- فورک چیست ؟ — انواع و تاثیر روی قیمت به زبان ساده
- وایت پیپر چیست ؟ — اهمیت و کاربرد به زبان ساده
- استخراج ارز دیجیتال چیست ؟ — راهنمای ماینینگ به زبان ساده
- الگوریتم اثبات کار چیست ؟ — Proof of Work به زبان ساده
- اثبات سهام چیست ؟ — Proof of Stake به زبان ساده
- استخراج اتریوم چیست و چگونه اتریوم استخراج کنیم؟ — از صفر تا صد
- انواع ارز دیجیتال چیست؟ — راهنمایی برای سرمایه گذاری آگاهانه
- توکن سوزی چیست ؟ — مفهوم، علت و تاثیر به زبان ساده
- آلت کوین چیست ؟ — توضیح مفهوم به زبان ساده
- شت کوین چیست ؟ — از مفهوم تا ویژگی ها و تشخیص به زبان ساده
- قرارداد هوشمند چیست ؟ — Smart Contract به زبان ساده
- توکن چیست ؟ — کاربرد و اهمیت به زبان ساده
- تفاوت کوین و توکن در ارز دیجیتال چیست ؟ — به زبان ساده
- دیفای چیست ؟ — توضیح مفهوم DeFi به زبان ساده
- فارمینگ ارز دیجیتال چیست ؟ — کشت سود به زبان ساده
- NFT چیست و چطور کار می کند ؟ | همه چیز درباره توکن غیر قابل معاوضه ان اف تی
- ساخت NFT — آموزش کامل و به زبان ساده
- فروش NFT — آموزش از صفر تا صد و کامل
- متاورس چیست ؟ — به زبان ساده
- خرید زمین در متاورس چیست و چگونه است؟ — راهنمایی برای همه
- چگونه وارد متاورس شویم ؟ — راهنمای صفر تا صد
- وب 3 چیست و چه نقشی در آینده اینترنت دارد؟ — نسل سوم وب به زبان ساده
- بیتکوین چیست و چگونه عمل میکند؟
- بهترین روش کسب درآمد از بیت کوین و ارز دیجیتال — راهنمای جامع
- بازار کریپتو چیست ؟ – به زبان ساده + مزایا و معایب
- هودل چیست و HODL کردن به چه معناست؟ — به زبان ساده
- ایردراپ چیست ؟ — آموزش دریافت ارز دیجیتال رایگان
- عرضه اولیه ارز دیجیتال چیست ؟ — هر آنچه باید در مورد ICO بدانید
- بهترین ارزهای دیجیتال در سال 1401 یا 2022 کدام هستند؟
- توکنومیک چیست ؟ – توضیح به زبان ساده
- اصطلاحات ترید ارز دیجیتال که باید بدانید – توضیح 83 اصطلاح کلیدی
- استیکینگ چیست ؟ – استیکینگ در ارز دیجیتال به زبان ساده
- بازار خرسی چیست ؟ – در ارز دیجیتال و بورس
- ماینینگ چیست ؟ – توضیح در ارز دیجیتال و به زبان ساده
- بلاک چین چگونه کار میکند؟ — به زبان ساده
- بازار گاوی چیست ؟ – در ارز دیجیتال و بورس
- ساخت کیف پول بیت کوین بلاک چین — راهنمای تصویری
- الگوریتم اجماع چیست ؟ – به زبان ساده + انواع و کاربردها(همین مطلب)
- گره در بلاک چین چیست ؟ – توضیح نود Node به زبان ساده
- شاردینگ در بلاک چین چیست ؟ – به زبان ساده
- مقیاس پذیری در بلاک چین چیست ؟ – توضیح به زبان ساده
- نانس چیست ؟ – توضیح عدد nonce در بلاک چین به زبان ساده
- ولیدیتور چیست ؟ – توضیح اعتبار سنج در ارز دیجیتال
- آزادسازی توکن چیست ؟ – توضیح Token Unlock به زبان ساده
- درخت مرکل در بلاک چین چیست ؟ – Merkle Tree به زبان ساده
- TXID چیست ؟ – پیگیری تراکنش ارز دیجیتال با شناسه تراکنش
- مارت در ارز دیجیتال چیست ؟ – توضیح روش پله ای به زبان ساده
- چگونه از ارز دیجیتال سود بگیریم؟ – راهنمای صفر تا صد