فول نود چیست؟ | اگر در حوزه ارزهای دیجیتال فعالیت می کنید حتما نام فول نود (Full Node) یا گره کامل به گوشتان خورده است. هر رایانه ای که به شبکه بیت کوین متصل می شود، نود نام دارد. به بیان ساده، نودهایی که همه قوانین بیت کوین را به طور واضح و کامل تایید می کنند و به اجرا در می آورند، نود کامل (Full Node) می گویند. ما در این مقاله قصد داریم تا به مفهوم فول نود یا نود کامل بپردازیم.
نود (Node) چیست؟
هر کامپیوتری که به شبکه بیت کوین متصل باشد، نود یا گره گفته می شود این نود یا گره سه وظیفه اصلی دارند. این سه وظیفه اساسی شامل:
- تطبیق تراکنش ها با قوانین کلی شبکه:
نودها در شبکه بیت کوین با تصمیم گیری درباره صحت و درستی تراکنش ها به صورت جمعی، تایید تراکنش ها و بلاک های جدید استخراج شده را انجام می دهند. این فرآیند به صورت جمعی شکل می گیرد و با تایید ۵۰% نودهای شبکه آن تراکنش یا بلاک جدید تأیید خواهد شد در غیر این صورت تراکنش مذکور نامعتبر شناخته شده و توسط نودها برگشت داده می شود.
- اشتراک گذاری اطلاعات:
بعضی وقت ها امکان دارد در شبکه یک یا تعدادی از نودها موقتا از دسترس خارج شوند و دوباره به شبکه برگردند. بنابراین، اطلاعات جدیدی که هنگام آفلاین بودن نود به شبکه وارد شده است توسط نودهای دیگر به آن گره منتقل می شوند.
- ذخیره کپی از تمام اطلاعات موجود در شبکه:
به طور کلی، اشتراک گذاری اطلاعات بین کلیه نودها در جهت حصول توافق جمعی و جلوگیری از تحریف دادهها است. این دادههای کپی شده همچنین سبب ایجاد تفاوت اساسی در مفهوم فول نود و لایت نود نیز شده است.
فول نود (Full Node)
فول نود (Full Node) یکی از نودهای اصلی موجود در شبکه بلاک چین است که وظیفه آن تأیید صلاحیت تراکنش ها و بلاک ها می باشد. کلیه فول نودهایی که در شبکه وجود دارند با هم در ارتباط هستند و قبول و تأیید صلاحیت تراکنش های ارزهای دیجیتال را باهم انجام می دهند. پس از تأیید تراکنش ها و بلاک ها، هر فول نود آن ها را به فول نود های دیگر موجود در شبکه ارسال می کند.
به طور کلی، در شبکه بلاک چین هر فول نود به شکل یک دستگاه مثل: کامپیوتر، لپ تاب و یا یک سرور است. هر کدام از فول نودها، یک کپی کامل از تاریخچه تراکنش های ایجاد شده در بلاک چین را در اختیار دارند.
این نکته را در نظر داشته باشید که کلیه شبکه بلاک چین می تواند به تنهایی بر روی یک نود تنها ایجاد شود. اما به دلیل اینکه تمامی اطلاعات شبکه در یک نود ذخیره می شود، این وضعیت آن نود را در برابر حملات هکرها، خرابی های سیستم و قطع برق در حالت بسیار آسیب پذیری قرار می دهد.
بنابراین، در شبکه بلاک چین، هر چقدر که فول نودهای بیشتری وجود داشته باشند، مقاومت شبکه در برابر اینچنین حوادثی بسیار بالاتر است.
بعضی از شبکه ها، حجم قابل توجهی از اطلاعات مربوط به تراکنش ها را دارند. بنابراین، برای مدیریت حجم بالایی از این اطلاعات، فول نودهای آن شبکه هم باید حجم مناسبی از حافظه را داشته باشند.
یک فول نود در شبکه چه وظایفی را بعهده دارد؟
یک نود کامل وظایف سنگینی را بعهده دارد که انجام دادن آنها به مانایی و پایداری بلاکچین بیتکوین کمک شایانی مینماید. آنها همیشه و همواره در حال دانلود کردن تمام بلاک ها و بررسی وضعیت آنها هستند تا بتوانند پروتکل های شبکه بیتکوین را به خوبی بر روی تمام بلاک ها اعمال کنند.
گره های کامل با توجه به اینکه تمام قوانین و پروتکل های بیتکوین و بلاکچین آن را پذیرفته اند، میبایست تمام بلاک های بلاکچین را دانلود کرده و در دفتر توزیع شده خود به دقت یادداشت نمایند.
وقتی از پروتکل های بیتکوین سخن به میان می آوریم، منظورمان چیزی شبیه به این پروتکل هاست:
- هر بلاک با ماین شدن تعداد مشخصی از بیت کوین را میسازد که این عدد در حال حاضر ۱۲٫۵ است. هر ۴ سال یکبار این میزان نصف میشود (یعنی پاداش اهدایی برای ماین کردن هر بلاک نصف میشود) که به این پدیده که جزئی از قوانین بلاکچین بیتکوین است، هاوینگ میگوییم.
- تمام تراکنش ها باید با الگوریتم یک طرفه SHA-256 رمزنگاری شوند.
- تراکنشها باید حاوی امضای دیجیتال باشند.
- در شبکهی بلاکچین، یک تراکنش فقط یک خروجی (Output) داشته باشد تا از «دابل اسپندینگ» جلوگیری شود.
درواقع یکی از مهمترین ویژگی های فول نود ها این است که از حملات احتمالی (که تعدادشان هم کم نیست) جلوگیری میکنند. دابل اسپندینگ (یا دوباره خرج کردن)، حمله ۵۱ درصدی و بسیاری از حملات دیگر که ممکن است توسط هکر ها انجام شود، همگی توسط آنها کنترل و بی اثر میگردند.
درواقع یکی از مهمترین کارهایی که گره های کامل شبکه ها انجام میدهند، Orphaned کردن یا یتیم کردن تراکنش هایی است که درواقع اشتباه هستند و نباید ماین شده و در شبکه تغییری ایجاد کنند. ماینر ها با توان هش بالا شبکه و بلاک های آن را پردازش مینمایند اما ممکن است این توان هش بالا در مقاصد غیر عادی مورد استفاده قرار گیرد. از همین رو، اگر فول نود ها نباشند تا پروتکل ها و قوانین را به دقت اجرا کنند، ممکن است.
انواع فول نود (Full Node)
فول نود به دو نوع نود سرشاخه و نود آرشیوگر دسته بندی می شود:
نود آرشیوگر (Archival):
نود آرشیوگر به گره ای گفته می شود که کلیه اطلاعات و دادهها را دانلود و ذخیره سازی می کند، به طور معمول، این گرهها از منابع داده شناخته شده و همچنین دادههای خود جهت کمک به تریدرها و فروش آن دادهها برای تحلیل بازار استفاده می کنند. این دادهها شامل کلیه تراکنش های نهنگ ها، داده های کیف پول صرافی ها، میزان مبلغ پرداختی و همه اطلاعات مورد نیاز جهت تحلیل نقل و انتقالات بیت کوین می شوند.
نود سرشاخه در بلاک چبن های مختلف به چند دسته شامل نود ماینر، نود استیک کننده و نود دارای اختیارات محول شده دسته بندی می شود که این ها نتیجه مکانیزم های اجماع مختلف در رمزارزها می باشد.
نود سرشاخه (Pruned)
نود سرشاخه حجم داده کمتری نسبت به نود آرشیوگر ذخیره سازی می کند و به دلیل اینکه فقط به جمع آوری داده های آخر در تراکنش ها می پردازد و داده های قدیمی تر را حذف می کند به آن نود سرشاخه می گویند. این نود با نود سبک یا همان لایت نود تفاوت دارد و در دسته فول نودها قرار می گیرد.
ویژگی های فول نود (Full Node):
فول نود ها جهت امنیت و اعتبار کلی شبکه بلاک چین بسیار ضروری هستند و ویژگی های معینی دارند که آنها را از سایر گره ها متمایز می کند. ۲ ویژگی اصلی آنها عبارتند از:
۱- اعتبارسنجی امضاها در هر معامله بلوک: وقتیکه بلوک جدیدی به زنجیره بلوک می پیوندد، یک فول نود هر امضای دیجیتال را جهت تأیید اعتبار معامله بررسی می کند. معمولاً امضای دیجیتالی کلید خصوصی است که فرستنده معامله برای امضای هر معامله آن را به کار می گیرد.
۲- مجری تصمیم گیری اصلی قوانین اجماع: فول نودها اجازه اختیارات و تصمیم گیری برای برگشت معاملات یا بلاک های جدید را دارند درصورتیکه گره های دیگر شبکه، گره ورودی را تأیید کرده باشند. بعضی از تراکنش های تازه تشکیل شده که شامل بلوک های قالب بندی نشده یا کپی از یک معامله (معاملات بالقوه جعلی) باشد برگشت داده می شوند.
معمولا فول نودها (Full Node) توسط داوطلبان یا ذینفعان مرتبط اداره می شوند که گره های کاملی را برای تمرکززدایی بیشتر در زنجیره بلوک ها تشکیل می دهند. اجرای کامل گره ها به کاربران این اجازه را می دهد تا معاملات ورودی را بررسی کنند. به نظر نمی رسد برای کاربرانی که با گره های کامل در زنجیره بلوک های معروف (مانند بیت کوین) فعالیت می کنند، برای این کار پاداش دریافت کنند (برعکس نودهای استخراج کننده).
چرا باید از کیف پول فول نود استفاده کنیم؟
استفاده از یک کیف پول فول نود بهترین راه برای استفاده از بیتکوین میباشد؛ زیرا برای استفادهی از آن از تمام قوانین شبکه باید استفاده شود برای مثال بیتکوینهایی خرج میشوند که متعلق به شما نیستند بهطور خلاصه بیتکوین شما از حملهی دوبار خرج کردن در امان میماند؛ همچنین تمام قوانین مربوط بهسختی شبکه و مدت ساخت بلاک به روند دقیق پیش میرود. فول نودها بهترین راه شخصی برای استفاده از بیت کوین هستند که در شبکه هیچکس نمیفهمد کدام آدرس متعلق به شماست. بهطورکلی کیف پولهای فول نود از بسیاری از حملاتی که کیف پولهای «لایت» رنج میبرند در امان هستند.
رابطه ماینینگ با فول نود (Full Node)
در شبکه بلاک چین، برای این که هر ماینری بتواند از میان تراکنش های معتبر، یکی را در راستای تولید بلاک جدید برگزیند، لازم است یک فول نودی را اجرا کند. بنابراین، ماینر بدون مراجعه و اجرای فول نود، نمی تواند به تراکنش های معتبری که در تاریخچه تراکنش های بلاک چین ذخیره شده اند، دسترسی داشته باشد. به این دلیل که، ماینر اجازه دسترسی به همه تاریخچه بلاک چین را ندارد و از آن جایی که این تاریخچه در یک فول نود فراهم است، از فول نودها جهت رسیدن به این حق دسترسی استفاده می کند.
بنابراین، اکثر ماینرها خود را در شبکه به شکل فول نود در می آورند تا در نتیجه، دسترسی به اطلاعات و تولید بلاک جدید برای آنها آسان تر شود. نودهای شبکه دیگری نیز وجود دارند که به شکل فول نود فعالیت کرده اما کار ماینینگ انجام نمی دهند. این نودها، فقط اطلاعات کلیه تراکنشها را دریافت، ذخیره و برادکست می کنند.
ارتباط فول نود ها و هارد فورک بیتکوین
حال بیایید فرض کنیم که یک نود کامل تصمیم بگیرد رفتاری پیش بینی نشده از خود نشان دهد. مثلا یک فول نود به نام x تصمیم گرفته است که پروتکل بیتکوین را به شیوه ای دیگر انجام دهد و به پروتکل های اصلی بیتکوین پایبند نباشد. بنظر شما، این فول نود میتواند شبکه را تغییر دهد و رفتار جدیدی از خود نشان دهد؟
پاسخ این است که این امر شدنی است اما شبکه ی مذکور دیگر شبکه بیتکوین نخواهد بود و میبایست شبکه جدیدی تشکیل شود. به این شبکه جدید یک هارد فورک میگویند. هارد فورک ها زمانی اتفاق می افتند که یک یا چند نود کامل، روش جدیدی را برای مدیریت شبکه برگزینند که مورد تایید سایر نود های شبکه بیتکوین نباشد و اجماعی در این باره اتفاق نیفتند. اگر اجماع (Consensus) اتفاق نیفتد، گره های کامل که پروتکل های جدید را پیشنهاد داده اند میبایست از شبکه جدا شده و شبکه دیگری را مخصوص به خود بسازند.
مثلا بیتکوین کش، که یکی از هارد فورک های بیتکوین است، دقیقا به همین ترتیب ایجاد شد. اگر شانس این را داشته باشید که یک هارد فورک را تجربه کنید، دقیقا بعد از انجام هارد فورک (اگر کیف پولتان نود کامل باشد) شاهد ۲ نوع کوین در کیف پولتان خواهید بود. مثلا زمانی که هارد فورک بیتکوین و بیتکوین کش اتفاق افتاد، افرادی که تا آن لحظه بیتکوین داشتند و به فول نود نیز متصل بودند، اینبار در کیف پول خود نه تنها بیتکوین بلکه به همان تعداد بیتکوین کش داشتند!
امنیت
در لایت نودها امکان فریب وجود دارد؛ ممکن است لایت نود تراکنشی را تائید کند که واقعاً تایید نشده است. این امر میتواند آسیب مالی جدی به اعتبار بعضی از سایتها بزند. در مقابل لایت نودها، فول نودها بیشترین ضریب امنیت را دارند؛ برای همین توصیه میشود که چه برای کاربردهای تجاری و روزمره از فول نودها استفاده شود.
خدمات شبکه
فول نودها میتوانند خدماتی به دیگر شبکهها و سایتها ارائه کنند؛ که این خدمات برای لایت نودها هم مفید است. ازجمله این خدمات شامل موارد ذیل است:
- لایت نودها برای ساخت تراکش از فول نودها استفاده میکنند؛ پس باوجود فول نودها، یک لایت نود برای ساخت تراکنش نیاز ندارد که دفتر کل را دانلود کند.
- بلاکهای جدیدی که ساختهشده را در اختیار نودهایی که برای مدتی آفلاین بوده است میدهند.
- تراکنشها را از کاربران به استخراجکنندهگان انتقال میدهند.
- تراکنشهایی که توسط استخراجکنندهگان ساختهشده است را به نودهای دیگر انتقال میدهند.