بیت کوین اولین بلاک چین موفق و کارآمد دنیا بود که توسط ساتوشی ناکاموتوی ناشناس ساخته شد. به صورت کلی، بلاک چین یک دفتر کل توزیع شده است؛ یک پایگاه داده مشترک میان اعضا (نودهای) که از طریق تکنیکهای رمزنگاری به هم متصل میشوند.
اصطلاح «توزیع شده» یا «Distributed» در اینجا به این معنی است که اطلاعات بلاک چین در تعداد زیادی از رایانهها (نودها) به جای یک سرور مرکزی ذخیره میشود. به همین دلیل بر خلاف سیستمهای شبکه سنتی که ذخیره متمرکز دارند، به شبکههای بلاک چین، غیرمتمرکز میگویند.
برنامههای خودکار نصب شده روی این رایانهها یا نودهای شبکه، امنیت و پایداری بلاک چین را حفظ کرده و عملکردهای لازم برای کارکرد درست آن را انجام میدهند.
بلاک در بلاک چین فایلی است که شامل سربرگ یا هدر بلوک، شمارنده تراکنش و تراکنشهای ثبت شده در بلاک است. شمارنده تراکنش تعداد تراکنشهای موجود در بلاک را لیست میکند، در حالی که هدر بلاک از چندین عنصر تشکیل شده است:
- نسخه نرم افزار: بلاک چین کدام نسخه را اجرا میکند (گاهی اوقات به آن شماره جادویی میگویند).
- هش بلاک قبلی: اطلاعات رمزگذاری شده از بلاک قبلی.
- ریشه مرکل (Merkle Root): یک هش واحد (از اطلاعات رمزگذاری شده) که شامل تمام اطلاعات هش شده از تراکنشهای قبلی است.
- مهر زمانی یا تایم استمپ: تاریخ و ساعت باز شدن بلاک.
- سختی هدف (Difficulty Target): مشکل فعلی شبکه و سختی آن که ماینرها سعی در حل آن دارند.
- نانس (Nonce): مخفف عبارت “number used one” است که برای حل مشکل استخراج و باز کردن بلاک استفاده می شود.
همانطور که اشاره شد، هر بلاک حاوی اطلاعات هش شده (رمزنگاری شده) بلاک قبلی است. این امر یک زنجیره از بلاکهای رمزنگاری شده ایجاد میکند که حاوی اطلاعات تمام بلاکهای قبلی است و در نهایت به اولین بلاک در بلاک چین میرسد.
رمزنگاری در بلاک چین بیت کوین
بیت کوین از الگوریتم هش SHA-256 برای رمزنگاری (هش) دادههای ذخیره شده در بلاکها استفاده میکند. به عبارت سادهتر، دادههای تراکنش ذخیره شده در یک بلاک، در یک عدد هگزادسیمال ۲۵۶ بیتی (۶۴ رقمی) رمزنگاری میشود. این عدد شماره شامل تمام دادههای تراکنش و اطلاعات مرتبط با بلاکهای قبل از آن بلاک است.
در حالی که دادههای یک بلاک، رمزنگاری شده و در بلاک بعدی استفاده میشود، بلاک غیر قابل دسترسی یا غیر قابل خواندن نیست. هش آن در بلاکهای بعدی نیز استفاده میشود و به همین ترتیب جلو میرود، اما همه بلاکها قابل خواندن هستند. این باعث میشود که نتوان یک بلاک را بدون عوض کردن دادههای تمام بلاکهای قبلی تغییر داد و امنیت را بالا میبرد. همچنین اطمینان حاصل میشود که هر کسی میتواند بلاک چین را بررسی کند.