بررسی دو مفهوم، فول نود (full node) و لایت نود (Lightweight Node)

هر دستگاهی که به شبکه‌ی بیت کوین متصل می‌شود را نود (Node) می‌نامند و نودهایی که مستقیماً به بلاک چین بیت کوین وصل شده و تمام قوانین بیت کوین را می‌پذیرند، فول نود نامیده می‌شوند. مهم‌ترین نرم‌افزار ارتباطی بین فول نودها Bitcoin Core نام دارد و کد منبع (Source Code) آن در سایت github قرار دارد. اگر از کیف پول‌های معمولی که نیازی به دانلود بلاک چین ندارند، استفاده می‌کنید شما یک فول نود نیستید بلکه به یک لایت نود و یا نود واسطه متصل شده‌اید.

فول نود (full node)

چه چیز‌هایی یک فول نود را می‌سازد؟

یک فول نود همیشه بلاک‌ها (که هر یک حاوی تراکنش‌ها هستند) را دانلود می‌کند تا مستقیماً به بلاک چین متصل شده و پروتکل را اجرا کند. به‌عنوان مثال پروتکل بیت کوین شامل مفاد زیر است:

  • هر بلاک تعداد مشخصی از بیت کوین را می‌سازد که این عدد در حال حاضر ۱۲٫۵ است.
  • تراکنش‌ها باید حاوی امضای دیجیتال باشند.
  • تراکنش‌ها در فرمت مشخصی ایجاد شوند.
  • در شبکه‌ی بلاک‌چین، یک تراکنش فقط یک خروجی (Output) داشته باشد تا از «حمله‌ی دوبار خرج کردن» جلوگیری شود.

اگر در یکی از بلاک‌های شبکه‌ی بلاک‌چین یکی از قوانین پروتکل نقض شود، این تراکنش مطلقاً پذیرفته نمی‌شود؛ حتی اگر یکی از نودها تراکنش را تائید کند. این مهم‌ترین ویژگی فول نودهاست که کار درست را انجام می‌دهند. استخراج کنندگان قدرت محدودی دارند؛ آن‌ها با صرف قدرت محاسباتی بالا تراکنش‌ها را سازمان‌دهی و در صورت اشکال حذف کنند؛ دستگاه‌های استخراج‌کننده‌ی قوی می‌توانند حملات قوی را انجام دهند ولی چون فول نودها به یکسری قوانین متکی هستند این استخراج‌کنندگان نمی‌توانند در ساختار تراکنش‌ها تغییری ایجاد کنند و یا باعث نابودی شبکه شوند.

نودهایی که می‌خواهند پروتکل دیگری را دنبال کنند باید از بلاک چین بیت کوین جدا شوند و با تغییر در نرم‌افزار Bitcoin Core شبکه خود را بسازند. تغییر در هر قانون نیازمند یک هاردفورک است که بعضی از استخراج‌کننده‌ها و فول نودها به سمت قوانین جدید حرکت می‌کنند؛ این قوانین می‌تواند اولویت‌بندی استخراج‌کننده‌ها و نودها رو تغییر دهد. بیت کوین کش نمونه‌ای از هاردفورک بود.

تمام فول نودهای شبکه باید از قوانین خاص شبکه تبعیت کنند تا هماهنگی ایجاد شود تا هرگونه باگ و مشکلات تراکنش را در شبکه را تکثیر کنند؛ در چنین حالتی ایجاد یک گره از ابتدا بسیار سخت و در صورت ایجاد بسیار خطرساز است. حداقل یک فول نود باید در هر لحظه همه‌ی تراکنش‌ها را دانلود کند و هر بلاکی که ایجاد می‌شود را در دفتر کل خود ذخیره کند. به‌علاوه هر فول نود باید اطلاعات مربوط به تراکنش‌های خروجی که هنوز خرج نشدند تا وقتی‌که خرج شوند ذخیره شوند. به‌طور پیش‌فرض فول نودها در دوبار دانلود کردن تراکنش‌ها ناکارآمد هستند. کل فضایی که در فول نودها ذخیره‌سازی شده است در تاریخ ژوئن ۲۰۱۸ حدود ۱۷۳ گیگ بوده است که کمتر از دو گیگ آن مربوط به تراکنش‌هایی است که هنوز خرج نشده‌اند.

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

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

استحکام اقتصادی

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

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

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

امنیت

در لایت نود‌ها امکان فریب وجود دارد؛ ممکن است لایت نود تراکنشی را تائید کند که واقعاً تایید نشده است. این امر می‌تواند آسیب مالی جدی به اعتبار بعضی از سایت‌ها بزند. در مقابل لایت نود‌ها، فول نود‌ها بیشترین ضریب امنیت را دارند؛ برای همین توصیه می‌شود که چه برای کاربرد‌های تجاری و روزمره از فول نود‌ها استفاده شود.

فول نودها می‌توانند خدماتی به دیگر شبکه‌ها و سایت‌ها ارائه کنند؛ که این خدمات برای لایت نودها هم مفید است. ازجمله این خدمات شامل موارد ذیل است:

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

لایت نود (Lightweight Node)

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

این نود‌ها به منظور اعمال فعالیت‌های اساسی، به شبکه‌ی بلاک چین بیت‌کوین متصل می‌شوند. چنین نود‌ها برای اعمال تایید تراکنش‌ها کل بلاک‌چین را دانلود نمی‌کنند بلکه فقط فیلدی به اسم بلاک هدر (Block Header) را دانلود می‌کنند. این فیلد فقط ۸۰ بایت حجم دارد بنابراین در زمان فعلی نگارش مقاله که 725481 بلاک در شبکه‌ی بلاک چین بیت کوین ساخته شده است حجم یک لایت نود حدود ۴۰ مگابایت می‌شود.

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

امنیت و حریم خصوصی

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

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

منبع : arzdigital