از سال ۲۰۰۹ که بیت کوین ظاهر شد، حوزه کریپتو تغییرات زیادی کرده است. درحالیکه الگوریتم proof of work اولین مکانیزم اجماع مورداستفاده در بلاک چین بود، با تکامل این فناوری، مکانیسمهای اجماع نوآورانهتری برای افزودن ویژگیهای مختلف بلاک چین وارد عمل شدهاند. PoA (مخفف Proof of Authority) یا اثبات اعتبار یکی از همین الگوریتمهای جدید است که در بلاک چین استفاده میشود. آیا میدانید الگوریتم PoA چیست؟
در این مطلب با ما همراه باشید تا الگوریتم اثبات اعتبار و عملکرد آن را بهصورت جامع به شما معرفی کنیم.
الگوریتم PoA یا اثبات اعتبار چیست؟
در حالت کلی، الگوریتمهای اجماع را میتوان به دو دسته بدون مجوز (بیت کوین و اتریوم) و مجاز (آلفا، اتریوم خصوصی) تقسیم کرد. در یک بلاک چین مجاز، همه گرهها از قبل احراز هویت میشوند. این مزیت امکان استفاده از انواع اجماع را فراهم میکند که منجر به ارائه مزایای زیادی از جمله نرخ تراکنش بالا میشود. الگوریتم PoA یکی از همین نوع اجماع است.
PoA الگوریتم اجماعی مبتنی بر اعتبار است که راهحلی عملی و کارآمد برای بلاک چینها (بهویژه بلاکچینهای خصوصی) ارائه میدهد. در این الگوریتم، شرکتکنندگان هویت و اعتبار خود را بهجای توکنها، به اشتراک میگذارند. این اصطلاح توسط بنیانگذار اتریوم و متخصص فنی سابق گاوین وود (Gavin Wood) در سال ۲۰۱۷ ابداع شد.
درواقع، الگوریتم Proof of Authority یک خانواده جدید از الگوریتمهای اجماع است که عملکرد بالا و تحمل خطای بیشتر را ارائه میکند. در PoA، حق تولید بلوکهای جدید به گرههایی اعطا میشود که صلاحیت و اعتبار خود را برای انجام این کار ثابت کرده باشند. جهت بهدستآوردن این قدرت و حق تولید، هر گره باید احراز هویت اولیهای را انجام دهد.
تاریخچه الگوریتم اثبات اعتبار
تاریخچه ایجاد و استفاده از الگوریتم گواه اثبات اعتبار (الگوریتم POA) به سال ۲۰۱۷ برمیگردد. این مکانیزم توسط گوین وود «Gavin Wood» معرفی شد. گوین وود سابقه همکاری اصلی در پروژه اتریوم را در کارنامه خود دارد و همچنین خالق پروژه رمزارزی پولکادات «Polkadot» است. وود زمانی به فکر ایجاد این الگوریتم افتاد که در ۲۴ فوریه سال ۲۰۱۷، شبکه آزمایشی راپستن «Ropsten» اتریوم مورد حمله خودداری از خدمات «Denial of Service» یا اختصاراً حمله داس «DOS» قرار گرفت. راپستن یک شبکه عمومی برای توسعهدهندگان بلاکچین اتریوم بود که قبل از اجرای قراردادهای هوشمند روی شبکه اصلی اتریوم، آنها را در این شبکه تست میکردند. با مورد حمله قرار گرفتن این شبکه آزمایشی، یک تست جدید تحت عنوان «Kovan» برای این شبکه انجام شد که از الگوریتم اثبات اعتبار بهره میگیرد.
اگرچه «PoA» صرفاً برای جلوگیری از حملات داس مورد استفاده قرار گرفت، اما بعدها به دلیل قابلیتهای بسیاری که داشت، توانست استفادههای بیشتری را برای خود تثبیت کند!
مقایسه PoA با Proof of Work و Proof of Stake
الگوریتم اثبات کار (PoW یا همان Proof of Work) که توسط بیت کوین استفاده میشود، مطمئنترین الگوریتم موجود امروزی است. بااینحال، این الگوریتم اصلاً مقیاسپذیر نیست.
بیت کوین و سایر بلاک چینهای مبتنی بر الگوریتم POW از نظر تعداد تراکنش در ثانیه (TPS) عملکرد محدودی دارند. چنین محدودیتی این واقعیت را آشکار میکند که بیت کوین به یک شبکه توزیعشده از گرههایی متکی است که باید به اجماع و توافق بر سر وضعیت فعلی بلاک چین برسند. این بدان معناست که قبل از تأیید یک بلوک جدید از تراکنشها، باید توسط اکثر گرههای شبکه تأیید شوند.
باتوجهبه میزان تراکنش در هر ثانیه، بلاک چینهای اثبات سهام (Proof of Stake یا PoS) معمولاً عملکرد بهتری نسبت به الگوریتم اثبات کار دارند؛ بااینحال، هنوز مشکل مقیاسپذیری را برطرف نکردهاند.
الگوریتم PoA بهعنوان جایگزینی کارآمدتر در این زمینه پیادهسازی شده است. این الگوریتم میتواند تراکنشهای بسیار بیشتری را در هر ثانیه انجام دهد. در واقع، این الگوریتم توانسته تا حدودی مشکل مقیاسپذیری را برطرف کند.
الگوریتم اثبات اعتبار چگونه کار میکند؟
در بیان عملکرد الگوریتم اثبات اعتبار میتوان به ویژگیهای این مکانیسم نیز پی برد؛ بنابراین شیوه عملکرد و ویژگیهای آن به این صورت است:
- الگوریتم گواه اثبات اعتبار بهجای سپردهگذاری کوینها یا توکنها از اعتبار افراد برای تأیید کردن تراکنشها و ساخت بلاکهای جدید در شبکه استفاده میکند.
- در الگوریتم POA، حقوق تولید بلوکهای جدید به گرههایی اعطا میشود که صلاحیت خود برای انجام این کار را ثابت کردهاند. برای به دست آوردن این قدرت و حق تولید بلوکهای جدید، یک گره باید یک احراز هویت اولیه را انجام دهد.
- در POA، در ابتدا اعتبارسنجهای شبکه که به آنها ولیدیتور «Validator» گفته میشود، بهصورت تصادفی، طی یک فرآیند دشوار انتخاب میشوند؛ سپس توسط سایر نودهایی که از قبل در شبکه بهعنوان اعتبارسنج فعالیت میکردند، نودهای جدید مورد رأیگیری و تأیید قرار میگیرند. این فعالیت، از دسترسی نودهای بدکار که ممکن است عملکرد سیستم را با مشکل مواجه کنند، جلوگیری میکند!
- روشی که برای انتخاب ولیدیتور در الگوریتم اثبات سهام بهکار میرود، برای تمامی داوطلبان این شبکه یکسان است. یعنی این انتخاب کاملاً منصفانه صورت میگیرد.
- الگوریتم اثبات اعتبار نوعی مکانیسم توافقی است که برای شرکتها یا سازمانهای خصوصی که میخواهند زنجیرههای خود را بسازند، کاربرد دارد. این نهادها، ماهیت بسته هستند و نیازی به مشارکت کاربران عمومی ندارند؛ بنابراین این الگوریتم برای آنها بسیار مناسب است.
شرایط اجماع Proof of Authority
اگرچه شرایط اجماع از سیستمی به سیستم دیگر متفاوت است، اما کاربر برای انتخاب سیستمی بهعنوان اعتبارسنج، باید سه شرط اساسی را برآورده کند:
- اعتبارسنج باید قابلاعتماد، دارای معیارهای اخلاقی خوب و بدون هیچگونه سابقه کیفری باشد.
- هویت یک اعتبارسنج باید به طور رسمی با قابلیت بررسی متقابل اطلاعات در دامنه عمومی، در شبکه تأیید شود.
- هر نامزد اعتبارسنج باید مایل به سرمایهگذاری پول و گروگذاشتن شهرت و اعتبار خود باشد. یک فرایند دقیق، امکان انتخاب اعتباردهندههای مشکوک را کاهش داده و یک تعهد بلندمدت را ایجاد میکند.
این شرایط باعث میشود تا نامزدهای ضعیف حذف شوند. همچنین تضمین میکند که همه اعتبارسنجها از یک روش پیروی کرده و سیستمی قابلاطمینان و یکپارچه ایجاد میکنند.
بیایید برای درک بهتر، مثالی از مکانیسم رتبهبندی شهرت در eBay (EBAY) بزنیم. در ابتدا، همه فروشندگان تابع قوانین پلتفرم و بازخورد خریداران هستند.
فروشندهای که امتیاز بازخورد ۱۰۰% مثبت را دارد، به این معنی است که اعتماد خریداران را به دست آورده است. این موضوع باعث میشود تا میزان اعتماد و شهرت eBay نیز افزایش یابد. در مقابل، فروشندگانی که رتبهبندی بازخورد پایینی دارند، هشدارهایی را دریافت میکنند. چنانچه تعداد دفعات دریافت امتیاز بازخورد پایین و تعداد هشدارهای آنها بیشتر شود، از eBay حذف میشوند تا فروشندگانی که بازخورد مثبت بالایی دارند، به فروش در پلتفرم خود ادامه دهند.
این داستان در اجماع و الگوریتم PoA هم صدق میکند. همانطور که شهرت در eBay حیاتی است، شهرت برای تأیید در PoA لازم و ضروری است. کاربرانی که به دلیل الگوریتم PoA، حق اعتبارسنجی را دریافت میکنند، انگیزهای برای بالا نگهداشتن رتبه خود دارند. در واقع، اعتبارسنجها انگیزه بالایی برای حفظ فرایند تراکنش باثبات داشته و سعی در جلوگیری از لکهدار شدن شهرت خود دارند.
مزایا و معایب الگوریتم Proof of Authority
الگوریتم اثبات اعتبار دارای مزایا و معایبی است که در زیر آنها را به شما بیان میکنیم:
مزایا |
معایب |
استفاده از PoA امکان حمله را از بین میبرد؛ زیرا اعتبارسنجیها در مرحله اخذ مجوز بررسی شده و قابلاعتماد هستند. |
با استفاده از الگوریتم PoA، غیرمتمرکزسازی امکانپذیر نیست؛ زیرا حلقه محدودی از افراد میتوانند در اعتبارسنجی بلوک شرکت کنند. |
راهحلی بهینه و کممصرف در مقایسه با سایر مکانیسمهای اجماع است، زیرا امکان ماینینگ یا استخراج شبکه PoA وجود ندارد. |
اگرچه PoA را میتوان در بلاک چینهای عمومی هم استفاده کرد، اما معمولاً در بلاک چینهای خصوصی که نیاز به مجوز دارند، استفاده میشود. |
سرعت بالایی در پردازش تراکنشها دارد. |
شهرت همیشه نمیتواند شرکتکنندگان را از اقدامات مخرب باز دارد. اگر پاداش تقلب ارزشمندتر از اعتبار باشد، شرکتکننده میتواند به سیستم آسیب بزند. |
ایجاد بلوک جدید در این الگوریتم ۵ ثانیه طول میکشد. مقیاسپذیری شبکه میتواند بهصورت افقی رخداده و چندین شبکه را با هم ادغام کند. |
همه به هویت اعتبارسنجهای PoA دسترسی دارند. افشای هویت اعتباردهندهها ممکن است زمینه را برای دستکاری سیستم توسط اشخاص ثالث، فراهم کند. |
گفتار پایانی
همانطور که در این مطلب نیز به آن اشاره شد، هیچ مکانیسم اجماعی ایدئال نیست. هر یک از موارد موجود دارای مزایا و معایبی است. الگوریتمهای PoW و PoS فاقد مقیاسپذیری هستند. بهخاطر همین الگوریتم PoA به وجود آمد تا این مشکل را برطرف کند، اما این الگوریتم نیز دارای معایبی است که در این مطلب به آنها اشاره کردیم. بااینحال، PoA فناوری فوقالعادهای است و نمیتوان آن را بهعنوان راهحل در حال ظهور بلاک چین نادیده گرفت. این فناوری گزینهای مناسب برای کارآمدتر و ایمنتر کردن شبکههای متمرکز است.
به نظر شما کدام یک از الگوریتمهای اجماع بهتر هستند؟ آیا باید انتظار داشت که الگوریتم اجماع کامل و بدون نقصی ایجاد شده و شبکههای بلاک چین را از سایر الگوریتمها بینیاز کند؟ نظرات خود را با ما در میان بگذارید.
سؤالات متداول
- کدام بلاک چینها از الگوریتم PoA استفاده میکنند؟
بلاک چینهای Vechain، Ethereum Express، PoA network و Microsoft Azure از الگوریتم Proof of Authority استفاده میکنند.
- آیا PoA بهتر از PoW و PoS است؟
هر اجماع، هدف یا نیاز خاصی را برای هر گروه از بومیان کریپتو تأمین میکند؛ پس نمیتوان هیچ الگوریتمی را بهترین دانست. بااینحال، الگوریتم PoA از لحاظ تعداد تراکش در هر ثانیه بسیار بهتر عمل میکند.
- آیا زنجیره BNB از PoA استفاده میکند؟
زنجیره BNB از اجماع Proof of Staked Authority استفاده میکند که ترکیبی از Proof of Authority و Delegated Proof of Staked است.