به گزارش خبرنگار حوزه دریچه فناوری گروه فضای مجازی باشگاه خبرنگاران جوان، در گزارشهای قبلی مبحث بلاک چین را از ابتدا آغاز کرده و به بررسی کلیت این شبکه، بلوکها و زنجیره ارتباط بین آنها پرداختیم، در گزارش دوم، مسئاله امنیت در شبکه بلاک چین مطرح شد که در آن گزارش به مواردی که باعث بالا رفتن امنیت این شبکه میشود، اشاره شد. در گزارش سوم نیز به توضیح شبکه کل توزیع و شبکه P2P پرداختیم که به طور کلی ساختار شبکه بلاک چین بود. حال قصد داریم به مسئله الگوریتم اجماع در سیستم بلاک چین بپردازیم. لینک قسمتهای قبلی گزارش در ادامه موجود است، پیشنهاد میشود برای درک بهتر موضوع ابتدا گزارشهای پیشین را مطالعه بفرمایید.
بیشتر بخوانید:
بلاکچین چیست و چه کاربردهایی دارد؟ (قسمت اول)
بلاک چین چیست؟/ بررسی ضریب امنیت در سیستم بلاک چین (قسمت دوم)
بلاک چین چیست؟/ آشنایی با شبکه نظیر به نظیر (قسمت سوم)
اگر تاکنون با گزارشهای بلاک چین ما همراه بوده باشید، میدانید که اولین خصیصه یک شبکه بلاکچین عدم متمرکز بودن آن است، به این صورت که در یک سیستم بلاک چین هیچ ادمین یا مقام قدرتمندی وجود ندارد که بتواند اطلاعات موجود در این سیستم را به دلخواه خود تغییر دهد. در سیستمهای معمولی تمام اطلاعات بر روی یک سرور مرکزی جمعآوری میشود، به این ترتیب کسی که به این سرور دسترسی داشته باشد، میتواند اطلاعات موجود بر روی آن را حذف کرد یا تغییر دهد، اما در سیستم بلاک چین اینگونه نیست.
همانطور که پیشتر نیز اشاره کردیم، بلاک چین از گرههایی تشکیل شده که همه به یکدیگر متصلاند، در واقع هر کابر یک گره محسوب میشود که به صورت مستقیم با دیگر گرهها ارتباط دارد، از طرفی یک نسخه از هر نوع عملیاتی که در شبکه بلاک چین رخ میدهد درون گرهها ذخیره میشود، یعنی همه کاربران یک نسخه کلی از تمام شبکه بلاک چین را دارند و حتی اگر یک یا چند گره با مشکل مواجه شوند، دیگر گرهها نسخه کامل شبکه را در خود جای دادهاند. به این ترتیب به هیچ وجه امکان جا به جایی یا تغییر در شبکه، در اطلاعات گرهها و در هیچ مورد دیگری که مربوط به بلاک چین است، وجود ندارد. اما گاهی نیاز داریم شبکه بلاک چین را با تغییراتی مواجه کنیم، یا آنکه گرهها باید اطلاعا جدیدی را تائید کنند، در این شرایط باید چه کار کرد؟
اجماع در بلاک چین به آن معناست که همه گرهها بر روی یک اتفاق (مانند تائید یک عملیات یا تغییر اطلاعات) توافق نظر داشته باشند. به زبان ساده همه باید تائید کنند تا اتفاقی رخ دهد یا تغییری انجام شود (به زبانی دیگر اجماع نظر داشته باشند)، در غیر این صورت آن اتفاق رخ نخواهد داد. این خود یکی از برترین ویژگیهای بلاکچین است، با نگاهی عمیقتر به این موضوع درمییابیم که این قانون تنها برای شفاف سازی هر چه بیشتر در بلاک چین وضع شده و این خود نیز از مواردی است که امنیت را در بلاک چین نشان میدهد.
یکی دیگر از دلایل وجود اجماع در بلاک چین، مبارزه با گرههای خرابکار یا فاسد است، در هر شبکهای به خصوص شبکههای مالی که در بلاک چین نیز به وفور یافت میشوند، گرههایی فاسد هستند و قصد خرابکاری یا نفوذ به شبکه را دارند، همچنین هکرها نیز بیکار ننشستهاند و همواره در تلاشاند تا به شبکهای مانند بیت کوین که بر پایه بلاک چین طراحی شده وارد شوند. در این موارد اجماع باعث میشود جلوی فعالیتهای غیر استاندارد یا مضر گرفته شود. پیشفرض اجماع بر آن است که اکثریت گرهها سالم هستند و گرههای فاسد تعداد کمتری را تشکیل میدهند، در این حالت اتفاق نظر یا اجماع به نظر اکثریت است و خوب اکثریت هم به موارد صحیح و مفید اجماع دارند.
حال باید بگوییم که در بهترین شرایط، امکان ندارد که همه گرههای یک شبکه بلاکچین در یک زمان آنلاین باشند تا بتوانند یک عملیات را تائید کنند، حتی ممکن است تمام اعضای شبکه در طول یک هفته یا یک ماه نیز در شبکه حضور پیدا نکنند، آنگاه باید چه کار کرد؟ در این حالت بحث درصد و تعداد مطرح میشود، یعنی بین گرهها فعال آنچه اکثریت یعنی حداقل ۵۱ درصد بر آن اتفاق نظر داشته باشند به نوعی تصویب میشود.
مهمترین کاربرد الگوریتمهای اجماع آن است که اکثریت تائید کنند که به طور مثال یک تراکنش صلاحیت ثبت بر روی یک بلاک در شبکه کل توزیع شده را دارد. این موضوع به معنای آن است که گرهها با الگوریتمهای متفاوت اثبات میکنند که یک دیتا ورودی سالم و مفید است و باید ثبت شود. حال این الگوریمها انواع مختلفی دارند، اما ما در ادامه به مهمترین و معتبرترین الگوریتم اجماع خواهیم پرداخت.
اثبات کار معروفترین الگوریتم دنیای بلاک چین محسوب میشود و دلیل آن بیت کوین است. این الگوریتم در بیت کوین مورد استفاده قرار گرفته و به دلیل بزرگی و فراگیر شدن بیت کوین، این الگوریتم نیز محبوبیت زیادی پیدا کرده است. البته باید بگوییم که اثبات کار الگوریتمی منطقی است به نوعی آزمون خود را پس داده است و به همین دلیل زیاد مورد استفاده قرار میگیرد.
اما این الگوریتم چیست؟ تا کنون دانستیم که بلاک چین بر روی هیچ سروری متمرکز نیست، پس رایانهای مسئول انجام عملیاتهایی که در بلاکچین رخ میدهد نیست، در این جا این سوال پیش میآید که کجا این پردازشها صورت میگیرد؟ جواب گرهها هستند. گرهها هر کدام به سهم خود پردازش دادههای درون بلاکچین را انجام میدهند. در این میان افرادی هستند که به اصطلاح عملیات استخراج یا همان پردازش دادهها را انجام میدهند تا در ازای آن پاداشی (در بیت کوین پاداش ماینرها ارز دیجیتال است) دریافت کنند. وقتی استخراج کنندهها که در بیت کوین با نام ماینرها شناخته میشوند پردازشی مانند انتقال وجه را در بلوک مخصوص به خودش ثبت میکنند با این کار آن پردازش را تصدیق کردهاند.
در هر لحظه استخراج کنندههای زیادی بر روی پردازشهای مختلف کار میکنند و پردازشهای کمی نیز وجود دارد، طبق آمار منتشر شده در بیت کوین که مهمترین ارز دیجیتال در جهان محسوب میشود تنها ۷ پردازش در ثانیه رخ میدهد. این در حالی است که تعداد بسیار زیادی از کاربران به عنوان ماینر میخواهند آن پردازشها را خود انجام دهند تا پاداش را دریافت کنند.
به این ترتیب استخراج کنندههای زیادی بر روی یک پردازش کار میکنند. در این حالت اگر آن پردازش صحیح نباشد، به دلیل آن که همه گرههای یک نسخه از کل بلاک چین را در خود به صورت ذخیره شده دارند، به طور خودکار متوجه آن اشکال یا ایراد میشوند و آن عملیات پردازش نمیشود.
اما ممکن است که یک پردازش ناصحیح نیز اثبات شود، این اتفاق زمانی رخ میدهد که ۵۱ درصد استخراج کنندهها به صورت جمعی و از قصد آن پردازش ناصحیح را اثبات کنند. چیزی مانند یک دسیسه برای خرابکاری در شبکه، البته این اتفاق نیاز به نیروی انسانی بسیار زیادی دارد و بسیار هزینهبر است، به همین دلیل تقریبا غیرممکن به نظر میرسد؛ اما در هر صورت بروز چنین مشکلی هر چند با احتمال بسیار پایین، شدنی است و این خود یکی از نقاط ضعف الگوریتم اثبات کار است.
گزارش از عبدالله مطیع
انتهای پیام/