مفهوم نود و فول نود در ارز دیجیتال چیست؟
شبکه ارزهای دیجیتال کاملا غیرمتمرکز است و توسط هیچ نهادی کنترل نمیشود و توسط کامپیوترهایی که در سراسر جهان حضور دارند و نود نامیده میشوند، کنترل میشود. در این مقاله قصد داریم بطور مفصل نودهای شبکه را بررسی و این ادعا که هیچ کس مالک شبکه بلاکچین نیست را اثبات کنیم.
پیش از شروع صحبت در ابتدا باید بدانیم نود چیست؟ هر دستگاهی که به شبکه یک کوین متصل شود را نود یا گره مینامند. اگر چه نودها با توجه به نحوه کار و نقش متفاوتی که در شبکه بلاکچین ایفا میکنند. انواع مختلفی دارند اما همهی آنها سه وظیفه اصلی را ایفا میکنند:
- اجرای قوانین
- انتقال اطلاعات
- ذخیره یک نسخه از تراکنشهای تایید شد
چند نوع نود در شبکه بلاکچین وجود دارد؟
نودهای بلاکچینی به دو دسته اصلی نود کامل (full node) و نودهای لایتنینگ (lightweight node) تقسیم میشوند:
- نود کامل (full node)
فول نودها یا نودهای کامل، نودهایی هستند که بصورت مستقیم به شبکه اصلی بلاکچین ارز دیجیتال متصل میشوند و با پذیرش کامل مقررات شبکه به عملکرد آن کمک میکنند. وظیفه این نودها حفظ اجماع بین نودهای بلاکچین، تایید تراکنشها و کپیبرداری از بلاکچین است. فول نودها با ذخیره کردن یک نسخه کامل از بلاکچین ارز دیجیتال که حاوی تمام بلاکها و تراکنشهای شبکه آن میباشد، امنیت و صحت دادهها را با اعتبارسنجی تضمین میکنند. در واقع فول نودها ستون فقرات شبکه هستند. هر چه تعداد این فول نودها در شبکه افزایش یابد امنیت شبکه نیز بیشتر میشود.
نودهای بلاکچینی کامل در تصمیمگیریهای آینده شبکه نقش موثری دارند. هنگامی که برای آینده شبکه یک ارز دیجیتال تصمیمگیری میشود باید حداقل 51 درصد نودهای کامل موافق این تغییرات باشند تا در شبکه اعمال شوند. در برخی موارد که جامعه یک ارز دیجیتال نمیتواند بر روی یک تغییر توافق کند راه خود را از هم جدا میکنند. این امر منجر به هاردفورک میشود.
-
نودهای تعدیل یافته
نودهای بلاکچینی تعدیل یافته یکی از انواع نودهای کامل میباشند. این نودها بلاکها را از ابتدا شروع میکنند و تا زمانی که این دانلودها به محدوده خاصی برسند، قدیمیترین بلاکها را حذف کرده و تنها هدرها (headers) و موقعیت زنجیره را نگهداری میکنند.
فرض کنید محدوده ذخیرهسازی نود 550 مگابایت تعیین شود؛ در این حالت این نود ابتدا تمام بلاکها را اعتبار سنجی میکند. سپس آخرین بلاکهایی که در بلاکچین ایجاد شدند را به اندازه حجم 550 مگابایت ذخیره میکند. نودهای تعدیل یافته به عنوان نود کامل شناخته میشوند و میتواند در تایید تراکنشها و اجماع شرکت کنند.
- نودهای آرشیوی
در بیشتر موارد هنگامی که مردم درباره نودهای کامل صحبت میکنند منظورشان نودهای آرشیوی است. تصور آنها از نودهای آرشیوی یک سرور میباشد که کل بلاکچین را در پایگاه دادهاش ذخیره کرده است.
همانطور که در ابتدای بحث بیان شد، نودهای کامل وظیفه حفظ اجماع و اعتبارسنجی بلاکها را برعهده دارند. نودهای آرشیوی و تعدیل یافته در فضایی که هارد درایو یا کامپیوتر اشغال میکند با هم متفاوت هستند.
- نودهای ماینر
ماینرها نودهایی هستند اثبات میکنند کار مورد نیاز برای خلق یک بلاک در بلاک چین به پایان رسیده است. ماینرها یا باید خودشان نود کامل آرشیوی باشند و یا دادهها را از نودهای کامل دیگر دریافت کنند. این کار به آنها کمک میکند درباره وضعیت کنونی بلاک چین و پارامترهای لازم برای بلاک بعدی را در اختیار داشته باشند.
ماینرها با استفاده از سخت افزارهایی مانند cpu، کارت گرافیک یا دستگاه asic معادلات ریاضی پیچیده را حل میکنند و از این طریق در فرآیند خلق یک بلاک مشارکت میکنند. در این فرایند اولین فردی که معادله را حل کند و اصطلاحا وظیفه را تکمیل نماید، نتایج بدست آمده را به شبکه گزارش میدهد و پس از اجماع و تایید نودهای کامل میتواند بلاک مورد نظر را به زنجیره اضافه کند و بابت مشارکتشان در این فرآیند پاداش دریافت کنند.
-
نودهای سرمایهگذار
این نوع سرمایه گذاری را میتوان با سپرده ارزهای فیات مقایسه کرد. در این حالت، شخص در ازای خرید و نگهداری کوین به عنوان پاداش سود دریافت میکند.
بدست آوردن پول در مکانیزم گواه اثبات سهام (pos) مشابه شرکت کردن در قرعه کشی میباشد. هدف نهایی این مکانیزم این است که با استفاده از قوانین از پیش تعیین شده و براساس شانس مشخص شود که بلاک بعدی زنجیره را چه کسی ایجاد کند و بابت آن پاداش بگیرد.
تعداد، نسبت کوینهای فرد با کوینهای موجود در شبکه و مدت زمانی که فرد مالک کوینها بوده است از عواملی میباشد که در افزایش شانس فرد برای دریافت پاداش تاثیر میگذارد و احتمال انتخاب او را بالا میبرد. استفاده از این روش نیازی به سختافزارهای گران قیمت ندارد.
برای اینکه یک فرد بتواند سرمایه گذار باشد باید به یک نود آرشیوی تبدیل شود. این بدان معناست که کیف پول هسته کوین مورد نظر را دانلود کند و کل بلاکچین را بر روی ابزار خود نگهداری نماید و همیشه کیف پول خود را باز نگه دارد.
-
نودهای مرجع
نودهایی که تا به اینجای بحث بررسی کردیم، نودهایی هستند که میتوانند به شبکه یک ارز دیجیتال ملحق شوند و وظایفشان را بصورت غیر متمرکز و بدون اجازه گرفتن از کسی انجام دهند. اما استفاده از این رویکرد اشکالاتی نیز دارد. راه حل رفع این ایرادات بکارگیری سطوحی از تمرکز میباشد. در این حالت شبکهها از الگوریتمهایی مانند الگوریتمهای اجماع شامل گواه اثبات سهام خصوصی شده (dpos)، تحمل خطای بیزانس عملی (pbft)، گواه اثبات مرجع (proof of authority) استفاده میکنند.
استفاده از این الگوریتمها شبکه را ملزم میکند تعدادی از نودهای بلاکچینی را به عنوان نود مرجع انتخاب کنند. این که چه تعداد نود مرجع در شبکه وجود داشته باشد و یا اینکه چه کسانی به عنوان نود مرجع انتخاب شوند، یا با رای گیری و یا توسط تیم توسعه دهنده مشخص میشود.
نودهای بلاکچینی مرجع در کنار وظیفه ایجاد و اعتبارسنجی بلاکها باید همزمان اطلاعات را نیز در اختیار کاربران شبکه قرار دهند. چرا که نودهایی که به عنوان نود مرجع انتخاب نشدهاند برای فعالیت در بلاکچین به این دادههای گزارش شده احتیاج دارند.
-
مستر نودها
مستر نودها در شبکه بلاکچین با هدف ذخیره تراکنشها و اعتبار سنجی به آنها ایجاد شدهاند. این نودها نمیتوانند یک بلاک را به شبکه بلاکچین اضافه کنند. مستر نودهای ماینر یا سرمایه گذار، کسانی هستند که بلاکها را بر روی زنجیره بلاک مینویسند.
مستر نودها به ایمن شدن شبکه کمک میکنند و برای سرویسهایی که اراده میدهند پاداش دریافت میکنند. برای تبدیل شدن به مستر نود فرد باید مقداری وجه را به عنوان وثیقه، نگهداری کنند و دائم آنلاین باشد. همچنین بهتر است برای ارائه خدمات میزبانی خود از یک سرور خصوصی مجازی (vps) استفاده کند.
-
نودهای سبک lightweight
نودهای سبک یا simplified payment verification نوع دیگری از نودهای بلاکچینی هستند. این نودها برای دریافت اطلاعات ضروری و برقراری ارتباط با بلاکچین به نودهای بلاکچینی کامل متکی هستند. این نودها یک کپی از زنجیره را ذخیره نمیکنند و فقط با جستجوی وضعیت فعلی بلاکچین بلاک آخر را مشخص کرده و تراکنشها را برای پردازش انتقال میدهند. از آنجایی که نودهای spv یک نسخه از بلاکچین را ذخیره نمیکنند نیاز به منبع زیادی ندارند و در تامین امنیت شبکه نیز نقشی ندارند.
-
نودهای لایتنینگ (lightning nodes)
نودهای بلاکچین لایتنینگ نوع دیگری از نودهای بلاکچینی هستند که مفهوم جالبی دارند. این نودها با موانع نودهای کامل و نودهای بلاکچین روبرو نیستند. این نودها برای ایجاد ارتباط میان کاربران خارج از بلاکچین ایجاد شدهاند و استفاده از آنها بار روی شبکه را کاهش میدهد و سرعت انتقال دادهها به صورت چشمگیری افزایش میدهد. کارمزد نودهای لایتنینگ بسیار کم و در حدود ۱۰ تا ۲۰ ساتوشی (satoshi) است.
شیوه کار این نودها اینگونه است که یک کانال پرداختی اختصاصی بین دو طرف باز میکنند. استفاده از این شیوه باعث میشود به جای انتظار برای تایید تراکنشها و پرکردن شبکه با دادههای اضافی، دو طرف بتوانند با هم معامله کنند و بار بلاکچین را کاهش دهند. شبکه لایتنینگ تلاش می کند با یافتن مسیری با کمترین تعداد واسطه و پایینترین مقدار کارمزد انتقال، زمان انتظار برای تایید تراکنشها را کاهش دهد.
نقش فول نود در شبکه بلاکچین چیست؟
فول نودها بلاکهای حاوی تراکنشها را دانلود میکنند تا از این طریق بتوانند مستقیما به بلاکچین متصل شوند و پروتکل (protocol) را اجرا کنند. برای مثال پروتکل بیتکوین شامل موارد زیر میباشد:
- هر بلاک در حال حاضر 6.25 بیت کوین تولید میکند و این عدد هر چهار سال یکبار نصف میشود.
- تراکنشهای بیت کوین باید دارای امضای دیجیتال باشند.
- تراکنشهای بیت کوین باید در فرمت مشخصی ایجاد شوند.
- در شبکه بلاکچین برای جلوگیری از حمله دو بار خرج کردن هر تراکنش تنها یک خروجی (output) دارد.
اگر در بلاکی یکی از قوانین پروتکل نقض شود، تراکنش نامعتبر خواهد بود و پذیرفته نمیشود، حتی اگر توسط یکی از نودها تایید شده باشد. این یکی از ویژگیهای فول نودها میباشد که در هر شرایطی کار درست را انجام میدهند. استخراجکنندگان با صرف قدرت محاسباتی خود تراکنشهای شبکه را بررسی و سازماندهی میکنند و در صورت وجود اشکال، آنها را حذف میکنند. اگر چه دستگاههای استخراج ارزهای دیجیتال قدرتمند میتوانند حملات قوی را انجام دهند اما از آنجایی که قدرت آنها محدود است و فول نودها تنها براساس پروتکلهای شبکه فعالیت میکنند، این استخراجکنندگان نمیتوانند ساختار تراکنشها را تغییر دهند و باعث نابودی شبکه شوند.
اگر برخی از نودها تمایل داشته باشند پروتکلهای دیگری را دنبال کنند باید از شبکه بلاکچین فعلی خود خارج شوند و با ایجاد تغییراتی در نرمافزارهای خود شبکه بلاکچین جدیدی را بسازند. ایجاد هر تغییری در قوانین شبکه منجر به هاردفورک میشود. بیت کوین کش نمونهای از هاردفورک شبکه بیت کوین میباشد که با تغییر در پروتکل بیت کوین ایجاد شده است. تمام فول نودهای موجود در شبکه باید از قوانین پروتکل تبعیت کنند تا هماهنگی ایجاد شود.
نودها چه خدماتی به سایر شبکهها ارائه میدهند؟
فول نودها علاوه بر اینکه به تایید تراکنشها و ذخیره آنها در شبکه بلاکچین اصلی کمک میکنند میتوانند برای سایر شبکهها و سایتهای مختلف خدمات ارائه دهند. این خدمات برای لایت نودها نیز مفید هستند. در ادامه به چند مورد آن اشاره میکنیم:
- با وجود فول نودها دیگر ضرورتی ندارد، لایت نودها تمام دفتر کل را در خود ذخیره کنند. لایت نودها برای اینکه یک تراکنش جدید ایجاد کنند مستقیما از اطلاعات فول نودها استفاده میکنند.
- فول نودها اطلاعات بلاکهایی که تازه ایجاد شدند را در اختیار نودهایی که برای مدتی آفلاین بودهاند قرار میدهند.
- نودها، تراکنشهایی که توسط ماینرها تایید شدهاند را در اختیار نودهای دیگر قرار میدهند.
فایده استفاده از کیفپول فول نود چیست؟
استفاده از کیفپولهای فول نود بهترین گزینه برای نگهداری از ارزهای دیجیتال است؛ برای مثال کیف پولهای فول نود بیت کوین، بیت کوین شما را از حمله دو بار خرج کردن یا double spending یعنی اینکه کاربری بخواهد یک ارز دیجیتال را در دو تراکنش مختلف خرج کند) در امان نگه میدارد. در این نوع کیفپولها، تمامی قوانین مرتبط با سختی شبکه و مدت زمان ساخت بلاک آنها بطور دقیق اعمال میشود.
نقش فول نودها در استحکام اقتصادی شبکه
فول نودها نقش حیاتی در استحکام اقتصادی شبکه بلاکچین دارند. همانطور که پیش از این هم گفتیم فول نودها براساس قوانین از قبل تعیینشدهای کار میکنند و مهم نیست که این قوانین چه باشد. در حالی که نودهای لایت براساس دستورات ماینرها به فعالیت خود در شبکه بلاکچین ادامه میدهند؛ مثلا اگر ماینرها، پاداش استخراج یک بلاک را افزایش دهند، آنگاه نودهای لایت آن را اجرا خواهند کرد. اگر این اتفاق رخ دهد مسیر لایت نودها و فول نودهای شبکه از هم جدا میشوند. در ادامه لایت نودها یک شبکه مجزا ایجاد کرده و پول دیجیتالی خود را خواهند ساخت و کسانی که از این لایت نودها استفاده میکنند دیگر قادر به استفاده از فول نودها نخواهند بود. در یک شبکه بلاکچینی اگر افراد زیادی از لایت نود استفاده کنند ماینرها فرصت تغییر قوانین را پیدا میکنند و میتوانند باعث اختلال در شبکه شوند. در واقع میتوان گفت اقتصاد بیت کوین و ارزهای دیجیتال برپایه فول نودها بنا شده است و لایت نودها نقشی در آن ندارند.
آیا فول نودها امن هستند؟
همانطور که قبلا گفتیم فول نودها به صورت مستقیم به شبکه بلاکچین ارزهای دیجیتال متصل شده دیتای آن را ذخیره می کنند و تمام قوانین آن را میپذیرند به همین دلیل بیشترین ضریب امنیت را دارا میباشند. افرادی که برای تایید تراکنشها از یک فول نود استفاده میکنند برای تایید صحت اطلاعات نیازی به سرورهای ثالث ندارند. علاوه بر این افرادی که برای ایجاد تراکنشها و سایر خدمات کیف پول ارز دیجیتال خود، از فول نود استفاده میکنند با مشکلاتی نظیر دسترسی سرور ثالث به موجودی و تاریخچه تراکنشهای سر و کار نخواهد داشت. ساتوشی ناکاموتو خالق افسانه ای بیت کوین نیز برای ساخت تراکنش از فول نود استفاده می کرد.
بعد از فورک ارزهای دیجیتال وضعیت نودها چگونه است؟
وقتی یک هاردفورک در شبکه ارز دیجیتال ایجاد میشود، احتمال ایجاد تغییراتی در پاداش بلاک، زمان بلاک، انتقال از الگوریتم اثبات کار (pow) به گواه اثبات سهام، پیادهسازی مستر نودها و غیره وجود دارد.
در این حالت نودهایی که نرم افزار خود را بروزرسانی نکرده باشند از طریق اجماع رد خواهند شد. به همین دلیل معمولا توسعهدهندگان و جامعه ارز دیجیتال از ایجاد هاردفورک خودداری میکنند؛ زیرا تعدادی از نودها از شبکه خارج شده و مرحله انتقال می تواند امنیت شبکه بلاکچین را به خطر بیاندازد.
اگر تغییرات شبکه از نوع سافت فورک (soft fork) باشد کاربران ملزم نیستند نودهای خود را بروز رسانی کنند. این نودها میتوانند با نسخه قدیمی نیز خود به فعالیت در شبکه بلاکچین ادامه دهند.
به عنوان مثال در سافت فورک شبکه بیت کوین و اضافه شدن ویژگی سگویت (segwit) یا segregated witness به شبکه بیتکوین تراکنشها با حضور این ویژگی و بدون آن قابل انجام میباشد. زمانی که حدود 95 درصد شبکه به نسخه جدید ارتقا یافتند، آنگاه اجماع به صورت خودکار به نسخه جدید تغییر میکند و تراکنشهای قدیمی فاقد این ویژگی رد میشوند؛ اما با این حال نودها مجبور نیستند در همان لحظه، فورا بروزرسانی انجام دهند.
ضروریات برای تبدیل شدن به یک فول نود
برای اینکه بتوانید به یک فول نود بیت کوین تبدیل شوید باید سختافزارها و نرمافزارهای مورد نیاز را تهیه کنید. اگر از سختافزارهای ضعیف استفاده کنید زمان بیشتری را باید صرف نمایید. در ادامه برخی از مهمترین ملزومات را بررسی خواهیم کرد.
- استفاده از لپتاپ یا رایانه شخصی که بتواند آخرین نسخه ویندوز، مک او اس اکس (mac os x) یا لینوکس را اجرا کند.
- فضای ذخیرهسازی 200 گیگابایتی که حداقل سرعت 100 الی 200 مگابایت بر ثانیه داشته باشد.
- دو گیگابایت فضای رم (ram) جهت ذخیرهسازی
- داشتن اینترنتی با سرعت آپلود حداقل چهارصد کیلوبیت بر ثانیه
- کانکشن بدون محدودیت (unmetered)، محدودیت آپلود بالا یا اتصالی که مرتبا کنترل شود تا بتوان از تجاوز نکردن محدودیت آپلود آن اطمینان حاصل کرد. فول نودها به اینترنت با سرعت آپلود بالا نیاز دارند، زیرا فول نودها در ماه بیش از 200 گیگا بایت حجم را صرف آپلود کردن میکنند.
- هر فول نود باید روزانه حدود 6 ساعت به طور مداوم روشن باشد. در بهترین حالت میتواند 24 ساعته فعال باشد. البته به یاد داشته باشید که شما به هنگام اجرا، میتوانید از سیستم خود استفاده نمایید.
مهمترین نکات هنگام اجرای فول نود بیتکوین
اگر شما قصد داشته باشید به یک نود تبدیل شوید باید نکات زیر را همواره در نظر داشته باشید:
- اولین نکتهای که شما بعد از تبدیل شدن به یک نود باید در نظر داشته باشید این است که سیستم خود را دائما از نظر پهنای باند چک کنید. چنانچه پهنای باند کافی نباشد و میزان مصرف از محدودیت بیشتر باشد، هزینه زیادی برای شما به همراه خواهد داشت و ممکن است باعث قطعی اتصال شود. بنابراین قبل از برطرف کردن محدودیتها، نباید فول نود را اجرا کرد.
- اکثر سیستمعاملهای امروزی دارای قابلیتی به اسم اسکرین سیور (screen saver) هستند که این قابلیت ترافیک دادهها را وقتی سیستم روشن است، کند میکند. بنابراین لازم است اسکرین سیور خود را بررسی کرده و حالتهای اتوماتیک sleep یا suspend آن را غیرفعال کنید تا سیستم شما به اینترنت دسترسی کامل داشته باشد.
- تبدیل شدن به فول نود بیتکوین از نظر قانونی هیچ مشکلی ندارد مگر اینکه بیت کوین توسط دولت آن کشور رسما غیرقانونی اعلام شده باشد؛ همچنین باید در نظر بگیرید که برخی از افراد با هدف ایجاد اختلالاتی در شبکه بیتکوین به فول نودها حمله میکنند تا از این طریق بتوانند عملکرد کامپیوترها یا پهنای باند آنها را مختل کنند.