بلاک چین یک دفتر کل توزیع شده است که دادهها را به شکلی تغییر ناپذیر و امن بر روی زنجیرهای از بلاکها ذخیره میکند. اما تا به حال به این فکر کردهاید که این بلاکهای داده کجا ذخیره میشوند؟ چه کسی این دفتر کل را به اشتراک میگذارد؟ چه کسی شبکه بلاک چین را اجرا میکند؟ گره یا نود (Node) یکی از اساسیترین اجزای فناوری بلاک چین است اما پیش از درک آن بهتر است با مفهوم «گره» به شکل کلی آشنا شویم. تصور کنید که یک طرفدار فوتبال هستید. شما قوانین مسابقات را میدانید، بازیکنان و تیم مورد علاقه خود را دارید و همیشه از تماشای بازی فوتبال لذت میبرید.
گره یا نود چیست؟
در بلاک چین تمامی نودها به یکدیگر متصل هستند و دائماً دادههای خود را با یکدیگر مبادله میکنند تا در نهایت همه گرهها به روز باشند. از نظر تئوری، بلاک چین درون نودها وجود دارد زیرا دادههای شبکه توسط این گرهها ذخیره، نگهداری و منتشر میشود. پس به طور کلی هر فردی که درون شبکه بلاک چین قرار دارد یک نود یا گره است.
آیا تا به حال به این فکر کردهاید که اگر زمینی برای بازی فوتبال وجود نداشت چه اتفاقی میافتاد؟ اگر جایی برای بازیکنان وجود نداشت که در آن فوتبال بازی کنند، چگونه از فوتبال لذت میبردید؟ در این مثال بازیکنان فوتبال شبیه پلتفرمهای مختلف، تیمهای فوتبال شبیه بلاک چینهای عمومی یا خصوصی و زمین بازی همان نودها در بلاک چین هستند و این نودها هستند که شبکه بلاک چین بر روی آنها اجرا میشود. در این مقاله مفهوم نود، هدف، کاربرد و انواع آن در بلاک چین را بررسی میکنیم.
نوع نود (گره) | کاربرد |
فول نود | حفظ اجماع میان سایر نودها و اعتبارسنجی تراکنش ها |
نود تعدیل | یافته ذخیره و نگهداری از آخرین اطلاعات |
نود آرشیوی | حفظ هماهنگی در بلاک چین |
نود ماینینگ (نود سبک) | اثبات اتمام کار مورد نیاز برای تشکیل یک بلوک |
گره یا نود در بلاک چین
بلاک چین دادهها را درون بلاکهایی ذخیره میکند که به شکل زنجیره به یکدیگر متصل شدهاند. این بلاکهای داده به جای ذخیره شدن در یک سرور مرکزی (مدل کلاینت – سرور) بر روی شبکه از نودها (Nodes) یا گرهها ذخیره میشوند. نودها زیرساخت شبکه بلاک چین را شکل میدهند و میتوانند هر دستگاهی، رایانه، لپ تاپ و حتی سرور باشند.
نودها در بلاک چین انواع مختلفی دارند و هر کدام دارای ویژگیهای خاصی هستند. برای مثال بیت کوین دارای دو نوع گره است: گره یا نود کامل که یک کپی از کل بلاک چین را ذخیره میکند و مسئولیت حفظ امنیت و اعتبارسنجی دادههای بلاک چین را بر عهده دارد. گره یا نود سبک که در واقع دیگر کاربران درون بلاک چین هستند و برای مشارکت در شبکه باید به یک نود کامل متصل شوند.
انواع نودها در بلاک چین
به طور کلی، دو نوع اصلی نود در بلاک چین وجود دارد:
- نود کامل (Full Node)
- نود سبک (Lightweight Node)
نودهای کامل یا فول نودها یک کپی از تاریخچه تراکنشهای کل بلاک چین را ذخیره کرده و با دیگران به اشتراک میگذارند. نودهای سبک یا همان نودها (به شکل خلاصه) به جای نگهداری یک بلاک چین کامل معمولاً یک هدر بلاک (Block Header) را ذخیره میکنند. هدر بلاک، حاوی دادههایی است که از آنها برای شناسایی و اعتبارسنجی یک بلاک خاص در شبکه استفاده میشود. به بیان دیگر، نودهای سبک تمامی کیف پولهای درون بلاک چین هستند که تنها هدر بلاکهای مربوط به داراییهای خود را نگهداری میکنند.
نودهای کامل
نود کامل یا فول نود در شبکه غیر متمرکز عملکردی مانند سرور در مدل کلاینت – سرور دارد. وظیفه اصلی فول نودها حفظ اجماع میان سایر نودهای شبکه و اعتبارسنجی تراکنشها است. همیشه یک نسخه از بلاک چین بر روی فول نودها ذخیره میشود، به همین علت آنها امنیت بیشتری دارند و عملکردیهایی مانند ارسال فوری و تراکنشهای خصوصی را فعال میکنند.
نودهای کامل نقش مهمی در حاکمیت بلاک چین دارند. آنها هستند که هنگام تصمیمگیری برای آینده شبکه به پیشنهادات رای میدهند. این پیشنهادها برای تصویب شدن به موافقت بیش از ۵۱ درصد نیاز دارند، وگرنه از آنها صرف نظر میشود. در مواقعی که جامعه نمیتواند در مورد به روزرسانیهای مهم به توافق برسد، یک هارد فورک در شبکه ایجاد میشود. در این شرایط بلاک چین به دو زنجیره تقسیم میشود و هر گروه جداگانه راه خود را پیش میگیرد. اتریوم کلاسیک (ETC) و بیت کوین کش (BCH) از مشهورترین این اتفاقها هستند.
نود کامل تعدیل یافته
نود تعدیل یافته (Pruned Full Node) دستهای از نودهای کامل هستند. نودهای تعدیل یافته نیز اطلاعات شبکه را از اولین بلاک بارگذاری و ذخیره میکنند. هنگامی ظرفیت حافظه آنها پر شد و به حد تعیین شده رسیدند، دادههای قدیمی را حذف و تنها اطلاعات هدر و ترتیب قرارگیری بلاکها را ذخیره میکنند. برای مثال اگر محدودیت حجم را ۱۰۰۰ مگابایت تعیین کنید، صرفاً میتوانید دادههای آخرین بلاکهای شبکه را ذخیره کنید. البته پیش از این رسیدن به این وضعیت، ابتدا باید دادههای تمام بلاک چین را بارگذاری، بررسی و اعتبار همه بلاک را تأیید کنید. از آنجایی که گرههای تعدیل یافته یک نود کامل هستند میتوانند در اعتبارسنجی تراکنشها و مسائل مربوط به اجماع شرکت کنند.
نود کامل آرشیوی
نود آرشیوی (Archival Full Node) همان چیزی است که بیشتر مردم هنگام صحبت در مورد گرههای کامل به آن اشاره میکنند. نودهای آرشیو شبیه سروری هستند که دادههای بلاک چین را در پایگاه داده خود میزبانی میکنند. همانطور پیش گفتیم، وظیفه اصلی این نودها حفظ هماهنگی در بلاک چین و اعتبارسنجی تراکنشها است. تنها تفاوت میان نودهای آرشیوی و نودهای تعدیل یافته در میزان فضای هارد دیسک مورد استفاده برای ذخیرهسازی دادههای بلاک چین است. گرههای آرشیوی نیز به چند زیر دسته تقسیم میشوند: آنهایی که میتوانند بلاکهای جدید به بلاک چین اضافه کنند و آنهایی که قادر به انجام این کار نیستند.
نود با قابلیت اضافه کردن بلاک
بیایید با بررسی مشارکتکنندگان اصلی بلاک چین – گرههایی که میتوانند بلاک جدید به شبکه اضافه کنند – شروع کنیم. با اینکه کارکرد هر کدام بسته به نوع مکانیسم اجماع شبکه متفاوت است اما این دسته از نودها برای شروع کار به حداقل یک گره آرشیوی نیاز دارند.
نود ماینینگ
احتمالاً پیش از این با مفهوم ماینینگ یا استخراج ارز دیجیتال آشنا باشید. ماینرها در واقع نودهایی (کامل یا سبک) هستند که هدف آنها اثبات این است که کار مورد نیاز برای ایجاد یک بلوک را به پایان رساندهاند. این سازوکار در حقیقت همان مکانیسم اثبات کار (PoW) است. برای انجام این کار لازم است تا ماینرها یک نود کامل آرشیوی باشند یا یک نود سبک که دادههای وضعیت فعلی بلاک چین و پارامترهای مورد نیاز را از دیگر گرههای کامل دریافت میکند.
نودهای ماینینگ با استفاده از توان محاسباتی دستگاههای استخراج یک معادله ریاضی رمزنگاری شده را حل میکنند. اولین فردی که جواب را پیدا میکند، دادههای خود را به بلاک چین ارسال کرده تا توسط نودهای کامل موجود در شبکه تأیید شود. پس از ایجاد اجماع بر سر درستی دادهها، ماینر میتواند یک بلاک جدید به بلاک چین اضافه کند. نودهای ماینینگ علاوه بر پاداش استخراج، برای انجام تراکنشهای شبکه نیز کارمزد دریافت میکنند.
نود استیکینگ
استیکینگ شبیه سپردهگذاری ارزهای رایج فیات در بانک است. شما ارز دیجیتال میخرید، آنها را هولد میکنید و در عوض سودی به عنوان پاداش دریافت خواهید کرد. الگوریتم اثبات سهام شکلهای مختلفی دارد اما همه آنها را میتوان با شرکت در لاتاری مقایسه کرد. با اینکه مشارکت به عنوان نود استیکینگ سادهتر است و موانع ورود کمتری دارد اما نسبتاً این بلاک چینها نسبت به بلاک چینهای اثبات کار کمتر قابل اطمینان هستند.
در این مکانیسم، مجموعهای از پیش تعیین شده از قوانین و شانس تعیین میکند که چه کسی بلاک بعدی را ایجاد و پاداش را دریافت میکند. مدت زمانی هولد کردن، مقدار و نسبت داراییهای شما به کل کوینهای موجود در شبکه بخشی از این عوامل هستند. نودهای استیکینگ برخلاف نودهای ماینینگ نیازی به تجهیزات گران قیمت ندارند و فقط کافی است تا کیف پول ارز دیجیتال خود را به صورت ۲۴ آنلاین نگه دارند. برای تبدیل شدن به یک نود استیکینگ لازم است تا یک گره کامل آرشیوی شوید یعنی باید کیف پول اصلی کوین را دانلود کرده و کل بلاک چین را روی دستگاه خود بارگذاری کنید.
نود اعتبارسنج
همه نودهای بلاک چین که تا اینجا بررسی کردیم میتوانند به شبکه بلاک چین متصل شوند و وظایف خود را به بدون اجازه دیگران انجام دهند. در حقیقت ماهیت غیر متمرکز بلاک چین به افراد اجازه انجام همچین کاری را میدهد. متأسفانه این رویکرد معایبی نیز دارد، مهمترین آن نیاز به سطحی از متمرکز بودن شبکه برای افزایش سرعت پردازش تراکنشها در بلاک چین است. شبکههایی که از الگوریتمهای اثبات سهام نمایندگی (DPoS)، تحمل خطای بیزانس (BFT)، اثبات اعتبار (PoA) و … استفاده میکنند باید از تعداد مشخصی نود اعتبارسنج استفاده کنند. تعداد و چگونگی مشارکت این گرهها در رایگیریها توسط تیم توسعه دهنده مشخص میشود. وظیفه نودهای اعتبارسنج مانند فول نودها، ایجاد و تأیید بلوکها و توزیع دادهها میان کاربران شبکه است.
نود بدون قابلیت اضافه کردن بلاک
مسترنودها (Masternodes) برخلاف فول نودها نمیتوانند بلاکهای جدید به بلاک چین اضافه کنند. هدف این گرهها، ثبت تاریخچه تراکنشها و اعتبارسنجی آنها است. فرقی ندارد که یک مستر نود ماینر یا استیککننده باشد، آنها کسانی هستند که دادهها را روی بلاک چین بلاک مینویسند. شما با اجرای یک مستر نود به امن کردن شبکه بلاک چین کمک میکنید و در مقابل خدمات خود پاداش دریافت میکنید. برای اجرا یک مستر نود باید مقدار مشخصی دارایی را به عنوان وثیقه سپردهگذاری کنید و به شکل شبانه روزی به بلاک چین متصل باشید.
نودهای سبک
نودهای سبک (Lightweight Node) که به آنها نود SPV هم گفته میشود نوع دیگری از انواع گرههای در شبکه بلاک چین هستند. اگر با تعریف «کیف پول سبک» آشنا باشید، احتمالاً میدانید که این نودها همان کاربران عادی شبکه هستند که تراکنشها را انجام میدهند نودهای سبک برای برقراری ارتباط با بلاک چین و استفاده از دادههای مورد نیاز به فول نودها وابسته هستند. نودهای SPV برای انجام تراکنشهای خود دیگر نیازی به ذخیرهسازی کل بلاک چین ندارند و تنها دادههای آخرین بلاک را استعلام میکنند. در حقیقت این دسته از نودها به منابع محاسباتی نیازی ندارد و بخاطر راحتی خود امنیت شبکه را به خطر میاندازند.
در نهایت
نقشی که نودها یا گرهها در شبکه بلاک چین ایفا میکنند، مشابه نقشی است که سرورها در اینترنت بازی میکنند. سرورها اطلاعاتی که در هر زمان از شبانه روز بر روی اینترنت جستجو میشوند را در اختیار کاربران قرار میدهند. فرقی ندارند که یک توسعه دهنده، سرمایهگذار، ترید، ماینر یا حتی علاقهمند به بلاک چین باشید، درک مفهوم برای تمامی این افراد ضروری است. برای مثال، درک عمیق از نودها به یک معمار بلاک چین اجازه میدهد تا با استفاده از عواملی مانند در دسترس بودن، قدرت محاسباتی، شرح وظایف و موارد دیگر بهترین و بهینهترین راه حل را ایجاد کند. کارایی هر برنامه بلاک چین به همان اندازه که به الگوریتمهای اجماع یا تکنیکهای رمزنگاری بستگی دارد به معماری گرههای آن نیز وابسته است.
سوالات متداول
فول نود چیست و چه وظیفهای دارد؟
نود کامل یا فول نود در شبکه غیر متمرکز عملکردی مانند سرور در مدل کلاینت – سرور دارد. وظیفه اصلی فول نودها حفظ اجماع میان سایر نودهای شبکه و اعتبارسنجی تراکنشها است.
هدر بلاک چیست؟
هدر بلاک، حاوی دادههایی است که ازآنها برای شناسایی و اعتبارسنجی یک بلاک خاص در شبکه استفاده میشود.