چگونه اطلاعات یک بلوک از بلاکچین را بخوانیم

در پست قبلی یاد گرفتیم که چه طور اطلاعات یک تراکنش از تاریخچه کل تراکنش‌ها را که در بستر بلاک چین بیت کوین ذخیره شده‌است را بخوانیم. اما مجموع این تراکنش‌ها که در قالب یک بلوک هستند، چه اطلاعاتی دربردارند و چگونه می‌توانیم این اطلاعات را آنالیز کنیم؟خب درواقع به سادگی :)برای اینکه یک بلوک خاص را بررسی کنیم، کلید عمومی (یا به اصطلاح هشِ آدرس) را در مرورگر بلاک چینی که انتخاب کرده‌ایم وارد می‌کنیم. در این پست نیز از هشی استفاده می‌کنیم که در بررسی تراکنش انتخاب کرده بودیم:57039a5cf004fd4746ab508deb0093a5181fb93ead1fbf0b0ebf375b2e817fb6هش بالا را در بلاک چین اکسپلورر وارد می‌کنیم تا اطلاعات تراکنش را ببینیم.برای بررسی بلوکی که این تراکنش در آن قرار دارد می‌توانیم روی هشی که در ردیف آخر دیده ‌می‌شود (Included block) کلیک کنیم و یا شماره بلوک را (487978) را سرچ کنیم. این کار اطلاعات کامل بلوک را به ما نشان خواهد داد. در پایین خلاصه یا Summery این بلوک اطلاعاتی (مانند تصویر زیر) مشاهده می‌شود. {پیشنهاد می‌کنیم که هم‌زمان با خواندن مقاله بلاک‌اکسپلورر را در تب دیگر باز کرده و مطالب را مرحله‌به‌مرحله انجام دهید و قبل از خواندن ادامه‌ی مطلب، یک بار به آن‌ها توجه کنید تا سوالاتی که برای شما ایجاد می‌شود، پاسخ داده شود؛ در این صورت مطالب به‌تر در خاطر شما می‌ماند و قابل فهم‌تر خواهد بود :)‌} تعداد تراکنش‌ها (Number of transactions):هر بلوک شامل مجموعه‌ای از تراکنش‌هاست؛ در بلوک مورد مطالعه‌ی ما 2712 تراکنش وجود دارد. البته بلوکی که ما در حال بررسی آن هستیم متعلق به یک صرافی بوده و به همین دلیل تعداد تراکنش‌های موجود در آن بسیار بالاتر از معمول است. اما شما میتوانید از این لینک بررسی‌های بیشتری در رابطه با حداقل و حداکثری تعداد تراکنش‌ها در واحد بلوک، انجام دهید.ارتفاع (Height):بلوک‌ها در بلاک چین به اصطلاح روی هم به صورت زنجیری قرار می‌گیرند. این عدد موقعیت قرارگیری در بلاک چین را نشان می‌دهد و هر چه بزرگتر باشد، بلوک ما جدیدتر است؛ و به تازگی در بلاک چین قرار گرفته‌است. البته زمانی که به قرارگیری زنجیروار فکر می‌کنیم، تمایل داریم آن را به صورت طولی و افقی درنظر بگیریم؛ به همین علت می‌توان ارتفاع را طول بلاک چین منهای یک نیز درنظر گرفت.دستمزد (Block reward)دستمزد یا جایزه‌ای که به ماینرها به ازای استخراج بلوک و قراردادن آن در بلاک چین به آن‌ها پرداخت می‌شود در این قسمت قابل مشاهده‌است. این عدد درحال حاضر 12.5 بیت کوین بوده و هر 4 سال یک بارنصف می‌شود. در ماه می 2020 این عدد به 6.25 بیت کوین خواهد رسید.برچسب زمانی (Timestamp):بلوک‌ها با توجه به زمان دقیق ایجاد هشِ آن‌ها، در بلاک چین قرار می‌گیرند. این برچسب‌ها از این لحاظ حائز اهمیت هستند که مشکل double spending یا خرج دوباره‌ی ارزهای دیجیتال را رفع کردند. و این راه‌حل اولین بار در وایت‌پیپر بیت کوین توسط ساتوشی ناکاموتو ارائه شد.استخراج کننده (Mined by):کسی که این بلوک را استخراج کرده می‌تواند نام خود، شرکت، گروه و یا سازمان خود را در این قسمت بیان کند؛ اما پر کردن این بخش اجباری نیست و به همین دلیل خالی گذاشته شده‌است. شما می‌توانید در این صفحه تعدادی بلوک را ببینید که توسط Slushpool و Antminer استخراج شده‌اند.ریشه مرکل (Merkel Root) :ریشه مرکل مقداری‌ست که در نهایت از درخت مرکل بدست می‌آید؛ و هش تمامی تراکنش‌های این بلوک به علاوه‌ی ترتیب قرارگیری آن‌هاست. مرکل روت به هنگام تصدیق محتوای بلوک (و نه خودِ بلوک) استفاده می‌شود.بلوک قبل و بعد (Next Block و Previous Block):بلوک‌ها برای افزایش امنیت و همینطور یک‌پارچگی و ارتباط شبکه، به یکدیگر متصل‌اند. می‌توان با کلیک بر روی آن‌ها، اطلاعات بلوک قبل و بعد را مشاهده‌ کرد.سختی (Difficulty):سختی شبکه یک مقدار ریاضی‌ست که میزان دوشواری‌‌ (!) یافتن هش مناسب برای تصدیق این بلوک را نشان می‌دهد. اگر ثابت بودن زمان تقریبی ماین بلوک‌ها (حدود 10دقیقه) را فرض ثابت مساله بدانیم، در این صورت با افزایش تعداد ماینرها، سختی بایستی افزایش یابد تا مدت استخراج با آن متناسب شود.بیت‌ها (Bits):هر بلوک سختی خود را در قالب بیت ذخیره می‌کند. بیت‌ها درواقع نماینده‌ی هگزادسیمال سختی هستند و توسط این الگوریتم محاسبه می‌گردند.اندازه (Size):اندازه به سایز کلی بلوک اشاره می‌کند. اندازه بلوک ما 991124 (0.991مگابایت) است که نزدیک به حجمحداکثری یعنی 1مگابایت می‌باشد.نسخه (Version):ورژن درواقع اعدادی‌ست که نرم‌افزارماینرها برای مخابره آپدیت‌های جدید در شبکه از آن استفاده می‌کنند.نانس (Nonce):نانس یک عدد تصادفی‌ست که به ترکیب تراکنش‌ها، داده‌ی تراکنش‌ها، ریشه مرکل و سایر اطلاعات اضافه می‌شود تا الگوریتم PoW بتواند هش مورد نظر سختی شبکه را (جواب صحیح معادله) را بیابد. هدف نهایی یافتن هشی‌ست که از عدد سختی شبکه کوچکتر باشد. یافتن عددی مطابق با این شرط، موجب تصدیق بلوک می‌شود.و اما قسمت آخر؛در قسمت پایین‌تر تمام تراکنش‌ها دیده می‌شود؛ ما تنها به یکی از آن‌ها می‌پردازیم. در تراکنش بالا می‌بینیم که آدرس ورودی یا مبدا که در سمت چپ دیده می‌شود، مقدار 0.5 بیت کوین داشته و که نصف این مبلغ را به دو آدرس مختلف فرستاده؛ علامت (S (spent به معنی خرج‌شده یا (U (Unspent یعنی خرج نشده را می‌بینیم؛ که نشان میدهد آیا مبلغ هنوز در آدرس قرار دارد یا خیر. با توجه به وجود علامت S در کنار این آدرس‌ها متوجه می‌شویم که این مقادیر خرج شده و در حال حاضر در این آدرس‌ها موجود نیست. اما یک سوال؛چرا مقدار یکی از مقادیر از 0.25 (نصف نیم) کمتر است؟دلیل، وجود کارمزد یا فی تراکنش است (سمت چپ؛ کادر مستطیل خاکستری).ماینرها علاوه بر دریافت دستمزد (Block reward) از شبکه، مقدار بسیار اندکی کارمزد نیز در ازای صحت‌سنجی انجام شده از فرستنده دریافت می‌کنند.خب تبریک می‌گوییم؛ شما حالا میتوانید به راحتی اطلاعات تراکنش‌ها و بلوک‌ها را تحلیل کنید ?برای نگارش این مقاله از منابع زیر استفاده شده‌است:Bitfalls