فول نود (Full Node) چیست؟
هر دستگاهی که به شبکهی بیت کوین متصل میشود را نود (Node) مینامند و نودهایی که مستقیماً به بلاک چین بیت کوین وصل شده و تمام قوانین بیت کوین را میپذیرند، فول نود نامیده میشوند. مهمترین نرمافزار ارتباطی بین فول نودها Bitcoin Core نام دارد و کد منبع (Source Code) آن در سایت github قرار دارد. اگر از کیف پولهای معمولی که نیازی به دانلود بلاک چین ندارند، استفاده میکنید شما یک فول نود نیستید بلکه به یک لایت نود و یا نود واسطه متصل شدهاید.
چه چیزهایی یک فول نود را میسازد؟
یک فول نود همیشه بلاکها (که هر یک حاوی تراکنشها هستند) را دانلود میکند تا مستقیماً به بلاک چین متصل شده و پروتکل را اجرا کند. بهعنوان مثال پروتکل بیت کوین شامل مفاد زیر است:
- هر بلاک تعداد مشخصی از بیت کوین را میسازد که این عدد در حال حاضر ۱۲٫۵ است.
- تراکنشها باید حاوی امضای دیجیتال باشند.
- تراکنشها در فرمت مشخصی ایجاد شوند.
- در شبکهی بلاکچین، یک تراکنش فقط یک خروجی (Output) داشته باشد تا از «حملهی دوبار خرج کردن» جلوگیری شود.
اگر در یکی از بلاکهای شبکهی بلاکچین یکی از قوانین پروتکل نقض شود، این تراکنش مطلقاً پذیرفته نمیشود؛ حتی اگر یکی از نودها تراکنش را تائید کند. این مهمترین ویژگی فول نودهاست که کار درست را انجام میدهند. استخراج کنندگان قدرت محدودی دارند؛ آنها با صرف قدرت محاسباتی بالا تراکنشها را سازماندهی و در صورت اشکال حذف کنند؛ دستگاههای استخراجکنندهی قوی میتوانند حملات قوی را انجام دهند ولی چون فول نودها به یکسری قوانین متکی هستند این استخراجکنندگان نمیتوانند در ساختار تراکنشها تغییری ایجاد کنند و یا باعث نابودی شبکه شوند.
نودهایی که میخواهند پروتکل دیگری را دنبال کنند باید از بلاک چین بیت کوین جدا شوند و با تغییر در نرمافزار Bitcoin Core شبکه خود را بسازند. تغییر در هر قانون نیازمند یک هاردفورک است که بعضی از استخراجکنندهها و فول نودها به سمت قوانین جدید حرکت میکنند؛ این قوانین میتواند اولویتبندی استخراجکنندهها و نودها رو تغییر دهد. بیت کوین کش نمونهای از هاردفورک بود. تمام فول نودهای شبکه باید از قوانین خاص شبکه تبعیت کنند تا هماهنگی ایجاد شود تا هرگونه باگ و مشکلات تراکنش را در شبکه را تکثیر کنند؛ در چنین حالتی ایجاد یک گره از ابتدا بسیار سخت و در صورت ایجاد بسیار خطرساز است. حداقل یک فول نود باید در هر لحظه همهی تراکنشها را دانلود کند و هر بلاکی که ایجاد میشود را در دفتر کل خود ذخیره کند. بهعلاوه هر فول نود باید اطلاعات مربوط به تراکنشهای خروجی که هنوز خرج نشدند تا وقتیکه خرج شوند ذخیره شوند. بهطور پیشفرض فول نودها در دوبار دانلود کردن تراکنشها ناکارآمد هستند. کل فضایی که در فول نودها ذخیرهسازی شده است در تاریخ ژوئن ۲۰۱۸ حدود ۱۷۳ گیگ بوده است که کمتر از دو گیگ آن مربوط به تراکنشهایی است که هنوز خرج نشدهاند.
چرا باید از کیف پول فول نود استفاده کنیم؟
استفاده از یک کیف پول فول نود بهترین راه برای استفاده از بیتکوین میباشد؛ زیرا برای استفادهی از آن از تمام قوانین شبکه باید استفاده شود برای مثال بیتکوینهایی خرج میشوند که متعلق به شما نیستند بهطور خلاصه بیتکوین شما از حملهی دوبار خرج کردن در امان میماند؛ همچنین تمام قوانین مربوط بهسختی شبکه و مدت ساخت بلاک به روند دقیق پیش میرود. فول نودها بهترین راه شخصی برای استفاده از بیت کوین هستند که در شبکه هیچکس نمیفهمد کدام آدرس متعلق به شماست. بهطورکلی کیف پولهای فول نود از بسیاری از حملاتی که کیف پولهای «لایت» رنج میبرند در امان هستند.
استحکام اقتصادی
این مهمترین دلیل نیاز به فول نودها است؛ هرچند که درکش شاید سخت باشد. همانطور که قبلاً گفته شد فول نودها قوانینی که از قبل برایشان تعریف شده را انجام میدهند و مهم نیست که این قوانین چه باشد. در حالی که نودهای لایت (Lightweight Node) آنچیزی را که قدرت اصلی ماینرها دیکته میکند را انجام میدهند. برای مثال اگر ماینرها پاداش ساخت بلاک را افزایش دهند نودهای سبک کورکورانه آنها را دنبال میکنند و اگر این اتفاق بیفتند شبکه مجزا میشود و لایت نودها و فول نودها مسیرشان از هم جدا میشود و هر یک از لایت نودها شبکهی مجزای خود را میسازند و هر یک واحد پول دیجیتال خود را دارند. درنتیجه افرادی که از لایت نودها استفاده میکنند قادر به استفاده از فول نودها نیستند. اگر همهی کاربران از گرهی کامل استفاده کنند در این صورت این مشکل به وجود آمدن شبکههای متعدد مشکل بزرگی نخواهد بود؛ کاربران لایت نود متوجه خواهند شد که با کاربران دیگر که از فول نودها استفاده میکنند نمیتوانند مبادله کنند درنتیجه آنها از لایت نود استفاده نخواهند کرد تا ماینرهای مخرب دست از غلبهی خود بردارند که پاسخ مناسبی به اقدام شیطانی آنهاست. البته اگر در این شرایط هر فرد اقدام به استفاده از لایت نودها کند درنتیجه این افراد میتوانند با یکدیگر مبادله کنند و ماینرهای بد به مقصود بدشان میرسند. در عمل، سناریوی فوق تحقق نیافتنی است زیرا فول نودها بسیار زیاد و شایع هستند و ماینرها برای صرف چنین قدرتی پول بسیار زیادی را باید خرج کنند. ولی اگر افراد زیادی از لایت نود استفاده کنند قطعاً ماینرها برای تغییر قوانین شبکه انگیزه پیدا خواهند کرد. تنها استفادهی منطقی از لایت نود موجّه است زیرا بار اقتصادی بیتکوین بر روی فول نودها میباشد. بنابراین برای بیت کوین فول نودها بسیار حیاتی و لازم هستند؛ میتوانیم بگوییم اقتصاد بیتکوین برپایهی فول نودها است و لایت نودها نقشی ندارند. شرکتهایی که حجم معاملاتی بالایی دارند حتماً باید از فول نودها استفاده کنند. برای افزایش «استحکام اقتصادی» شبکهی بیتکوین شما باید برای تراکنشهای خود از یک فول نود استفاده کنید (یا از لایت نودی که اطمینان داشته باشید که از فول نود استفاده میکند.)
حریم خصوصی
بهترین راه برای داشتن کیف پول بیت کوین، داشتن اطلاعات در کامپیوتر است. بیشتر کیف پولهای لایت باعث درز اطلاعات شما میشوند به دلیل اینکه سرور ثالثی اطلاعات شما مانند احراز هویت و آدرس شما را میخواهند. سرور الکتروم (Electrum) میتواند بفهمد کدام یک از آدرسها برای شماست و آنها را به هم مربوط کند.
امنیت
در لایت نودها امکان فریب وجود دارد؛ ممکن است لایت نود تراکنشی را تائید کند که واقعاً تایید نشده است. این امر میتواند آسیب مالی جدی به اعتبار بعضی از سایتها بزند. در مقابل لایت نودها، فول نودها بیشترین ضریب امنیت را دارند؛ برای همین توصیه میشود که چه برای کاربردهای تجاری و روزمره از فول نودها استفاده شود.
خدمات شبکه
فول نودها میتوانند خدماتی به دیگر شبکهها و سایتها ارائه کنند؛ که این خدمات برای لایت نودها هم مفید است. ازجمله این خدمات شامل موارد ذیل است:
- لایت نودها برای ساخت تراکش از فول نودها استفاده میکنند؛ پس باوجود فول نودها، یک لایت نود برای ساخت تراکنش نیاز ندارد که دفتر کل را دانلود کند.
- بلاکهای جدیدی که ساختهشده را در اختیار نودهایی که برای مدتی آفلاین بوده است میدهند.
- تراکنشها را از کاربران به استخراجکنندهگان انتقال میدهند.
- تراکنشهایی که توسط استخراجکنندهگان ساختهشده است را به نودهای دیگر انتقال میدهند.
بیشتر بخوانید: لایت نود (Lightweight Node) چیست؟
مطب مهمی بود اما به زبان ساده بیان نشده بود و کمی شبیه گوگل ترنسلیت بود.