دسترسی سریع در حال بارگذاری

تابع هش به زبان ساده (Hash Function)

1158
۱۳ بهمن ۱۳۹۹
تابع هش به زبان ساده (Hash Function)

تابع هش یکی از ارکان اصلی اینترنت امن است. این توابع یکی از مهم‌ترین و کاربردی‌ترین علوم رایانه‌ای هستند که علاوه‌بر کاربردشان در افزایش امنیت استفاده از دنیای وب، از طریق الگوریتم رمزنگاری در دنیای کریپتوکارنسی نیز بسیار پر‌کاربرد هستند. در این مقاله قصد داریم مفهوم تابع هش را به زبانی ساده بازگو کنیم.

هشینگ یا هش کردن یعنی چه؟

در فرایند هشینگ از طریق یک فرمول ریاضی ورودی‌ها با مقادیر مختلف تبدیل به یک خروجی با مقدار ثابت می‌شوند.

به‌عبارتی دیگر، با هش کردن مقداری را که می‌تواند تصویر، حروف یا اعداد باشد با طول نا‌معلوم، به یک خروجی با طول مشخص و قطعی تبدیل می‌کنیم. به این فرایند، “تابع درهم ساز” نیز می‌گویند.

فرایند هشینگ در مبانی امنیت اطلاعات بسیار کاربردی است و مهم‌ترین کاربرد آن زمانی است که شخصی قصد دارد یک پیام را به صورت کاملاً اختصاصی از طریق ایجاد یک فرمول، فقط برای یک گیرنده ارسال کند.

خروجی هشینگ را “هش” یا “مقدار هش” می‌گویند و تابع ریاضی آن‌ به “تابع هش” معروف است.

تابع هش (Hash Function) چیست؟

تابع هش یا توابع هش الگوریتم‌های ریاضی هستند که داده‌ها را با اندازه و طول متغیر دریافت می‌کنند و به خروجی یکسان و قطعی تبدیل‌شان می‌کنند. توابع هش رکن اصلی فرایند هشینگ هستند.

به عبارتی دیگر، می‌توان گفت تابع هش یک رشته کد با طول متناوب را دریافت و تبدیل به یک خروجی با طول ثابت می‌کند.

تابع هش چیست؟

ویژگی‌های اصلی تابع هش

  • طول خروجی تابع هش یا مقدار هش، همیشه ثابت است.
  • تا زمانی که ورودی تغییر نکند، مقداری خروجی تابع هش قطعی و ثابت است.
  • مقدار هش معمولاً بسیار کوچک‌تر از ورودی است. به‌همین خاطر به تابع هش، فشرده ساز نیز می‌گویند.
  • عملکرد تابع هش با رمزنگاری متفاوت است.
  • توابع هش به‌صورت یک‌طرفه طراحی شده‌اند. به‌عبارتی دیگر، در هشینگ به‌دست آوردن خروجی از ورودی امکان‌پذیر است و عملیات عکس آن یعنی به‌دست آوردن ورودی از خروجی تقریباً غیر‌ممکن است.

کاربردهای تابع هش

  • ذخیره کلمه عبور: یکی از کاربردهای اصلی این الگوریتم‌ها، ذخیره‌ی رمزهای عبور در بستر وب است. تابع هش پسوردها را به‌طور شفاف ذخیره نمی‌کند و آن‌ها را به‌صورت یک فرمول هش ذخیره و ثبت می‌کند. هکرها هنگام حمله به سیستم فقط می‌توانند خروجی هش را به‌دست آورند که با توجه به توضیحی که کمی قبل‌تر در رابطه با یک طرفه بودن عملیات هشینگ دادیم؛ به‌دست آوردن ورودی از طریق مقدار هش غیر‌ممکن است. در نتیجه ذخیره پسورد از این روش امنیت بالایی دارد.
  • امنیت بلاکچین: توابع هش در حفظ امنیت شبکه‌های بلاکچین و فضای کریپتوکارنسی‌ها جایگاه مهم و اساسی دارند. فرایند رمزنگاری در بلاکچین‌ها از طریق این الگوریتم‌ها انجام می‌شود. داده‌های موجود روی هر بلاک از طریق فرایند هشینگ به به یک رشته کد تبدیل می‌شوند و به زنجیره‌ی اصلی می‌پیوندند.
  • بررسی صحت داده: یکی دیگر از کاربردهای الگوریتم‌‌های هش، تولید چک سام‌ (CheckSum) بر روی فایل‌هاست. چک سام، به کاربران تضمین صحت داده می‌دهد و به آن‌ها کمک می‌کند تا هر تغییری را بر روی فایل‌ها سریعاً متوجه شوند. اما این سیستم در مورد اصالت فایل تضمینی نمی‌دهد و هکرها می‌توانند با تغییر کلی فایل، هش جدید تولید و از این طریق به داده‌‌های فایل دسترسی پیدا کنند. استفاده از چک سام زمانی کاربرد دارد که کاربر در رابطه با اصالت فایل اطمینان داشته باشد.

تابع هش چگونه کار می‌کند؟

همان‌طور که گفتیم؛ توابع هش با توجه به سبک ساز‌ و‌‌ کارشان خروجی‌هایی با اندازه‌های متفاوت تولید می‌کنند؛ اما اندازه‌ی خروجی یک نوع خاص از تابع هش همیشه یکسان است. برای مثال الگوریتم SHA-256 که تابع هش بیت کوین و پرکاربردترین هش جهان است؛ فقط قادر به تولید خروجی 256 بیتی است. طول و مقدار ورودی هر میزان که باشد، مقدار هش 256 بیت خواهد بود.

تابع هش چطور کار می‌کند؟

در مثال زیر، کلمه‌ Ircc را با 2 حالت حرف اول بزرگ و حرف اول کوچک در تابع هش بیت کوین همان SHA-256 جای داده‌ایم:

Ircc: 65592d00da56347062e6dc84e8ff978ba021267b288bbe3c7f2cb5c04d797bd4

ircc: 478734e921cc9b571d7ab5fc226dcb2ce59fcab83fb73258ab8082382d86c6ee

همان‌طور که مشاهده می‌کنید، با کوچک و بزرگ شدن فقط یک حرف، کد هش خروجی تغییر می‌کند؛ اما هر دو شکل همان مقدار خروجی 256 بیتی را به‌وجود می‌آورند. تا به این‌جا بارها اشاره کردیم که مقدار ورودی هر‌چه قدر هم که باشد، یک تابع هش مقدار ثابتی خروجی دارد.

نکته: خروجی با طول ثابت سبب افزایش امنیت می‌شود؛ زیرا اگر کسی سعی در رمزگشایی و حمله به شبکه داشته باشد، با این شیوه قادر به تشخیص ورودی نخواهد بود.

تابع مطرح دیگری که وجود دارد، SHA-1 که مخفف عبارت الگوریتم‌ هش ایمن ‌(Secure Hash Algorithms) است. این عبارت شامل مجموعه‌ای از توابع هش رمزنگاری شده است که عبارتند از: SHA-0 ،SHA-1 ،SHA-2 و SHA-3.

تابع SHA-256 به همراه SHA-512 و انواع دیگر، بخشی از گروه SHA-2 هستند. در حال حاضر، فقط گروه‌های SHA-2 و SHA-3 ایمن در نظر گرفته می‌شوند.

حال اگر مثال بالا را در تابع SHA-1 قرار دهیم؛ مقادیر تابع زیر به‌دست خواهد آمد:

Ircc: a6f9af856be33de008c9f5ffb942e2c4e2d64

                              ircc: 3ec8e2b221402e786dfa6f0884a0e7f7be11c                            

این تابع هم مانند همه‌ی توابع از ورودی‌هایی با طول متناوب، مقادیر ثابت تولید می‌کند و در صورت تغییر کد ورودی مقدار هش آن تغییر می‌کند.

تابع هش رمزنگاری چیست؟

تابع هش رمزنگاری همان تابع هش است که تا این‌‌جا ویژگی‌های آن‌را بازگو کردیم. با این تفاوت که این الگوریتم از فرایند رمزنگاری برای افزایش دو‌ چندان امنیت استفاده می‌کند.

قبل‌تر گفتیم که به‌دست آوردن ورودی از مقدار هش کار بسیار دشواری است و تقریباً محال است. این امر سبب شده فرایند هشینگ امن و قابل اطمینان باشد. با این حال، توسعه‌دهندگان سعی کرده‌اند از طریق رمزنگاری این امنیت را در تابع هش رمزنگاری شده چند برابر کنند.

این توابع نوع خاصی از الگوریتم‌‌های هش هستند که ویژگی‌های مخصوص به خود را دارند؛ این ویژگی‌ها سبب شده برای تشخیص هویت،‌ حفظ امنیت بیشتر،‌ ساخت امضای دیجیتال و تایید صحت داده‌ها در سیستم‌های دیجیتالی مختلف مورد استفاده قرار بگیرند.

ویژگی‌های تابع هش رمزنگاری

کارکرد تابع هش رمزنگاری

1. قطعی بودن

تابع هش در ازای یک ورودی مشخص، مقدار هش ثابت ارائه می‌دهد. فرقی نمی‌کند این ورودی چند بار در تابع قرار بگیرد؛ میزان خروجی همیشه ثابت خواهد بود.

این ویژگی سبب شده پیگیری داده‌‌ها آسان‌تر باشد. اگر هر‌بار به‌ازای یک ورودی ثابت، مقدار هش متفاوت ارائه شود؛ کاربران با انبوهی از کدهای هش مواجه خواهند بود که جمع‌آوری و پیگیری آن‌‌ها دشوار و زمان‌بر است.

2. سرعت بالا در محاسبه

تابع هش باید ورودی را به سرعت تبدیل به مقدار هش کند. اگر این محاسبه به‌ میزان کافی سریع نباشد، سیستم نا کار‌آمد است.

3. یک‌طرفه بودن

تابع هش رمزنگاری، تابع یک‌طرفه است. یعنی در مقابل مقدار ورودی، خروجی به آسانی به‌دست می‌آید؛ اما عملیات برعکس این روند نمی‌توان گفت کاملاً غیر ممکن اما سخت و غیر عملی است.

تصور کنید اعداد بین 5 تا 10 را در این تابع قرار داده‌ایم و خروجی‌های ثابت آن‌ها را به‌دست آورده‌ایم. در این لیست کوتاه و با توجه به قطعیت مقدار هش، می‌توان با جایگزینی مجدد ورودی‌ها در تابع، مقدار ورودی هر خروجی را کشف کرد.

اما این عملیات زمانی که با لیست بلند بالایی از مقادیر ورودی مواجه هستیم، فرایندی بسیار سخت و زمان‌بر و می‌توان گفت غیر ممکن است. در این شرایط می‌توان از جستجوی جامع که به آن جستجوی بی‌خردانه یا خام نیز گفته می‌شود؛ استفاده کرد.

به‌‌این ترتیب که تمام خروجی‌ها را یک به یک و به‌صورت تصادفی با داده‌های ورودی امتحان کنید تا به نتیجه‌ی نهایی و درست دست پیدا کنید. در این جستجو شانس یافتن پاسخ درست بسیار پایین است و همان‌طور که گفتیم، روشی دور از خرد است.

4. تغییر خروجی با تغییرات ورودی

کوچک‌ترین تغییر در مقدار ورودی تابع هش رمزنگاری، مقدار خروجی هش را به‌طور کامل تغییر خواهد داد.

برای مثال، هنگامی که پسورد اینستاگرام خود را وارد می‌کنید، سیستم با توجه به مقدار هش قبلی که برای این ورودی ذخیره کرده است، اجازه‌ی ورود به حساب کاربری را برای شما صادر می‌کند. اگر کوچک‌ترین تغییری در پسوردی که وارد می‌کنید ایجاد شود، دیگر خروجی هش قبلی کار نمی‌کند و سیستم اجازه‌ی دسترسی به پروفایل‌تان را نخواهد داد و به شما هشدار اشتباه بودن رمز ورود می‌دهد.

5. متفاوت بودن مقادیر هش برای هر ورودی 

هر ورودی در فرایند هشینگ دارای یک مقدار هش مخصوص به خود خواهد بود و ممکن نیست که هش دو مقدار متفاوت ورودی با‌ هم مشابه یا برابر باشند.

می‌توان گفت هیچ‌گاه دو مقدار متفاوت ورودی تحت هیچ شرایطی هش خروجی شبیه به‌هم نخواهند داشت. اگر ورودی A دارای مقدار هش H3 باشد، امکان ندارد که ورودی B نیز همین خروجی را بدهد.

ورودی و خروجی توابع هش

6. ثابت بودن میزان خروجی 

ظی فرایند هشینگ به‌ازای هر مقدار ورودی حتی با اندازه‌های بسیار بزرگ، طول مقدار هش همیشه ثابت و به یک اندازه خواهد بود. اگر عبارات «سلام روز گرم تابستانی شما بخیر» و «سلام» را در یک تابع هش 256 بیتی قرار دهیم، میزان هش خروجی هر دو به یک اندازه خواهد بود و عبارت بلندتر هش طولانی‌تری نخواهد داشت.

این روش سبب شده زمان محاسبات کوتاه‌تر شود و همچنین جمع‌آوری پیگیری داده‌های خروجی برای کاربران آسان‌تر باشد.

استفاده از تابع هش در ماینینگ ارزهای دیجیتال

در فرایند ماینینگ ارزهای دیجیتال برای مثال بیت کوین، یکی از مراحلی که ماینرها باید طی کنند، استفاده از تابع هش است. استفاده‌ی بسیار ماینرها از هشینگ در طی فرایند استخراج بلاک‌‌های جدید، از اصلی‌ترین دلایل امنیت شبکه بلاکچین است.

یک ماینر برای ایجاد هش بلاکی که در حال ماین کردن آن است، باید ورودی‌های متعددی را بررسی کند. آن‌ها فقط زمانی می‌توانند اعتبارسنجی بلاک جدید خود را نهایی کنند که یک مقدار هش با تعداد صفرهای اولیه مشخص پیدا کنند. مقدار این صفر‌‌ها سختی فرایند استخراج را مشخص می‌کنند و تعداد آن‌ها بستگی به مقدار هش دارد و توسط شبکه بلاکچین مشخص می‌شود.

نرخ هش ریت

اگر در رابطه با کاربرد توابع هش در فرایند ماینینگ ارزهای دیجیتال مطالعه کرده باشید؛ بی‌شک با عبارت هش ریت‌ (Hash Rate) مواجه شده‌اید. “هش ریت” یا “نرخ هش” نشان‌ دهنده‌ی میزان قدرت پردازش شبکه در استخراج بیت کوین است و معیاری برای اندازه‌گیری عملکرد یک دستگاه ماینر است. می‌توان گفت هش ریت، تعداد عملیات‌های هشینگ که در بستر فرایندهای استخراج شبکه در حال اجرا هستند را نمایش می‌دهد.

اگر میزان هش ریت شبکه به‌خاطر افزایش عملیات ماینینگ بالا برود؛ سیستم به‌طور خودکار سختی استخراج را طوری تنظیم می‌کند که میانگین لازم برای استخراج هر بلاک در شبکه بیت کوین همان 10 دقیقه باقی بماند.

در حالتی دیگر، اگر به خاطر توقف ماینینگ چندین ماینر به‌صورت هم‌زمان، نرخ هش کاهش پیدا کند؛ باز هم شبکه سختی استخراج را به‌گونه‌ای تنظیم می‌‌کند که میانگین زمان ماین کردن تغییری نداشته باشد.

محاسبه نرخ هش

«هش بر ثانیه» رایج‌‌ترین مقیاس برای اندازه‌گیری نرخ هش است که نشان می‌دهد در هر ثانیه چند هش انجام می‌گیرد.

تعدادی دیگر از مقیاس‌های اندازه‌گیری هش ریت که در واقع تنها عمل تبدیل واحد بر روی آن‌ها صورت گرفته است، عبارتند از:

  • 1 KH/s یا هزار هش بر ثانیه
  • 1 MH/s یا یک میلیون هش بر ثانیه
  • 1 GH/s یا یک میلیارد هش بر ثانیه
  • 1 TH/s یا یک تریلیون هش بر ثانیه
  • 1 PH/s یا یک کوادریلیون هش بر ثانیه
  • 1 EH/s یا یک کوینتیلیون هش بر ثانیه

ارقام بالا به ترتیب کیلوهش، مگاهش، گیگاهش، تراهش، پتاهش و اگزا هش نام‌گذاری می‌شوند.

توابع هش پر کاربرد

1. MD5

تابع هش MD که کوتاه شده‌ی عبارت Message Digest و به معنای خلاصه پیام است؛ شامل توابع هش MD2 ،MD4 ،MD5 و MD6 است. رونالد ریوست در سال 1991 میلادی تابع MD5 را جایگزینی برای نسخه‌ی پیشین آن یعنی MD4 طراحی کرد. MD5 هش 128 بیتی تولید می‌کند و به عنوان هش رمز‌نگاری طراحی شده است که در دوره‌ای بسیار از آن استفاده می‌شد، اما به‌دلیل ایرادهای متعددی که داشت، به‌تدریج از فرایندهای رمزنگاری کنار گذاشته شد. امروزه از تابع هش MD5 برای چک سام استفاده می‌شود.

2. SHA

کمی قبل‌تر اشاره کردیم که SHA الگوریتم هش ایمن است. این تابع هش توسط موسسه ملی استاندارد و فناوری (NIST) آمریکا و سایر سازمان‌‌های امنیتی طراحی شده است. SHA-0 نخستین عضو خانواده SHA در سال 1993 معرفی شد که کمی بعد به‌دلیل مشکلات قابل توجهی که داشت، نسخه‌ی جدیدتری از آن ارائه شد تا نقایص نسخه‌ی پیشین را رفع کند. نام تابع جدید SHA-1 بود.

SHA-1 یک تابع هش 160 بیتی مشابه تابع MD5 بود و با هدف این‌که بخشی از الگوریتم امضای دیجیتال باشد، طراحی شد. سال 2005 در این تابع هش نیز مشکلات امنیتی کشف شد که احتمال داشت هکرها به آن نفوذ پیدا کنند. 

پس توسعه دهندگان الگوریتم جدید و ایمن SHA-2 که متشکل از ۶ تابع هش با مقادیر هش متفاوت 224، 256، 384 و 512 بیتی بود را معرفی کردند. نام‌ این توابع نیز با توجه به مقدار هش تولید شده‌ توسط آن‌‌ها انتخاب شده است؛ SHA-224 ،SHA-256 SHA-384 ،SHA-512 ،SHA-512/224 و SHA-512/256. تفاوت اصلی این الگوریتم‌ها در طول مقدار هش ‌آن‌هاست.

بالاتر اشاره کردیم که الگوریتم SHA-256 در بلاکچینِ بیت کوین استفاده می‌شود و پرکاربرد‌ترین تابع هش جهان است. همچنین از این الگوریتم در TLS ،SSL ،PGP ،SSH، توسعه چند منظوره پست الکترونیک، اینترنت/امن و IPsec یا همان ایمن‌سازی پروتکل اینترنت استفاده می‌شود.

SHA-3 آخرین عضو از خانواده الگوریتم هش ایمن، در سال 2015 توسط NIST منتشر شد. در سال 2012 در جریان یک مسابقه‌ در رابطه با طراحی الگوریتمی جدید، این تابع به عنوان برترین تابع هش برگزیده شد. SHA-3 در واقع زیرمجموعه‌ای از خانواده گسترده‌تری به نام Keccak است.

3. RIPEMD

RIPEMD کوتاه شده‌ی عبارت «RACE Integrity Primitives Evaluation Message Digest» است. این تابع نیز مانند الگوریتم SHA، مجموعه‌‌ای از توابع هش است که یک گروه تحقیقاتی بلژیکی به نام COSIC در سال ۱۹۹۶ میلادی آن‌را معرفی کردند. در طراحی این تابع از اصول به‌کار رفته در طراحی تابع MD4 و سیستم عملکردی SHA-1 استفاده شده است. توابع این مجموعه دارای مقادیر متفاوت 128، 160، 256 و 320 بیتی هستند و امنیت بالایی دارند. 

4. Whirlpool

این الگوریتم یکی دیگر از توابع هش رمزنگاری است که در سال 200 توسط وینسنت ریمن و پائولو بارتو طراحی شد. Whirlpool بر اساس نسخه اصلاح شده‌ی استاندارد رمزنگاری پیشرفته (AES) ساخته شده است. این تابع هر پیامی با طول کمتر از 2256 بایت را دریافت و به مقدار هش 64 بایتی تبدیل می‌کند. 

تابع هش ویرپول از سال 2000 تاکنون، 2 بار بازبینی شده است. در بازبینی نخست در سال 2001، S-box را تغییر دادند تا پیاده‌سازی این الگوریتم بر روی سخت‌افزار آسان‌تر شود. در سال 2003 و بازبینی دوم یک مشکل امنیتی در آن کشف شد و سریعاً توسط توسعه دهندگان تابع بر‌طرف شد. الگوریتم اولیه و اصلی را Whirlpool-0، بازبینی اول Whirlpool-T و نسخه نهایی را Whirlpool نام دارند.

5. Blake

تابع هش Blake جزو 5 الگوریتم برتر به انتخاب موسسه ملی استاندارد و فناوری ایالات متحده (NIST) است. این الگوریتم همانند SHA-2، از 2 تابع مختلف تشکیل شده است. یکی از کلمات 32 بیتی استفاده می‌کند و طول هش محاسبه‌شده‌ی آن حداکثر 256 بیت است؛ دیگری از کلمات 64 بیتی استفاده می‌کند با طول هش 512 بیت.

Blake2 در سال 2012 منتشر شد. هدف از طراحی این الگوریتم، معرفی جایگزینی برای الگوریتم‌های پرکاربرد اما آسیب‌پذیر MD5 و SHA-1 در برنامه‌هایی که نیازمند کارایی بالایی بودند، بود. این تابع نیز خود به دو زیرگروه Blake2b و Blake2s تقسیم می‌شود. گفته می‌شود Blake2 از MD5، SHA-1، SHA-2 و SHA-3 سریع‌تر است و از لحاظ امنیت نیز با SHA-3، یعنی آخرین نسخه الگوریتم هش ایمن برابری می‌کند.

صحبت پایانی

توابع هش عادی در فرایند‌هایی مانند جستجو در پایگاه‌های داده، تجزیه و تحلیل پرونده‌ها و داده‌های سنگین و حجیم، مدیریت داده‌ها و اطلاعات و زمینه‌های متعدد دیگر کاربرد دارند. توابع هش رمزنگاری شده هم به‌طور گسترده در زمینه‌ی امنیت اطلاعات از جمله تایید اعتبار پیام، اثر انگشت دیجیتال، تایید پرداخت و دیگر موارد امنیتی اطلاعاتی استفاده می‌شود. 

در سیستم بیت کوین توابع هش رمزنگاری در زیرساخت، فرایند استخراج و ایجاد آدرس‌ها، کلید‌های عمومی و خصوصی نقش دارند.

همچنین این توابع در زمانی که با حجم زیادی از اطلاعات مواجه هستیم، به کمک‌مان می‌آیند. در این حالت، می‌توان یک فایل بزرگ و دارای حجم بالای اطلاعات را به عنوان ورودی به یک تابع هش داد و سپس از خروجی آن‌ که حجم بسیار کم‌تری دارد، به‌راحتی استفاده کرد.

به‌طور کلی، می‌توان گفت اگر توابع هش نبودند، امروزه خبری از امنیت در بستر وب و یا دنیای ارزهای دیجیتال نبود. آرامش خاطری که هنگام استفاده از اینترنت و دنیای ارزهای دیجیتال داریم، به‌خاطر حضور این توابع کاربردی و حیاتی هستند که امنیت داده‌ها و پیام‌‌ها را در این پلتفرم‌ها حفظ می‌کنند. 

1 Star2 Stars3 Stars4 Stars5 Stars
Loading...
نویسنده
Ghanbari
مهسا قنبری
عضو تحریریه والکس
من با تو می‌نویسم و می‌خوانم.
نظرات کاربران
نظرات ارسال شده : 14 نظر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

۱۴ پاسخ به “تابع هش به زبان ساده (Hash Function)”

  1. بیتا
    ۱۲ خرداد ۱۴۰۰

    واقعا عالی بود…..
    خانم امینی عزیز من اطلاعات خیلی ضعیفی در مورد ارزهای دیجیتال دارم. .این اولین مقاله ای بود که در این مورد مطالعه کردم. ..خواهش میکنم راهنمایی کنین که چه طور میتونم مطالعات وسیع و منظمی در این حوزه از پایه شروع کنم.خواهش میکنم در ایمیل به من جواب بدین. .ممنون میشم از لطفتون

    • فروزان زیبائی
      ۲۰ خرداد ۱۴۰۰

      سلام
      وقت به خیر

      به دنیای بزرگ ارزهای دیجیتال خوش آمدید. خوشحالیم که مقاله ما توجه شما را جلب کرده است. شما می‌توانید در بلاگ والکس با تحلیل و سرمایه گذاری، آموزش معاملات و اصطلاحات رایج در این بازار آشنا شوید. هر کلید واژه برای شما به صفحه آن در بلاگ لینک شده است.
      هر سوالی که در فرآیند مطالعاتی خود داشتید، در کامنت‌ها از ما بپرسید.

      ممنون از همراهی شما

  2. حمید
    ۱۳ اردیبهشت ۱۴۰۰

    بسیار عالی . ممنون میشم اگر مقالات یا کتاب های جامع درباره ارز دیجیتال به زبان انگلیسی معرفی کنید. سپاسگزارم

    • لیلی امینی
      ۱۳ اردیبهشت ۱۴۰۰

      سلام آقای حمید

      از مقالات آکادمی بایننس و سایت اینوستوپدیا استفاده کنید.

      دو کتاب زیر، کتاب‌های خوبی هستند.

      ممنون از همراهیتان

  3. امیر
    ۰۴ اسفند ۱۳۹۹

    با سلام
    به جرات یکی از بهترین مقالات با بیانی ساده برای مخاطبان هست.
    سپاسگزارم

    • لیلی امینی
      ۰۴ اسفند ۱۳۹۹

      سلام آقای امیر

      خواهش می کنیم؛ خوشحالیم که این مقاله را دوست داشتید و استفاده کردید‌.

      سپاس از همراهیتان

  4. محمد
    ۳۰ بهمن ۱۳۹۹

    عالی حرف نداشت دست مریزاد

    • لیلی امینی
      ۰۱ اسفند ۱۳۹۹

      سلام آقای محمد

      خواهش می کنم؛ خوشحالیم که از این مقاله راضی بودید.

      سپاس از همراهیتان

  5. mehrdad.hosenzadeh.mh@gmail.com
    ۲۹ بهمن ۱۳۹۹

    عالیی

    • لیلی امینی
      ۲۹ بهمن ۱۳۹۹

      سلام

      باعث خوشحالی ماست که از این مقاله راضی هستید.

      سپاس از همراهیتان

      • علی
        ۰۹ تیر ۱۴۰۰

        سلام خانم امینی
        این تابع هایی که ماینرها اونارا حل میکنن دقیقا چی هستن.یعنی قبلا این تابع ها توسط مخترع اون طرح شدن یا نه خود نرم افزار درلحظه تابع ها را طراحی میکنه.ممنون میشم پاسخ بدین درایمیلم
        متشکرم

        • لیلی امینی
          ۱۶ تیر ۱۴۰۰

          سلام آقای علی
          وقت به خیر

          تمام تابع‌ها طراحی نشده‌اند. بلکه برنامه نویس اولیه بلاکچین یک الگوریتم برای ساخت تابع‌های جدید طراحی کرده است که با حل شدن هر بلاک، تابع بلاک جدید طبق الگوی اصلی توسط شبکه بلاکچین طراحی شده و برای استخراج در اختیار کاربران شبکه قرار می‌گیرد.

          ممنون از همراهی شما

  6. حمید
    ۲۵ بهمن ۱۳۹۹

    سلام،
    بسیار زحمت کشیدید. مفید و سودمند.
    پایدار باشید.

    • لیلی امینی
      ۲۶ بهمن ۱۳۹۹

      سلام آقای حمید

      بسیار خوشحال هستیم که از این مقاله راضی بودید و برایتان مفید بوده. با آرزوی موفقیت برای شما

      سپاس از همراهیتان