الگوریتم اجماع (Consensus Algorithms) چیست؟

یکی از مهمترین خصوصیات شبکههای بلاک چین و سایر «دفاتر کل توزیعشده» ٰ(Distributed Ledger) این است که غیرمتمرکز هستند. در حقیقت غیرمتمرکز بودن این شبکهها به این معنی است که تمامی دادهها و اطلاعات، بر روی سرور اصلی ذخیره و پردازش نشده و بر روی چندین رایانه گوناگون ذخیره و نگهداری میگردد. به سرورهایی که مسئول نگهداری این دادهها هستند، «گره» یا نود (Node) گفته میشود.
از طرفی اصلیترین علت استفاده از دفاتر کل توزیعشده همچون بلاک چین، افزایش سطح امنیت و کسب اطمینان در مورد عدم از بین رفتن یا خرابی دادهها است. درواقع اگر دادههایی که بر روی یکی از نودها قرار دارند، به هر دلیلی از بین بروند تا خراب شوند، بیشمار نود دیگر وجود دارند که این اطلاعات را بر روی خود ذخیره دارند.
ما در زمان استفاده از بلاک چین یا دیگر اقسام دفاتر کل توزیعشده، یک موضوع بسیار مهم مطرح است؛ در حقیقت وقتیکه قرار بر این باشد که دادهها مرتبا بهروزرسانی گردند، این بهروزرسانی لزوما باید بر روی تمامی سرورها یا گرهها انجام شود و جهت انجام این کار از الگوریتم یا مکانیزمی به نام «الگوریتم اجماع» (Consensus Mechanism) استفاده میشود.
اساسا در عرصه ارزهای رمزنگاریشده و شبکه بلاک چین، الگوریتم اجماع دارای اهمیت بسیار زیادی است، بهگونهای که چنین مفهومی، اصلیترین نقش را در امنیت شبکههای بلاک چین و سیستمهای توزیعشده در آن دارد. از این رو در این مطلب قصد داریم تا به مفهوم الگوریتم اجماع و انواع گوناگون آن بپردازیم و در قدم نخست باید ببینیم که اساسا الگوریتم اجماع چیست و چه ساختاری دارد.
الگوریتم اجماع (Consensus Algorithms) چیست؟
از آنجا که شبکههای بلاک چینِ غیرمتمرکز، در قالب سیستمهای توزیعشده هستند، که به هیچ مرجع یا قدرتی وابستگی ندارند، «الگوریتم اجماع» (Consensus Algorithms) را میتوان نوعی مکانیزم تعریفشده نامید که بهوسیله آن شبکه بلاک چین قادر است تا در مورد یک مسئله به نتیجه یا اجماعی کلی برسد. در این روش برای تایید تراکنشهای انجامشده، تعداد بخصوصی از گرهها یا نودهای شبکه، باید به توافقی کلی برسند.
در حقیقت الگوریتمهای اجماع تضمین میکنند که مقررات مرتبط با پروتکلها بهصورت کاملا صحیح رعایت و اجراشده و تمامی تراکنشها و نقل و انتقالات ارزهای دیجیتال در شبکه بلاک چین در حالتی صحیح و در چهارچوب مقررات مرتبط با آن انجام گردیدهاند.
در حقیقت اساسا مفهوم الگوریتم اجماع در داخل یک شبکه بلاک چین به این شکل است که باید میان تعداد معین و مشخصشده از نودها (حداقل بیش از نیمی از نودهای شبکه)، درباره انجام یک تراکنش و انتقال بهصورت دستهجمعی توافقی حاصل گردد، تا چنین انتقالی در داخل یک شبکه بلاک چین انجام شود.
دادههای ثبتشده بر روی یک شبکه بلاک چین میتوانند در هر دستهبندی یا هر شکلی اعم از: انتقال یک یا چند ارز دیجیتال، تعیین مالکیت یک رمز ارز مشخص، هویت یک کاربر بخصوص در شبکه، توافق میان دو کاربر یا مقدار برق مصرفشده باشند.
در حقیقت هر نود شبکه، تراکنش را ثبت کرده و دادههای مربوط به آن تراکنش را به نسخه دفتر کل خود اضافه خواهد کرد. ازاینرو اگر دادهها از روی دفتر کل یک نود پاک شده و یا آن نود دچار مشکل گردد، گرههای دیگر همچنان میتوانند به آن اطلاعات دسترسی داشته باشند. حال در ادامه با ما همراه باشید تا ببینیم که اساسا چرا به مفهومی مثل الگوریتم اجماع نیاز داریم؟