رله (Relay) چیست؟ انواع رله و کاربرد آنها
برای اینکه یک کلاینت بلاک چین داده های معتبری را از سیستم دریافت کند، می تواند هزینه دانلود، ذخیره و تأیید بلاک چین را بپردازد (یک گره کامل را اجرا کند)، یا به یک گره کامل اعتماد کند. با این حال، راهی برای مشتریان محدود به منابع وجود دارد تا بدون نیاز به اعتماد به یک گره کامل، با بلاک چین تعامل داشته باشند و دادهها را از آن دریافت کنند. با استفاده از این راه حل، آنها می توانند گنجاندن تراکنش ها در بلاک چین را تأیید کنند، اما دسترسی فوری به کل مجموعه تراکنش های یک بلاک را ندارند.
امروزه ما در مورد تعامل پذیری بلاک چین، به ویژه در مورد بریج های بین بلاک چین های مختلف، زیاد می شنویم. به طور کلی، دو رویکرد برای ایجاد بریج بین بلاک چین ها وجود دارد: 1) مبتنی بر رله، 2) مبتنی بر اعتبارسنجی. در این مقاله میخواهیم اولی را بررسی کنیم و ببینیم رله چیست، چگونه کار می کند و بر مبنای چه علمی است.
به طور خلاصه، رله ها لایت کلاینت یک بلاک چین هستند که در بلاک چین دیگر وجود دارند. اما لایت کلاینت دقیقا چیست؟
لایت کلاینت Light client
سیستم های مبتنی بر بلاک چین معمولاً سه نوع شرکت کننده اصلی دارند:
در این رابطه بخوانید : ارز دیجیتال انکر (ANKR) چیست و چگونه کار می کند؟
گرههای اجماع (همچنین تحت عنوان ماینرها یا اعتبارسنج ها شناخته میشوند)، که یک پروتکل اجماع را برای رسیدن به توافق مشترک در مورد وضعیت فعلی بلاک چین اجرا میکنند.
گرههای کامل که کل دادههای بلاک چین را ذخیره میکنند.
کلاینت ها که تراکنش ها را به شبکه ارسال می کنند.
برای اینکه یک کلاینت بلاک چین داده های معتبری را از سیستم دریافت کند، می تواند هزینه دانلود، ذخیره و تأیید بلاک چین را بپردازد (یک گره کامل را اجرا کند)، یا به یک گره کامل اعتماد کند. با این حال، راهی برای مشتریان محدود به منابع وجود دارد تا بدون نیاز به اعتماد به یک گره کامل، با بلاک چین تعامل داشته باشند و دادهها را از آن دریافت کنند. با استفاده از این راه حل، آنها می توانند گنجاندن تراکنش ها در بلاک چین را تأیید کنند، اما دسترسی فوری به کل مجموعه تراکنش های یک بلاک را ندارند.
تأیید پرداخت ساده یا SPV راه حلی برای افرادی است که می خواهند پرداخت ها را در یک بلاک چین بدون اجرای یک گره کامل تأیید کنند. در این مورد، آنها فقط باید یک کپی از هدرهای بلاک از بلاکچین را ذخیره کنند. این کلاینت ها را لایت کلاینت می نامیم زیرا به ذخیره سازی و قدرت محاسباتی زیادی نیاز ندارند. با این حال، آنها می توانند گنجاندن تراکنش ها در بلاک چین را بررسی کنند. مفهوم لایت کلاینت های SPV برای اولین بار در وایت پیپر بیت کوین Bitcoin توسط ساتوشی ناکاموتو معرفی شد.
لایت کلاینت های SPV هدر بلاک را دریافت می کنند و قبل از پذیرش آنها، اعتبار و قانون اجماع آنها را بررسی می کنند. اگر بخواهند اعتبار و نهایی شدن یک تراکنش را بررسی کنند، می توانند با استفاده از ریشه Merkle، هدر بلاک حاوی آن تراکنش را تأیید کنند. این روند با استفاده از اثبات مرکل انجام می شود. برخی از بلاک چین ها از درختان مرکل پاتریشیا یا MMR به جای درختان مرکل برای تراکنش های خود استفاده می کنند که هیچ تفاوتی در منطق لایت کلاینت ها ایجاد نمی کند.
رله ها
رله یک لایت کلاینت است که بر روی یک بلاک چین (ما آن را بلاک چین هدف می نامیم) با استفاده از قراردادهای هوشمند راه اندازی شده است. این برنامه می تواند هر هدر بلاک از یک بلاک چین دیگر (بلاک چین منبع) را دریافت و تأیید کند و آنها را ذخیره کند تا در آینده برای تأیید تراکنش استفاده شود. به این ترتیب، هر اپلیکیشن آن چین در بلاک چین هدف می تواند از رله پرس و جو کند تا از اعتبار یک تراکنش در بلاک چین منبع مطلع شود.
در یک رله، تمام اعتبارسنجی و بررسی قوانین اجماع در قرارداد هوشمند انجام می شود، بنابراین نیازی به اعتماد شخص ثالث نیست. این کاملاً با ماهیت و هدف اصلی بلاک چین ها که تمرکززدایی است همسو است. همچنین باعث میشود رلهها از هر راهحل دیگری امنتر باشند. توجه داشته باشید که قرارداد هوشمند همچنان به هدرهای بلاک از زنجیره منبع به عنوان ورودی نیاز دارد که می تواند توسط برخی گره ها به نام رله ارائه شود. از آنجایی که همه چیز در قرارداد هوشمند تأیید می شود، این هیچ آسیبی به امنیت پروتکل وارد نمی کند. اگر ورودی نامعتبر باشد، رله به سادگی آن را کنار میگذارد.
چالش اصلی پیادهسازی ماژول بررسی اجماع با استفاده از یک قرارداد هوشمند است که در برخی موارد میتواند مشکل باشد و باید برای هر مکانیزم اجماع جدیدی که معرفی میشود، تنظیم شود.
نگرانی دیگر در رله، هزینه تأیید آن چین است که در برخی موارد قابل توجه است. اول راه اندازی یک رله است. به عنوان مثال، اگر بخواهیم رله ای را روی بلاک چین اتریوم Ethereum برای خواندن داده های بلاک چین بیت کوین با استفاده از مکانیسم لایت کلاینت های SPV مستقر کنیم، باید از بلاک پیدایش بیت کوین شروع کنیم و هر هدر بلاک را تا آخرین بلاک شبکه بیت کوین ارسال کنیم. اکنون که بیت کوین بیش از 700000 بلاک دارد، این پروسه هزینه هنگفتی دارد که ممکن است هیچ کس حاضر به پرداخت آن نباشد.
دوم زمانی است که رله روی یک زنجیره گران مانند اتریوم وجود دارد و باید یک بلاک چین با رشد سریع را تأیید کند که بلاکهای زیادی را در یک دقیقه تولید میکند. سوم زمانی که یک رله از کار می افتد و باید بعد از مدتی دوباره راه اندازی شود، از زمانی که کار متوقف شد تا آخرین بلاک آن زمان در بلاک چین منبع، به تمام هدرهای بلاک نیاز دارد تا بتواند به دریافت هدرهای بلاک جدید ادامه دهد و خود را به روز نگه می دارد.
همچنین بخوانید : اسلشینگ (Slashing) چیست؟ و چگونه میتوان از آن در امان ماند؟
بسیاری سعی کرده اند مشکل هزینه را حل کنند. برخی از آنها سعی کرده اند ساختار هدرهای بلاک را دوباره طراحی کنند تا هزینه رله را کاهش دهند، مانند بلاک چین های NiPoPoW و FlyClient برای اثبات کار. آنها از velvet fork به عنوان وسیله ای برای ادغام ساختار جدید خود با بلاک چین های موجود مانند بیت کوین استفاده می کنند. راه حل های دیگری مانند zkRelay از اثبات دانش صفر برای حل این مشکل استفاده می کنند. آنها به جای SPV و ارسال هر هدر بلاک در بلاک چین هدف، مدرکی با دانش صفر برای دوره ای از هدرهای بلاک ارائه می کنند و آن را به صورت زنجیره ای ارسال می کنند تا هزینه انتقال را کاهش دهند.
اکنون که ایدهای درباره رلهها به دست آوردیم، این پست را با معرفی برخی از برنامههای کاربردی که میتوان بر روی رلهها ایجاد کرد به پایان میرسانیم.
برنامه های کاربردی
از رله ها می توان برای بریج توکن ها از یک بلاک چین غیرقابل برنامه ریزی مانند بیت کوین به یک بلاک چین قابل برنامه ریزی مانند اتریوم استفاده کرد. به این ترتیب، برخی از ارزها مانند BTC می توانند wrapped شوند و به DeFi آورده شوند. علاوه بر این، در بلاک چین های قابل برنامه ریزی، NFT ها و داده ها را می توان با استفاده از یک رله به زنجیره های دیگر منتقل کرد.
از آنجایی که رلهها کل دادهها را از یک بلاکچین به بلاکچین دیگر منتقل میکنند، هرگونه داده یا تراکنش مورد بررسی را میتوان از طریق آنها تأیید کرد. به عنوان مثال، آنها می توانند به عنوان یک اوراکل on-chain یا برای همگام سازی حالت های یک قرارداد هوشمند چند زنجیره ای یا برای ساخت بسیاری از برنامه های کاربردی single-chain یا cross-chain و multi-chain استفاده شوند.
منبع خبر: ارز دیجیتال نیپوتو