لایت نود (Lightning node) چیست؟ انواع نود در شبکه بلاکچین
بیایید با توضیح اینکه گره در شبکه بلاکچین چیست بحث را شروع کنیم. به طور کلی، هر شرکت کننده در شبکه بلاکچین و رمزارزها یک گره است. انواع مختلفی از گره در شبکه وجود دارد، اما هر یک از آنها دارای یک ویژگی خاص و منحصر به فرد هستند. با توجه به این ویژگی های خاص، برای میزبانی یا اتصال ساده به یکی از آنها، کاربر به سخت افزار خاصی احتیاج دارد.
فناوری بلاکچین ذاتاً غیرمتمرکز است. این ویژگی یکی از مهمترین خصوصیاتی است که باعث شده این تکنولوژی در بین عموم مردم بسیار جذاب باشد. این ویژگی براساس اصول شبکه P2P (نظیر به نظیر) شکل گرفته است. در بیشتر شبکه های بلاکچین، نه هیچ سرور اختصاصی وجود دارد و نه هیچ مرجعی، بلکه یک اتفاق نظر در بین کاربران وجود دارد. از آنجا که همه گره ها برای امنیت و یکپارچگی شبکه بسیار مهم هستند، عضویت در یک انجمن سکه های رمزنگاری خاص نه تنها هیجان انگیز است بلکه یک مسئولیت برای حفظ شبکه آن نیز هست.
بیت کوین را به عنوان مثال در نظر بگیرید، دو نوع گره در این شبکه وجود دارد. گره های کاملی که یک کپی از بلاکچین را ذخیره می کنند و بنابراین با اعتبار سنجی داده ها، امنیت و صحت داده های موجود در بلاکچین را تضمین می کنند. نوع دوم گره سبک یا لایت (Lightning node) است. هر کاربر شرکت کننده، برای همگام شدن با وضعیت فعلی شبکه و امکان شرکت در آن، باید به یک گره کامل متصل شود.
انواع گره های بلاکچین
به طور خلاصه، دو نوع گره اصلی وجود دارد: گره های کامل (full nodes) و گره های لایت یا سبک (light nodes). اصطلاح دیگر برای توصیف گره ها مشتری هایی هستند که توابع کیف پول را تهیه می کنند. گره های کامل حاوی یک نسخه از تاریخچه بلاکچین از جمله تمام بلوک های ایجاد شده هستند، گره های لایت یا گره های SPV (تأیید پرداخت ساده) همه کیف پول هایی هستند که فقط هِدرهای بلوک ها را بارگیری می کنند و فضای هارد دیسک را برای کاربران ذخیره می کنند. اجازه دهید انواع مختلف را با جزئیات بیشتری بررسی کنیم:
گره های کامل (Full Node)
گره های کامل به عنوان یک سرور در یک شبکه غیرمتمرکز عمل می کنند. وظایف اصلی آنها شامل حفظ توافق بین سایر گره ها و تأیید معاملات است. آنها همچنین یک نسخه از بلاکچین را ذخیره می کنند، بنابراین امنیت بیشتری دارند و توابع سفارشی مانند ارسال فوری و معاملات خصوصی را فعال می کنند.
هنگام تصمیم گیری برای آینده یک شبکه، گره های کامل مواردی هستند که به پیشنهادها رأی می دهند. اگر بیش از 51٪ از آنها با این پیشنهاد موافق نباشند، از آن پیشنهاد چشم پوشی می شود. در برخی موارد، این پیشنهادها می تواند به یک هارد فورک منجر شود که در آن جامعه نتواند در مورد تغییر خاصی توافق کند و بنابراین راه های جداگانه خود را طی کنند و دو زنجیره ایجاد شود. که مشهورترین نمونه این اتفاق، Bitcoin Cash Fork است.
گره کامل ساده شده (Pruned Full Node)
این گره یک نوع گره کامل اما ساده شده است. ویژگی خاص این گره در اینجا این است که بارگیری بلوک ها را از ابتدا شروع می کند و هنگامی که به حد تعیین شده رسید، قدیمی ترین ها را حذف می کند و فقط هِدرها و محل قرارگیری آنها را حفظ می کند. به عنوان مثال، اگر یک محدودیت اندازه ۵۵۰ مگابایتی تعیین شود، این گره تمام آخرین بلوک هایی را که می توانند در آن فضای هارد دیسک قرار بگیرند ذخیره می کند، اما برای رسیدن به آن حالت، ابتدا باید تایید کل بلوک های قبلی در بلاکچین انجام شود.
گره های ساده شده به عنوان گره های کامل در نظر گرفته می شوند و بنابراین می توانند معاملات را تأیید کرده و در اجماع نیز شرکت کنند.
گره های کامل آرشیوی
گره های کامل آرشیوی همان چیزی است که بیشتر افراد هنگام صحبت در مورد گره های کامل به آن اشاره می کنند. آنها سروری را تصور می کنند که میزبان یک بلاکچین کامل در پایگاه داده خود باشد. همانطور که قبلاً در بالا با شما به اشتراک گذاشتم، وظیفه اصلی آنها حفظ اجماع و اعتبار بخشیدن به بلوک ها است. تفاوت بین گره ساده شده و آرشیوی یک گزینه است: مقدار فضای هارد دیسکی که آنها در سرور یا رایانه کاربر اشغال می کنند.
گره های آرشیوی را می توان به چند زیرگروه تقسیم کرد: گره هایی که می توانند بلوک هایی را به بلاکچین اضافه کنند و گره هایی که دیگر قادر به این کار نیستند.
گره هایی که می توانند بلوک اضافه کنند
بیایید از شرکت کنندگان اصلی در بلاکچین شروع کنیم، گره هایی که می توانند بلوک هایی به شبکه بلاکچین اضافه کنند. فعالیت اینها به قوانین اجماعی که اعمال می شوند بستگی دارند و برای فعالیت حداقل به یک گره آرشیوی کامل نیاز دارند.
استخراج کنندگان (گره های استخراج)
مفهومی که ممکن است از قبل با آن آشنا باشید: ماینرها در واقع گره هایی (کامل یا لایت) هستند که هدف آنها اثبات این است که آنها کار مورد نیاز برای ایجاد یک بلوک را به پایان رسانده اند. از این رو نام توافق، اثبات کار (POW) نامیده می شود. برای تکمیل این کار، همانطور که در بالا ذکر کردم، استخراج کنندگان باید خودشان یک گره کامل بایگانی باشند یا داده ها را از سایر گره های کامل شبکه دریافت کنند تا از وضعیت فعلی بلاکچین و پارامترهای مورد نیاز برای بلاک بعدی مطلع شوند.
شرکت کنندگان در این فرایند برای حل یک مسئله رمزنگاری از اجزای سخت افزاری (CPU، GPU یا ASIC) استفاده می کنند. اولین شخصی که این وظیفه را انجام می دهد نتایج خود را به شبکه منتقل می کند تا بتواند توسط گره های کامل تأیید شود و پس از دستیابی به توافق، حق اضافه کردن بلوک به زنجیره بلوک موجود به او داده می شود. ماینرها علاوه بر هرگونه هزینه معامله برای این بلوک، یک مقدار سکه از پیش تعریف شده را به عنوان پاداش دریافت می کنند.
استکر (گره های Staking)
استیکینگ را می توان با داشتن یک سپرده پول فیات سنتی مقایسه کرد. شما سکه خریداری می کنید و آنها را نگه می دارید، در حالی که در ازای آن سود به عنوان پاداش دریافت می کنید. باوجود این که در مورد سازوکار اجماع Proof of Stake برداشت های مختلفی وجود دارد، اما ویژگی اصلی این است که می توان درآمد را با شرکت در یک قرعه کشی مقایسه کرد. Staking یک بازی شانس است، که اگرچه مانع کمتری برای ورود به آن وجود دارد، اما در عین حال اطمینان کمتری نسبت به استخراج به خود جلب می کند و در بعضی مواقع گیج کننده است.
هدف نهایی این است که بر اساس مجموعه ای از پیش تعریف شده از قوانین تعیین شده و شانس، تعیین کنیم که چه کسی بعدی خواهد بود تا یک بلوک ایجاد کند و پاداش دریافت کند. عوامل شامل سن نگه داری سکه (مدت زمانی که سکه های خود را در اختیار دارید)، تعداد سکه های شما و نسبت آنها با موارد موجود در شبکه می باشد. در استیکینگ، شما به هیچ گونه ابزار آلات گران قیمت احتیاج ندارید، فقط باید کیف پول رمزنگاری خود را بصورت 24 ساعته در حالت آنلاین نگه دارید که این کار با دستگاهی مانند Raspberry Pi انجام می شود.
برای اینکه بتوانید سهام را استیک کنید، باید به یک گره کامل آرشیوی تبدیل شوید، یعنی کیف پول اصلی سکه را بارگیری کنید و کل بلاکچین را روی دستگاه خود نگه دارید. اگر می خواهید این مفهوم را به صورت عمیق تری کشف کنید یا یاد بگیرید کدام برترین سکه ها را ذخیره می کنید، می توانید این کار را با مراجعه به این مقاله انجام دهید.
گره های معتبر (Authority nodes)
گره های بلاکچینی که من تا اینجا مرور کرده ام همه می توانند به یک شبکه بپیوندند و وظایف خود را انجام دهند بدون اینکه نیاز باشد کسی به آنها اجازه دهد. این ذات یک بلاکچین است (ماهیت غیرمتمرکز آن). متأسفانه، اشکالات کمی در این روش وجود دارد و راه حل شامل استفاده از برخی از تمرکزها برای دستیابی به مزایایی مانند افزایش سرعت است. این موارد شامل الگوریتم های اجماع شامل اثبات تفویض سهام، تحمل خطای بیزانس، اثبات اقتدار و سایر موارد است.
شبکه هایی که از این الگوریتم ها استفاده می کنند باید تعداد مشخصی از گره های معتبر را تعریف کنند. این انتخاب توسط انجمن، رای گیری می شود یا اینکه توسط تیم توسعه دهنده تعیین می شود. وظیفه این گره ها همانند گره های کامل، ایجاد و اعتبار سنجی بلوک ها و در عین حال توزیع اطلاعات به کاربران در شبکه است. همه شرکت کنندگان، آنهایی که به عنوان معتمد نیز انتخاب نشده اند، گره های لایت (Light node) را اجرا می کنند؛ این که بتوانند در زنجیره بلوک فعالیت کنند به داده های منتشر شده توسط آنها بستگی دارد.
گره های سبک (SPV)
نوع دیگری از گره های زنجیره بلوک که در عملیات رمزنگاری روزمره استفاده می شود، گره سبک یا گره تأیید پرداخت ساده (SPV) است. احتمالاً قبلاً با آن روبرو شده اید، اما به احتمال زیاد با تعریف “کیف پول لایت” آشنا هستید.
این نوع گره ها در حالی که به گره های کامل اعتماد می کنند تا اطلاعات لازم را در اختیار آنها قرار دهند، با بلاکچین نیز ارتباط برقرار می کنند. از آنجا که آنها کپی ای از زنجیره را ذخیره نمی کنند، فقط وضعیت فعلی آخرین بلوک را پرس و جو می کنند و معاملات را برای پردازش منتشر می کنند.
با در نظر گرفتن ویژگی های فوق، مشاهده می کنید که اجرای گره SPV به منابع زیادی احتیاج ندارد، اما به دلیل راحتی بیشتر، امنیت را قربانی می کند.
گره های سبک (Lightning nodes)
گره های لایتنینگ مفهوم بسیار جالبی است. آنها در محدوده گره های کامل و گره های سبک نیستند، ایده پشت آنها ایجاد ارتباط بین کاربران خارج از بلاکچین است. به این ترتیب، بار در شبکه کاهش می یابد، زمان انتقال به طور قابل توجهی کوتاه می شود و قابلیت استفاده از سکه های رمزنگاری شده افزایش می یابد. هزینه های معامله در شبکه لایتنینگ بسیار کم است: به طور کلی تقریباً ۱۰ تا ۲۰ ساتوشی.
روش کار باز کردن یک کانال پرداخت جداگانه بین نهادها است. برای مثال یک مغازه نان شیرینی و باب را در نظر بگیرید. باب و مغازه چیزی شبیه صندوق امانات (یک آدرس چند امضایی) ایجاد می کنند که کلیدهای جداگانه برای آنها وجود دارد. باب وجوه خود را سپرده و از آنها برای پرداخت نان شیرینی استفاده می کند. هر معامله مورد توافق طرفین است و بلافاصله اتفاق می افتد. پس از اینکه به مقدار کافی نان داشته باشد یا حتی پول او تمام شده باشد، او یا فروشگاه می تواند اتصال را قطع کند، آخرین ترازنامه را گرفته و آن را در شبکه پخش کند.
به این ترتیب، طرفین می توانند به جای انتظار برای تأیید هر معامله و پر کردن شبکه با داده های اتلاف کننده، بین یکدیگر تعامل داشته و بار زنجیره بلوک را کاهش دهند. بعلاوه، اگر شخص دیگری بخواهد با همان طرف معامله کند، شبکه لایتنینگ راهی را با کمترین تعداد واسطه و کمترین هزینه انتقال جستجو می کند، بنابراین زمان انتظار را کاهش می دهد.
حریم خصوصی و امنیت لایت نود
هنگامی که کاربر برای بوجود آوردن تراکنش یا سایر خدمات مربوط به کیف پول ارز دیجیتال از لایت نود استفاده می کند، با یک سرور که در نقش یک شخص ثالث عمل می کند در ارتباط می باشد و به فول نود اتصال می یابد و این سرور ثالث توانایی دست پیدا کردن به اطلاعات موجودی و تراکنش های قبلی فرد را دارا می باشد اما زمانی که به صورت مستقیم از یک فول نود استفاده شود، چنین مشکلاتی در کار نیست. علاوه بر این استفاده از لایت نودها برای تراکنش احتمال دارد که دچار مشکلات امنیتی و در نهایت آسیب کاربران شود زیرا لایت نودها تمام دیتای بلاک چین را ذخیره نمی کنند.
به همین دلیل لازم است درست بودن اطلاعات خود را از سروری ثالث دریافت کنند که این سرور ها به خود لقب فول نود می دهند. البته باید بگوییم که پدید آورنده اصلی شبکه بلاکچین برای ساخت و ایجاد تراکنش از این روش دوری می کرد و پیشنهاد می داد که برای به وجود آوردن تراکنش، به صورت مستقیم از فول نود استفاده گردد.