هش کردن چیست؟ – قسمت سوم

مترجم: احمد رجعتی

اکنون لازم است به ذکر نمونه‌هایی از توابع هش رمزنگاری بپردازیم:

  • MD 5: یک هش 128 بیتی تولید می‌کند. مقاومت در برابر برخورد پس از تقریبا 2^21 هش شکسته خواهد شد.
  • SHA 1 : یک هش 160 بیتی تولید می‌کند. مقاومت در برابر برخورد پس از تقریبا 2^61 هش.
  • SHA 256 : یک هش 256 بیتی تولید می‌کند. در حال حاضر توسط بیت‌کوین استفاده می‌شود.
  • Keccak-256: یک هش 256 بیتی تولید می‌کند و در حال حاضر توسط اتریوم استفاده می‌شود.

هش و ساختار داده‌ها

ساختار داده یک شیوه تخصصی ذخیره داده است. دو ویژگی ساختار داده وجود دارد که برای دانستن نحوه کارکرد بلاک‌چین حیاتی است. این دو ویژگی عبارتند از:

1 . اشاره‌گرها

2 . لیست‌های مرتبط

  • اشاره‌گرها

اشاره­‌گرها متغیرهایی هستند که در برنامه‌نویسی آدرس متغیر دیگری را ذخیره می­‌کنند. معمولا متغیرهای نرمال در هر زبان برنامه‌نویسی‌‌ای اطلاعات را ذخیره می‌کنند.

به عنوان مثال int a = 10، به این معنی است که یک متغیر “a” وجود دارد که مقادیر عدد صحیح را ذخیره می‌کند. در این مورد، مقدار عدد صحیح 10 ذخیره می‌شود. این یک متغیر عادی است.

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

  • لیست‌های مرتبط

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

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

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

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

اشاره‌گر هش چیست؟ اشاره‌­گر هش مانند يك اشاره‌گر است، اما به جاي آن‌كه تنها آدرس بلوك قبلي را در برگیرد، داده‌­های درون بلوك قبلی را نیز در برمی­‌گیرد. چنین چیزی باعث می‌شود بلاک‌چین به طرز شگفت‌انگیزی قابل اعتماد باشد.

تصور کنید، یک هکر به بلوک 3 حمله می­‌کند و تلاش می­‌کند داده­‌های آن را تغییر دهد. به دلیل خواص توابع هش، یک تغییر جزئی در داده‌ها، هش را به طور قابل توجهی تغییر می‌دهد. این امر به این معنی است که هرگونه تغییر جزئی ایجاد شده در بلوک 3، هشی را که در بلوک 2 ذخیره می‌شود تغییر می‌دهد، که به نوبه خود داده‌ها و هش بلوک 2 را تغییر خواهد داد که باعث تغییر در بلوک 1 و … می‌شود و به طور کامل زنجیره را تغییر می‌دهد که غیرممکن است. این دقیقا همان چیزی است که بلاک‌چین را غیر قابل تغییر می­‌کند.

Header یک بلوک چگونه است؟

 هدر بلوک حاوی:

  • نسخه: شماره نسخه بلوک.
  • زمان: نشانگر زمان فعلی.
  • هدف دشوار فعلی.
  • هش بلوک قبلی.
  • Nonce.
  • هش Merkle Root.

منبع: blockgeeks

0 replies

Leave a Reply

Leave a Reply