راه پرداخت
رسانه فناوری‌های مالی ایران

ارائه روشی برای رفع مشکل اجماع در سیستم‌های غیر متمرکز / مسئله ژنرال‌های پارسی

شاهین نورصالحی، مشاور و طراح سیستم‌های پیشرفته علم و فناوری / طراحی سیستم‌های غیر متمرکز سامانه‌های دفاعی و نظامی، همچنین سیستم‌های تصمیم‌گیری خودکار از اهمیت بسیار بالایی برخوردار است چرا که در لحظه‌ای که نیاز است یک دستور جدی مبنی بر آغاز یک عملیات نظامی صادر شود صدور تاییده برای مقصد عملیاتی و اطمینان مقصد عملیاتی از صحت دستور دریافت شده یک مساله کلیدی است. گره‌های عملیاتی شما در یک نبرد جدی می‌بایستی کاملاً این اطمینان را حاصل کنند که دستور آغاز حمله یا توقف حمله دریافت شده توسط آنها به هیچ عنوان در معرض دستکاری گره‌های دشمن و در نتیجه یک جنگ الکترونیکی نبوده‌اند.

از این رو سازمان ناسا [۱]، بخش طراحی موشک‌های بالستیک در وزارت دفاع ایالات متحده و دفتر تحقیقات ارتش ایالات متحده در طی یک تحقیق مشترک، شکل‌گیری مفاهیم مربوط به نحوه انتقال پیام یک فرمانده به سایر عوامل تحت فرمان (به نحوی که حتی وجود عوامل دشمن هم نتواند باعث خدشه به محتوی پیام شود) را در سال ۱۹۸۲ پایه‌ریزی کرده و به آزمایشگاه علوم انفورماتیک دانشگاه برکلی کالیفرنیا سپردند و تیم تحقیقاتی مذکور نتایج به دست آمده را به نام «مساله ژنرال بیزانسی» [۲] منتشر کرد. این تحقیق در نهایت اعلام می‌دارد، در صورتی که پیام‌های شفاهی تبادل شده در شبکه‌ای که حداقل ۲/۳ عوامل تحت فرمان آن وفادار به فرمانده خود باشند، می‌توانند عوامل نفوذی دشمن را از هر نوع ابتکار عمل دور کنند.

هر چند حل مساله ژنرال بیزانسی غیر از برابری تعداد عوامل وفادار و دشمن به شکل گراف مسیر ارتباطی بین آنها نیز بستگی جدی دارد اما متاسفانه این نکته اساسی در بسیاری از آموزش‌های مربوطه نادیده گرفته می‌شود. همچنین در صفحه ۱۶ این مطالعه با شبیه‌سازی فرمانده به عنوان منبع ورودی پیام، عوامل تحت فرمان به عنوان پردازنده و وفادار بودن به عنوان در اختیار داشتن پردازنده سالم اعلام می‌دارد بهترین راه برای دست پیدا کرد به یک شبکه رایانه‌ای غیر متمرکز قابل اعتماد ایجاد تعدد در بخش فرماندهی است. (تمرکز زدایی از یک واحد فرماندهی مرکزی) به نحوی که تعداد زیادی منبع ورودی پیام موازی در شبکه موجود باشد. به این ترتیب، یک واحد پردازنده می‌تواند تعداد بیشتر ورودی جهت پردازش در اختیار داشته باشد و نتایج به دست آمده از هر ورودی را مقایسه کرده و با اعتماد بیشتری اقدام به اجرای دستورات کند.

اما مساله از جایی بحرانی می‌شود که قرار باشد سیستمی با فرماندهان موازی ناشناس را در دستور کار طراحی قرار دهیم؛ یعنی دقیقاً شرایطی که در ایجاد یک رمزارز با آن مواجه هستیم [۳]. در نتیجه به منظور اثبات (Proof) اینکه نقشه عمومی عملیاتی که از روز اول برای همه تشریح شده و مورد اجماع همگان بوده (Consensus) توسط یک فرمان صادر شده از سوی یک فرمانده ناشناس به خطر نمی‌افتد، پای فاکتور تازه‌ای به میان می‌آید که انتظار داریم آن فرمانده ناشناس آنرا به انجام رسانده باشد.

رمزارزهای امروزی این برهان را از طریق الزام هر فرمانده به انجام یک محاسبه سخت به دست می‌آورند به نحوی که هر فرمانده در صورتی که یک نفوذی دشمن باشد، مجبور خواهد شد که برای ارسال هر دستور مغرضانه، حجم زیادی منابع محاسباتی و انرژی مصرف کند و این هزینه و تأخیر زمانی شانس فرماندهان ناشناس وفادار را در شبکه بالا می‌برد تا با ارسال پیام‌های صحیح تعادل صحت دستورات را به نفع اجماع سیستم بالا ببرند. این روش برای اولین بار در سرویس‌دهنده‌های پست الکترونیکی به منظور مقابله با ارسال‌کننده‌های هرزنامه رواج پیدا کرد و به Proof-of-Work مشهور شد.

به این ترتیب با ایجاد یک حاشیه سود منطقی بین تفاوت میزان هزینه برای انرژی مورد نیاز و میزان درآمد ناشی از تولید و ارسال یک دستور جدید (Block) در شبکه، فرماندهان ناشناس وفادار بدون هر نوع ایرادی به کار خود ادامه می‌دهند ولی دشمنان نفوذی می‌بایستی برای انجام خرابکاری دائماً هزینه کرده و درآمد ناشی از ارسال پیام‌های مغرضانه، پاسخگوی هزینه‌های آنها نباشد. (51% Attack).

هر چند این مدل‌سازی، رمزارزهای بر مبنای PoW را ایجاد کرد اما دو مساله جدید را با خود به همراه آورد. اول اینکه هیچ تضمینی وجود ندارد تا فعالیت فرماندهان وفادار همواره با سوددهی همراه باشد، در نتیجه در مواقعی که ارزش یک رمزارز در حال سقوط است، تردید در ادامه فعالیت فرماندهان ناشناس اوج گرفته و ممکن است از ادامه همراهی در محافظت از مدل اجماع شکل گرفته خودداری کنند.

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

به عبارت دیگر، مساله ژنرال بیزانسی داشتن تنها یک فرمانده در سیستم را به عنوان یک فرض اساسی قبول کرده است و آنجا که از تعدد منابع برای ورود اطلاعات صحبت می‌کند به روشنی به تعداد مسیرهای دریافت پیام توسط پردازنده اشاره دارد که به نظر می‌رسد وجود امکان تعدد فرماندهی در یک سیستم غیر متمرکز موضوع یک تفسیر غلط قرار گرفته است. متن مقاله ژنرال بیزانسی برای روشن شدن این نکته مثال میزند: «پردازنده‌های پدافند موشکی می‌توانند با کمک چندین رادار موازی امکان وقوع یک تجاوز هوایی را دقیق‌تر شناسایی کرده و بر اساس آن اقدام کنند و باید توجه داشت رادار در این مثال یک منبع و رسانه برای دریافت یک حقیقت واحد به نام تجاوز هوایی است.

بنابراین در این مثال عمل تجاوز هوایی یک فرمانده (و تنها حقیقت) واحد برای همه رادارها و پدافندها در مدل‌سازی غیر متمرکز عمل می‌کند». و این در حالی است که در رمزارزها، ما واقعاً با فرماندهان (و حقایق) متعدد سروکار داریم و هر فرمانده ای سعی می‌کند خودش را حقیقت برتر معرفی کند که این نوع از رقابت بعضاً به خصومت تبدیل شده (Selfish Mining) و یا مفهوم فرمانده وفادار (تولید، نگهداری و انتقال ارزش بدون دخالت دولت‌ها) را به طور کلی زیر سؤال ببرد.

لذا به منظور ارائه راه‌حل مؤثرتر برای حالت بخصوصی از مساله ژنرال بیزانسی، تحقیق تازه‌ای در موسسه فناوری کالیفرنیا آغاز می‌شود که در آن فرض شده است که هر فرمانده برداشت خود را از حقیقت واحد مورد اجماع را کسب کرده و با دیگران به اشتراک می‌گذارد.

این تحقیق که طی مقاله‌ای با نام مساله ژنرال‌های چینی [۴] منتشر شده فرض می‌کند هر فرمانده موجود در شبکه غیر متمرکز فرضی، مجهز به یک سنسور دما است و پس از اندازه‌گیری دمای محیطی (دما به عنوان حقیقت واحد) مقدار کسب شده را در اختیار دیگر فرماندهان قرار می‌دهد. این تحقیق نشان می‌دهد وجود کوچک‌ترین نویز (فرمانده دشمن) در این نوع شبکه می‌تواند باعث تخریب کل ساختار اجماع شود (و مطابق آنچه در بخش قبلی تحت عنوان برداشت نادرست از مساله ژنرال بیزانسی مطرح گردید) در انتهای پیاده‌سازی همه روش‌ها و الگوریتم‌ها، تنها جاذبه و مشوق‌های مادی (incentive) هستند که همچنان فرماندهان وفادار را به حفظ اجماع سوق می‌دهند.

اما [۵]، در طی یک مطالعه جدید [۶] روش نوآورانه‌ای برای حل مشکل اجماع در سیستم‌های غیر متمرکز ارائه شده است. در این روش که «مساله ژنرال پارسی» نامیده شده است، شرایطی ایجاد می‌شود که به هر فرمانده ناشناس فعال در شبکه تنها بخشی از یک حقیقت واحد (طرح حمله، ثبت تراکنش‌های رمزارزها و… ارائه می‌شود و در لحظه‌ای که نیاز به اقدام باشد، هر فرمانده ناشناس آن بخش از حقیقت را که در اختیار دارد با بقیه فرماندهان در قالب توپولوژی حلقه (Ring Topology) به اشتراک می‌گذارد.

از آنجایی که توپولوژی حلقه در برابر کوچک‌ترین عامل نویز دچار مشکل می‌شود و محل نویز را به سرعت افشاء می‌کند، وجود حتی یک فرمانده دشمن کافی است تا فرماندهان وفادار متوجه وجود یک ایراد در برنامه عملیاتی برای رسیدن به اجماع شده و به کشف و خنثی کردن عامل نویز (خارج کردن عامل نویز از حلقه) بپردازند. بنابراین فرماندهان وفادار در مساله ژنرال پارسی دائماً با یکدیگر در حال همکاری خواهند بود و رقابت کردن در آن به عنوان نوعی نویز شناخته شده و به سرعت از مدار خارج می‌شود.

تعمیم مثال تعدد رادارها برای بهبود کیفیت تشخیص یک حمله هوایی در مساله ژنرال بیزانسی به مساله ژنرال پارسی می‌تواند به این شکل توضیح داده شود که دریافت اطلاعات الزاماً می‌بایستی از رادارهای غیر هم شکل صورت می‌پذیرد. به عبارت دیگر، اجماع در حمله به یک هدف هوایی پس از دریافت اطلاعات از یک رادار حرارتی در کنار یک رادار رادیویی با موج ثابت و یک رادار داپلر و … حاصل می‌شود، به صورتی که هر کدام تنها بخشی (یا روایتی) از یک حقیقت واحد را ترسیم و بازگو می‌کنند.

بر همین اساس، مدل جدیدی از برهان برای مدیریت نسل بعدی رمزارزها با نام Proof-of-Consistency طراحی و در bitcointalk منتشر شده [۷] که بر مبنای آن دو لایه متفاوت از فرماندهی با شرح وظایف متفاوت در شبکه قرار خواهند داشت که میزان پاداش آنها پس از اعمال یک نویز کنترل شده (اثر دیتر [۸]) بر عملکرد هر یک از آنها تعیین خواهد شد. لذا هر فرمانده (به جهت بالا بردن دقت حساسیت خود نسبت به وجود هر نوع عامل نویز مخرب) ملزم به شناسایی و اعلام میزان نویز اختصاصی خود است و در غیر این صورت از دریافت پاداش محروم می‌شود.

همچنین سطح دوم از فرماندهان وظیفه دریافت و ارسال تراکنش‌های کاربران سیستم به فرماندهان سطح یک را بر عده دارند. این سطح تازه از فرماندهان می‌بایستی قبل از ارسال تراکنش کاربران به سطح یک فرماندهی، روی آنها محاسبات مربوط به حل یک مساله سخت را انجام دهند (PoW – Mining) و به این ترتیب یک فرمانده دشمن در سطح دوم توانایی مشغول کردن ظرفیت عملیاتی فرماندهان سطح یک با انواع تراکنش‌های بی معنی را از دست بدهد. اما از آنجایی که این کار را در رقابت با فرماندهان دیگر انجام نمی‌دهد، مدل کلاسیک PoW را به شدت ارتقاء داده و همه جوانب هدر رفت انرژی را از مجموعه حذف می‌کند. [۹] مطالعه و مذاکره به منظور تولید نخستین رمزارز بر مبنای مدل اجماع PoCo در جریان است.

منابع:

[۱] https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19870020666.pdf

[۲] https://people.eecs.berkeley.edu/~luca/cs174/byzantine.pdf

[۳] https://bitcoin.org/bitcoin.pdf

[۴] https://goo.gl/Bg9Xn2

[۵] https://twitter.com/shn_noursalehi

[۶] https://way2pay.ir/131146

[۷] https://bitcointalk.org/index.php?topic=5066624

[۸] https://en.wikipedia.org/wiki/Dither

[۹] https://twitter.com/shn_noursalehi/status/1081848330035097600

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.