تاکنون الگوریتمهای اجماع بسیاری برای بلاکچینها معرفی شدهاند که هرکدام، روشهای مختلفی را برای اجماع در فضای غیرمتمرکز بلاکچینها ارائه میدهند.
هدف اصلی اکثر الگوریتمهای اجماع، بهبود قابلیت مقیاسپذیری در شبکههای بلاکچینی است.
اگرچه هر کدام از الگوریتمها ویژگیهای منحصر بهفرد خود را دارند؛ اما هنوز نتوانستهاند به طور کامل مشکل مقیاسپذیری شبکههای بلاکچینی را حل کنند.
عناوین مطلب:
بیشتر بخوانید: راهنمای جامع انواع الگوریتمهای اجماع در بلاکچین
در این میان، الگوریتم گواه اثبات اعتبار (Proof of Authority) که به اختصار PoA نام دارد، یک الگوریتم اجماع مبتنی بر اعتبار است که راهکاری موثر در جهت بهبود مقیاسپذیری در شبکههای بلاکچینی، به ویژه شبکههای خصوصی را ارائه میدهد.
در این مقاله قصد داریم تا درباره الگوریتم اجماع اثبات اعتبار، نحوه عملکرد، مزایا و معایب آن صحبت کنیم:
الگوریتم گواه اثبات اعتبار (PoA) چیست؟
همانطور که میدانید، بیتکوین مبتنی بر الگوریتم گواه اثبات کار (PoW) است که یکی از امنترین الگوریتمهای اجماع به شمار میرود.
اما مشکل اصلی این الگوریتم، تعداد کم تراکنشهایی است که در ثانیه انجام میشود؛ چراکه شبکههایی مثل بیتکوین، متکی به نودهای توزیع شده هستند که باید با یکدیگر بر سر حالت فعلی شبکه، به اجماع برسند.
الگوریتم اجماع دیگری که اکثر شبکههای بلاکچینی از آن استفاده میکنند، الگوریتم گواه اثبات سهام (PoS) است که بلاکچینهای مبتنی بر آن از نظر میزان تراکنش در هر ثانیه، عملکرد بهتری دارند. اما این تفاوت چندان زیاد نیست.
در حالت کلی باید گفت این الگوریتمها مشکل مقیاسپذیری بلاکچینها را برطرف نمیکنند!
همانطور که در ابتدای این مقاله اشاره کردیم، برای حل مشکل مقیاسپذیری، الگوریتم Proof of Authority یا گواه اثبات اعتبار جایگزین دو الگوریتم قبلی شده و قادر است تراکنشهای بیشتری را در ثانیه پردازش کند.
البته لازم به ذکر است که این الگوریتم، بیشتر در بلاکچینهای خصوصی استفاده میشود.
در این الگوریتم ارزش هویتها افزایش مییابد؛ یعنی اعتبارسنجها یا ولیدیتورهای بلاک، برخلاف الگوریتم PoS، کوینهای خود را سپردهگذاری نمیکنند بلکه اعتبار خود را سپردهگذاری میکنند. به این ترتیب، امنیت بلاکچینهای مبتنی بر PoA، توسط نودهای ولیدیتوری تامین میشود که از بین موجودیتهای قابل اطمینان انتخاب شوند!
این الگوریتم متکی بر تعداد محدودی از ولیدیتورها است که این موضوع، مقیاسپذیری را افزایش میدهد. مشارکتکنندگان از پیش تعیین شده که بهعنوان گردانندگان (Moderators) سیستم فعالیت میکنند، مسئولیت تایید بلاکها و تراکنشها را بر عهده دارند.
کاربرد این الگوریتم در زنجیرههای تامین، راه حل بسیار موثر و معقولی را ارائه میدهد. شرکتها با بهرهگیری از الگوریتم گواه اثبات اعتبار، امنیت خود را در کنار بهرهگیری از مزایای تکنولوژی بلاکچین حفظ میکنند.
به عنوان مثال، Microsoft Azure، یکی از پروژههایی است که از الگوریتم اثبات اعتبار استفاده میکند. سیستم کاری این پلتفرم به گونهای است که نیازی به پرداخت کارمزد به صورت توکن بومی یا کوینهایی مثل اتریوم در آن وجود ندارد. هدف اصلی این پلتفرم، ارائه راهحلهایی برای شبکههای خصوصی است.
ولیدیتورها وظیفه دارند نرمافزاری که تراکنشها را در بلاک قرار میدهد، اجرا کنند. این فرآیند کاملا به صورت خودکار انجام میشود و نیازی نیست که ولیدیتورها بهطور مداوم کامپیوترهای خود را نگاه کنند.
در این الگوریتم، افراد باید بتوانند حق تبدیل شدن به نود ولیدیتور را بهدست آورند. ولیدیتورها با کسب اعتبار برای هویت خود، در فرآیند تایید تراکنشها مشارکت میکنند.
مزیت این مکانیزم این است که، چون تبدیل شدن به نود ولیدیتور نیازمند حفظ اعتبار افراد است، بنابراین اعتبار منفی و خرابکار بودن نودها بسیار کاهش مییابد.
اگر توجه کنید، میبینید که این الگوریتم بسیار قدرتمندتر از گواه اثبات سهام پیش میرود؛ چراکه میزان نودهای استیک شده مد نظر نیست و تنها اعتبار عملکرد نودها حائز اهمیت است.
مثلا ممکن است دو نود به اندازه یکسان کوینی را استیک کرده باشند؛ اما فقط یکی از آنها برای ولیدیتوری انتخاب شود.
مسئله دیگری که در این الگوریتم وجود دارد این است که PoA اجازه تایید بلاکهای غیرمتوالی را تنها به یک نود میدهد که این موضوع ممکن است آسیب و ریسک جدی برای نود به وجود آورد؛ زیرا تنها یک نود تاییدکننده یک بلاک است و اگر این بلاک دچار مشکل یا حمله شود، این نود آسیب میبیند.
مقایسه الگوریتمهای گواه اثبات اعتبار و گواه اثبات سهام
الگوریتم PoA و PoS شباهتهای بسیاری با هم دارند و به همین دلیل در این بخش به مقایسه این دو الگوریتم میپردازیم.
برخی از متخصصان این حوزه، الگوریتم اثبات اعتبار را الگوریتم اثبات سهام اصلاح شده میدانند که در آن به جای کوینها، از هویت و اعتبار نودها استفاده میشود.
به دلیل ذات غیرمتمرکز اکثر بلاکچینها، گواه اثبات سهام همیشه برای کسب و کارها و شرکتها گزینه مناسبی نیست؛ اما سیستمهای اثبات اعتبار به دلیل عملکرد سریع و موثری که دارند، راه حلهای بهتری برای شبکههای خصوصی ارائه میدهند.
در سالهای اخیر، مکانیزم PoS، از نظر مقیاسپذیری به مشکلات زیادی برخورد کرده است. با اینکه PoS در مقایسه با PoW مصرف بسیار زیاد انرژی و مشکلات زیست محیطی را حل کرده، اما در آن نودهایی که تعداد بیشتری کوین استیک کرده باشند، به عنوان ولیدیتور انتخاب میشوند، در حالی که این روش میتواند مخرب باشد.
به عنوان مثال، فرض کنید آلیس یک سبد سرمایهگذاری شامل ارزهای دیجیتال مختلفی دارد. و باب نیز شخص دیگری است که به تازگی وارد دنیای کریپتو شده است.
تصور کنید که هردوی آنها 1000 کوین در یک پروتکل استیک کردهاند. میتوانیم بگوییم که هر دوی آنها به یک میزان به این پروژه علاقهمند هستند؛ اما از نظر میزان سرمایه، شاید 1000 کوینی که آلیس سپردهگذاری کرده، 1 درصد از کل سرمایهاش باشد، اما 1000 کوین باب، 50 درصد از سرمایهاش است.
بنابراین ممکن است آلیس کمتر از باب به این پروژه اهمیت دهد و احتمالا تمایل او برای مشارکت در شبکه به اندازه باب نیست. بنابراین میزان یکسان استیکینگ، چندان مشوق خوبی برای مشارکت در شبکه نیست.
الگوریتم گواه اثبات اعتبار چگونه ایجاد شد؟
در تاریخ 24 فوریه سال 2017، شبکه آزمایشی Ropsten اتریوم، مورد حمله DOS قرار گرفت.
بیشتر بخوانید: حمله DDos چیست؟ (انواع حملات DDos Attack و روشهای مقابله)
این شبکه، یک شبکه عمومی برای توسعهدهندگان اتریوم است که قراردادهای هوشمند خود را قبل از اجرا در شبکه اصلی، در شبکه Ropsten مورد آزمایش قرار میدهند.
به دلیل وقوع این حمله، اجبارا یک تستنت جدید برای اتریوم به نام Kovan ایجاد شد که مبتنی بر الگوریتم گواه اثبات اعتبار بود.
در واقع مفهوم اثبات اعتبار در سال 2017 توسط گاوین وود (Gavin Wood) بنیانگذار شبکه پولکادات، معرفی شد.
در اوایل کار PoA، این مکانیزم صرفا برای جلوگیری از حملات DOS بر روی شبکه تستی Kovan اتریوم ساخته شد؛ اما از آنجا که PoA توانایی استفاده در سیستمهای متنوع از جمله زنجیرههای تامین را دارد، کاربردهای آن گسترش یافت و رفته رفته شبکههای بسیاری از آن استفاده کردند.
به عنوان مثال، امروزه بلاکچینهایی همچون POA Network و VeChain، برای اجماع در شبکه خود از این مکانیزم استفاده میکنند.
هر دوی این بلاکچینها، معیارهای سختی برای انتخاب ولیدیتورها دارند؛ زیرا اعتبار آنها یکپارچگی کل سیستم را تضمین میکند. همچنین، این شبکهها فرآیندهای اعتبارسنجی شخصیسازی شده برای نودهای خود دارند.
الگوریتم PoA، یکی از بهترین الگوریتمها برای بلاکچینهای خصوصی است؛ زیرا در کنار ویژگی تمرکززدایی، مقیاس پذیری بسیار بالایی نیز دارد. بنابراین، شرکتهایی که به دنبال پیادهسازی روشهای بلاکچینی و افزایش بهرهوری خود هستند، این مکانیزم یک راه حل مناسب برای آنها خواهد بود.
هدف الگوریتم PoA چیست؟
در ابتدا که این الگوریتم معرفی شد، کار آن حفاظت از شبکه آزمایشی Koven اتریوم در برابر حملات DOS بود؛ اما بعدتر در تمام تستنتهای اتریوم پیادهسازی شد.
هدف اصلی سیستمهای مبتنی بر گواه اثبات اعتبار، اثبات هویت ولیدیتورها جهت جلوگیری از حملات مختلف از جمله حملات DOS است. البته همانطور که گفتیم، امروزه این الگوریتم به دلیل قابلیتهای بسیار خود، در بلاکچینهای خصوصی و شرکتها نیز استفاده میشود.
فرآیند انتخاب ولیدیتورها در این الگوریتم آسان نیست و البته داوطلبان نیز به راحتی کنار گذاشته نمیشوند؛ بلکه باید از بین داوطلبان، افراد بدکار شناسایی شده و سپس حذف شوند.
نحوه عملکرد اثبات اعتبار چگونه است؟
در مکانیزم گواه اثبات اعتبار، نودها به جای سپردهگذاری کوینهای خود از اعتبار خودشان برای تایید تراکنشها و ساخت بلاکها استفاده میکنند.
به این صورت که اعتبار ولیدیتور به معنی مطابقت بین هویت فردی ولیدیتور در پلتفرم و اسناد صادر شده توسط همان شخص است. در واقع ولیدیتور دقیقا همان شخصی است که ادعا میکند.
در سیستمهای PoS، شما میتوانید چند هویت (نود) داشته باشید و همزمان با همه آنها تراکنشها را تایید کنید؛ اما در PoA شما تنها میتوانید با یک هویت یا نود فعالیت کنید؛ زیرا ثابت میکنید که همان فردی هستید که ادعا دارید. این موضوع منجر به کاهش فعالیتهای مجرمانه و مخرب در شبکه میشود.
سپردهگذاری هویت در مکانیزم PoA بدین معناست که شما بهصورت داوطلبانه، هویت و موجودیت خود را افشا میکنید، تا بتوانید حق تایید تراکنشها و ساخت بلاکها را به دست بیاورید. یعنی اگر اقدامات بدکارانهای داشته باشید به صورت کاملا عمومی است و همه ولیدیتورها میتوانند اقدامات شما را مشاهده کنند.
مراحل کار به این صورت است که ابتدا در الگوریتم PoA، ولیدیتورها به صورت تصادفی و در یک فرآیند دشوار انتخاب میشوند.
سپس یک سیستم رایگیری از سایر نودهایی که قبلا در شبکه بهعنوان ولیدیتور فعالیت داشتند، برگزار میشود تا نودهای جدید را انتخاب کنند؛ این فرآیند از دسترسی نودهای بدکار که ممکن است عملکرد سیستم را تحت تاثیر قرار دهند، جلوگیری میکند.
در این الگوریتم، هویت هر کاربر بسیار ارزشمند و مهم است. در واقع، برای مشارکت در این نوع شبکهها، افراد باید هویت خود را افشا کنند، تا همه ولیدیتورها آنها را بشناسند. زمانی که اطلاعات ولیدیتور به صورت عمومی در اختیار همه نودها قرار گرفت، وظایف او در شبکه مشخص شده و در صورتی که حرکتی از او دیده شود که امنیت شبکه را مختل میکند، سیستم به صورت خودکار او را از شبکه حذف خواهد کرد.
این نوع شبکههای بلاکچینی، به صورت روزانه اعتبار ولیدیتورها را بررسی میکنند تا امنیت به طور کامل برقرار شود. بنابراین نودها تمام تلاش خود را میکنند که اعتبارشان زیر سوال نرود و عملکرد خوبی در شبکه داشته باشند.
در بلاکچینهای PoA، نودهای ولیدیتور قدرت و اختیار کامل برای ساخت بلاکهای جدید دارند. یعنی اگر از نظر آنها، تراکنشی ممکن است به شبکه آسیب بزند، میتوانند آن را حذف کنند.
معمولا در الگوریتمهای دیگر، نودها به هم اعتماد ندارند و این موضوع ممکن است ناسازگاری در شبکه ایجاد کند. اما در الگوریتم PoA، نودها تشویق میشوند که وظایف خود را صادقانه انجام دهند؛ زیرا مدام زیر نظر هستند و هر نود، نودهای دیگر را نظارت کرده و عملکرد آنها را میسنجد.
ویژگیهای مکانیزم PoA
ممکن است شرایط در سیستمهای مختلف متفاوت باشد، اما الگوریتم اثبات اعتبار معمولا دارای ویژگیهای زیر است:
- استفاده از استاندارد یکسان برای تایید ولیدیتورها: روشی که برای انتخاب ولیدیتورها به کار میرود، برای تمامی داوطلبان یکسان است.
- وجود هویتهای معتبر و قابل اعتماد: ولیدیتورها باید هویتهای واقعی خود را نشان داده و آن را اثبات کنند .
- سختی در فرآیند تبدیل شدن به ولیدیتور: سختی فرآیند انتخاب ولیدیتور، باعث کاهش ریسک ولیدیتورهای بدکار میشود؛ همچنین این موضوع باعث ایجاد انگیزه برای تعهد بلندمدت خواهد شد.
مکانیزم PoA چه کاربردهایی دارد؟
به دلیل اینکه در این مکانیزم، تعداد ولیدیتورها کم است، PoA در شبکههای خصوصی نسبت به شبکههای عمومی مانند بیتکوین، عملکرد بهتری دارد.
به عنوان مثال، یکی از شبکههای خصوصی روی بلاکچین اتریوم به نام Hyperledger Besu، از مکانیزم گواه اثبات اعتبار استفاده میکند.
به عنوان مثالی دیگر، تستنتها یا شبکههای آزمایشی نیز موارد دیگری هستند که از اثبات اعتبار استفاده میکنند؛ چراکه این مکانیزم برای ارائه راهکارهای مدیریتی برای تستنتها بسیار مناسب است.
سه شبکه تستی اتریوم یعنی Ropsten ، Kovan و Goerli از این الگوریتم اجماع استفاده میکنند.
علاوه بر این، در سال 2021، شبکه پولکادات قبل از انتقال به شبکه اصلی PoS خود، از نسخه بتا که مبتنی بر الگوریتم گواه اثبات اعتبار بود، استفاده میکرد.
همچنین، این مکانیزم برای استفاده در زنجیرههای جانبی (Sidechain) نیز مناسب و کارآمد است.
مزایای مکانیزم PoA
- کاهش مصرف انرژی: مکانیزم گواه اثبات اعتبار مانند گواه اثبات سهام، از حداقل توان محاسباتی استفاده میکند و نیازمند تجهیزات خاص و گران قیمتی نیست. این موضوع از اتلاف انرژی و مصرف زیاد آن جلوگیری میکند.
- بهبود مقیاسپذیری: مکانیزم PoA سرعت بسیار بالایی در اعتبارسنجی و تایید تراکنشها دارد. بلاکها با یک توالی قابل پیشبینی و نسبت به تعداد ولیدیتورها ساخته میشوند و همین موضوع باعث میشود که این بلاکچینها نسبت به الگوریتمهای اثبات کار و اثبات سهام، تعداد تراکنشهای بیشتری در ثانیه را پردازش کنند.
- مقاوم در برابر حمله 51 درصد: این مکانیزم در برابر حمله 51 درصدی مقاومت بیشتری نسبت به PoW دارد؛ زیرا در این مکانیزم، شبکه چنین قابلیتی ندارد که توسط یک کاربر با کنترل 51 درصد از قدرت شبکه، مورد حمله قرار بگیرد. همچنین، کنترل بیش از 51 درصد ولیدیتورهایی که به طور مستقیم به شبکه وصل نیستند، کار بسیار دشواری است. علاوه بر این، نودها از قبل تایید شدهاند و اگر یکی از آنها در دسترس نباشد، شبکه آن را از فرآیند اعتبارسنجی حذف خواهد کرد.
- عدم نیاز به سختافزارهای خاص: همانطور که میدانید، الگوریتم گواه اثبات کار نیاز به سختافزارهای خاص و گران قیمت جهت حل معادلات پیچیده ریاضی دارد؛ اما مکانیزم PoA نیازمند چنین مواردی نیست.
معایب مکانیزم PoA
- قابلیت تغییر اطلاعات: با اینکه مکانیزم PoA، برای شرکتهای بزرگ راهحل جذابی است، اما محدودیتهایی به ویژه در حوزه کریپتو دارد. با وجود پردازش سریع تراکنشها، ذات غیرقابل تغییر بودن بلاکچینها، با وجود امکان سانسور و قرار دادن تراکنشها در لیست سیاه، زیر سوال میرود.
- متمرکز بودن: بزرگترین ایراد این مکانیزم، متمرکز بودن آن است؛ چراکه تمرکززدایی را قربانی مقیاسپذیری میکند. بنابراین، میتوان گفت که این مکانیزمها برای سیستمهای متمرکز کارآمدتر هستند.
- آسیبپذیری: اگر یک نود خرابکار به لیست ولیدیتورها اضافه شود، شبکه باید توانایی دفاع در برابر تراکنشها و تغییر اطلاعات را داشته باشد. البته باید بگوییم که مکانیزم PoA جهت جلوگیری از این موارد، یک محدودیت برای این موضوع مطرح کرده است؛ در صورتی که چنین اتفاقی در شبکه رخ دهد، ولیدیتورها تنها میتوانند یک بلاک را بهجای چند بلاک متوالی امضا کنند. این موضوع میتواند خسارتی که یک نود خرابکار به سیستم وارد میکند را کاهش دهد.
- امکان دستکاری در نودها: یکی دیگر از معایب این مکانیزم این است که هویت تمام ولیدیتورها به شکل عمومی و توسط هر کسی قابل مشاهده است. این موضوع باعث میشود که اشخاص ثالث بتوانند اطلاعات را دستکاری کنند. به عنوان مثال، اگر یک کامپیوتر بخواهد یک شبکه PoA را مختل کند، میتواند بر روی یکی از ولیدیتورها تاثیر بگذارد و باعث شود که این نود صادقانه عمل نکند و کل شبکه را از درون به خطر بیندازد.
کدام پلتفرمها از PoA استفاده میکنند؟
- کیف پول Parity: این کیف پول که مبتنی بر بلاکچین اتریوم است، از یک الگوریتم گواه اثبات اعتبار به نام الگوریتم Aura یا Authority استفاده میکند.
- کلیک (Clique): دومین اجرای این الگوریتم، در کلاینت Geth (که کلاینتی مبتنی بر اتریوم و نوشته شده با زبان GoLang است) به نام کلیک (Clique) اجرا شده است.
- POA Network: معروفترین شبکهای که از مکانیزم PoA استفاده میکند، PoA Network است؛ یک شبکه عمومی برای قراردادهای هوشمند که بهعنوان یک زنجیره جانبی اتریوم کار میکند.
- شبکه Vechain: یکی دیگر از شبکههایی که از این مکانیزم استفاده میکند، Vechain است. در واقع این شبکه، یک بلاکچین عمومی در سطح شرکتهای بزرگ است که اطلاعات مدیریت کسب و کار را به صورت شفاف ارائه میدهد. تخصص این شبکه، مدیریت زنجیرههای تامین و لجستیک است.
سخن پایانی
الگوریتمهای اجماع در شبکههای بلاکچینی، اهداف متفاوتی دارند و هر یک برای موارد مختلفی به کار میروند. در این مقاله، درباره الگوریتم گواه اثبات اعتبار و کاربردهای آن در بلاکچین صحبت کردیم.
این الگوریتم اکثرا در بلاکچینهای خصوصی کاربرد دارد. از ویژگیهای آن میتوان به دشوار بودن فرآیند انتخاب ولیدیتورها و شفاف بودن اطلاعات ولیدیتورها برای عموم اشاره کرد.
اگر شما هم تجربه استفاده از پلتفرمها یا بلاکچینهای مبتنی بر این الگوریتم را دارید، تجربیات خود را با ما درمیان بگذارید.
قصد خرید یا فروش ارز دیجیتال در ایران را دارید؟ در این سایت میتوانید با اطمینان و با چند کلیک خرید کنید:
نام | ویژگیها | امتیاز | لینک ثبتنام |
---|---|---|---|
نوبیتکس |
| ||
صرافی خارجی MEXC |
|