شناخت الگوریتم های بلاکچین
بازار مالی ارزهای دیجیتال یکی از مهمترین و پرسودترین بازارهای مالی برای کاربران است، شناخت الگوریتم های بلاکچین می تواند به کاربران بازار رمز ارزها برای شناخت بیشتر بستر بلاکچین و همچنین به استراتژی های معاملاتی فرد کمک کند، بزرگ ترین ویژگی بلاکچین امنیت و غیرمتمرکز بودن این بستر است، مفهوم غیرمتمرکز بودن (decentralized) در دنیای کامپیوتر به زبان ساده به این معناست که هر نوع اطلاعات در یک سرور مرکزی ذخیره و پردازش نخواهد شد؛ چراکه تمامی اطلاعات آنها در چندین کامپیوتر ذخیره و نگهداری می شود، به معنی دیگر یعنی هر کامپیوتر می تواند یک سرور باشد. لازم به ذکر است که به این سرورهای ذخیره اطلاعات، گره یا نود (Node) می گویند.
الگوریتم اجماع
الگوریتم اجماع روشی است که مشارکتکنندگان در یک شبکه غیرمتمرکز بر اساس آن با یکدیگر توافق میکنند و بر سر تراکنش ها و بلاک ها به اجماع واحد می رسند.
برای درک بهتره الگویتم اجماع به مثال زیر توجه کنید:
هنگامی که شما برای شخصی دیگر در بانک تراکنش انجام می دهید، سیستم بانکی با استفاده از سرویس ها و سرورهایی که به آنها اعتماد دارد و خودش راه اندازی کرده است، تراکنش شما را تائید می کند، که در اینجا نیاز به اثبات سهام یا اثبات کار نیست.
اما لازم به ذکر است که در شبکه غیرمتمرکز بلاکچینی مانند ارز دیجیتال بیت کوین همه می توانند در کنترل شبکه سهیم باشند، به معنی ساده یعنی همه افراد مالک شبکه هستند، اما مشکل سرقت در این شبکه چگونه حل می شود؟ راه حل این مسئله الگوریتم اجماع است، این الگوریتم شامل قوانین و شرایطی است که با آن مشارکت کنندگان می توانند از صحت کار در شبکه اطمینان حاصل کنند.
برای مثال الگوریتم اجماع بیت کوین از نوع اثبات کار است، طبق این الگوریتم که همان قانون شبکه است، هر شخصی که بخواهد در کار تولید بلاک شرکت کند، باید با پرداخت بهایی (قدرت پردازش و مصرف برق) درستی کار خود را اثبات کند و در کنار سایر ماینرها برای کسب پاداش رقابت کند. به این ترتیب اگر کسی بخواهد فعالیت مخربی روی شبکه بیت کوین انجام دهد، مجبور است قدرت پردازشی بیش از افراد درستکار (تمام ماینر های دیگر) فراهم آورد که به هیچ عنوان توجیه اقتصادی ندارد و منطقی نیست.
اثبات کار در الگوریتم های بلاکچین
اثبات کار POW – (Proof Of Work) به عنوان یکی از الگوریتم های بلاکچین، روشی برای تائید تراکنش ها در شبکه های غیرمتمرکز است که به آن استخراج یا ماینینگ می گویند، شیوه کاری اثبات سهام در بلاکچین به این صورت است که داوطلب ها می توانند قدرت پردازشی سخت افزار کامپیوتر خود را به یک رمز ارز از بازار مالی کریپتوکارنسی (cryptocurrency)، مثل بیت کوین اختصاص بدهد و با کمک به تائید تراکنش ها از شبکه پاداش دریافت کنند.
اثبات سهام چیست و مهم ترین ارزهای دیجیتال برای استیکینگ
اثبات سهام (Proof Of Stake) یا POS یک روش جایگزین برای تائید تراکنش ها در شبکه های غیرمتمرکز است، اثبات سهام به سخت افزار و مصرف برق نیازی ندارد؛ نحوه کارکرد آن به این صورت است: افرادی که بخواهند در کار تائید تراکنش ها شرکت کنند، باید ارز دیجیتال آن شبکه را خریداری کنند و در کیف پول خود به شبکه اختصاص دهند، به زبان ساده تر یعنی به نوعی سهام گذاری کنند. نتیجه سهامی که این افراد در اختیار این شبکه قرار می دهند، افزایش ارزهای دیجیتال مورد نظر خود است.
در مدل اثبات سهام، افرادی که مایل باشند در کار تأیید تراکنشها و ایجاد بلاک شرکت کنند، میتوانند ارز دیجیتال اصلی شبکه را بخرند و آن را بهعنوان وثیقه به شبکه اختصاص دهند. شبکه هم نسبت به میزان دارایی و مدت زمان قفلماندن داراییها، با همان ارز دیجیتال به اعتبارسنجها پاداش میدهد.
اثبات اعتبار در الگوریتم های بلاکچین
الگوریتم اجماع (Proof of Authority – PoA) مبتنی بر اعتبار است، هدف و کارایی این الگوریتم معرفی یک راه حل علمی و کارآمد برای شبکه های بلاکچین (به ویژه شبکه های خصوصی) است، اصطلاح الگوریتم POA در سال 2017 میلادی توسط بنیانگذار ارز دیجیتال اتریوم (Ethereum) و مدیر سابق CTO گوین وود (Gavin Wood) مطرح شد.
استفاده الگوریتم اجماع POA از اعتبار نودهاست، این جمله به معنی این است که اعتبار سنج های بلاک (Validators) از دارایی خود استفاده نمی کنند بلکه اعتبار و سابقه آنها اهمیت دارد.
الگوریتم اجماع PoA ممکن است در سناریوهای مختلفی اعمال شود و برای برنامه های لجستیکی گزینه ای با ارزش بالا تلقی شود. به عنوان مثال، وقتی صحبت از زنجیره های تأمین می شود، PoA یک راه حل موثر و معقول در نظر گرفته می شود.
مکانیزم ایجاد بلاک در الگوریتم اثبات اعتبار
یک رهبر به صورت تصادفی از لیست اعتبار سنج ها انتخاب می شود. |
رهبر، بلاک را تشکیل می دهد و سپس آن را برای همه اعتبارسنج های دیگر پخش می کند. (پیشنهاد بلوک) |
اعتبار سنج ها بلاکی را که دریافت کرده اند به یکدیگر منتقل می کنند. |
اگر همه اعتبارسنج ها بلاک یکسانی را دریافت کنند، بلاک تائید می شود و روند با یک رهبر جدید مجدد تکرار می شود. |
در صورتی که رهبر جدیدی انتخاب نشود، رای گیری برای تصمیم گیری در مورد اینکه آیا رهبر قبلی مخرب بوده است یا خیر، آغاز می شود. |
اگر رهبر قبلی توسط اکثریت اعتبارسنج ها، یک بازیگر مخرب شناسایی شود، از دور خارج شده و حق ایجاد بلاک را از دست می دهد. |
اثبات مکان در الگوریتم بلاکچین
اثبات مکان (Proof of Location – PoL) یک فناوری است که مختصات مکان فیزیکی یک دستگاه را قادر می سازد تا در بلاکچین پخش شود به گونه ای که سایر دستگاه ها می توانند بدون نیاز به دستگاه پخش به داده های مکان تکیه کنند.
برنامه های وابسته به موقعیت، شامل زنجیره تامین، بیمه پارامتری، تأئید(قوانین ضد پولشویی) KYC /AML یا حتی معاملات مصرف کننده است. به عنوان مثال، یک فروشگاه آنلاین ممکن است نیاز به اثبات تحویل کالا به شما داشته باشد تا قرارداد هوشمند بتواند به طور خودکار پرداختی را از کیف پول شما آغاز کند.
ابزارهای مکان یابی جغرافیایی امروزی برای تعیین موقعیت مکانی یک دستگاه عالی هستند، اما نمی توانند خدمات تأیید موقعیت مکانی قابل اعتمادی را ارائه دهند. آنها یک جهته و رمزنگاری نشده هستند، لذا همین امر باعث می شود که برای قراردادهای هوشمند که در هنگام برآورده شدن پارامترهای فضایی باید اجرا شوند، لذا استفاده از GPS می تواند مشکل ساز شود.
اثبات اهمیت در الگوریتم های بلاکچین
یکی دیگر از الگوریتم های اجماع بلاکچین، الگوریتم اثبات اهمیت (Proof Of Importance – POI) است که اولین بار توسط NEM معرفی شد، هدف این الگوریتم، تعیین واجد شرایط بودن شبکه ها برای افزودن به بلوک جدید است.
فرآیند ایجاد بلاک در اثبات کار ماینینگ یا استخراج نام دارد. اما فرایند تایید بلاک در NEM «برداشت» یا هاروست (harvest) نامیده می شود. به کسی که عمل هاروست را انجام می دهد هاروستر (harvester) گفته می شود.
غلبه بر مشکلات الگوریتم اثبات سهام
اثبات اهمیت با در نظر گرفتن فاکتورهای زیر، می تواند بر مشکلات الگوریتم اثبات سهام غلبه کند. |
برای هاروست کردن حداقل 10 هزار کوین (Coin) را باید به شبکه اختصاص دهد. |
هرچه تعداد سکه های اختصاص داده شده به شبکه بیشتر باشد، امتیاز POI حساب نیز افزایش پیدا می کند. |
اثبات اهمیت فقط کوین هایی را حساب می کند که برای مدت مشخصی در یک حساب بوده اند. |
اثبات اهمیت به کاربرانی که با حسابهای دیگر NEM در شبکه تراکنش انجام می دهند پاداش می دهد. |
تراکنش های بزرگتر تاثیر بیشتری در نمره POI دارند. |
مزایای اثبات اهمیت عبارت اند از:
حداقل اثرات زیست محیطی (شباهت با اثبات سهام) |
به سخت افزار تخصصی نیاز ندارد. |
برداشت / استخراج هنگام خاموش بودن سیستم امکان پذیر است. |
اثبات زمان سپری شده در الگوریتم های بلاکچین
الگوریتم اثبات زمان (Proof Of Elapsed Time – POET) در سال 2016 میلادی توسط شرکت بزرگ اینتل به عنوان یک سازوکار اجماع کارآمد در درجه اول برای شبکه های بلاکچین مجاز توسعه داده شد، POET اکنون الگوی اجماعی انتخابی برای چارچوب Hyperledger است و ابزاری محبوب برای پیاده سازی و آزمایش سیستم های توزیع شده است.
اثبات زمان سپری شده (PoET) یک الگوریتم مکانیسم اجماع شبکه بلاکچین است که از استفاده زیاد منابع و مصرف زیاد انرژی جلوگیری می کند و با پیروی از یک سیستم قرعه کشی منصفانه روند را کارآمدتر نگه می دارد. POET از یک سیستم قرعه کشی پیروی می کند که شانس برنده شدن را به طور مساوی در بین شرکت کنندگان شبکه گسترش می دهد و به هر گره شانس برنده شدن یکسان را می دهد.
الگوریتم POET برای شبکه های بلاکچین مجاز است. به این معنی که هنگام تلاش برای پیوستن به شبکه، یک تأیید ویژه از یک گره مورد نیاز است. این تأیید با استفاده از فناوری Intel’s Guard Extension (SGX) اینتل که برای اولین بار در سال 2015 ارائه شد، حاصل می شود. SGX یک تأیید برای یک قطعه کد ایجاد می کند و از کد در برابر دسترسی خارجی محافظت می کند.
کارکرد اثبات زمان سپری شده در الگوریتم بلاکچین
یگ گره کد الگوریتم POET را بارگیری میکند و با استفاده از SGX یک تائید (کلید) برای کد ایجاد می کند. |
گره هنگام درخواست ورود به شبکه، این کلید را به سایر گره ها ارسال می کند؛ گره هایی که از قبل بخشی از شبکه بودند این کلید را تائید می کنند. |
گره جدید اکنون تایمر خاص خود را دارد که با مقدار تصادفی مقدار دهی اولیه می شود؛ این تصادفی بودن توسط کد ارائه شده توسط SGC تضمین می شود. |
تمام گره ها با یک زمان تصادفی مقداردهی اولیه می شوند، اولین کسی که تایمرش منقضی می شود برنده خواهد شد و می تواند یک بلوک جدید ایجاد و آن را به بلاکچین فعلی متصل کند و به این صورت پاداش خود را دریافت می کند. |
اثبات سوزاندن در الگوریتم های بلاکچین
اثبات سوزاندن Proof Of Burn (POB)، یک الگوریتم اجماع در بلاکچین است که توسط lan Stewart به عنوان جایگزینی برای POW پیشنهاد شده است، در POW، ماینر ها یا استخراج کنندهای ارزهای دیجیتال برای شرکت در فرآیند استخراج نیاز به سرمایه گذاری در ساخت یک ریگ استخراج دارند، استخراج کنندگان برای شرکت در روند استخراج، باید کوین های (Coins) خود را بسوزانند، سوزاندن کوین ها به معنی ارسال سکه به آدرسی است که کلید خصوصی برای دسترسی به آن وجود ندارد، به همین دلیل دیگر نمی توان از آن مقدار کوین استفاده کرد؛ و به اصطلاح به این روش توکن سوزی می گویند.
نحوه کارکرد الگوریتم اثبات سوزاندن
یک ماینر کوین ها (Coin) را می سوزاند تا یک دکل استخراج مجازی خریداری کند که به آن قدرت استخراج بلوک ها را می دهد. هرچه سکه های بیشتری توسط استخراج کننده سوزانده شود، “دکل” استخراج مجازی آنها نیز بزرگتر خواهد بود. به طور طبیعی، روند سوزاندن سکه ها از دسترسی به بازار می کاهد و کمبود اقتصادی ایجاد می کند و باعث افزایش بالقوه ارزش و قیمت رمز ارز مورد نظر در بازار ارزهای دیجیتال می شود. اما بیش از این، سوزاندن ارزهای دیجیتال یکی دیگر از راه های سرمایه گذاری در امنیت شبکه است.
ارتباط با حمله 51 درصدی
برای کنترل 51٪ یا بیشتر قدرت محاسباتی شبکه، باید 51٪ یا بیشتر ماینرهای مجازی را کنترل کرد. از آنجا که قدرت ریگ استخراج به مرور کاهش می یابد، یک مهاجم مجبور است به جای سوزاندن دوره ای سکه، مقدار بسیار زیادی از سکه ها را بسوزاند که این کار بسیار گران و مقرون به صرفه نیست. برای خواندن حمله 51 درصدی کلیک کنید.
اثبات ظرفیت در الگوریتم های بلاکچین
اثبات ظرفیت (Proof Of Capacity – POC) یکی دیگر از الگوریتم هاست که هدف و کاراریی آن جلوگیری از امور نامربوط و اشتباه است، برای مثال در خدمات اثبات کار می توان ارسال ایمیل، ثبت تراکنش های مالی، ذخیره سازی اطلاعات یا هر خدمات دیگری اجرا شود. اگر انجام این خدمات هزینه ای نداشته باشد یا هزینه آن به اندازه کافی ناچیز باشد، استفاده از این خدمات برای امور نامربوط و بی ارزش و یا به قصد خرابکاری (ارسال هزاران هزار هرزنامه یا ارسال درخواست های بسیار برای از بین بردن توانایی سرویس دهی یک خدمات دهنده) توجیه اقتصادی پیدا می کند، که به این مشکل nothing at stake می گویند.
برای جلوگیری از استفاده نامربوط باید هزینهای برای خدماتدهنده ایجاد کرد. در سامانههایی که بر عدم مرکزیت استوارند استفاده از تنبیههای قانونی و امید به قانون یا نهادهای متمرکز که وظیفه بازرسی و اعمال قانون را دارند ممکن نیست و سامانه باید روشی جایگزین برای ثبات هزینه کرد خدمات دهندهها باشد.
اولین ارز دیجیتال با الگوریتم اثبات ظرفیت
اولین رمز ارز دیجیتال که با الگوریتم اثبات ظرفیت ساخته شد ارز دیجیتال Burstcoin برست کوین بود که اولین بلاک ساخت این کوین (Coin) به سال 2014 میلادی بر می گردد، برنامه نویس اصلی Burstcoin برست کوین همچون ساتوشی ناکاموتو بعد از مدتی ناپدید شد، کارکرد این کوین در جدول زیر آورده شده است:
پلات های داده را با استفاده از الگوریتم پلات ایجاد می کند و روی دیسک سخت ذخیره می کند. |
امضای بلاک قبل و شماره بلاک فعلی را به هم متصل می کند و در نتیجه آن را هش می کند. |
نتیجه هش شده را به عدد 4096 تقسیم می کند و عددی که بدست می آید را “عدد انتخاب” نام گذاری می کند. |
با استفاده از عدد انتخاب از پلات ذخیره شده در یک، یک عدد را انتخاب می کند. |
عدد بدست آمده را به امضای قبلی متصل می کند و نتیجه را هش می کند. |
حال تقسیم این عدد بر هدف پایه “Base Target”، یک عدد به ثانیه خواهد بود، که مهلت را نشان خواهد داد. |
درصورت وجود یک پلات، از مرحله 4 شروع می کند و مهلت های ممکن را ایجاد می کند. |
در صورت گذشت زمان از بلاک قبلی (گذشت از مهلت زمان) اجازه ساخت یک بلاک جدید را به شما می دهد. |
الگوریم اثبات مغز چیست؟ برای خواندن مطلب روی لینک کلیک کنید.
برخی دیگر از الگوریتم های اجماع بلاک چین
اثبات سهام واگذار شده
Delegated Proof of Stake (DPoS) یک نسخه کارآمدتر و دموکراتیک تر از PoS در نظر گرفته می شود. این الگوریتم مبتنی بر یک سیستم رای گیری است که در آن نمایندگان یا شاهدان برای دستیابی به اجماع در طول تولید و اعتبار سنجی بلوک ها، به اعتبارسنجی های مورد علاقه خود رای می دهند. علاوه بر اعتبارسنجی تراکنش ها، نمایندگان همچنین به حفظ یکپارچگی، قابلیت اطمینان و شفافیت شبکه بلاک چین کمک می کنند.
قدرت رای هر نماینده متناسب با تعداد سکه های نگهداری شده است. آنها برای کار خود پاداش هایی با کارمزد تراکنش دریافت می کنند که با انتخاب کنندگان مربوطه به اشتراک گذاشته می شود.
سیستم رای گیری الگوریتم DPoS و بنابراین مکانیسم اجماع، به شهرت نمایندگان بستگی دارد. این مکانیزم مقیاسپذیرتر از PoW یا PoS است زیرا میتواند تراکنشهای بیشتری را در ثانیه پردازش کند و زمانهای تایید سریعتری را ارائه دهد.
الگوریتم اثبات اعتماد
پروتکل اجماع اثبات اعتماد (PoT) روشی برای انتخاب اعتبار سنجی در یک شبکه غیرمتمرکز است. به جای انتخاب اعتباردهنده ها بر اساس سرمایه گذاری آنها در ماشین آلات یا سهام، اجماع PoT آنها را بر اساس مشارکت آنها در یک شبکه انتخاب می کند. با تأیید موفقیت آمیز تراکنش ها، شرکت کنندگان شبکه می توانند یک امتیاز اعتماد کسب کنند که آنها را قادر می سازد تا تراکنش های با ارزش بالاتر را تأیید کنند و بنابراین، پاداش های مطلوب تری کسب کنند. به عنوان جایگزینی برای مکانیسمهای اجماع سنتی، مانند اثبات کار (PoW) و اثبات سهام (PoS)، PoT ایجاد کانالهای پرداخت پویا همتا به همتا را آسان میکند که میتوانند برای رفع نیازهای سازمانی مقیاس شوند.
الگوریتم اثبات تاریخ
Proof of History یک تابع تاخیر قابل تایید با فرکانس بالا است. یک تابع تأخیر قابل تأیید به تعداد خاصی از مراحل متوالی برای ارزیابی نیاز دارد، اما یک خروجی منحصر به فرد تولید می کند که می تواند به طور مؤثر و عمومی تأیید شود.
Proof of History دنباله ای از محاسبات است که می تواند راهی برای تأیید رمزنگاری گذر زمان بین دو رویداد ارائه دهد. از یک تابع امن رمزنگاری استفاده می کند که به گونه ای نوشته شده است که خروجی را نمی توان از ورودی پیش بینی کرد و برای تولید خروجی باید به طور کامل اجرا شود. این تابع به ترتیب بر روی یک هسته اجرا می شود، خروجی قبلی آن به عنوان ورودی فعلی، به صورت دوره ای خروجی جریان را ضبط می کند و چند بار فراخوانی شده است. سپس می توان خروجی را مجدداً محاسبه و توسط رایانه های خارجی به طور موازی با بررسی هر بخش دنباله روی یک هسته جداگانه تأیید کرد. دادهها را میتوان با اضافه کردن دادهها (یا هش برخی از دادهها) به وضعیت تابع، در این دنباله مهر زمانی گذاشت. ثبت وضعیت، فهرست و دادهها همانطور که به دنبالهها اضافه شده است، یک مهر زمانی ارائه میکند که میتواند تضمین کند که دادهها قبل از ایجاد هش بعدی در دنباله ایجاد شدهاند.
الگوریتم اثبات فعالیت
Proof of Activity یک مکانیسم اجماع ترکیبی است که ویژگی های اثبات کار و اثبات سهام را در یک رویکرد جدید برای تولید بلوک های جدید ترکیب می کند. PoA از دو مکانیسم ذکر شده در بالا استفاده می کند و سعی می کند از نقاط ضعف هر دو روش جلوگیری کند تا الگوریتم کارآمدتری ارائه دهد. درواقع الگوریتم اثبات فعالیت تلاش میکند تا بهترین مکانیسمهای اجماع (PoW) و (PoS) را برای تولید و اعتبارسنجی بلوکهای جدید برای یک بلاک چین ترکیب کند.
نتیجه گیری: بازار مالی ارزهای دیجیتال یکی از بزرگترین بازارهای سرمایه است، بیت کوین محبوب ترین کوین ارزهای دیجیتال از زمان تاسیس خود تا به امروز چندین هزار دلار سود کرده است، همین صعود خیره کننده بیت کوین باعث شده است که طرفداران زیادی به بازار مالی ارزهای دیجتیال ( کریپتوکارنسی) سرازیر شوند، مهم ترین عاملی که این بازار را محبوب کرده است، امنیت این بازار در بستر بلاکچین است که از دخالت شخص ثالث جلوگیری می کند، به عنوان شخصی که قصد دارد وارد این حوزه شود شناخت الگوریتم های بلاکچین می تواند به او کمک بسیار شایانی بکند.