اولین روزهای آشناییتان با دنیای رمزارزها را به خاطر دارید؟
زمانی که با کلمات و لغات متعدد بمباران شدید و احساس گیج شدن میکردید! کلماتی مثل PoW ،PoS ، Peer to Peer،Blockchain و و و ….
خب اگر چنین حسی داشتید و یا دارید، تنها نیستید. این کلمات پرکاربرد در نگاه اول گیجکننده به نظر میرسند اما هر کدام مفهومی ساده و کارآمد دارند. در این مقاله به یکی از اساسیترین مفاهیم بلاکچین، یعنی الگوریتمهای توافق جمعی یا Consensus Algorithms میپردازیم.
معنی لغوی Consensus تصمیمگیری جمعی یا نظر مورد تایید عموم است.
تصمیمی که توسط یک شخص، گروه یا ارگان گرفته نمیشود و از خرد عمومی بهره میگیرد. خرد عمومی مفهومیست که با یک آزمایش ساده، قابل درک است. در این آزمایش شما تعدادی آدامس توپی در محفظهای شیشهای قرار میدهید؛ و از افراد با سنین مختلف میخواهید که تعداد آنها را تخمین بزنند. هر کس عددی را پیشنهاد میکند: 300، 5961، 163، 6500 و …. طبیعتا هیچ یک عدد درستی نیست. اما نکته جالب توجه اینست که اگر شما این اعداد را جمع و تقسیم بر تعداد کنید، به طور شگفتانگیزی نتیجهی درست را خواهید داشت. این مفهوم در علم به خرد جمعی مشهورست. خرد جمعی که در اجتماعات و حوزههای مختلف میتواند سودمند باشد.
نمونهی آن در علم کامپیوتر نیز دیده میشود که در آن از شبکهای غیرمتمرکز بر اساس تصمیم جمعی (که نظر درستی تلقی میشود) در تایید و یا رد یک مساله بهره برد.
بلاک چینِ بیتکوین مثال اعمال شدهای از آن است که میشناسیم و سالهاست به خوبی کار میکند. در بلاک چین بیتکوین نودها (افراد) بر سر درستی یا نادرستی یک تراکنش ایجاد شده تصمیم میگیرند و با توجه به برآیند نظر جمع، آن تراکنش تایید و یا رد میشود.
“اما”
چه تضمینی وجود دارد که همهی افراد تصمیم گیرنده حقیقت را بیان کنند و براساس منافع شخصی عمل نکنند؟
چه مکانیسمی متضمن وفاداری نودهای بررسیکننده وجود دارد؟
برای اینکه اهمیت این وفاداری را بهتر درک کنیم، فرض کنید شما امپراتور روم شرقی هستید! جنگی شکل گرفته و شما فرماندهان ارشد خود را به جنگ فرستادید. آنها شهر دشمن را محاصره کردهاند اما به علت وسعت جغرافیایی شهر، فرماندهان برای تصمیمگیری و چینش استراتژی به اطلاعات یکدیگر نیازمندند. در نتیجه هر فرمانده و گروه در قسمتی اتراق میکنند و دیدههای خود را از طریق پیک انسانی به هم میفرستند. هر کسی نیمهای از پازل را میبیند و بیان میکند و تصمیم نهایی برآیندی از این قسمتها خواهد بود.
حالا سوالی که پیش میآید اینست: چه اتفاقی میافتد اگر یک یا چند فرمانده خائن باشند و اطلاعات غلط به سایر فرماندهان دهند؟
مساله مرگ و زندگیست! مساله پیروزی و شکست یک امپراتوریست!
اطلاعات تنها درصورتی به تصمیمی درست و استراتژی منجربه پیروزی خواهد شد که بیشاز 2/3 فرماندهان صادق و وفادار باشند. (یک سیستم و شبکهی کامپیوتری نیز باید بتواند درصورت اشتباه در قسمتهایی، به درستی کار کند. )
راههای مختلفی وجود دارد؛ یک راهحل اینست که این اطلاعات به جای کلام، به صورت نوشتاری ردوبدل شود. نوشتههایی که قابل جعل نباشد و تا ابد ثبت شوند. مثلا حک روی سنگ! در این صورت به ازای هر تعداد فرمانده خائن، تصمیم نهایی تصمیم درستی خواهد بود.
یا اینکه میتوانیم از فرماندهان اثبات وفاداری بخواهیم. کاری که بلاک چینهای امروزی انجام میدهند.
آسیب به بلاک چین به ضرر شخصی ماینرها منجر میشود پس احتمال خائن بودن (!) به طور چشمگیری کاهش پیدا میکند. از طرفی حمله به این نوع سیستم دشوار است چراکه عمل استخراج نیاز به نیروی محاسباتی بالایی دارد تا بتواند مسائل را حل کند. این هزینه به صورت برق زیادی که مصرف میشود قابل مشاهده است.
این الگوریتم جدید نیست اما استفاده از آن به این طریق برای توافقی جمعی که در آن نیازی به اعتماد بین افراد نیست، اولین بار در سال 2009 توسط ساتوشی ناکاموتو مطرح شد و PoW خوانده میشود.
سایر کوینها: به جز بیتکوین در اتریوم، لایککوین، دوج و بسیاری دیگر اعمال شدهاست.
فواید: کارایی آن در مقیاس بالا آزمایش و اثبات شده است.
معایب: بسیار هزینهبر است؛ به طوری که برق مصرفی در تایید یک تراکنش میتواند برق یک شهر را در یک روز تامین کند. و بهتبع دوستدار محیط زیست نیست.
کوینها: Peercoin از سال 2012 درحال استفاده از آن میباشد؛ و اتریوم نیز برنامهای برای اعمال آن در بلاک چین خود (به زودی) دارد.
فواید: صرفهجویی در انژری و دوستدار محیط زیست، نسبت به PoW غیرمتمرکزترست و حملات هزینهبرترند و مستقیما موجب آسیب میشوند.
معایب: مشکل Nothing-of-Stake: ایجادکنندهی بلوک بعدی میتواند به چند بلاک چین (اصلی و فورکها) همزمان رای دهد و درنتیجه عدم توافق بر تصمیم نهایی محتمل است.
گراف به ساختارهای متصل به هم گفته میشود که در این جا جهت دارند و از یه نقطه به نقطهی مشخص بعدی میروند اما این حرکت دایرهای نیست و مبدا و مقصد ندارد. برای مثال شکل درخت، ساختاری DAGای است. یعنی پس از گذر از یک نود احتمال گذر دوباره نیست. تفاوت چشمگیر این نوع بلاک چین در ناهمزمانی تراکنشهاست؛ که این ویژگی از نظر تئوریک به بلاک چین امکان تراکنشهای نامحدود را میدهد.
DAG امکان انجام همزمان تراکنشها در زنجیرههای مختلف را میدهد. این ویژگی میتواند آیندهی تراکنشهای آنی با هزینهی حداقلی باشد. در حال حاضر پروژهای چینی به نام ITC بر اساس این الگوریتم طراحی شده و میتواند در هر ثانیه 10هزار تراکنش انجام دهد.
کوینها: معروفترین کاربرد این الگوریتم در IOTA به نام Tangle است. همچنین در Raiblocks و Nano نیز دیده میشود.
برای نگارش این مقاله از منابع زیر استفاده شده است: