⛓ دانشکدهٔ ۲ · مبانی بلاکچین
بلاکچین چیست؟ دفتر کل توزیعشده، نودها و اعتبارسنجها
What is a blockchain? Distributed ledger, nodes and validators
پیشنیازها: ندارد
📚 آموزش در سه سطح
از سطح ساده شروع کنید؛ اگر روشن بود، سطح بعد را بخوانید. سطح مناسب شما ذخیره میشود.
🌱 توضیح ساده
بلاکچین یک دفتر حساب مشترک است که بهجای اینکه نزد یک بانک یا یک شرکت نگهداری شود، هزاران نسخهٔ یکسان از آن روی رایانههای مستقل در سراسر جهان وجود دارد. هر صفحهٔ این دفتر یک «بلاک» است که فهرستی از تراکنشها را در خود دارد، و هر صفحهٔ تازه به صفحهٔ قبلی گره خورده است؛ به همین دلیل به آن «زنجیرهٔ بلاکها» میگویند. هیچکس بهتنهایی صاحب این دفتر نیست و هیچکس هم نمیتواند بیسروصدا یک سطر قدیمی آن را پاک یا عوض کند.
یک صندوق قرضالحسنهٔ خانوادگی را تصور کنید که بهجای یک دفتر نزد صندوقدار، هر عضو خانواده یک نسخهٔ کامل از دفتر را دارد. هر وقت کسی پولی میدهد یا میگیرد، خبرش برای همه فرستاده میشود و هر کس در دفتر خودش مینویسد، به شرطی که قاعدهها رعایت شده باشد؛ مثلاً کسی نتواند بیشتر از موجودیاش خرج کند. اگر یک نفر بخواهد دفتر خودش را دستکاری کند، نسخهاش با نسخهٔ بقیه نمیخواند و همه متوجه میشوند. بلاکچین همین ایده است، با این تفاوت که اعضا همدیگر را نمیشناسند و قاعدهها با ریاضی و رمزنگاری اجرا میشود، نه با اعتماد شخصی.
دو نکته را از همین ابتدا به خاطر بسپارید. اول اینکه بلاکچین با بیتکوین یکی نیست؛ بیتکوین نخستین و شناختهشدهترین کاربرد بلاکچین است، اما اتریوم و شبکههای دیگر هم بلاکچین خودشان را دارند. دوم اینکه بلاکچین اعتماد را از بین نمیبرد، بلکه جای آن را عوض میکند: بهجای اعتماد به یک صندوقدار، به قواعد باز، کد قابل بررسی و انگیزهٔ اقتصادی شرکتکنندگان اعتماد میکنید. این جابهجایی هم مزیت دارد و هم هزینه، که در درسهای بعدی با آن آشنا میشوید.
📘 توضیح متوسط
به چنین دفتری «دفتر کل توزیعشده» میگویند. هر رایانهای که نرمافزار شبکه را اجرا میکند و با بقیه در ارتباط است «نود» نامیده میشود. مهمترین نوع آن «نود کامل» است: نودی که کل تاریخچه را دریافت میکند و هر تراکنش و هر بلاک را مستقل با قواعد شبکه میسنجد؛ مثلاً بررسی میکند امضاها معتبر باشند، پولی دو بار خرج نشده باشد و پاداش بلاک از سقف مجاز بیشتر نباشد. نود کامل اگر بلاکی خلاف قاعده ببیند، آن را رد میکند، حتی اگر بیشتر ماینرها آن را ساخته باشند.
انواع دیگری هم وجود دارد. «نود هرسشده» همهٔ بلاکها را بررسی میکند ولی پس از بررسی، بلاکهای قدیمی را پاک میکند تا فضای دیسک کمتری بگیرد. «نود آرشیوی» علاوه بر بلاکها، وضعیت تاریخی کامل شبکه را نگه میدارد و بیشتر به کار مرورگرهای بلاکچین و تحلیلگران میآید. «کلاینت سبک» (در بیتکوین SPV) فقط سربرگ بلاکها را دریافت میکند و برای بقیهٔ اطلاعات به نودهای کامل تکیه میکند؛ بیشتر کیف پولهای موبایلی چنیناند و در نتیجه امنیت آنها تا حدی به صداقت نودهایی که به آنها وصلاند وابسته است.
برخی نودها علاوه بر بررسی، بلاک تازه هم تولید میکنند. در شبکههای اثبات کار مثل بیتکوین به آنها «ماینر» و در شبکههای اثبات سهام مثل اتریوم «اعتبارسنج» (Validator) میگویند. مسیر یک تراکنش معمولاً این است: کاربر تراکنش را با کلید خصوصیاش امضا میکند، آن را برای چند نود میفرستد، نودها پس از بررسی آن را به همسایههایشان بازپخش میکنند (gossip)، تراکنش در «ممپول» هر نود منتظر میماند، و تولیدکنندهٔ بلاک آن را در بلاک بعدی میگذارد. در بیتکوین هدف این است که بهطور میانگین هر ده دقیقه یک بلاک ساخته شود و در اتریوم زمان به اسلاتهای ۱۲ ثانیهای تقسیم شده است.
🔬 توضیح تخصصی
مسئلهٔ اصلی که بلاکچینهای بدون مجوز حل میکنند، رسیدن به توافق میان طرفهایی است که یکدیگر را نمیشناسند و برخیشان ممکن است دروغ بگویند؛ در ادبیات علوم رایانه به این وضعیت «مسئلهٔ ژنرالهای بیزانسی» میگویند. سختتر از آن «حملهٔ سیبیل» است: در شبکهای که هر کس میتواند بیهزینه هزاران هویت جعلی بسازد، رأیگیری بر اساس تعداد نود بیمعناست. راهحل این است که حق پیشنهاد بلاک به منبعی کمیاب و پرهزینه گره بخورد: انرژی و سختافزار در اثبات کار، یا سرمایهٔ قفلشده در اثبات سهام. سازوکار اجماع در واقع از دو جزء تشکیل میشود: مقاومت در برابر سیبیل و «قاعدهٔ انتخاب زنجیره» که مشخص میکند در صورت وجود دو شاخهٔ رقیب، کدام شاخه معتبر است.
باید میان «تولید بلاک» و «اعتبارسنجی» تمایز گذاشت. ماینرها یا اعتبارسنجها ترتیب تراکنشها را پیشنهاد میدهند، اما این نودهای کاملاند که تعیین میکنند چه چیزی اصلاً معتبر است. اگر اکثریت قدرت استخراج بلاکی بسازد که مثلاً پاداشی بیش از حد مجاز به خودش بدهد، نودهای کامل آن را نمیپذیرند و آن بلاک از نگاه آنها وجود ندارد. به همین دلیل در بیتکوین بر هزینهٔ پایین اجرای نود کامل تأکید میشود: هرچه افراد بیشتری بتوانند خودشان قواعد را بررسی کنند، تغییر یکجانبهٔ قواعد دشوارتر است. شمارش دقیق نودها هم ممکن نیست، چون بسیاری از نودها پشت فایروالاند و اتصال ورودی نمیپذیرند؛ آمار سایتهای پایش نود فقط تخمین است.
بلاکچین «تغییرناپذیر» به معنای مطلق نیست؛ دقیقتر این است که بگوییم دستکاری در آن «آشکار» و «پرهزینه» است. هزینهٔ بازنویسی تاریخچه با عمق بلاک و میزان منابع امنیتی شبکه رشد میکند، و در نهایت به توافق اجتماعی کاربران هم وابسته است؛ چنانکه در فورکها خواهید دید. همچنین بلاکچین همیشه راهحل درست نیست. اگر یک طرف مورد اعتماد وجود دارد و نیازی به مقاومت در برابر سانسور یا مشارکت آزاد نیست، یک پایگاه دادهٔ معمولی سریعتر، ارزانتر و سادهتر است. بلاکچینهای «مجوزدار» (مثل Hyperledger Fabric) فقط به اعضای شناختهشده اجازهٔ مشارکت میدهند و کارایی بیشتری دارند، ولی ویژگی کلیدی شبکههای عمومی یعنی دسترسی آزاد و بینیازی از اجازه را ندارند.
🌍 مثال واقعی: آغاز شبکهٔ بیتکوین: وایتپیپر ۲۰۰۸ و بلاک پیدایش ۲۰۰۹
در ۳۱ اکتبر ۲۰۰۸ مقالهای ۹ صفحهای با عنوان «بیتکوین: یک سامانهٔ پول نقد الکترونیکی همتا به همتا» با نام مستعار ساتوشی ناکاموتو منتشر شد. این مقاله دقیقاً همین مسئله را هدف گرفته بود: چگونه بدون بانک یا واسطهٔ مورد اعتماد، از خرج دوبارهٔ یک پول جلوگیری کنیم.
در ۳ ژانویهٔ ۲۰۰۹ نخستین بلاک شبکه، موسوم به «بلاک پیدایش» (بلاک شمارهٔ صفر)، ساخته شد. در تراکنش پاداش این بلاک، تیتر روزنامهٔ تایمز همان روز دربارهٔ نجات مالی دوم بانکها نوشته شده است؛ چیزی شبیه مهر تاریخ که نشان میدهد بلاک زودتر از آن تاریخ ساخته نشده است. نخستین انتقال بیتکوین بین دو نفر هم در ۱۲ ژانویهٔ ۲۰۰۹ در بلاک ۱۷۰ ثبت شد: ساتوشی ۱۰ بیتکوین برای هال فینی فرستاد.
همهٔ اینها امروز هم قابل بررسی است: در mempool.space کافی است بلاک شمارهٔ ۰ یا ۱۷۰ را جستوجو کنید. هر نود کامل بیتکوین همین بلاکها را از روی نسخهٔ خودش بررسی کرده است؛ این یعنی «دفتر کل توزیعشده» در عمل.
🔤 واژگان تخصصی
پایگاه دادهای از تراکنشها که نسخههای یکسانش نزد شرکتکنندگان متعدد نگهداری و با قواعد مشترک بهروز میشود، بدون اینکه یک مرجع مرکزی نسخهٔ اصلی را در اختیار داشته باشد.
مثال: هر نود کامل بیتکوین یک نسخهٔ کامل از همهٔ بلاکها از ۲۰۰۹ تاکنون را دارد.
نرمافزاری که همهٔ بلاکها و تراکنشها را دریافت و مستقل با قواعد اجماع اعتبارسنجی میکند و موارد نامعتبر را رد میکند.
مثال: اجرای Bitcoin Core روی رایانهٔ شخصی شما را به یک نود کامل تبدیل میکند که به گفتهٔ هیچکس اعتماد نمیکند.
کلاینتی که فقط سربرگ بلاکها را نگه میدارد و برای اثبات حضور تراکنشها از نودهای کامل اثبات مرکل میگیرد.
مثال: بسیاری از کیف پولهای موبایلی سبکاند تا حجم چند صد گیگابایتی زنجیره را دانلود نکنند.
در شبکههای اثبات سهام، شرکتکنندهای که با قفلکردن رمزارز حق پیشنهاد و تأیید بلاک پیدا میکند و در صورت تخلف جریمه میشود.
مثال: در اتریوم هر اعتبارسنج برای فعالشدن دستکم ۳۲ ETH بهعنوان وثیقه قفل میکند.
مجموعهٔ تراکنشهای معتبری که هر نود دریافت کرده ولی هنوز در بلاکی ثبت نشدهاند؛ هر نود ممپول مخصوص خودش را دارد.
مثال: وقتی شبکه شلوغ است، ممپول بزرگ میشود و تراکنشهای کمکارمزد دیرتر تأیید میشوند.
🔑 نکات کلیدی
- بلاکچین دفتری مشترک است که نسخههای یکسانش نزد نودهای مستقل نگهداری میشود و هر بلاک به بلاک قبلی گره خورده است.
- نودهای کامل قواعد را اجرا میکنند؛ ماینرها و اعتبارسنجها فقط بلاک پیشنهاد میدهند و بلاک خلاف قاعده را نودها رد میکنند.
- اجماع در شبکهٔ باز به منبعی کمیاب (انرژی یا سرمایهٔ قفلشده) گره میخورد تا ساختن هویتهای جعلی فایده نداشته باشد.
- تغییرناپذیری مطلق نیست؛ دستکاری آشکار و با عمق بلاکها پرهزینهتر میشود.
- بلاکچین برای هر مسئلهای مناسب نیست؛ وقتی طرف مورد اعتماد وجود دارد، پایگاه دادهٔ معمولی کاراتر است.
⚠️ اشتباهات رایج
- یکیدانستن بلاکچین و بیتکوین؛ بیتکوین فقط یکی از کاربردهاست و شبکههای مختلف قواعد و ساختار متفاوتی دارند.
- تصور اینکه ماینرها یا اعتبارسنجها قواعد را تعیین میکنند؛ آنها فقط ترتیب تراکنشها را پیشنهاد میکنند و اعتبار را نودهای کامل میسنجند.
- باور به اینکه هر چیزی که روی بلاکچین ثبت شد «حتماً درست» است؛ بلاکچین فقط ثبت را تضمین میکند، نه صحت اطلاعاتی که از بیرون وارد آن شده است.
- اعتماد کامل به کیف پول سبک بدون آگاهی از اینکه به نودهای دیگران تکیه دارد؛ این کار پیشفرض امنیتی شما را عوض میکند.
🛠 تمرین عملی: دیدن دفتر کل توزیعشده در مرورگر بلاکچین
- به mempool.space بروید (یا از ابزار تراکنش آزمایشگاه آکادمی استفاده کنید) و بلاک شمارهٔ ۰ را جستوجو کنید.
- تاریخ بلاک، تعداد تراکنشها و پاداش آن را یادداشت کنید.
- بلاک شمارهٔ ۱۷۰ را باز کنید و تراکنش غیرپاداشی آن را پیدا کنید؛ مبلغ و تعداد خروجیها را بنویسید.
- به صفحهٔ اصلی برگردید و ببینید اکنون چند تراکنش در ممپول منتظر است و آخرین بلاک چند دقیقه پیش ساخته شده است.
- در دو یا سه جمله توضیح دهید چرا این اطلاعات را هر کسی بدون اجازه از یک مرجع مرکزی میتواند ببیند و بررسی کند.
✅ معیار درستی: تاریخ بلاک ۰ باید ۳ ژانویهٔ ۲۰۰۹ و تاریخ بلاک ۱۷۰ باید ۱۲ ژانویهٔ ۲۰۰۹ باشد و انتقال ۱۰ بیتکوینی را در بلاک ۱۷۰ دیده باشید؛ اعداد ممپول متغیرند و فقط باید با لحظهٔ مشاهدهٔ خودتان سازگار باشند.
🔒 در هیچ تمرینی از سرمایهٔ واقعی، عبارت بازیابی (Seed Phrase)، کلید خصوصی یا اتصال کیف پول اصلی استفاده نکنید.
📝 آزمون تطبیقی
هر بار ۵ سؤال از بانک ۹ سؤالی این درس انتخاب میشود؛ سؤالهایی که قبلاً اشتباه زدهاید زودتر برمیگردند. حدنصاب قبولی ۸۰٪ (۴ از ۵) است و درس بعد با قبولی باز میشود.
✍️ پرسش تشریحی
توضیح دهید چرا در بیتکوین گفته میشود «قواعد را نودهای کامل اجرا میکنند، نه ماینرها». یک سناریو مثال بزنید که در آن این تمایز اهمیت عملی پیدا میکند.
بعد از نوشتن، پاسخ خود را با این معیارها بسنجید
خودارزیابی: هر نکتهای را که پاسخ شما بهروشنی پوشش داده علامت بزنید.
🤖 دستیار آموزشی
دستیار آفلاین آکادمی: پاسخها فقط از متن درسها و واژگان همین آکادمی پیدا میشوند و منبع هر پاسخ نشان داده میشود. هوش مصنوعی مولد نیست، حدس نمیزند و هیچ سیگنال خرید و فروشی نمیدهد.
📎 منابع مطالعاتی
- Bitcoin: A Peer-to-Peer Electronic Cash System (Satoshi Nakamoto, 2008)
- Bitcoin Developer Guide — Block Chain
- ethereum.org — Nodes and clients
🏁 معیار تسلط بر این درس: بتوانید بدون نگاه به متن، نقش نود کامل، کلاینت سبک، ممپول و ماینر/اعتبارسنج را در مسیر یک تراکنش توضیح دهید و دلیل گرهزدن اجماع به منبعی کمیاب را بگویید.