در مقالههای هر هفته با آنتونی، سعی میکنیم ویدیوهایی از آندرس آنتونوپولوس (Andreas Antonopoulos) را منتشر کنیم. در ویدیوی این هفته آنتونی سعی دارد به بررسی و توضیح مشکلات توسعه شبکه لایتنینگ (Lightning Network) و راه حلهای موجود برای آن بپردازد.
آنتونی که میتوان گفت یکی از مسلطترین افراد حوزه ارزهای رمزنگاری شده است، در این ویدیو سعی دارد اطلاعاتی درباره مشکلاتی که در توسعه شبکه لایتنینگ وجود دارد و همچنین راه حلهای پیشنهادی برای آنها ارائه کند.
آیا شبکه لایتنینگ محدودیت و مشکلی دارد که توسعهدهندگان بخواهند روی آن کار کنند؟
شبکه لایتنینگ یک شرکت نیست، بلکه مشخصه یک پروتکل است که پروژههای متن باز و شرکتهای مختلفی آن را اجرا میکنند و اساس و پایه تکنولوژی لایتنینگ است که آن را Basis of Lightning Technology یا به اختصار آن را Bolt میگویند.
بنابراین Bolt چیزی است که نحوه کار شبکه لایتنینگ را تعیین میکند. تعدادی Bolt وجود دارند که تعیین میکنند قسمتهای مختلف چطور کار میکنند، تا هر فرد بتواند یک عملکرد بنویسد و سپس آن را به منظور تعیین تبادل اطلاعات و دادهها بین کاربران تست کند، تا مطمئن شوند که میتوانند با یکدیگر در شبکه اطلاعات به اشتراک بگذارند.
جالب است که بدانید یکی از مزیتهای شبکه لایتنینگ این است که شما نیازی نیست تابع قوانین اجماع باشید، بلکه فقط باید مطمئن شوید که قوانین اجماع شبکه بیت کوین از کار شما حمایت میکند.
شما میتوانید ویژگیهای مختلفی را مستقل از استاندارد موجود در شبکه به اجرا بگذارید و سریعتر از اجرای استاندارد حرکت کنید؛ منظور این است که توسعه در شبکه لایتنینگ خیلی سریعتر اتفاق میافتد.
کار بر روی اساس و پایه تکنولوژی لایتنینگ (BOLT)
پروژهها و شرکتهای مختلفی وجود دارند که ویژگیهای جالبی را اجرا میکنند. تعداد زیادی از آنها مشکلات و کمبودهای رابط کاربری که از همان ابتدا پیش میآید را بررسی میکنند.
این BOLT با توافقات جدید به دست آمده از جلسات و افزودن آنها به استاندارد به تدریج بهتر میشود. این جلسات تاکنون به صورت فیزیکی در سراسر جهان بین توسعه دهندگان و تیمهای مختلف برگزار میشدند؛ ولی اکنون به شکل مجازی اتفاق میافتند. هر کسی میتواند در این گردهماییها شرکت کند، آنها را تماشا نماید و یا بعدا توافقات حاصله را بخواند و از آنها آگاه باشد. چون استانداردها در این جلسات معین میشوند.
تراکنشهای شبکه بیت کوین متفاوتتر از تراکنشهای شبکه لایتنینگ هستند. انجام دادن ۲ کار در شبکه لایتنینگ مشکل است:
- مشکل اول این است که اگر بخواهید از طریق شبکه لایتنینگ مبلغی را برای کسی بفرستید، آن شخص اول باید به شما صورتحساب بفرستد و دلیلش هم این است که ساز و کار و مکانیزم مسیریابی در شبکههای امروزی، بر پایه هش یک رمز کار میکند که باید در سراسر شبکه به صورت معکوس منتشر شود تا از رضایت خاطر همه کاربران اطمینان حاصل گردد و نیازی به اعتماد نباشد. پس لزوم صورتحساب در تراکنش، به این معنی است که شما نمیتوانید به کسی پول بفرستید، مگر این که از قبل با او هماهنگ کرده باشید و هماهنگ کردن، یعنی دریافت صورتحساب برای مبلغ مشخصی که میخواهید برای او بفرستید.
- مشکل دوم این است که نودهای شبکه لایتنینگ باید آنلاین باشند؛ نودها به ۲ دلیل باید آنلاین باشند؛ یکی است که مطمئن شوید که طرف مقابل شما در کانال پرداخت، از طریق ارسال یک صورتحساب قدیمی سعی در فریب شما نداشته باشد. فعلا این مشکل از طریق الزام نودهای شبکه لایتنینگ به آنلاین بودن و کنترل تراکنشهای کانال پرداخت و اطمینان از عدم تقلب رفع شده است؛ ولی این موضوع مشکل پیچیدهای است و باید به طرق مختلفی برطرف شود و فکری به حالش کرد.
دلیل دوم برای آنلاین بودن گرهها، این است که مشکلاتی در محدوده مسیریابی وجود دارد. گاهی اوقات تعیین مسیر تراکنش مشکل است؛ زیرا فرستنده باید آن مسیر را بسازد و برای این کار داشتن یک دیدگاه کلی از ارتباط کل شبکه و در نتیجه، وجود پایگاه عظیمی از دادهها برای تشخیص ارتباطات با هم لازم است و این اثرات و عواقبی هم برای حریم خصوصی و هم برای قابلیت مسیریابی خواهد داشت.
اینها مشکلاتی هستند که توسعه دهندگان شبکه لایتنینگ برای اصلاح و بهبود آنها در تلاش هستند.
راه حلهای موجود برای مشکلات شبکه لایتنینگ
این مشکلات قابل حل هستند. در واقع راه حلهای گوناگونی پیشنهاد میشود؛ ولی مهم این است که این راه حلها معیارها و موارد مختلفی از قبیل حریم خصوصی، سرعت، ارتباط امن، اعتبار و بهبودپذیری شبکه و دیگر مسائل را مد نظر بگیرند.
شما در راه حلهای پیشنهادی با اصطلاحاتی از قبیل مسیریابی Trampoline، مسیریابی Rendezvous و همچنین کانالهای Turbo و صورتحسابهای Huddle روبرو میشوید. همه اینها راههای مختلفی برای حل مشکل شبکه لایتنینگ هستند. این راه حلها با استفاده از پروتکلهای مختلف شبکه را در مسیر کاربرد راحتتر، درک آسانتر، رفتار قابل پیش بینیتر و پیچیدگی کمتر برای کاربر نهایی به جلو میبرند.