انجمن توسعه قرارداد هوشمند

جلسه اول : منابع مطالعه بیشتر

معرفی ۹ مکانیسم اجماع کارآمد در بلاکچین

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

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

در خلال این ماین کردن، علاوه بر تایید مشروعیت تراکنش‌ها و ایجاد ارز‌های رمزنگاری‌‌شده جدید، به اولین کاربر حل کننده مساله نیز جایز‌ه‌ای تعلق می‌گیرد که می‌تواند کاربران بسیاری را تحت ‌عنوان ماینر (Miner) به سمت بلاکچین جذب کند.

یک مکانیسم اجماع مبتنی بر قدرت محاسباتی کامپیوتر، که به نامتمرکز بودن قدرت و توزیع تغییرات مهم در سیستم کمک می‌کند.

فرایند‌هایی که در این مکانیسم صورت می‌گیرند به شرح زیر هستند:

  • ورود تراکنش به دفتر کل توزیع‌‌شده
  • تایید مشروعیت تراکنش توسط ماینر‌ها
  • حل مساله ریاضی نامتقارن گواه اثبات کار توسط ماینر‌ها
  • تعلق گرفتن جایزه به اولین ماینری که مساله را حل کرده است
  • تایید نهایی تراکنش و ثبت در بلاکچین عمومی‌

مکانیسم اجماع گواه اثبات سهام (Proof of Stake)

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

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

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

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

مکانیسم اجماع گواه اثبات زمان سپری ‌شده (Proof of Elapsed Time)

فصل امتحانات پایان ترم است و دانش‌آموزان خود را برای آزمون پایان‌ترم ریاضی آماده کرده‌اند. امتحان شروع می‌شود و پس از گذشت مدت زمانی مشخص، توجه همه به صدای مراقب امتحانات در سالن جلب می‌شود: «۳۰ دقیقه تا پایان وقت زمان باقی است. » درست یک ساعت پس از این جمله، همه بیرون از سالن امتحانات هستند و در مورد سوالات و نمرات احتمالی خود صحبت می‌کنند.

اگرچه این تصویر برای همه ما آشنا است، اما کمتر کسی می‌تواند نحوه استفاده از آن در فناوری مدرن و شاید پیچید‌ه‌ای همچون بلاکچین را درک کند.

مکانیسم اجماع گواه اثبات زمان سپری ‌شده یا POET نیز به شکلی مشابه عمل می‌کند. در حقیقت، گواه اثبات زمان سپری ‌شده، بر اساس زمان باقیمانده از یک زمان مشخص مانند زمان امتحان عمل می‌کند و برای شروع نیز از یک بلاکچین مجاز (Permissioned Blockchain) استفاده می‌کند.

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

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

مکانیسم اجماع گواه اثبات زمان سپری ‌شده در عمل: این مکانیسم اجماع نخستین بار در سال ۲۰۱۶ توسط اینتل (Intel) معرفی شد و می‌تواند در پلتفرم ‌هایپر لجر سوتوث (Hyperledger Sawtooth) مورد استفاده قرار گیرد. پلتفرمی‌ برای ایجاده، پیاده‌سازی و اجرای دفاتر کل توزیع‌‌شده.

تفاوت آن با گواه اثبات سهام: در نظر گرفتن زمان استراحت برای گره‌ها که منجر به ارتقای بهره‌وری در مصرف انرژی می‌شود.

مکانیسم اجماع گواه اثبات قدرت (Proof of Authority)

بلاکچین فناوری مدرن، کارآمد و روبه‌رشدی است، اما با این حال، محدودیت‌هایی را نیز دارد. به‌عبارت بهتر، فناوری بلاکچین نیز همانند بسیاری از سیستم‌های دیگر، بده‌بستان‌های خاص خودش را دارد. ویتالیک بو‌ترین ( Vitalik Buterin ) از این موضوع تحت ‌عنوان تریلمای مقیاس‌پذیری یاد می‌کند. تریلما به مفهوم سه گانه غیر ممکن، سه مشخصه مقیاس‌پذیری، غیرمتمرکز بودن و امنیت

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

سرمایه اقتصادی در قبال سرمایه اجتماعی

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

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

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

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

  • اطمینان از فرایندی استاندارد و قوی برای شناسایی اعتبارسنج‌ها
  • کمیابی اعتبارسنج‌ها به منظور ترغیب آن‌ها برای اعتبارسنجی
  • و وجود پروسه‌ای قابل اطمینان برای سازمان‌دهی قدرت اعتبارسنج‌ها

مکانیسم اجماع گواه اثبات قدرت در عمل

همان‌طور که ‌عنوان شد، فرایند گواه اثبات قدرت، به دلیل ماهیت آن در انتخاب چندین گره محدود به‌عنوان اعتبارسنج شبکه، به مدلی متمرکز تبدیل می‌شود که بیشتر برای بلاکچین‌های خصوصی و کنسرسیومی‌، نظیر گروهی از بانک‌ها یا شرکت‌های بیمه مناسب است. پروژه‌های کووان (Kovan)، رینک‌بای (Rinkeby)، گیوِث (Giveth)، تاموچین (TomoChain)، رابلیکس (Rublix)، سوآرم سیتی (Swarm City)، کلونی (Colony) و گو چین (Go Chain)، از جمله پروژه‌هایی هستند که از این مکانیسم اجماع استفاده کرده‌اند.

مکانیسم اجماع گواه اثبات ظرفیت (Proof of Capacity)

با بررسی تعدادی از مکانیسم‌های اجماع می‌توان به این نتیجه رسید که اغلب این الگوریتم‌ها، به نوعی نمونه توسعه یافته یکی از دو مکانیسم گواه اثبات کار و گواه اثبات سهام هستند.

مکانیسم اجماع گواه اثبات ظرفیت، در حقیقت نوعی ‌هارد فورک (hard forks) یا معادل فارسی آن انشعاب سخت است که در مکانیسم رایج و مشهور گواه اثبات کار صورت گرفته است. در حقیقت، تغییرات یا انشعاباتی که در یک مکانیسم صورت می‌گیرد، سبب تولید ارز‌های رمزنگاری‌‌شده ‌شده جدیدی می‌شود که می‌تواند حتی نسبت به ارز رمزنگاری‌‌شده پایه از قابلیت‌ها و مزایای بیشتری نیز برخوردار باشد. ‌هاردفورک صورت گرفته روی بیت‌کوین، منجر به تولید ارز رمزنگاری‌‌شده جدید بیت‌کوین‌کش ‌شده یا اتریوم کلاسیک، در حقیقت ‌هاردفورکی از ارز اتریوم است. به همین دلیل نیز اخیرا، شاهد ظهور آلت‌کوین‌های بسیاری هستیم که می‌توانند در صورت اثبات مزایای خود، بیت‌کوین را به‌عنوان اولین ارز رمزنگاری‌‌شده مبتنی بر اجماع گواه اثبات کار، علیرغم کاربران و علاقه‌مندان بسیاراش، از میدان به در کنند.

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

بیایید سراغ مقایسه با کلاس درس خودمان برویم.

تعدادی دانش‌آموز را متصور شوید که در یک مدرسه در حال تحصیل هستند. زنگ آخرین ساعت درسی نیز به صدا درمی‌آید و دانش‌آموزان، دسته دسته و با آرامش به سمت اتوبوس‌های سرویس مدرسه حرکت می‌کنند تا به خانه بروند. هر اتوبوس، از تعداد معینی صندلی تشکیل ‌شده است و می‌تواند برای مثال، ۵۰ الی ۱۰۰ دانش‌آموز را به خانه ببرد. این فرایند هر ‌روز تکرار می‌شود و دانش‌آموزان، هر ‌روز در این صندلی‌های می‌نشینند و راننده با صرف انرژی زمان آن‌ها را به مقصد می‌رساند.

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

طی این الگوریتم، ماینر‌ها بخش‌هایی از داده‌ها را که پلات نامیده می‌شوند ایجاد کرده و در ‌هارددیسک ذخیره‌سازی می‌کنند. اکنون در هر بخش از این ‌هارددیسک، یک پلات قرار دارد و در کنار هر پلات نیز یک هش که با آدرس عمومی‌ (Public Key) افراد در ارتباط است.

هرچه بیشتر بهتر! این خصلت ذاتی الگوریتم اجماع گواه اثبات ظرفیت است. همان‌طور که در سرویس مدرسه، تعداد صندلی‌های بیشتر برای دانش‌آموزان بهتر است، در این مکانیسم نیز ظرفیت بالاتر به منزله کارایی بهتر است.

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

مزایای گواه اثبات ظرفیت

  • پربازده: مصرف انرژی به مراتب پایین‌تر نسبت به تراکنش‌های مبتنی بر بیت‌کوین
  • ارزان: عدم نیاز به نرم‌افزار‌های تخصصی استخراج
  • توزیع‌‌شده: دسترسی به فضای ذخیره‌سازی بیشتر

مکانیسم اجماع گواه اثبات ظرفیت در عمل: برست‌کوین (Burstcoin) اولین ارز رمزنگاری‌‌شده‌ای است که از مکانیسم اجماع گواه اثبات کار برای اعتبارسنجی شبکه خود استفاده کرده است. ارزی که بلوک آن در سال ۲۰۱۴ ایجاد شد و سازند‌ه‌اش نیز درست مثل ساتوشی ناکاموتو، پس از مدتی غیبش زد.

مکانیسم اجماع گواه اثبات فعالیت (Proof of Activity)

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

اما گواه اثبات فعالیت چه چیزی را ثابت می‌کند؟

  • پاسخ کوتاه: فعالیت!
  • پاسخ کامل: دخالت مستقیم در روند استخراج و امضای بلوک بعدی در بلاکچین.

علیرغم اکثر مکانیسم‌های اجماع دیگر، گواه اثبات کار قصد اختراع دوباره چرخ (reinvent the wheel) را ندارد و مدل توسعه یافته مکانیسم‌های اجماع گواه اثبات کار و گواه اثبات سهام به شمار نمی‌رود. اگر به ماهیت این الگوریتم دقت کنید، خواهید دید که گواه اثبات فعالیت، در حقیقت تلفیقی از دو مکانیسم گواه اثبات کار و گواه اثبات سهام است. به‌عبارت بهتر، گواه اثبات فعالیت فرایند استخراج خود را از گواه اثبات کار آغاز کرده و با رفتن به بلوک بعدی، به گواه اثبات سهام انتقال می‌دهد.

وجه تمایز مکانیسم اجماع گواه اثبات فعالیت

تفاوت عمد‌ه‌ای که گواه اثبات فعالیت با گواه اثبات کار دارد، ذخیره‌سازی تنها یک هدر یا سرآیند در بلوک است. این در حالی است که در گواه اثبات کار، موارد دیگری نظیر ریشه تراکنش (transaction root) و نانس (nonce) نیز در بلوک‌ها ذخیره‌سازی می‌شود.

برای ارزیابی و اعتبارسنجی بلوک‌ها نیز از یک گروه تصادفی اعتبارسنجی استفاده می‌شود تا بلوک‌ها را ارزیابی کرده و امضا کنند. استفاده از مکانیسم گواه اثبات سهام، دقیقا در این مرحله به منصه ظهور می‌رسد، چرا که گره‌هایی با کیف پول بیشتر (سهام بیشتر)، شانس بیشتری برای انتخاب شدن به‌عنوان اعتبارسنج دارند. هزینه‌های استخراج نیز میان گره‌های ماینر و گره‌های اعتبارسنج یا امضا کننده تقسیم می‌شود.

مکانیسم اجماع گواه اثبات فعالیت در عمل

ارز دیجیتال خودگردان (Autonomous Digital Currency) دیکرِد (Decred)، پروژ‌ه‌ای است که در سال ۲۰۱۶ بر اساس این مکانیسم اجماع راه‌اندازی ‌شده است.

مکانیسم اجماع گواه اثبات سوزاندن (Proof of Burn)

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

سوزاندن در مکانیسم اجماع گواه اثبات سوزاندن، در حقیقت به مفهوم ارسال سکه‌ها به یک آدرس غیرقابل برگشت و غیرقابل استفاده (Eater addresses) است که به دلیل ماهیت رمزنگاری تصادفی آن، امکان شناسایی‌اش برای هیچ گرهی، حتی ماینر‌ها میسر نیست.

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

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

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

مکانیسم اجماع گواه اثبات سوزاندن در عمل: پلتفرم اسلیم‌کوین (Slimcoin)، از جمله پروژه‌هایی است که از گواه اثبات سوزاندن به‌عنوان الگوریتم اجماع خود استفاده کرده است. ضمن این‌که کانترپارتی (Counterparty) نیز از این مکانیسم، برای سوزاندن توکن‌های دانه (seed tokens) استفاده می‌کند. کاربران این پلتفرم، بیت‌کوین‌های خود را به‌عنوان توکن‌های دانه می‌سوزانند تا در ازای آن، توکن‌های کانترپارتی با ‌عنوان ایکسسیپی (XCP) را دریافت کنند.

مکانیسم اجماع گواه اثبات سهام اعطایی (Delegated Proof of Stake)

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

تعداد این نمایندگان منتخب معمولا بین ۲۱ الی ۱۰۰ گره است که سازمان‌دهی و کنترل شبکه را تسهیل کرده و توزیع شرایط در خلال شبکه را ممکن می‌سازند. نمونه‌ای کوچک ‌شده از کنگره ایالات متحده آمریکا (United States Congress) با ۵۳۵ نماینده، که در صورت تاخیر در ارائه گزارش توسط هریک از نمایندگان منتخب یا بروز اشتباه از سوی وی، دیگر اعضا می‌توانند در مورد صلاحیت و باقی ماندن وی در شبکه رای‌گیری کنند.

بیایید به سراغ مقایسه خود با کلاس درس برویم.

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

این دقیقا همان چیزی است که در مورد نمایندگان مجلس کشور‌ها نیز جریان دارد. عد‌ه‌ای به‌عنوان نماینده انتخاب می‌شوند و در مورد صحت و تاثیر‌گذاری برخی از شرایط و قوانین تصمیم‌گیری می‌کنند. ضمن این‌که کنترل بخش‌های مهمی‌ از شبکه در اختیار آن‌ها است. روندی دموکراتیک که می‌تواند علاوه بر ارتقای بهره‌وری در انرژی، هزینه‌ها و خطا‌های سیستم را نیز بکاهد؛ هرچند که این امر، قدرت را به عد‌ه‌ای خاص متمرکز می‌کند.

مزایای گواه اثبات سهام اعطایی: مقیاس‌پذیری، بهره‌وری در انرژی و تراکنش‌های ارزان قیمت

معایب گواه اثبات سهام اعطایی: نیمه متمرکز

در حقیقت، به دلیل انتخاب تعداد محدودی گره به‌عنوان نماینده، این مکانیسم ماهیتا به روشی نیمه متمرکز تبدیل می‌شود و حاکی از تریلمای مقیاس‌پذیری ویتالیک بو‌ترین است.

مکانیسم اجماع گواه اثبات سهام اعطایی در عمل: بیت‌شیرز (BitShares)، ای‌او‌اس (EOS) و ستیم‌ایت (Steemit)، همگی از گواه اثبات سهام اعطایی استفاده کرده‌اند. نکته قابل توجه این است که تمامی‌ از پروژه‌ها، زاییده ذهن دنیل لاریمر (Daniel Larimer)، برنامه‌نویس و کارآفرین ارز‌های رمزنگاری‌‌شده هستند5/

مکانیسم اجماع تحمل‌پذیری خطای بیزانس (Byzantine Fault Tolerance)

هزاران سال پیش …

«مجموعه‌ای از ژنرال‌های بیزانس شهری را برای حمله ناگهانی به آن محاصره کرده‌اند. اما زمان دقیق حمله، موضوع مهمی‌ است که لازم است تمامی‌ ژنرال‌ها در مورد آن به اجماع برسند. در صورتی که هماهنگی لازم در مورد زمان و نحوه حمله در میان ژنرال‌ها صورت نپذیرد، محاصره شکست خواهد خورد…»

مشکل ژنرال‌های بیزانس (Byzantine Generals problem) معضلی کلاسیک است که نوعی از مکانیسم اجماع را برای سیستم‌های مبتنی بر رمزنگاری ارائه می‌کند. مکانیسمی‌ محبوب تحت ‌عنوان تحمل‌پذیری خطای بیزانس یا BFT، که درست مانند مثال محاصره ژنرال‌های بیزانس، برای اعتبارسنجی و تایید نهایی به عد‌ه‌ای خاص وابسته است. افرادی که همان ژنرال‌ها، یا در مورد دفتر کل توزیع‌‌شده، اعتبارسنج‌ها هستند.

اما یک مشکل بزرگ‌تر دیگر هم برای ژنرال‌های بیزانس وجود داشت: هریک از این ژنرال‌ها در بخشی از مرز دشمن ساکن می‌شدند و متاسفانه در عصر بیزانس، گوشی تلفن همراه وجود نداشت! ژنرال‌ها برای نهایی‌سازی و هماهنگی پایانی در مورد استراتژی‌های خود امکان ارتباط با یکدیگر را نداشتند. تنها راهکار ارتباطی موجود، پیام‌رسان‌هایی بودند که با صرف زمان و انرژی بسیاری، داده‌های مورد نظر را در میان ژنرال‌ها منتقل می‌کردند.

اکنون کافی است تصور کنید که یکی از این پیام‌رسان‌ها لو می‌رفت و به دست دشمن می‌افتاد. اگر اطلاعات و نقشه‌های او را دست‌کاری می‌کردند چه؟ بدیهی است که اطمینان از اطلاعاتی که به این روش منتقل می‌شدند کار بسیار دشواری بود و می‌توانست کل نیرو‌ها را به کام مرگ بکشاند.

علی‌رغم این‌که مقیاس‌پذیری و بهره‌وری ارائه ‌شده توسط مکانیسم تحمل‌پذیری خطای بیزانس قابل ملاحظه است، اما این مکانیسم نیز جزو الگوریتم‌هایی است که برای شبکه‌های متمرکز و نیمه متمرکز طراحی و ساخته ‌شده است.

مکانیسم اجماع تحمل‌پذیری خطای بیزانس: نسخه‌های زیادی از این مکانیسم ارائه ‌شده‌اند که دو نسخه زیر، از جمله رایج‌ترین آن‌ها هستند:

  • تحمل‌پذیری خطای بیزانس کاربردی (Practical Byzantine Fault Tolerance)

که در پروژه ‌هایپرلجر فابریک (Hyperledger Fabric) مورد استفاده قرار گرفته است. مکانیسمی‌ که از کمتر از ۲۰ اعتبارسنج برای ارزیابی اجماع شبکه استفاده می‌کند.

  • توافق بیزانس یکپارچه (Federated Byzantine Agreement)

که در شبکه‌های استلر (Stellar) و ریپل (Ripple) مورد استفاده قرار گرفته و از هر کدام از ژنرال‌ها (گره‌ها) می‌خواهد تا اعتماد لازم برای هر یک از زنجیره‌های مربوطه را تامین کنند.

مزایا:

  • هزینه‌های پایین تراکنش
  • توان عملیاتی بالا
  • مقیاس‌پذیری شبکه
  • و بهره‌وری بالا

معایب:

  • متمرکز
  • نیازمند مجوز

مکانیسم اجماع گواه اثبات اهمیت (Proof of Importance)

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

آن‌چه که گواه اثبات اهمیت به دنبال آن است، شناسایی و اثبات فاکتور‌هایی است که می‌توانند سبب ارزشمندی بیشتر برخی از گره‌ها در شبکه شوند.

بیایید مکانیسم گواه اثبات سهام را بار دیگر مرور کنیم. همان‌طور که می‌دانید، این مکانیسم تنها گره‌هایی را در اولویت قرار می‌دهد که دارای سهام بیشتری در شبکه هستند. در حقیقت، تنها چیزی که در این الگوریتم حائز اهمیت است، تعداد سکه‌هایی است که هر گره در اختیار دارد. به همین دلیل نیز در شبکه‌هایی که بر گواه اثبات سهام مبتنی هستند، انگیز‌ه‌ای برای گره‌های ضعیف‌تر باقی نمی‌ماند. از همین رو، گواه اثبات اهمیت سعی دارد تا با تغییر این روند، تعداد بیشتری از گره‌های شبکه را برای بقا و فعالیت ترغیب کند.

فاکتور‌های کلیدی گواه اثبات اهمیت

  • نقل و انتقالات خالص (Net transfers) یا مجموع هزینه طی ۳۰ ‌روز گذشته
  • تخصیص بخشی از ارز به تولید بلوک‌ها
  • گره‌هایی که خوشه‌بندی ‌شده و یکپارچه‌سازی ‌شده‌اند وزن بیشتری خواهند داشت.

کم‌ترین احتمال برای احتکار

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

ایجاد بلوک، بدون هزینه

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

مکانیسم اجماع گواه اثبات اهمیت در عمل: پلتفرم نیو اکونومی‌ موومنت (New Economy Movement)، اولین پروژ‌ه‌ای است که مکانیسم گواه اثبات اهمیت را معرفی کرده است. در این پلتفرم حداقل توکنی که هر گره برای راه‌اندازی سهام خود نیاز دارد معادل ۱۰،۰۰۰ ایکس‌ای‌ام (XEM) است که ارزش آن بر اساس نرخ کنونی بازار، چیزی در حدود ۴،۰۰۰ دلار آمریکا است.

مکانیسم اجماع گراف جهت‌دار غیرمدور (Direct Acyclic Graphs)

اکثر مکانیسم‌های اجماع دارای ماهیتی مشابه هستند و تنها تفاوتی که می‌توان در آن‌ها یافت، کاربردی است که در دفاتر کل توزیع‌شده مختلف از خود نشان می‌دهند.

مکانیسم اجماع گراف جهت‌دار غیرمدور یا DAGs، مکانیسم اجماع محبوبی است که در اغلب پایگاه‌های داده غیربلاکچینی مورد استفاده قرار می‌گیرد.

دفتر کل توزیع‌‌شده آی‌او‌تی‌ای (IOTA)، از نوعی مکانیسم اجماع خاص با ‌عنوان تنگل (Tangle) استفاده می‌کند که نوعی گراف جهت‌دار غیرمدور است. در این مکانیسم، هر گره برای این‌که بتواند تراکنشی را ارسال کند، ناچار است دو تراکنش دیگر را اعتبارسنجی کند. ماهیت تنگل باعث ‌شده تا تعداد تراکنش‌ها به شکل فزایند‌ه‌ای افزایش یافته و به همین دلیل، سیستم بررسی و تعادل شبکه ارتقا پیدا کند.

مزیت این دست شبکه‌ها نسبت به بلاکچین: با توجه به این‌که تراکنش‌ها در چنین شبکه‌های ناشی از تعاملات و مشارکت کاربران فعال در شبکه هستند و تامین امنیت شبکه نیز در نتیجه تایید تراکنش‌های گذشته توسط کاربران صورت می‌گیرد، عملا هیچ هزینه‌ای در شبکه وجود ندارد و کلیه تراکنش‌ها بدون کارمزد صورت می‌پذیرند. علاوه بر این، شبکه‌هایی نظیر آی‌او‌تی‌ای ناهمگام (asynchronous) هستند و نیازی نیست تا تمام تراکنش‌ها هم‌زمان انجام شوند.

کاربرد‌های گراف جهت‌دار غیرمدور

معاملات پولی (Monetary transactions) زیرمجموعه‌ای کوچک از تعاملات رایج بین دستگاه‌های متصل را نشان می‌دهند. تنگل مکانیسمی‌ مقیاس‌پذیر بوده و هزینه راه‌اندازی و پیاده‌سازی بسیار پایینی نیز دارد و قادر است، ساختار پایگاه داده سودمندتری نسبت به بلاکچین برای تعاملات اینترنت اشیا فراهم کند.

منبع

14 Likes

انواع مکانیسم اجماع :

3 Likes

مسئله فرماندهان بیزانسی

مسئله فرماندهان بیزانسی (Byzantine Generals Problem) شرایط فرضی را بحث می‌کند که در آن افراد باید بدون حضور یک نظارت‌گر مرکزی، در مورد یک اقدام به اجماع برسند. دشواری آنجا پیش می‌آید که بازیگران باید در شرایطی تصمیم‌گیری کنند که همراه با عدم قطعیت، اطلاعات نادرست و حتی فریب‌دهنده است. من در این مقاله ابتدا به حالت خاصی از آن، مسئله دو فرمانده (Two Generals Problem) می‌پردازم. سپس بحث را به مسئله اصلی و کاربردهای آن گسترش می‌دهم.

مسئله دو فرمانده

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

شکل-۱

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

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

مسئله فرماندهان بیزانسی

مسئله فرماندهان بیزانسی شکل کلی‌تری از مسئله دو فرمانده است و پیچیدگی‌های بیشتری به مسئله اضافه می‌کند. مسئله به‌این‌ترتیب است که فرماندهان بیزانسی که از نظر مکانی از هم دور هستند، می‌خواهند به قلعه دشمن حمله کنند (امپراتوری بیزانس یا روم شرقی، بین سال‌های ۳۹۵ میلادی تا ۱۴۵۳ میلادی بر قسمتی از خاورمیانه، آفریقا و اروپا تسلط داشت). در این شرایط فرضی به‌جای دو فرمانده، چند فرمانده باید بر روی زمان حمله به دشمن به تفاهم برسند. هر یک از آنان نیروی کافی برای غلبه بر دشمن را ندارد و تنها حمله هم‌زمان به موفقیت ختم خواهد شد. عقب‌نشینی هم‌زمان نیز موجب حفظ همه ارتش خواهد شد، ولی اگر برخی تصمیم به حمله و برخی دیگر تصمیم به عقب‌نشینی بگیرند، ارتش دچار آشوب خواهد شد و از هم می‌پاشد.

فرمانده ارشد پیک‌هایی به سایر فرماندهان می‌فرستد تا تصمیم خود را به آن‌ها اعلام کند. ولی این پیک‌ها از منطقه دشمن عبور می‌کنند. ممکن است برخی از این پیک‌ها توسط دشمن کشته یا اسیر شوند و پیام به آن‌ها نرسد. ممکن است دشمن پیک‌های جعلی را با پیک‌های واقعی جابجا کند. بدتر آنکه تعداد اندکی از فرماندهان ممکن است خیانت کنند. به این معنی که برای مثال پیام بفرستند که با برنامه حمله در صبح زود موافق هستند ولی نیت اصلی‌شان این باشد که عقب‌نشینی کنند. کسی نمی‌داند کدام‌یک از آن‌ها ممکن است خیانت کند (فرمانده ارشد نیز خود ممکن است خیانت‌کار باشد). در این شرایط چطور فرماندهان وفادار می‌توانند مطمئن شوند که هم‌زمان به یک اقدام مشترک دست خواهند زد؟

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

سیستم‌هایی که بتوانند در برابر خطاهای بیزانسی تاب‌آوری داشته باشند، خطاتاب بیزانسی (Byzantine Fault Tolerant) نامیده می‌شوند. مسئله فرماندهان بیزانسی ازنظر ریاضی حل قطعی ندارد ولی راه‌حل‌های تقریبی که برای آن ارائه شده می‌تواند سیستم را در مواجهه با این نوع خطاها با احتمال بالایی محافظت کند.

خطاتابی بیزانسی

در سال ۱۹۸۲، لزلی لمپورت (Leslie Lamport) و همکارانش در مقاله‌ای حل تقریبی برای این مسئله ارائه می‌دهند. راه‌حلی که آنان برای مسئله پیشنهاد می‌دهند استفاده از اجماع است. هدف مقاله این است الگوریتمی ارائه کند که همه فرماندهان وفادار بر روی یک اقدام مشترک اجماع کنند، صرف‌نظر از این‌که فرماندهان خائن چه می‌کنند.

برای توضیح الگوریتم خطاتابی بیزانسی حالتی را در نظر بگیرید که چهار فرمانده وجود دارد (شکل-۲). یکی از فرماندهان (فرمانده ۲) خیانت‌کار است. البته هیچ‌کس از این مسئله آگاهی ندارد. در گام اول فرمانده ارشد تصمیم خود را به دیگران اعلام می‌کند. فرض کنیم این تصمیم حمله باشد. به علت عدم قطعیت‌هایی که در مسئله وجود دارد هر فرمانده نمی‌تواند مطمئن باشد که پیامی که از فرمانده ارشد دریافت می‌کند، صحیح است. در این حالت الگوریتم پیشنهاد می‌دهد که همه فرماندهان پیامی را که از فرمانده ارشد دریافت می‌کنند به سایرین نیز انتقال دهند. برای مثال فرمانده ۱ فرمان حمله دریافت کرده، چون او فرمانده وفاداری است، عین همان پیام را به دیگران انتقال می‌دهد. فرمانده ۲ خائن است پس به‌جای پیام حمله، به دیگران اعلام می‌کند پیام عقب‌نشینی از فرمانده ارشد دریافت کرده است.

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

شکل-۲

حال فرض کنید فرمانده ارشد، خیانت‌کار است. در این حالت اگر فرمانده ارشد برای همه یک پیام (عقب‌نشینی یا حمله) ارسال کند، آنگاه به‌راحتی اجماع تشکیل می‌شود. پس او باید به برخی پیام حمله و به برخی پیام عقب‌نشینی ارسال کند (شکل-۳). در این حالت مشاهده می‌کنید که بازهم بین فرماندهان وفادار اجماع تشکیل می‌شود.

شکل-۳

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

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

کاربردها

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

برای مثال پردازنده‌ها در هواپیماهای مسافربری با قابلیت پرواز خودکار (Autopilot) به منابع مختلف داده‌ای برای تصمیم‌گیری رجوع می‌کنند. آن‌ها داده‌ها را از حسگرهای هواپیما که در بخش‌های مختلف نصب‌ شده می‌گیرند. همچنین داده‌هایی از خلبان و کمک‌خلبان به‌عنوان ورودی دریافت می‌کنند. رویکرد اصلی در طراحی، قرار دادن ظرفیت اضافی در سخت‌افزارهای کامپیوتری به‌منظور حداکثر کردن ایمنی است. استانداردهای طراحی (FAR/CS 25. 1309) در این خصوص این است که هر ترکیبی از خطا که منجر به نتایج فاجعه‌بار شود باید احتمال وقوع کمتر از ۱ در ۱۰ میلیارد به ازای هر ساعت پرواز داشته باشد.

به‌عنوان نمونه دیگر در طراحی، شکل-۴ ساختار کامپیوترهای هدایت‌کننده بوئینگ ۷۷۷ را نشان می‌دهد. در این ساختار از رویکرد سه-سه‌ای استفاده شده است. به این معنی که سه کانال محاسباتی جدا و متمایز (بخش راست، مرکزی و چپ) هرکدام به‌طور موازی یک فعالیت را انجام می‌دهند. هر یک از این بخش‌ها خود از سه کانال محاسباتی تشکیل شده است که به‌صورت موازی یک فعالیت را انجام می‌دهند. در هر یک از این سه کانال، از پردازنده‌هایی که توسط سه شرکت مختلف ساخته‌شده‌اند، بهره گرفته می‌شود. این مسئله کمک می‌کند تا اگر پردازنده‌ها با چالش یکسانی مواجه شدند، همگی باهم دچار یک خطای محاسباتی نشوند.

شکل-۴

در خصوص ایمنی، کامپیوترهای هدایت‌گر هواپیمای بوئینگ ۷۷۷ با دو هدف اصلی طراحی شدند:

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

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

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

کاربرد دیگر این بحث به فن‌آوری‌های مبتنی بر زنجیره بلوک (Blockchain) که در آن‌ها نظارت‌گر مرکزی وجود ندارد، برمی‌گردد. این سیستم‌ها باید در برابر خطای بیزانسی تاب‌آوری داشته باشند. برای مثال در مورد رمزارزهایی مانند بیت‌کوین (Bitcoin)، هیچ بانک مرکزی وجود ندارد که صحت اطلاعات را در آن تائید کند. اطلاعات موجود در شبکه بیت‌کوین باید توسط خود اعضای شبکه تائید شود. ضمن این‌که فرمانده ارشدی هم وجود ندارد و همه اعضای شبکه در یک سطح هستند. اگر تعدادی از اعضای شبکه قصد ضربه به آن را داشته باشند (مانند فرماندهان خائن) و یا برخی پیام‌های نادرست در شبکه مبادله شود، شبکه باید مکانیزمی داشته باشد که همچنان بتواند در مورد صحت اطلاعات مبادله‌شده توافق داشته باشد. در مقاله دیگری توضیح خواهم داد، چگونه در بیت‌کوین پروتکلی مبتنی بر اجماع مشابه آنچه در این مقاله بحث کردم، باعث می‌شود تا سیستم در برابر خطای بیزانسی تاب‌آوری داشته باشد.

منبع : مسئله فرماندهان بیزانسی - آنالیکا: نگرش‌های نو برای حل مسائل دنیای واقعی

11 Likes

انواع دفتر کل توزیع شده ( انواع DLT )

اگرچه هر دو اصطلاح بلاک چین و DLT ( فناوری دفترکل توزیع شده ) در بسیاری موارد به طور هم‌معنی استفاده می‌شوند، اما تمایز خاصی بین این دو وجود دارد که باید جهت شفاف‌سازی به درستی درک شوند. اگر چه ایده بلاک چین بعد از عرضه بیت کوین در سال ۲۰۰۸ شهرت پیدا کرد، مفهوم این ایده از سال ۱۹۹۱ توسط استوارت هابر (Stuart Haber) و و. اسکات استورنتا (W. Scott Stornetta) پایه‌ریزی شد. آن دو روی زنجیره‌ای از بلاک‌های داده امن مبتنی بر رمزنگاری (ضد دستکاری) با برچسب‌های زمانی مربوطه کار می‌کردند.

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

بلاک چین

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

  1. فدرال: دسترسی محدود، مقیاس پذیری، شفافیت و حفظ حریم خصوصی بسیار بهتر. مانند بانک مرکزی یا کنسرسیوم R3
  2. دارای پرمیشن/خصوصی: دسترسی می‌تواند عمومی یا خصوصی باشد، اما اجازه تأیید یا ممیزی همگانی نیست، متابعت و استفاده از داده‌های ساده‌سازی شده مانند Bankchain
  3. بدون پرمیشن/عمومی: شبکه عمومی متن باز، شفافیت ، سیستم ناشناس، هیچ شخص ثالثی وجود ندارد، هزینه بسیار کم. با این حال، چنین سیستمی منجر به پردازش کند می‌شود، مانند بیت کوین.
  4. ترکیبی: ترکیبی از شبکه‌های عمومی/خصوصی با مشارکت جزئا محدود، در خصوص اینکه کدام داده‌ها خصوصی نگهداری شده و چه چیز در لیست عمومی ذخیره شود انعطاف پذیر است. دارای مقیاس پذیری بهتر، اجماع همه نودهای شبکه مورد نیاز نیست، به عنوان مثال Hyperledger.

بلاک چین‌های رمز ارز‌ بیت کوین و اتریوم در حال حاضر محبوب‌ترین هستند. با این حال، مشکل اصلی بلاک چین و DLT ، محدودیت تراکنش بر ثانیه (TPS) و عدم مقیاس پذیری و ماینرهایی است که از قدرت به تعویق انداختن و یا لغو کلی معامله برخوردارند. با این وجود، برای تأیید تراکنش ها می توان از سازوکارهای مختلف اجماع استفاده کرد.

هش گراف ( Hashgraph )

اگرچه بلاک چین و هش گراف اهداف مشابهی را با استفاده از DLT به عنوان زیربنا دنبال می‌کنند (یک نظام پولی شفاف و همتا به همتا که نیازمند وجود یک مرجع قانونی مرکزی نیست)، اما تفاوت‌های اساسی در نحوه دستیابی به این هدف بین این دو وجود دارد و در نتیجه می‌توان بر محدودیت‌های بلاک چین و DLT غلبه کرد. هش گراف‌ها برای تایید تراکنش‌ها در شبکه خود تنها بر سازوکار اجماع متکی هستند. این اجماع از طریق روش‌های رای‌گیری مجازی و Gossip به دست می‌آید که مقیاس پذیری بهتر و نیاز به ملزومات ذخیره‌سازی کمتری را به ارمغان می‌آورد. بر خلاف بلاک چین، می‌توان در یک برچسب زمانی واحد به نام «رویداد (Event)»، چند تراکنش‌ را در یک پشته موازی در هدر هش گراف ذخیره کرد. تفاوت عمده در سازوکار اجماع است.

در حالی که بلاک چین قدرت زیادی را در اختیار ماینرها قرار می‌دهد و آن‌ها می‌توانند تراکنش و زمان آن را برای تأیید انتخاب کنند، از سوی دیگر هش گراف تراکنش‌ها را به ترتیب دریافت تایید می‌کند که این موضوع زمان تراکنش را به طور قابل توجهی کاهش می‌دهد. هنگامی که یک «رویداد» آغاز می‌شود، تمام نودهای شبکه با استفاده از پروتکل Gossip یک نود همسایه را به صورت تصادفی برای انتقال اطلاعات به نودهای دیگر انتخاب می‌کند. تمام شبکه از تراکنش اطلاع دارد چرا که در عرض چند دقیقه اطلاعات در سراسر شبکه پخش می‌شود. سرانجام، هر نود تراکنش را پیش از اضافه شدن آن به دفتر کل از طریق رای‌گیری مجازی تایید می‌کند. از آنجایی که اعتبارسنجی تراکنش تنها از طریق اجماع به دست ‌می آید و برای تایید به هیچ اثبات کاری نیاز نیست، هش گراف نیاز بسیار کمتری به رایانش دارد. از آنجایی که تمام نودها از تراکنش اطلاع دارند، می‌توانند تغییراتی را مطابق با آن اعمال کرده و سپس آن را کنار بگذارند؛ که اساسا بدان معنی است که شما مجبور نیستید برای همیشه سابقه تراکنش را در دفتر کل هش گراف نگاه دارید که این امر نیز نیاز به فضای ذخیره‌سازی را کاهش می‌دهد.

فناوری هش گراف توسط لیمون برد (Leemon Baird)، بنیانگذار مدیر ارشد فناوری Swirlds ابداع شده است، که از اوت ۲۰۱۸ در دسترس عموم قرار گرفت. دیگر بازیگر این عرصه، Hedera، بستر هش گرافی است که اجازه می‌دهد برنامه‌های کاربردی بسیار مقیاس پذیر و امن مشابه Swirlds در آن توسعه داده شوند. وایت پیپر Hadera سرعت ۲۰۰٬۰۰۰ TPS تا ۵۰۰٬۰۰۰TPS را ادعا می‌کند. اپلیکیشن‌های کاربردی ساخته شده بر اساس این بستر باید بتوانند اثباتی بر این ادعا باشند؛ شما می‌توانید مین‌نت Hedera را با ایجاد یک پروفایل در وب‌سایت آن‌ها آزمایش کنید.

DAG

گراف جهت‌دار غیرمدور DAG یکی دیگر از جایگزین‌های بسیار مقیاس پذیر برای بلاک چین-DLT است که از یک ساختار داده‌ای متفاوت برای سازوکار اجماعِ بسیار کارامد خود استفاده می‌کند. یکی از بزرگترین مزایای DAG-DLT امکان ریزتراکنش‌های بدون کارمزد است. به عبارت ساده‌تر، هر چه تراکنش‌های بیشتری در شبکه انجام شود، شبکه سریع‌تر کار می‌کند. تمام نودهای DAG دارای عملکرد دوگانه تایید اعتبار یک تراکنش و همچنین نمایندگی یک تراکنش معتبر هستند. هر نود می‌تواند یک تراکنش را آغاز کند، اما برای تایید آن، باید دو تراکنش پیشین را نیز در دفتر کل تایید کند. ترتیب معاملات یک شاخه نامیده می‌شود؛ هر چه شاخه‌ معامله تایید شده توسط یک شخص بلندتر باشد، وزن آن بیشتر است. اما توجه داشته باشید که الگوریتم دو تراکنش قبلی به صورت تصادفی برای تایید انتخاب می‌شوند. NXT که در نوامبر ۲۰۱۵ عرضه شد، اولین بستری بود که از DAG استفاده می‌کرد. دو پیاده‌سازی شایان توجه دیگر، تنگل IOTA و ByteBall هستند. دو مزیت دیگر پیاده‌سازی DAG عبارتند از: نقشه امضای دائمی وینترنیتز (Winternitz) مقاوم دربرابر کوانتوم که به عنوان یک فایروال در برابر تلاش برای نفوذ توسط کامپیوترهای کوانتومی عمل می‌کنند و دوم، پیام‌رسانی تایید اصالت شده پنهان (MAM) است که امکان برقراری ارتباط امن و رمزگذاری شده بین دو نود را فراهم می‌کند.

HOLOCHAIN

شرکت Holochain فناوری دفتر کل توزیع شده را به سطح دیگری می‌برد. بزرگترین تغییر ارائه شده توسط این بستر دور شدن از رویکرد داده‌محور به سوی رویکرد عامل‌محور است. اجتناب از یک پروتکل اجماع جهانی، برای Holochain-DLT مقیاس پذیری نامحدود را به همراه دارد. در حالی که بلاک چین به دنبال تمرکز زدایی از معاملات شبکه است، هولوچین قصد دارد تا تعاملات بین نودها را نیز غیر متمرکز کند. هر نود در شبکه، زنجیره خود را اجرا می‌کند که در آن می‌تواند در شبکه خود مستقل عمل کند و در عین حال بخشی از شبکه‌ای بزرگتر است که از هزاران نود مشابه تشکیل می‌شود. کاربران با استفاده از کلیدهایی خاص می‌توانند داده‌ها را در چیزی به نام جدول هش توزیع‌شده (DHT) ذخیره کنند؛ این نوع ذخیره‌سازی داده در سرتاسر نقاط دنیا توزیع‌شده باقی می‌ماند.

این تمرکز زدایی واقعی در شبکه در کل سطوح، Holochain-DLT را قادر به دستیابی به TPS میلیونی می‌کند. اعتبار سنجی در سطح میکرو، بار ترافیک را به طور کامل از دوش شبکه بر می‌دارد. از آنجایی که هر نود دارای دفتر کل خود است، به وسیله شناسه‌ای خاص به نام «DNA» شناخته می‌شود. اگر سایر نودها پیامی را با استفاده از DNA خاص نود دریافت کنند، آن را به بقیه شبکه انتقال می‌دهد، اما اگر تلاشی مخرب برای افزودن اطلاعات غلط به شبکه اتفاق بیفتد، تراکنش رد خواهد شد و تلاش ناموفق جلوگیری از آن در آینده به بقیه شبکه گزارش می‌شود. این یک ویژگی امنیتی قوی در Holochain است. در حالی که در بلاک چین، بار محاسباتی با افزودن بلاک‌ها بیشتر می‌شود، افزودن نود به هولوچین به معنای فضای بیشتری برای محاسبه است. همچنین کارمزدی برای تراکنش وجود ندارد، زیرا نیازی به وجود ماینرها نیست و این باعث بازدهی بالا و عدم نیاز به تجهیزات سخت‌افزاری می‌شود. نه تنها هر نود می‌تواند معاملات را پردازش کند، بلکه فضای نامحدودی برای توسعه dApp ها فراهم می‌کند.

(RADIX (TEMPO

یکی دیگر از تازه‌واردان فضای DLT ، رادیکس است. این نوآوری به شما امکان می‌دهد تا بدون یک بلاک چین، برای شبکه‌های عمومی و خصوصی یک دفترکل توزیع شده Tempo بسازید که نیازی به هیچ تغییری ندارد. این پیاده سازی بسیار سبک است چرا که به هیچ جزء سخت‌افزاری نیاز ندارید. Radix-DLT همچنین علاوه بر ویژگی‌های زیر، از برچسب زمان استفاده می‌کند.

  • هر مورد در این دفتر کل به عنوان «universe» و هر رویداد در آن به نام «atom» شناخته می‌شود.
  • دفتر کل جهانی در بین خوشه‌هایی از نودها توزیع می‌شود (هر نود می‌تواند بر اساس انتخاب خود زیرمجموعه‌ای از دفتر کل به نام شارد (Shards) را حمل کند، این توزیع مجدد باعث افزایش چندبرابری مقیاس پذیری می‌شود.
  • تمام نودهای حامل شارد دارای یک شناسه منحصر به فرد هستند.
  • الگوریتم‌های ویژه برای رویدادهای زدن برچسب زمانی در دفتر کل استفاده می‌شوند.
  • نودها از پروتکل خبرچینی برای پخش و همگام‌سازی شاردهای خود استفاده می‌کنند.
  • نودها استفاده از ساعت‌های منطقی برای اعتبارسنجی تراکنش‌ها استفاده می‌کنند، که از طریق به یاد آوردن ترتیب تراکنش‌ها برای رسیدن به اجماع استفاده می‌شود.

این پروژه هنوز در مراحل بسیار اولیه توسعه قرار دارد، اما از پتانسیل بالایی برخوردار است. در زمان نگارش، این بستر حدود ۱۷۰۰ تا ۱۸۰۰ TPS انجام می‌دهد و ۲۰ نود داشته و زمان قطعیت آن‌ کمتر از ۵ ثانیه است. مسئولین این پروژه آن را به شکل زیر خلاصه می‌کنند:

«Radix می‌تواند تقریبا بر روی هر دستگاهی اجرا شود، مبتنی بر API است، توکن کم‌نوسان خود را دارد و به آن اندازه قابل مقیاس است که تمام دنیا می‌توانند از آن به طور همزمان استفاده کنند.»

مقایسه بین DLTها به ما نشان می‌دهد که تاکنون در این انقلاب دیجیتال راه درازی پیموده‌‌ایم. پروژه‌هایی مانند Holochain و Radix، ایده تمرکز زدایی را رشد داده‌اند و این امر می‌تواند اکوسیستم‌ها را به شکل غیرقابل تصوری متحول کند. با ظهور کاربردهای جدید برای DLT در صنایع مختلف، این انقلاب بیش از پیش سرعت می‌گیرد.

منبع : انواع دفتر کل توزیع شده ( انواع DLT ) | فینمگ - مجله مالی اقتصادی |(https://finmag.ir/)

11 Likes

مقایسه انواع مختلف DLT

کلیه DLT ها از جنبه های مشترک شفافیت ، اتفاق نظر ، معاملات ، توزیع ، نظیر به نظیر و انعطاف پذیر برخوردار هستند. با این حال ، اختلافات زیادی در سازوکار اجماع و ساختار داده ها در هر DLT ظاهر می شود.

Blockchain Hashgraph Holochain
زمان راه اندازی و پیدایش 2008 از 24 آگوست 2018 برای استفاده عمومی در دسترس است محصول آلفا 1 در تاریخ 26 مه 2018 منتشر شد
استخراج (Mining) شرکت کنندگان این توانایی را دارند که از طریق مکانیسم های مختلف اجماع ، توکن های جدیدی را بدست آورند گره ها از طریق رای گیری مجازی به توافق می رسند گره ها روی زنجیره های جداگانه کار می کنند از این رو استخراج کنندگان نیازی به تأیید تراکنش ها ندارند
تراکنش در هر ثانیه(TPS) از نظر مقیاس پذیری و TPS بسیار محدود است سازوکارهای اجماع منحصر به فرد باعث کاهش بار محاسباتی شده از این رو مقیاس پذیری بالا و TPS افزایش می یابد هر گره دفتر خود را پردازش می کند ، از این رو مقیاس پذیری و TPS نامحدود است
ساختار داده ها داده ها به ترتیب تراکنش هایی که توسط ماینرها در اکوسیستم تأیید می شوند ، به صورت بلوکی ساخته می شوند رأی دادن مجازی و شایعات درباره شایعات اطمینان از اعتبار سنجی معاملات توسط اکثریت افراد را تضمین می کند داده ها در بین گره های مختلف پلت فرم توزیع می شوند از این رو مشکلی برای ازدحام شبکه وجود ندارد
اعتبار سنجی معاملات ماینرها توانایی به تعویق انداختن معامله یا لغو کامل آن را دارند اعتبار سنجی معاملات طبق توافق صورت می گیرد گره ها دفترهای خود را پردازش می کنند بنابراین نیازی به استخراج کنندگان نیست
شبکه هایی که روی سیستم عامل در حال اجرا هستند بیت کوین و اتریوم محبوب ترین شبکه های ساخته شده بر روی بلاکچین هستند Swirlds و NOIA تنها شبکه های Hashgraph هستند شبکه Holochain شناخته شده ترین شبکه در این سیستم عامل است

نتیجه گیری

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

با این حال ، فناوری های جدید به دنبال حل موانعی هستند که مانع بلاکچین برای تمرکز زدایی کامل از فعالیت ها می شوند.
منبع : مقایسه انواع دفترکل توزیع شده (DLT) - فکت کوینز

9 Likes
5 Likes

یعنی وقتی میخواد این تایید بشه باید قبلش دو تراکنش رو تایید کنه و اون دوتا قبلشون خودشون باید دوتا دیگه رو تایید کنن پس اولین تراکنش رو کی تایید میکنه یعنی قبل اولین چیزی نیس که تایید کنه اون چجوری بوده ؟؟

4 Likes

سلام . اولین تراکنش از این نظر استثنا هست خوب کاملا مشخصه ، تراکنشی قبل از اون وجود نداشته که لازم باشه راستی آزمایی بشه

6 Likes

سلام، وقتی یک ماینر بلاکی رو ماین میکنه گفتیم بقیه اون رو تایید میکنند. سوالم اینه که چه تعداد تایید نیاز هست تا بلاک اضافه بشه به شبکه؟ و اینکه وقتی اضافه شد آیا همه نودها اپدیت میشوند؟

1 Likes

@borzouyeh
سلام دوست عزیز .
به نظر من به محض اینکه یک ماینر بلاکی را استخراج میکند ؛ آن را به زنجیره اضافه میکند و در کل شبکه هم پخش می کند و شروع به استخراح بلوک جدید خواهد کرد ؛چون فرصت از دست میرود.
در بلاک چین بیت کوین گفته میشود که تا 6 تا کانفریم صبر کنیم که مطمئن باشیم زنجیره بلاک چین دچار فورک موقتی |تصادفی نشده و تراکنش ما به صورت قطعی تایید و به زنجیره اضافه شده است .
درمورد سوال اخر هم همه نودها به ناچار بایستی اپدیت شوند تا بتوانند در این رقابت شرکت کنند ؛ ولی ممکن هست که بلوکی که به زنجیره اضافه میکنند با اخرین بلوک نود دیگر متفاوت باشه که در گذر زمان بلندترین زنجیره انتخاب و مشکل فورک برطرف می شود .

ممنون از راهنماییتون :slightly_smiling_face:

1 Likes