بلاک چینها مجموعهای از بلاکهای به هم مرتبطاند و قطعاً تولید این بلاکها از جایی شروع شده است. بنابراین به اولین بلاک تولیدشده توسط یک شبکه بلاک چینی، Genesis Block یا بلاک پیدایش میگویند. البته به اولین بلاک تولیدشده در یک شبکه بلاکچینی، بلاک صفر نیز گفته میشود.
بلاکها در بلاک چین با کدی به نام کد هش (Hash Code) به یکدیگر مرتبط میشوند. هر بلاک، کد هش بلاک قبلی خود را نگهداری میکند. البته این جمله برای بلاک پیدایش صدق نمیکند؛ زیرا قبل از این بلاک، پردازشی انجام نشده است.
همانطور که عنوان شد، بلاک جنسیس اولین بلاک تولیدشده است که به آن بلاک صفر نیز میگویند. به ترتیب، به بلاکهای بعد از بلاک پیدایش، عددی تعلق میگیرد. مثلاً به بلاکی که بعد از Genesis Block ساخته میشود عدد ۱ تعلق میگیرد. از این عددها برای فهم طول بلاک یک بلاک چین استفاده میشود. مثلاً بلاک چینی که از ۱۰۰ بلاک ساخته شده باشد، طولی ۹۹ بلاکی دارد. همچنین از هش کد اولین بلاک برای تولید هش کد دیگر بلاکها استفاده میشود؛ بنابراین رد پای بلاک پیدایش در تمام بلاکچین وجود خواهد داشت!
اولین بلاک تولید شده در بلاک چین بیت کوین!
بیشک معروفترین بلاک پیدایش، مربوط به بلاک چین بیت کوین (Bitcoin) است. اولین بلاک بیت کوین به دست خالق ناشناس آن، ساتوشی ناکاموتو (Satoshi Nakamoto) در تاریخ ۳ ژانویه ۲۰۰۹ تولید شد. ناکاموتو در آن زمان، برای هر کسی که به تولید بلاک دوم شبکه کمک میکرد، ۵۰ بیت کوین جایزه گذاشته بود!
ساتوشی ناکاموتو در قسمت دوم پیام، خود را به نوعی مخالف سیستم مالی آن زمان نشان داده است. او همچنین دلیل رکود بزرگ سال ۲۰۰۸ را همین سیستم غلط دانسته و به همین دلیل دست به ساخت شاهکاری به نام بیت کوین زده است.
چرا جنسیس بلاک یکی از مهمترین ارکان بلاکچین است؟
جنسیس بلاک یا بلاک پیدایش، یکی از مهمترین ارکان بلاکچینها است. بدون وجود این بلاک، زمان دقیق پیدایش یک بلاکچین نامعلوم است! چطور میتوانید به یک بلاک چین، بدون اینکه مشخصاتی از زمان پیدایش آن بدانید، اعتماد کنید؟ بلاکچینها آمدهاند تا مسائل را شفافتر کنند؛ بنابراین در قدم اول باید خودشان شفاف باشند.
بلاک چین بدون بلاک پیدایش، مانند ساختمانی بی پایه و اساس است. مانند این است که شما در مسابقهای شرکت کنید و نقطه شروع آن را ندانید! نبود این پارامتر بسیاری از کارها را پیچیدهتر خواهد کرد.
در ادامه نگاهی به اطلاعات دقیق اولین بلاک تولید شده در شبکه بلاکچین بیت کوین میاندازیم:
- تعداد تراکنشهای شبکه: ۱
- کارمزد انتقال (Transaction Fee) : 0 دلار
- طول بلاک (Block Height) : 0
- برچسب زمانی (Time Stamp) : 3 ژانویه سال ۲۰۰۹
- عدد نانس (Nonce Number) : 208393
- سختی استخراج بلاک (Block Difficulty) : 1
پارامترهایی که در بالا مشاهده کردید، در تمام بلاکهای ایجادشده مشترکاند، در ادامه به بررسی مفاهیم هر کدام از این پارامترها میپردازیم:
طول بلاک (Block Height)
طول بلاک شامل تعداد بلاکهای تولیدشده منهای بلاک فعلی است. به همین دلیل است که این پارامتر در بلاک پیدایش برابر با صفر است؛ زیرا قبل از این بلاک، بلاکی وجود نداشته است. همچنین این عدد، به ترتیب به بلاکها داده میشوند و در مواردی نادر نیز پیش میآید که Block Height چند بلاک، یکسان باشد.
ارتفاع یک شبکه بلاکچین، برابر با بالاترین طول بلاک است. برای مثال طول شبکه بلاک چین بیت کوین در زمان نوشتن این مقاله برابر ۷۱۷۱۸۱ است.
برچسب زمانی (Time Stamp)
برچسبهای زمانی، پارامترهایی مهم برای بلاکها هستند که زمان پیدایش و تولید آنها را در خود نگهداری میکنند. برچسبهای زمانی کاملاً دقیق نیستند و خطا دارند؛ ولی خطاهای آنها کوچک و قابل چشمپوشی است.
برای ثبت اطلاعات در این پارامتر، از اطلاعات سیستم ماینرها استفاده نمیشود؛ چراکه ماینرها به سادگی میتوانند با تغییر ساعت و تاریخ سیستم خود، اطلاعات جعلی به بلاک ارائه دهند. همچنین موقعیت قرارگیری یک بلاک در زنجیره، ربطی به برچسب زمانی آن ندارد.
عدد نانس (Nonce)
این عدد، همان عددی است که تمام ماینرها آرزو دارند آن را به دست بیاورند! همانطور که میدانید، ماینرها با حل مسائل سخت ریاضی سعی دارند این عدد را پیدا کنند. ماینری که زودتر این عدد را پیدا کند، جایزه استخراج بلاک را از آنِ خود میکند. البته این روش پاداشدهی فقط در بلاک چینهایی که با الگوریتم اثبات کار (Proof Of Work) فعالیت میکنند صدق میکند.
سختی بلاک یا سختی استخراج بلاک (Block Difficulty)
سختی استخراج بلاک، به این معنی است که چه مدت طول میکشد تا یک ماینر بتواند معادلات سخت ریاضی را حل کند و به عدد نانس دست یابد تا بتواند یک بلاک به شبکه بلاکچین اضافه کند.
معمولاً فاصلههای زمانی بین استخراج هر بلاک یکسان است. این عدد برای بیت کوین ۱۰ دقیقه است؛ به این معنی که استخراج هر بلاک بیت کوین حدود ۱۰ دقیقه طول میکشد. بنابراین هر ۱۰ دقیقه یک بار، یک بلاک به زنجیره بیت کوین اضافه میشود.
البته سیستم بلاکچین، هر چند وقت یک بار اقدام به بررسی وضعیت شبکه میکند و بنا بر دلایلی ممکن است سختی شبکه یا سختی بلاک را کم و زیاد کند.
نودهای (Node) شبکه بلاک چین به چند بخش تقسیم میشوند؟
همانطور که میدانید، نودها وظیفه تأمین امنیت شبکه بلاک چین را بر عهده دارند. در واقع تأمین امنیت یکی از مهمترین وظایف آنها است. به طور کلی، نودهای شبکههای بلاک چینی به دو نوع Full Node و Light Weight Node تقسیم میشوند.
فول نودها (Full Node) تراکنشها را بررسی و تأیید میکنند. این نودها نسخهای کامل از تمام بلاک چین را در حافظه خود نگه میدارند؛ بنابراین Full Node ها نیاز به حافظه یا مموری (Memory) و قدرت پردازش بسیار بالایی دارند. همچنین این نوع نودها نقش مهمی در تأمین امنیت شبکه دارند.
لایت نودها (Light Weight Node) یا نودهای سبک، بر خلاف Full Node ها نیازی به نگهداری نسخهای کامل از شبکه بلاک چین ندارند. این نودها برای فعالیت به فول نودها وابسته هستند و برای دانلود بخشهایی از اطلاعات بلاکچین، باید از فول نودها درخواست دسترسی کنند.
یکی دیگر از تفاوتهای این دو Node به بلاک پیدایش مربوط میشود. Full Node ها تمام کدهای بلاک پیدایش را در حافظه خود ذخیره کردهاند ولی Light Weight Node ها نیازی به دسترسی به این کدها ندارند.