ارزدیجیتال و بلاکچین بخش دوم
در بخش اول ارزدیجیتال و فتاوری بلاکچین به تاریخچه، هویت اشخاص، نحوه انجام تراکنش و …. پرداختم.
ارزدیجیتال و بلاکچین بخش دوم
نحوه ثبت تراکنش
مشتری بعد از ایجاد رکورد تراکنش آن را به همهی گرههای شبکه ارسال میکند. که در اصطلاح به آن Broadcast میگویند. پس از این اتفاق کل شبکه از انجام تراکنش بین دو گره با خبر میشوند. اما تراکنش در صورتی قطعی خواهد شد که در دفترکل شبکه ثبت شود. زنجیرهای از بلوکها که تمامی تراکنشها از ابتدای سیستم تا الان را نمایش میدهد. دفاترکل در بیتکوین به صورت Blockchain ذخیره میشوند. تمامی گرههای شبکه یک کپی از زنجیره Blockchain را در اختیار دارند. همهی گرهها بدون نیاز به یک نهاد متمرکز میتوانند درستی تراکنشهای داخل زنجیره را بررسی کنند. در صورت دستکاری و یا تقلب یک گره در زنجیره بقیه گره متوجه خواهند شد و آن را رد میکنند.
جزئیات فناوری بلاکچین
- هر 10 دقیقه یکبار یک بلاک جدید به زنجیره اضافه میشود.
- کل شبکه اولین زنجیره بلاک که Genesis Block نام دارد، در اختیار دارند.
- هر بلاک شامل عناصر زیر است:
-
- شماره بلاک.
- اطلاعات تراکنشهای انجام شده در این دوره.
- چکیده بلاک قبلی.
- چکیده بلاک فعلی با شرایط خاص.

ثبت تراکنش در زنجیره بلاک به چه صورت است؟
ثبت یک بلاک جدید در زنجیره قوانین خاص خودش را دارد. در صورتی که این قوانین رعایت نشود بلاک توسط بقیه افراد جامعه رد خواهد شد. ماینر (Miner) به شخصی گفته میشود که یک گره از این شبکه است. وقتی این شخص وارد شبکه میشود سعی میکند تراکنش را ثبت کند. در ازای ثبت این تراکنشها به آن پاداش تعلق میگیرد که همان بيتکوين است. اين تراکنش به اين صورت است که بايد يک سری محاسبات سنگين توسط پردازشگرهایی (مانند کارت گرافیک و یا دستگاههای ماینر) انجام شود تا تراکنش ثبت شود و پاداش تعلق بگیرد.
روش ساخت یک بلاک جدید و تأیید آن
همانطور که در بالا گفتم، هر 10 دقیقه یک بار یک بلاک جدید به شبکه اضافه میشود. در 10 دقیقه کلیه کاوشگرهای شبکه تمامی تراکنشهای دریافت شده را دریافت میکنند. تراکنش دريافت شده را به همراه چکيده آخرين بلاک در يک بلاک جديد قرار میدهند. سپس سعی میکنند مقداری را پیدا کنند که با اضافه کردن آن به محتوای بلاک جدید چکیده آن دارای d بیت صفر در انتهای آن است. اولین فردی که آن را پیدا کرد بلافاصله آن را در کل شبکه منتشر میکند.
حالا افرادی که بلاک جدید را دریافت میکنند ابتدا صحت ان را بررسی میکنند. طبق روال باید بررسی کنند که:
- بلاک جدید دارای چکیده بلاک قبلی است.
- چکیده بلاک جدید دارای تعداد صفرهای درست باشد.است
- و در نهایت اگر بلاک معتبر بود، آنرا به انتهای زنجیره خود اضافه کنند.
تأیید زنجیره تراکنشها
هر فردی قادر است به تنهایی زنجیره تمامی تراکنشهای انجام شده را دریافت و آنها را اعتبار سنجی کند. برای این کار تنها به بلاک شماره صفر (اولین بلاک) نیاز است که معروف به Genesis است. بنابراین نیاز نیست یک فرد مرتب در حال نظارت بر شبکه باشد. از همین رو یک گره میتواند برای مدتی از شبکه خارج شود و پس از برگشت به شبکه با دریافت بلاکهای جدید و داشتن آخرین گره، کل زنجیره را بررسی و در صورت صحت به اطلاعات خود اضافه کند. لازم است بدانید که حجم کلیه اطلاعات به چندصد گیگ میرسد و بررسی کل زنجیره نیاز به چند ماه زمان دارد. به همین خاطر برای کارایی بهتر هر گره آخرین بلاک تأیید شده نگه میدارد و انجام کار را ادامه میدهد.
امیدواریم از این مقاله اطلاعات مفیدی کسب کنید.



















محاسباتی که ماینر انجام میده دقیقا چه نوع فرمول یا الگوریتمیه؟
در هر توکنی تفاوت دارد و برای متوجه شدن آن بهتر است وایت پیپر آن را بخوانید.
اگر یک گره مدت طولانی آفلاین باشه، همونقدر زمان برای همگامسازی طول میکشه؟
برای این موضوع بهتر است وایت پیپر هر توکن را بخوانید.
بلاک Genesis دقیقاً چه اطلاعاتی رو ذخیره میکنه؟
بلاک Genesis اولین بلاک یک بلاکچین است که نقطه آغاز زنجیره را تشکیل میدهد و مانند سایر بلاکها شامل هدر بلاک (نسخه، هش بلاک قبلی که در اینجا صفر است، ریشه مرکل تراکنشها، زمان ایجاد، سختی و نانس) و لیست تراکنشهاست، با این تفاوت که معمولاً فقط یک تراکنش Coinbase اولیه دارد که سکههای اولیه را تولید میکند و قابل خرجکردن نیست. این بلاک معمولاً یک پیام یا داده خاص هم در خود دارد؛ مثلاً در بیتکوین، ساتوشی ناکاموتو پیام معروف روزنامه تایمز را در آن قرار داد تا تاریخ و هدف پروژه را ثبت کند.
اگر ماینر مقدار d بیت صفر رو پیدا نکنه چی میشه؟
اگر ماینر نتواند مقداری پیدا کند که هش بلاک با d بیت صفر اولیه (یا هر شرط سختی شبکه) مطابقت داشته باشد، عملاً بلاک معتبر تولید نمیکند و باید با تغییر نانس یا دادههای دیگری مانند extra nonce یا حتی ترتیب تراکنشها دوباره تلاش کند. این فرایند یک چرخه بیپایانِ آزمون و خطاست که تا پیدا شدن یک هش معتبر ادامه دارد؛ بنابراین موضوع «پیدا نکردن» به معنای توقف یا شکست نیست، بلکه به معنای ادامه دادن جستجو تا موفقیت است.
آیا این فاصله زمانی در همه بلاکچینها یکسانه یا فقط در بیتکوین اینطوره؟
فاصله زمانی تولید بلاک در همه بلاکچینها یکسان نیست و توسط طراحی پروتکل تعیین میشود. در بیتکوین هدف این است که هر بلاک حدود ۱۰ دقیقه یکبار پیدا شود، در حالی که اتریوم قبل از مهاجرت به PoS حدود ۱۳ ثانیه، لایتکوین حدود ۲.۵ دقیقه و مونرو حدود ۲ دقیقه زمان هدف داشتند. این زمانها از طریق تنظیم سختی شبکه (difficulty adjustment) کنترل میشوند و صرفاً به بیتکوین محدود نیستند، بلکه هر بلاکچین بنا به نیاز خود هدف زمانی متفاوتی تعیین میکند.