Scrypt یک الگوریتم هش است که با تولید اعداد تصادفی و غیرتکراری فرایند استخراج بلاک را برای کاربران مخرب دشوار میکند و باعث افزایش چندین برابری امنیت شبکههای ارز دیجیتال میشود.
از زمان عرضه تا کنون، Scrypt توسط تعداد زیادی از پروژههای مختلف بلاکچین پذیرفته شده و همچنین سطح بالایی از امنیت را به پروژهها ارائه داده است.
در ادامه این مطلب به طور مفصل به الگوریتم هش Scrypt خواهیم پرداخت و بررسی خواهیم کرد که این الگوریتم چه مزایایی برای بلاکچینها به دنبال دارد.
عناوین مطلب:
الگوریتم Scrypt چیست؟
اسکریپت یکی از اولین الگوریتمهای هش است که روی بستر بلاکچینها پیادهسازی میشود.
Scrypt در واقع یک تابع مشتق کلید (KDF) مبتنی بر رمز عبور است. در فضای رمزنگاری، KDF یک تابع هش است که یک یا چند کلید مخفی را از یک مقدار مخفی، مانند کلید اصلی، رمز عبور یا عبارت عبور با استفاده از یک تابع تصادفی مشتق میکند.
KDFها به منظور جلوگیری از حملات حدس زدن رمز عبور (password guessing attacks) بسیار کارآمد هستند.
با این وجود قبل از توسعه Scrypt ،KDFهایی مانند تابع استخراج کلید مبتنی بر رمز عبور 2 (PBKDF2) توانایی محدودی برای مقاومت در برابر FPGA و ASIC داشتند. به طور کلی، PBKDF2 و حتی سایر KDFهای مبتنی بر رمز عبور از نظر محاسباتی فشرده بوده اما حافظه فشردهای ندارند.
مقاومت در برابر سختافزار ASIC
الگوریتم Scrypt به عنوان راهحلی برای کاهش ظهور و تسلط دستگاههای ماینر ASIC و همچنین متمرکزسازی استخراج ارزهای دیجیتال ایجاد شده است.
این الگوریتم در صورت استفاده میتواند الگوریتم هش SHA-256 را که در شبکه بیتکوین و بسیاری از شبکههای مبتنی بر اثبات کار استفاده میشود را بهبود بخشد.
Scrypt به گونهای توسعه یافته است که به ماینرها اجازه میدهد که اعداد تصادفی مورد نیاز برای استخراج بلاک را به سرعت تولید کنند. این اعداد باید در RAM پردازنده ذخیره شوند و قبل از ارسال نتیجه لازم است که به طور مداوم به آن دسترسی داشت.
شبکههای ارز دیجیتال معمولاً دارای نرخ هش بسیار پایینی نسبت به شبکههای SHA-256 هستند. به عنوان نمونه، ارز دیجیتال لایت کوین (Litecoin) در حال حاضر دارای نرخ هش 138 TH/s و بیتکوین (Bitcoin) نیز دارای نرخ هش 93،000،000 TH/s است.
بیشتر بخوانید: هش ریت (Hashrate) چیست و چه کاربردی در ارزهای دیجیتال دارد؟
تاریخچه توسعه الگوریتم Scrypt
Scrypt به عنوان یک الگوریتم حافظه هارد (memory-hard algorithm) عمل میکند که با استفاده از سختافزارهای سفارشی و برای بهبود امنیت شبکهها در برابر حملات طراحی شده است.
برخلاف سایر الگوریتمهای هش مانند Equihash و CryptoNight که مخصوصاً برای بلاکچینهای مبتنی بر الگوریتم اجماع اثبات کار (Proof of Work) توسعه داده شدهاند، Scrypt در ابتدا برای استفاده دیگری توسعه داده شد و بعداً در شبکههای بلاکچین پیاده شد.
در مه 2009، کالین پرسیوال مقالهای تحت عنوان «Stronger Key Derivation Via Sequential Memory-Hard Functions» منتشر کرد. در این مقاله، پرسیوال الگوریتم اسکریپت را برای سرویس پشتیبان آنلاین Tarsnap پیشنهاد کرد.
بیتکوین در آن زمان هنوز در مراحل ابتدایی خود قرار داشت؛ بنابراین در این مقاله هیچ اشارهای به نحوه استفاده و کارایی بالقوه Scrypt در شبکههای بلاکچینی و ارزهای دیجیتال نشده است.
سپس در سال 2011، پروژه Tenebrix (TBX) توسط یک برنامه نویس ناشناس ملقب به Artfortz توسعه یافت. Tenebrix اولین پروژه بلاکچین بود که از Scrypt به عنوان یک الگوریتم هش استفاده میکرد.
اگرچه این پروژه در نهایت با شکست مواجه شد اما با معرفی یک الگوریتم سازگار با CPU برای ماینرهای ارزهای دیجیتال، تغییرات اساسی در این حوزه ایجاد کرد.
سپس پروژه Fairbrix توسط چارلی لی (Charlie Lee) ایجاد شد که مشابه پروژه Tenebrix طراحی شده بود. این پروژه از همان ابتدا با دو مشکل اساسی مواجه بود. اول اینکه ایرادی در شبکه وجود داشت که مانع بزرگی برای ایجاد کوینهای جدید بود، دوم اینکه، با یک حمله 51 درصدی مواجه شد که منجر به سرقت 1600 بلاک شد. در نتیجه Fairbrix نیز مانند Tenebrix با شکست مواجه شد.
با این وجود، چارلی لی از ایده اولیه ایجاد یک شبکه مبتنی بر الگوریتم Scrypt دست نکشید. او بسیاری از کارهای تکمیل شده برای Fairbrix را همراه با کد بیتکوین انجام داد تا در نهایت یک کوین فورک شده از بیتکوین به نام لایت کوین (Litecoin) را ایجاد کرد که از آن زمان تا کنون به یکی از بزرگترین ارزهای دیجیتال بازار تبدیل شده است.
بیشتر بخوانید: مقایسه بیتکوین و لایتکوین (تفاوتها و شباهتها)
عملکرد الگوریتم Scrypt در بلاکچین چگونه است؟
اگر به طور خلاصه و ساده بخواهیم الگوریتم Scrypt را تعریف کنیم باید بگوییم که این الگوریتم، رشتههای الفبایی منحصر بهفرد و غیرتکراری را تولید میکند.
الگوریتم Scrypt به لطف KDFها از طریق حافظه هارد کار میکند. این نام پیچیده ممکن است گیج کننده باشد؛ اما به طور خلاصه Scrypt با استفاده از یک کلید و یک سری نکات کلیدی مشخص شده در الگوریتم و همچنین با استفاده از noise، هشها را رمزنگاری میکند.
Noiseها در این الگوریتم، به یک سری اعداد تصادفی میگویند که توسط الگوریتم تولید شده و در حافظه ذخیره میشوند. هدف از استفاده از این اعداد تصادفی این است که دادههای کلیدی الگوریتم را استتار کرد تا فرایند شکستن هشها برای افراد مخرب پیچیدهتر و سختتر شود.
این اقدام Scrypt دو کار اساسی را برای شبکه انجام میدهد:
- گذرواژهها را هش میکند تا مهاجمی که به فایل رمز عبور دسترسی پیدا کرده است، نتواند به راحتی به پسوردهای موجود در آن دسترسی پیدا کند.
- علاوه بر این، الگوریتم Scrypt برای تولید کلیدهای رمزنگاری، جهت رمزگذاری یا احراز هویت دادهها نیز استفاده میشود.
الگوریتم هش Scrypt چه ویژگی دارد؟
Scrypt یک الگوریتم بسیار کارآمد است. این الگوریتم در مقایسه با کار بسیار پیچیدهای که برای بلاکچین انجام میدهد، حجم بسیار پایینی دارد.
ویژگیهای منحصر بهفردی مانند استفاده از یک کلید، موازی سازی فرایندها، تولید اعداد تصادفی و همچنین قابلیت تنظیم مقادیر تابع، به Scrypt اجازه میدهد تا درجه بالایی از کارایی را بدون به خطر انداختن امنیت شبکه داشته باشد.
Scrypt همچنین سطح بالایی از امنیت را به بلاکچین ارائه میدهد. این الگوریتم به گونهای طراحی شده است که برنامه نویس میتواند سطح امنیتی را تغییر داده و در صورت نیاز، متغیرهای مؤثر در این زمینه را کم یا زیاد کند.
این الگوریتم مقاومت بسیار بالایی در برابر حملات بروت فورس (brute force) از خود نشان داده است که برای سیستمهای توزیع شده بسیار ضروری است.
مقاومت در برابر ASIC و FPGA یکی از دلایلی است که ارزهای دیجیتالی مانند لایت کوین به الگوریتم هش در بلاکچین خود روی آوردند. الگوریتم Scrypt فرایند استخراج را برای برخی از ماینرها دشوارتر میکند.
پروژههای برجستهای که از الگوریتم Scrypt استفاده میکنند؟
برخی از پروژههای برجسته ارز دیجیتال در حال حاضر از الگوریتم Scrypt برای هش اطلاعات و تراکنشهای خود استفاده میکنند، برخی نیز قبلاً از آن استفاده میکردند و اکنون به هر دلیلی از الگوریتمهای دیگر استفاده میکنند.
در ادامه برخی از این پروژهها را معرفی خواهیم کرد:
- لایت کوین (LTC): لایت کوین یکی از محبوبترین ارزهای دیجیتال جهان است که مشابه بیتکوین طراحی شده و در واقع یکی از هارد فورکهای بیتکوین است.
- دوج کوین (DOGE): Dogecoin در یک سال اخیر سروصدای زیادی در بازار به پا کرد. این ارز دیجیتال نوعی میم کوین (Memecoin) است که پس از موفقیت زیادی که در بازار تجربه کرد، پروژههای زیادی به تقلید از آن و برای دستیابی به موفقیت آن توسعه یافتند.
- Einsteinium (EMC2): ارز دیجیتال Einsteinium در مارس 2014 به عنوان کد منبع بیتکوین راه اندازی شد. در حالی که بیتکوین از الگوریتم هش SHA-256 استفاده میکند، Einsteinium با به کارگیری Scrypt به عنوان الگوریتم هش خود، مسیر مشابهی با لایت کوین در پیش گرفته است.
- Reddcoin (RDD): پروژه Reddcoin در شش ماه اول فعالیت خود از الگوریتم Scrypt برای توزیع توکنهای RDD در شبکه استفاده میکرد. سپس در بلاک 260800، شبکه به الگوریتم PoSV تغییر کرد که نوعی مکانیسم اجماع اثبات سهام است.
- Vertcoin (VTC): این کوین در اوایل فعالیت خود از گونهای از الگوریتم Scrypt به نام Scrypt-N استفاده میکرد که بعداً الگوریتم خود را به Lyra2RE تغییر داد. این پروژه هم اکنون از الگوریتم هش Lyra2REv3 استفاده میکند.
- Monacoin (MONA): پروژه Monacoin نیز در ابتدا از الگوریتم هش Scrypt استفاده میکرد اما بعدها به الگوریتم Lyra2REv2 تغییر پیدا کرد.
الگوریتم Scrypt تا چه میزان در برابر ASIC مؤثر بوده است؟
در ادامه نگاهی میاندازیم به اثربخشی Scrypt در مقاومت در برابر ماینر ASIC و همچنین تأثیرات Scrypt ASIC در سودآوری استخراج در ارزهای دیجیتال:
ماینینگ با CPU و GPU
با راه اندازی اولین ماینرهای ASIC در مه 2014، CPUها به سرعت توانایی خود را برای استخراج کوینهای مبتنی بر الگوریتم Scrypt از دست دادند. از طرفی هم پیاده سازی الگوریتم Scrypt توسط لایت کوین به اندازهای که باید دارای حافظه فشرده نبود.
الگوریتمهای Scrypt-ChaCha، Scrypt-N و Scrypt² همگی نوعی از الگوریتم Scrypt استاندارد هستند که دارای سختی حافظه بیشتری بودند. با این حال، این طرحها هنوز مورد استقبال قابل توجهی قرار نگرفتهاند.
به علاوه، پروژههای بلاکچینی جدیدی که از زمان ظهور Scrypt ASIC راه اندازی شدهاند، بیشتر الگوریتمهای هش اثبات کار دیگری مانند الگوریتم استخراج CryptoNight یا Equihash را انتخاب کردهاند.
سودآوری فعلی استخراج با سختافزار ASIC
دستگاههای ++Bitmain Antminer L3 و Innosilicon A6+ LTC Master دو دستگاه ماینینگ محبوب ASIC هستند که هم برای استخراج لایت کوین و هم دوج کوین در دسترس هستند.
دستگاههای بسیار بیشتری هم برای استخراج کوینهای مبتنی بر الگوریتم SHA-256 موجود هستند.
این امر، نتیجه تسلط بیتکوین و این واقعیت است که SHA-256 هرگز برای دستیابی به مقاومت در برابر ASIC در نظر گرفته نشده است؛ بنابراین گزینههای نسبتاً کمتری برای Scrypt وجود دارد.
بیشتر بخوانید: آموزش کسب درآمد با استخراج ارز دیجیتال (با کامپیوتر و لپتاپ شخصی)
سخن آخر
الگوریتم Scrypt نوعی الگوریتم هش است که روی بلاکچینهای ارزهای دیجیتال اجرا میشود. Scrypt به منظور بهبود الگوریتمهای هش قدیمیتر مانند SHA-256 طراحی شده است.
الگوریتم Scrypt توسط ارزهای دیجیتالی مانند لایت کوین و دوج کوین استفاده میشود که هر دو جزء محبوبترین ارزهای دیجیتال در جهان هستند.
علاوه بر این، Scrypt امنیت بالایی در شبکههای ارز دیجیتال فراهم میکند و همچنین مقاومت بسیار بالایی در برابر حملات بروت فورس از خود نشان داده است که برای شبکههای غیرمتمرکز بسیار ضروری است.
قصد خرید یا فروش ارز دیجیتال در ایران را دارید؟ در این سایت میتوانید با اطمینان و با چند کلیک خرید کنید:
نام | ویژگیها | امتیاز | لینک ثبتنام |
---|---|---|---|
نوبیتکس |
| ||
صرافی خارجی MEXC |
|