الگوریتم اثبات تاریخ چیست؟ نحوه عملکرد این الگوریتم چگونه است؟ کدام شبکههای بلاک چین از این الگوریتم استفاده میکنند؟ الگوریتم اجماع اثبات تاریخ یا proof of history برای سبک کردن نودهای شبکه استفاده میشود و به کمک کدگذاری زمان در بلاکها، میزان پردازش نودها را کم میکند.
مکانیزم اثبات تاریخ در بلاک چین سولانا به کار رفته است و برای رسیدن به اجماع بین کاربران و نودها استفاده میشود. الگوریتم اثبات تاریخ یا PoH به تنهایی یک مکانیزم اجماع نیست و تنها یک مکانیزمی برای تسریع اجماع گواه اثبات در شبکه بلاک چینی میباشد. به کمک الگوریتم اثبات تاریخچه، سرعت پردازش تراکنشها در شبکه سولانا به شدت افزایش یافته است. در این مقاله قصد داریم تا ابتدا با فلسفه الگوریتم اثبات تاریخ آشنا شده و سپس به بررسی عملکرد و مزایا و معایب این الگوریتم بپردازیم.
الگوریتم اجماع در بلاک چین چیست؟
پیش از آنکه به معرفی و بررسی الگوریتم اثبات تاریخ بپردازیم، باید ابتدا نحوه عملکرد الگوریتم های اجماع را در بلاک چین بدانیم. به صورت کلی شبکه بلاک چین یک دفتر کل توزیع شده است که برای ذخیره اطلاعات و دادهها به صورت عمومی و خصوصی استفاده میشود. رمز ارزها و شبکههای بلاک چین از یک الگوریتم اجماع برای امنیت و نظم شبکه خود استفاده میکنند. هر شبکه بلاک چینی از چندین نود یا گره تشکیل شده است و هرکدام هویتی منحصر به فرد دارند.
نودها یا گرهها در شبکه بلاک چین دو نقش مهم دارند؛ اولی دریافت و ارسال کردن درخواست کاربران شبکه و دومی اعتبارسنجی و تایید درخواستهای کاربران که در قالب یک تراکنش انجام میشود. اگر هر نود یا گره بخواهد رفتاری منحصر به فرد و دلخواه داشته باشد، شبکه بلاک چین از نظم خارج شده و هرج و مرج ایجاد میشود و هکرها و اسپمها به سادگی میتوانند در شبکه خرابکاری ایجاد کنند. به همین دلیل باید الگوریتم یا مکانیزمی با چارچوب مشخص در شبکه ایجاد شود که نودها یا گره در درست یا غلط بودن یک تراکنش به توافق برسند و دیگر برحسب رفتار دلخواه خود عمل نکنند.
این الگوریتمها در دنیای بلاک چین، الگوریتم اجماع یا Consensus Algorithm نام دارند. تمامی شبکههای بلاک چینی دارای یک الگوریتم اجماع مشخص هستند و تنها نحوه اجرای آن الگوریتم در برخی از شبکهها متفاوت است.

به عنوان مثال کاربری قصد دارد در یک شبکه بلاک چینی، مالکیت آدرسی از شبکه را دریافت کند. این کاربر با ارسال درخواست خود توسط والت خود، منتظر دریافت مقدار آدرس مورد نظر خود میشود. نودها یا گرهها ابتدا درخواست یا دریافت میکنند و سپس باید اعتبارسنجی درخواست را انجام دهند. نحوه اعتبارسنجی و تایید آن توسط الگوریتم اجماع بین تمامی نودها یکسان است و از یک الگوریتم پیروی میشود.
نودها با تایید درخواست کاربر، تراکنش کاربر را انجام و آن را تایید میکنند و بدین ترتیب مقدار آدرس درخواست شده یا دارایی درخواست شده کاربر به والت آن واریز میشود. دریافت اطلاعات و اعتبارسنجی آن در شبکه بلاک چین فرآیندی بسیار پیچیده و زمان بر است. در واقع یکی از مشکلات اصلی تکنولوژی بلاک چین، بحث زمان بر بودن تایید تراکنشها است و توسعه دهندگان بلاک چین در تلاشاند تا با اجرای مکانیزمهای بهتر و راحتتر در بلاک چین، مقیاس پذیری شبکه را افزایش دهند.
اولین مکانیزم اجماع طراحی شده در دنیای بلاک چین، اثبات کار یا proof of work است که بر روی بیت کوین اجرا میشود. گرچه این الگوریتم ایرادات بسیار بزرگی دارد اما گامی مهم برای پیشرفت الگوریتمهای اجماع میباشد.
الگوریتم اثبات کار، اولین الگوریتم اجماع دنیای بلاک چین
الگوریتم اثبات کار یا proof of work اولین مکانیزم اجماعی است که در شبکههای بلاک چین مورد استفاده قرار گرفت و اولین بار بیت کوین برای الگوریتم اجماع شبکه خود، از این الگوریتم استفاده کرد. الگوریتم اثبات کار بدین صورت است که کاربران برای پردازش شبکه و تایید تراکنشها، سیستمهای پردازشی خود را به شبکه متصل میکنند.
این کاربران که به ماینرها معروفاند، برای تایید تراکنش با یکدیگر رقابت میکنند و تلاش میکنند تا معادلات پیچیده ریاضیات را حل کرده و در ازای آن از شبکه پاداش دریافت کنند. حل کردن معادلات ریاضیات بلاک چین با بزرگ شدن شبکه، پیچیدهتر میشود و نیازمند ابزارهای بیشتر با پردازشگرهای قدرتمندتر است. در واقع شبکه بلاک چینی که از الگوریتم اثبات کار استفاده میکند؛ در ابتدا مشکلی در پردازش اطلاعات ندارد، اما رفته رفته بعد از افزایش ماینرها و پیچیده شدن شبکه، سرعت شبکه کاهش یافته و پردازش آن دشوار میشود و همچنین ماینرها برای پردازش و رقابت با سایر ماینرها، به تجهیزات بیشتری احتیاج دارند.
بنابراین فرآیند ماینینگ و الگوریتم proof of work فرآیندی دشوار و پرهزینه است و همچنین باعث مصرف زیاد انرژی میشود. مشکلات گفته شده، زمینه ساز راه حلی جایگزین برای این الگوریتم شد. در حال حاضر الگوریتم اثبات سهام یا proof of stake در بیشتر شبکههای بلاک چینی، جایگزین الگوریتم اثبات کار شده است.
اتریوم، دومین رمز ارز بزرگ بازار کریپتوکارنسی، با تغییر الگوریتم اجماع خود از اثبات کار به الگوریتم اثبات سهام، توانست مقیاس پذیری بسیار خوبی در شبکه خود ایجاد کند. افزایش مقیاس پذیری در اتریوم، میزان سرمایهگذاری در این شبکه را افزایش داد. برخی از شبکههای بلاک چینی نظیر سولانا، برای بهبود الگوریتم اثبات سهام از الگوریتمهای دیگری نظیر اثبات تاریخ استفاده کردند که باعث ایجاد مقیاس پذیری بیشتری در شبکه شد.

الگوریتم اثبات تاریخ چیست؟
الگوریتم اثبات تاریخ یا proof of history همانند یک ساعت در شبکه بلاک چین عمل میکند. در این الگوریتم تمامی تراکنشهای شبکه دارای یک مهر دیجیتالی به صورت هش است که زمان اجرای تراکنش را نشان میدهد. به کمک این الگوریتم، زمان پردازش تراکنش هر نود مشخص میشود. در واقع تمامی نودهای شبکه میتوانند درخواستهای بقیه نودها را به وسیله زمان مشاهده کنند و دیگر درگیر تراکنشهای قدیمی نشده و تراکنشهای جدیدی را که نود یا گرهای به سراغ پردازش آن نرفته است را پردازش و تایید کنند.
به بیان دیگر، الگوریتم اجماع اثبات تاریخ با مکانیزمی ساده و هوشمند، دادههای شبکه را منظم و یکپارچه میکند و نودها میتوانند ترتیب و درجه هر تراکنش را تشخیص دهند. به کمک الگوریتم اثبات تاریخچه فرآیند فورک راحتتر در شبکه اتفاق میافتد و نودها با شناخت درجه و ترتیب تراکنشها، میتوانند به سرعت بلاکهای جدید را تولید کنند.
شبکه سولانا به کمک ترکیب الگوریتم اثبات سهام (proof of stake) با اثبات تاریخ (proof of history) توانسته است مقیاس پذیری بسیار بالایی در شبکه خود ایجاد کند و احتمال خطای بیزانس در شبکه را تا حد زیادی کاهش دهد. خطای بیزانس هنگامی در شبکه رخ میدهد که تعدادی از کاربران موجود در اکوسیستم شبکه، با انجام یک تراکنش یا عملیات در شبکه موافقت نکنند و باعث اخلال در شبکه شوند.

الگوریتم اجماع اثبات تاریخ به وسیله آناتولی یاکوونکو (Anatoly Yakovenko) طراحی و ساخته شد. آناتولی یاکوونکو یکی از بنیانگذاران اصلی پروژه سولانا است. وی یک مهندس کامپیوتر میباشد که قبل از ورود به پروژه سولانا، به مدیریت تیم توسعه در شرکت Qualcomm مشغول فعالیت بود. به کمک الگوریتم PoH که توسط این مهندس طراحی شده، مقیاس پذیری شبکه سولانا به شدت افزایش پیدا کرد و باعث افزایش سرمایهگذاری کاربران بر روی این پروژه شد.

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

در حال حاضر شبکه بلاک چین سولانا (SOLANA) از الگوریتم اثبات تاریخچه و اثبات سهام استفاده میکند. تمامی تراکنشها و رویدادها در شبکه سولانا به وسیله تابع هش SHA256 رمزنگاری میشود. این تابع هش دارای یک ورودی و خروجی است. هنگامی که داده وارد ورودی این تابع میشود، خروجی منحصر به فرد و مخصوصی توسط این تابع ایجاد میشود.
دوباره سازی یا پیش بینی خروجی تابع هش SHA256 بسیار دشوار و تقریبا غیرممکن است. بعد از ایجاد خروجی منحصر به فرد توسط تابع هش، خروجی ساخته شده به عنوان ورودی هش بعدی مورد استفاده قرار میگیرد و بدین ترتیب زنجیره تراکنشهای شبکه درست میشود. این فرآیند که در واقع هشینگ شبکه نام دارد، با سرعت بالایی زنجیرههایی طولانی و پیوسته از تراکنشهای هش شده را تشکیل میدهند.
هرکدام از تراکنشهای داخل این زنجیرهها قابلیت بازبینی دارند و بعد از بررسی اعتبارسنجها در بلاک قرار میگیرند. فرآیند هشینگ هر تراکنش یک بازه زمانی مشخصی دارد که نودهای اعتبارسنج میتوانند میزان زمان هشینگ هر تراکنش را نیز بررسی کنند. این موارد به کمک الگوریتم proof of history در شبکه انجام میشود که علاوه بر افزایش امنیت شبکه، سرعت آن را بهبود میبخشد.

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

مزایا و معایب الگوریتم اثبات تاریخ (PoH)
مکانیزم الگوریتم اثبات تاریخ همانند سایر الگوریتمها، دارای ویژگیهای مثبت و منفی میباشد. این ویژگیها به صورت خلاصه شامل موارد زیر است:
مزایا
1. سرعت تراکنشهای شبکه به طور چشمگیری افزایش مییابد.
الگوریتم اثبات تاریخ باعث افزایش سرعت شبکه میشود و تراکنشها شبکه با سرعت بسیار خوبی پردازش و تایید میشوند. در حال حاضر سولانا یکی از بهترین شبکههای بلاک چینی از نظر مقیاس پذیری است؛ به طوری که اگر سرعت این شبکه را با اتریوم 2.0 مقایسه کنیم خواهیم دید که میانگین زمان اعتبارسنجی نودهای شبکه اتریوم بین 12 تا 15 ثانیه است، در حالی که این مقدار در شبکه سولانا به 800 میلی ثانیه میرسد.
این عدد تنها به لطف الگوریتم اثبات تاریخ به دست آمده و باعث انجام 50.000 تراکنش در ثانیه میشود. در حال حاضر هیچ شبکه بلاک چینی توانایی انجام تراکنشها با این سرعت را ندارد و سولانا یکی از مقیاس پذیرترین شبکههای بلاک چینی محسوب میشود.
2. هزینه کامزدهای شبکه به شدت کاهش مییابد.
به کمک الگوریتم اثبات تاریخ میزان کارمزد شبکه یا گس فی در شبکه سولانا ثابت بوده و حدود 0.0005 SOL میباشد. هزینه پایین شبکه سولانا باعث جذب کاربران به این شبکه میشود تا علاوه بر سرمایهگذاری بر روی این پروژه، از خدمات این شبکه استفاده کنند. موفقیت شبکه سولانا به گونهای بوده است که توسعه دهندگان زیادی تمایل دارند تا برای ساخت پروژههای NFT (توکنهای غیرمثلی) و DeFi (امور مالی غیر متمرکز) در بستر این شبکه فعالیت کنند.

معایب
1. نودها برای پردازش نیازمند دستگاههای مجهز هستند.
شبکههای بلاک چینی که از الگوریتم اثبات تاریخ استفاده میکنند، مقیاس پذیری و سرعت بالایی دارند؛ اما در مقابل دارای معایبی نیز هستند. یکی از مهمترین معایب این بلاک چینها، ایجاد نیاز به دستگاههای پردازش مجهز برای نودها یا گرههای شبکه است. اگر کاربری بخواهد به عنوان یک نود در شبکه سولانا فعالیت کند، باید حداقل سخت افزار مورد نیاز را برای خود تهیه کند. در صورتی که نود شبکه سخت افزار مناسبی برای پردازش تراکنشها نداشته باشد، نمیتواند با سایر نودها رقابت کند.
این موضوع روی بحث تمرکززدایی شبکه بلاک چین تاثیر میگذارد؛ زیرا کاربری که توانایی خرید سخت افزار مناسب را نداشته باشد، نمیتواند از پاداش شبکه استفاده کند. این نکته یکی از بزرگترین ضعفهای الگوریتم اثبات تاریخ است. الگوریتم اثبات سهام یا proof of stake دقیقا با این هدف طراحی شد که تمامی کاربران بدون نیاز به تهیه سخت افزارهای مجهز، تنها با خرید توکن یا رمز ارز مشخصی، در پردازش شبکه سهیم باشند و دیگر نیازی به سخت افزار نداشته باشند. با حضور الگوریتم اثبات تاریخ در کنار الگوریتم اثبات سهام، بار دیگر این نیاز برای کاربران شبکه ایجاد میشود که یک نکته منفی برای الگوریتم اثبات تاریخچه به حساب میآید.
2. حجم اطلاعات شبکه بلاک چین به شدت زیاد و سنگین میشود.
همانطور که اشاره شد، اثبات تاریخچه باعث افزایش سرعت تراکنشها در شبکه بلاک چین میشود. سرعت بالای تراکنشها در شبکه بلاک چین علاوه بر ایجاد مقیاس پذیری مناسب، مشکلاتی را به همراه دارد. سرعت بالای تراکنشهای شبکه سولانا باعث ایجاد حجم زیادی از اطلاعات در شبکه میشود.
فرض کنید که هر تراکنش به مقدار 200 کیلوبایت حجم داشته باشد، اگر در هر ثانیه 50.000 تراکنش در شبکه انجام شود، تنها در طول یک سال حدود 30 پتا بایت یا 30 میلیون گیگا بایت داده یا اطلاعات در شبکه بلاک چین سولانا ذخیره میشود. نگهداری این حجم از اطلاعات برای شرکتهای بزرگ و کاربران شبکه بسیار مشکل است و آنها نمیتوانند فضای ذخیره سازی مناسب برای ذخیره این اطلاعات را فراهم کنند. بنابراین اجرای 50.000 تراکنش در ثانیه در شبکه سولانا بسیار جذاب است و کاربران زیادی میتوانند به سادگی تراکنشهای خود را اجرا کنند، اما ابتدا باید برای ایجاد فضای ذخیره سازی اطلاعات این شبکه راهکاری ارائه شود.
3. افزایش تعداد تراکنشها موجب اختلال در شبکه بلاک چین میشود.
سرعت بالای تراکنشها و کارمزد پایین سولانا باعث جذابیت این شبکه بلاک چینی شده است و بسیاری از تریدرها در این شبکه فعالیت میکنند. برخی از تریدرها به دلیل جذابیت شبکه سولانا، با استفاده از راه اندازی رباتهای معاملاتی به خرید و فروش توکنهای NFT مشغول میشوند. برخی از این رباتهای معاملاتی به قصد خرابکاری به شبکه سولانا حمله میکنند و باعث قطعی و خاموشی این شبکه میشوند.
یکی از خاموشیهای شبکه سولانا بدین صورت بود که رباتهای معاملاتی در هر ثانیه تعداد 4 میلیون درخواست انجام تراکنش در بلاک چین سولانا ثبت کردند که باعث اختلال در این شبکه شد. تیم توسعه شبکه سولانا در تلاشاند تا با ایجاد مکانیزمی مشخص، هزینه کارمزدهای شبکه را بسته به میزان ازدحام شبکه افزایش دهند تا این مشکل را برطرف کنند.

سخن پایانی
الگوریتم اثبات زمان یا proof of history به منظور تسریع پردازش تراکنشها در بلاک چین طراحی شد و در شبکه سولانا اجرا شد. به کمک این الگوریتم، زمان پردازش تراکنشهای شبکه مشخص میشود و اعتبارسنجهای یک شبکه با مشاهده زمان تراکنشها، به سراغ تراکنشهای جدید میروند و فرآیند تایید تراکنشها با سرعت بالاتری اجرا میشود.
علاوه بر این، با حضور برچسبهای زمانی در هر تراکنش، امنیت شبکه نیز افزایش پیدا میکند. البته این الگوریتم همانند سایر الگوریتمهای اجماع دارای معایبی میباشد. کاربران برای فعالیت در شبکه بلاک چینی همچون سولانا باید دستگاههای مجهزی تهیه کنند؛ همچنین به وسیله این الگوریتم حجم اطلاعات شبکه بسیار زیاد میشود و باید فضای ذخیره سازی مناسبی برای آن فراهم گردد.
در حال حاضر تیم توسعه سولانا در تلاش است تا ایرادات این الگوریتم را برطرف نماید. در حال حاضر قیمت سولانا از منظر تحلیل تکنیکال در ناحیه حمایتی قرار دارد. اگر تیم توسعه سولانا بتواند به خوبی معایب این شبکه را برطرف کند، قیمت سولانا در سال 2023 میتواند با رشد خوبی همراه شود. در این مقاله تلاش کردیم تا به مفهوم الگوریتم اثبات تاریخ، تاثیر آن بر شبکه سولانا و مزایا و معایب آن آشنا شویم.
فقط بلاک چین سولانا از الگوریتم اثبات تاریخ استفاده میکنه؟؟
در حال حاضر بله
میشه بگین در الگوریتم اثبات تاریخ وظیفه نودها چیه؟