نود در بلاکچین رایانه‌ای است که نرم‌افزار شبکه را اجرا می‌کند و بسته به نوع خود، اطلاعات را دریافت، بررسی، ذخیره یا به دیگر همتاها منتقل می‌کند. بعضی نودها تمام قواعد مربوط به تراکنش و بلاک را مستقلا کنترل می‌کنند؛ بعضی دیگر برای دریافت بخشی از داده‌ها به سرویس‌های بیرونی نیاز دارند. نود، ماینر و اعتبارسنج یک مفهوم نیستند. نودها زیرساخت ارتباط و بررسی را می‌سازند و تولیدکنندگان بلاک طبق قواعد اجماع نقش دیگری دارند.

برای دیدن تفاوت این نقش‌ها، مسیر یک تراکنش را دنبال می‌کنیم: از لحظه ارسال توسط کیف پول تا پخش‌شدن میان نودها، ساخته‌شدن بلاک و نهایی‌شدن آن. دو نمونه مشخص ما بیت کوین و اتریوم هستند؛ نباید تمام بلاکچین‌ها را به این دو الگو محدود کنیم.

نود در بلاکچین چیست و چه کاری انجام می‌دهد؟

برخلاف سامانه‌ای با پایگاه داده مرکزی، در یک بلاکچین عمومی چندین مشارکت‌کننده مستقل نسخه خود از وضعیت شبکه را دنبال می‌کنند. نود یا گره (Node) برنامه‌ای است که با همتاهای شبکه ارتباط دارد و مطابق نقش خود در نگهداری یا سنجش اطلاعات مشارکت می‌کند. دریافت پیام با معتبر دانستن آن فرق دارد: نود کامل می‌تواند بلاک نامعتبر را رد کند، حتی اگر آن بلاک از همتای شناخته‌شده‌ای رسیده باشد.

اعتبارسنجی محلی معمولا بررسی امضا، درستی ساختار، رعایت قواعد خرج‌کردن یا موجودی و ارتباط بلاک با تاریخچه معتبر است. این معیارها به مدل زنجیره وابسته‌اند. اما اینکه بین چند شاخه معتبر کدام شاخه ادامه پیدا کند، مساله جداگانه‌ای است که به قواعد اجماع و انتخاب زنجیره مربوط می‌شود.

انواع نود: فول نود، نود سبک و نود آرشیوی

فول نود یا نود کامل چیست؟

فول نود (Full Node) داده‌های لازم را دریافت و طبق قواعد بلاکچین به‌طور مستقل بررسی می‌کند. در بیت کوین می‌توان فول نود را به‌شکل هرس‌شده (Pruned) اجرا کرد: داده‌های قدیمی پس از اعتبارسنجی از فضای محلی حذف می‌شوند، ولی قواعد پذیرش بلاک تغییر نمی‌کند. بنابراین «فول نود» الزام به ذخیره همیشگی همه بلاک‌ها روی دیسک نیست.

نود سبک چه تفاوتی با فول نود دارد؟

نود سبک (Light Node) برای مصرف کمتر منابع، همه داده‌ها را دریافت و اعتبارسنجی نمی‌کند. بعضی روش‌ها از هدر بلاک و اثبات‌های مرتبط استفاده می‌کنند. در اتریوم، طرح کلاینت سبک از داده هدر و امضاهای کمیته همگام‌سازی هم بهره می‌گیرد. سطح وابستگی به ارایه‌دهنده داده و تضمین امنیت در پیاده‌سازی‌های مختلف یکسان نیست. هر کیف پول موبایلی هم لزوما یک نود سبک مستقل نیست.

نود آرشیوی و RPC به چه کار می‌آیند؟

نود آرشیوی در زنجیره‌هایی مانند اتریوم به وضعیت‌های تاریخی دسترسی می‌دهد؛ مثلا یک سرویس تحلیل زنجیره ممکن است نیاز داشته باشد وضعیت حسابی را در بلاکی قدیمی بازیابی کند. آرشیوی‌بودن، نقشی متفاوت از «حق رای در اجماع» است. RPC نیز رابط پرس‌وجو و ارسال درخواست به نود است؛ ارایه‌دهنده RPC می‌تواند از زیرساخت نود کامل یا آرشیوی استفاده کند و لزوما حق تولید بلاک ندارد.

نوع مشارکت‌کنندهوظیفه اصلینکته‌ای که نباید اشتباه بگیریم
فول نودبررسی مستقل اعتبار داده‌ها و دنبال‌کردن زنجیرهاجرای آن به‌معنی استخراج نیست
نود سبکبررسی داده‌های منتخب با منابع محدودترممکن است به داده همتاها وابسته باشد
نود آرشیویفراهم‌کردن دسترسی به تاریخچه وضعیت شبکهحافظه بیشتر، نه حق رای بیشتر
ماینر یا اعتبارسنجمشارکت ویژه در ساخت یا رای‌دادن به بلاکنقش آنها با همه نودها یکسان نیست

نودها چطور همدیگر را پیدا می‌کنند و همگام می‌شوند؟

کشف همتا در شبکه P2P

در شبکه همتا به همتا (P2P) لازم نیست همه پیام‌ها از یک سرور واحد عبور کنند. نود تازه، نشانی همتاهای اولیه را پیدا می‌کند، با آنها ارتباط می‌گیرد و سپس همتاهای بیشتری می‌شناسد. بیت کوین برای معرفی همتا و تبادل داده پیام‌های شبکه‌ای مشخصی دارد. اتریوم برای کشف و ارتباط در لایه اجرا و اجماع از پشته‌های جداگانه‌ای استفاده می‌کند؛ به همین دلیل جزییات فنی دو شبکه قابل جایگزینی با یکدیگر نیست.

همگام‌سازی نودها

نود تازه یا نودی که مدتی خاموش بوده باید فاصله خود را با آخرین وضعیت شبکه جبران کند. در بیت کوین دانلود اولیه بلاک‌ها (IBD)، دریافت هدرها و اعتبارسنجی بلاک‌های مرتبط بخشی از این فرایند است. در اتریوم روش‌های همگام‌سازی می‌توانند از داده‌های خلاصه‌شده وضعیت برای افزایش سرعت استفاده کنند. سریع‌تر همگام‌شدن الزاما به معنی کنار گذاشتن همه بررسی‌های امنیتی نیست؛ تضمین‌ها به روش و کلاینت بستگی دارند.

انتشار تراکنش و بلاک چه مسیری دارد؟

وقتی کیف پول تراکنشی را امضا و ارسال می‌کند، ممکن است آن را به یک نود محلی یا سرویس RPC تحویل دهد. نود، پیش از پذیرش در مخزن تراکنش‌های منتظر (Mempool) و انتقال به همتاها، کنترل‌های لازم را انجام می‌دهد. هر نود می‌تواند بر اساس وضعیت و سیاست پذیرش خود تصمیم بگیرد. پس دیده‌شدن یک تراکنش در ممپول، نه تایید بلاک است و نه نهایی‌شدن انتقال.

سازنده بلاک تعدادی تراکنش را انتخاب می‌کند و بلاک پیشنهادی را به شبکه می‌فرستد. نودهای دیگر پس از دریافت، اعتبار آن را بررسی می‌کنند و در صورت سازگاری به زنجیره خود اضافه می‌کنند. در اتریوم امروزی، انتشار تراکنش‌ها و انتشار بلاک‌ها و رای‌ها در شبکه‌های همتای مرتبط با لایه اجرا و اجماع انجام می‌شود. پیام نادرست نباید صرفا به‌خاطر رسیدن از یک همتا پذیرفته شود.

اینفوگرافیک مسیر انتشار تراکنش از کیف پول به نودها و بلاک پیشنهادی
پخش‌شدن تراکنش میان نودها به معنی ثبت قطعی آن در بلاکچین نیست.

کشف همتا، همگام‌سازی و انتشار داده نقش‌های ارتباطی هستند؛ قواعد مستقل اعتبارسنجی و انتخاب زنجیره لایه بعدی اعتماد را می‌سازند. همچنین تاخیر شبکه یا قطعی ارتباط می‌تواند باعث شود نودها موقتا نماهای متفاوتی از جدیدترین بلاک داشته باشند.

اجماع در بلاکچین چیست؟

اجماع (Consensus) مجموعه قواعدی است که کمک می‌کند مشارکت‌کنندگان درباره وضعیت معتبر مشترک به نتیجه برسند. اعتبارسنجی محلی می‌گوید «این بلاک از نظر قواعد مجاز است یا نه؟»؛ اجماع می‌گوید «از میان شاخه‌های مجاز، کدام تاریخچه باید دنبال شود؟». مکانیسم اجماع می‌تواند قواعد تولید بلاک، مقاومت در برابر ساخت هویت‌های جعلی، انتخاب شاخه و نهایی‌شدن را در بر بگیرد. اثبات کار و اثبات سهام اجزای مهم چنین سازوکاری هستند، نه توصیف کامل همه اجزای آن.

اثبات کار در بیت کوین چگونه عمل می‌کند؟

در بیت کوین، ماینر برای پیدا کردن خروجی هش سازگار با هدف سختی شبکه تلاش می‌کند. اگر بلاک معتبر بسازد، نودهای دیگر می‌توانند آن را بررسی کنند. هنگام رقابت شاخه‌ها، معیار اصلی برای نودها بیشترین کار محاسباتی انباشته‌شده در زنجیره معتبر است، نه صرفا بیشترین تعداد بلاک. ماینر بلاک پیشنهاد می‌دهد، اما به تنهایی نمی‌تواند فول نودهای مستقل را مجبور به پذیرش بلاکی خلاف قواعد کند.

اثبات سهام و اعتبارسنج در اتریوم

در اتریوم، اعتبارسنج (Validator) با سپردن اتر طبق قواعد پروتکل می‌تواند برای پیشنهاد بلاک و رای‌دادن انتخاب شود. یک نود عادی اتریوم بدون کلاینت اعتبارسنج هم قادر به بررسی بلاک‌ها و کمک به شبکه است. اجرای اعتبارسنج فعال علاوه بر کلاینت اجرا و کلاینت اجماع، نرم‌افزار و کلیدهای مربوط را لازم دارد. انتخاب پیشنهاددهنده، رای‌ها و قواعد انتخاب شاخه بخش‌های متفاوتی از همین سامانه‌اند.

ویژگیبیت کوین با PoWاتریوم با PoS
پیشنهاددهنده بلاکماینری که اثبات کار معتبر پیدا می‌کنداعتبارسنج منتخب شبکه
انتخاب شاخهمجموع کار انباشته‌شده زنجیره معتبروزن رای اعتبارسنج‌ها طبق قواعد شبکه
مفهوم نهایی‌شدنکاهش احتمالی ریسک بازآرایی با تاییدهای بیشترنهایی‌شدن اقتصادی با رای کافی بر چک‌پوینت‌ها
نود معمولیاعتبارسنج مستقل قوانین، بدون الزام استخراجبررسی داده‌ها، بدون الزام اعتبارسنج‌شدن

این مقایسه مخصوص بیت کوین و اتریوم است. حتی زنجیره‌هایی که هر دو از اثبات سهام استفاده می‌کنند ممکن است درباره انتخاب تولیدکننده، رای‌گیری و نهایی‌شدن تفاوت اساسی داشته باشند.

مقایسه تصویری نقش فول نود، ماینر بیت کوین و اعتبارسنج اتریوم
فول نود قواعد را بررسی می‌کند؛ تولید یا رای به بلاک وظیفه تخصصی دیگری است.

تایید بلاک با نهایی‌شدن تراکنش چه فرقی دارد؟

وقتی تراکنشی وارد یک بلاک می‌شود، معمولا یک تایید روی شاخه جاری دارد. اما آن شاخه ممکن است در شرایطی جایگزین شود که به آن بازآرایی (Reorg) می‌گوییم. در بیت کوین با اضافه‌شدن بلاک‌های بعدی، بازگرداندن تراکنش به‌طور معمول دشوارتر می‌شود؛ به این وضعیت «نهایی‌شدن احتمالی» می‌گویند. نمی‌توان یک تعداد تایید ثابت را بدون توجه به ارزش انتقال، شرایط شبکه و سیاست گیرنده تضمین همیشگی دانست.

در اتریوم اثبات سهام، چک‌پوینت‌ها با رای اعتبارسنج‌هایی که نماینده دست‌کم دو سوم کل اتر استیک‌شده هستند می‌توانند به مرحله نهایی برسند. برگرداندن بلاک نهایی‌شده مستلزم تخلف گسترده و هزینه اقتصادی سنگین است. پس نمایش «تراکنش ارسال شد»، «در بلاک قرار گرفت» و «نهایی شد» سه وضعیت متفاوت است. برای اطمینان از انتقال باید وضعیت مناسب همان شبکه را بررسی کنیم.

اسلشینگ و تحمل خطای بیزانسی چرا اهمیت دارند؟

اسلشینگ چیست؟

اسلشینگ (Slashing) در برخی سامانه‌های اثبات سهام، جریمه شدیدی برای نقض قواعد امنیت اجماع است. در اتریوم، پیشنهاد دو بلاک متفاوت برای یک اسلات یا ثبت رای‌های متناقض می‌تواند به اسلشینگ و خروج اجباری منجر شود. خاموشی کوتاه همیشه اسلشینگ نیست؛ غیبت معمولا با جریمه عادی یا از دست‌دادن پاداش همراه است. میزان جریمه به شبکه و شرایط رفتار اعتبارسنج بستگی دارد.

تحمل خطای بیزانسی یعنی چه؟

تحمل خطای بیزانسی (BFT) به توان یک پروتکل برای حفظ ویژگی‌های امنیتی در حضور اعضای خطاکار یا بدرفتار اشاره دارد؛ اعضایی که ممکن است پیام‌های نادرست یا متناقض بفرستند. BFT نام یک فرمول واحد نیست: نوع شبکه، فرض‌های ارتباطی، سهم اعضای خطاکار و قواعد رای‌گیری تعیین می‌کنند چه تضمینی برقرار است. مثلا حد نصاب دوسوم سهام در نهایی‌شدن اتریوم را نباید بدون بررسی به تمام بلاکچین‌ها تعمیم داد.

چرا تعداد نودها همه چیز را درباره تمرکززدایی نمی‌گوید؟

هرچه افراد بیشتری بتوانند قوانین شبکه را مستقل بررسی کنند، وابستگی به یک سرویس کمتر می‌شود؛ ولی صرف شمارش تعداد نودها تصویر کامل امنیت نیست. تنوع نرم‌افزار کلاینت، پراکندگی جغرافیایی، تمرکز ارایه‌دهندگان زیرساخت و توزیع توان استخراج یا سهام اعتبارسنج‌ها هم اهمیت دارند. اشکال مشترک در یک کلاینت پرکاربرد ممکن است نودهای زیادی را هم‌زمان متاثر کند.

این تفاوت‌ها برای کاربران ارز دیجیتال چه کاربردی دارند؟

موقع انتقال دارایی، پیامی مثل «ارسال موفق» گاهی فقط نشان می‌دهد کیف پول توانسته تراکنش را به نود یا سرویس متصل تحویل دهد. باید بررسی کنیم تراکنش در شبکه دیده شده، در بلاک ثبت شده یا در زنجیره موردنظر به حد مناسبی از نهایی‌شدن رسیده است. این موضوع در انتقال‌های پرارزش یا وقتی گیرنده برای آزادکردن دارایی منتظر تایید است اهمیت بیشتری دارد.

  • بررسی انتقال: شناسه تراکنش را در اکسپلورر مربوط به همان شبکه بررسی کنیم و صرف پیام ارسال از کیف پول را تایید نهایی ندانیم.
  • کیف پول و RPC: پرس‌وجو از سرویس شخص ثالث با اجرای نود مستقل فرق دارد؛ حریم خصوصی و امکان قطعی سرویس را هم در نظر بگیریم.
  • راه‌اندازی نود: پیش‌نیاز فضای ذخیره‌سازی، پهنای باند و نوع همگام‌سازی را از اسناد روز همان کلاینت بگیریم، نه از یک عدد مشترک برای همه زنجیره‌ها.
  • مشارکت در استیکینگ: داشتن دارایی سپرده‌گذاری‌شده، اجرای نود و اداره اعتبارسنج فعال را یکی ندانیم؛ مدیریت کلید و خطر جریمه جداگانه بررسی شود.

جمع‌بندی؛ سه پرسش برای شناخت امنیت یک بلاکچین

نودها داده‌ها را میان همتاها منتقل و قواعد را بررسی می‌کنند. سازوکار اجماع تعیین می‌کند تاریخچه معتبر چگونه انتخاب و در بعضی شبکه‌ها چگونه نهایی شود. ماینر و اعتبارسنج نیز نقش‌های تخصصی در ساخت یا رای‌دادن به بلاک دارند. برای فهم هر شبکه سه پرسش کافی است: چه کسی بلاک پیشنهاد می‌کند؟ چه کسی می‌تواند آن را مستقل رد کند؟ و چه زمانی یک تراکنش نهایی محسوب می‌شود؟

برای آشنایی با جایگاه نودها در کل فناوری، راهنمای «بلاکچین چگونه کار می‌کند؟» نقطه شروع خوبی است. از آنجا می‌توان جداگانه به ساختار داده، امضای دیجیتال، استخراج و شیوه اعتبارسنجی پرداخت؛ بدون اینکه همه این موضوع‌ها را یکی فرض کنیم. برای دسترسی به راهنماهای آموزشی بیشتر، می‌توانید از صفحه اصلی وال‌ول هم استفاده کنید.

سوالات متداول

۱. آیا اجرای فول نود به معنی استخراج بیت کوین است؟

خیر. فول نود می‌تواند قوانین شبکه را بررسی کند بدون آنکه در رقابت استخراج شرکت داشته باشد. ماینر نقش جداگانه‌ای در پیشنهاد بلاک اثبات کار دارد.

۲. آیا همه نودهای اتریوم اعتبارسنج هستند؟

خیر. نود اتریوم می‌تواند بدون کلاینت اعتبارسنج فعال کار کند. اعتبارسنج‌شدن و رای‌دادن در اجماع اثبات سهام شرایط و نرم‌افزار جداگانه دارد.

۳. آیا یک تایید برای برگشت‌ناپذیری تراکنش کافی است؟

نه لزوما. در بیت کوین اطمینان با افزایش تاییدها بیشتر می‌شود؛ در اتریوم وضعیت نهایی‌شده با قواعد رای‌گیری چک‌پوینت‌ها تعیین می‌شود.

۴. آیا خاموشی کوتاه اعتبارسنج همیشه اسلشینگ دارد؟

خیر. غیبت معمولا از دست‌دادن پاداش یا جریمه معمولی دارد. اسلشینگ اتریوم به تخلف‌های مشخصی مانند پیشنهاد دوباره یا رای‌های متناقض مربوط است.