استفاده از DNS: راهکاری برای هماهنگ سازی پرداختهای بیت کوین
به گزارش زوم ارز، مت کورالو در کمتر از یک هفته پیش، یک پیشنهاد BIP برای هماهنگی پرداختهای بیتکوین ارائه کرد. انجام پرداختهای بیتکوین همواره با چالشهایی در زمینه هماهنگی مواجه شده است، بدون توجه به اینکه آیا در زنجیره بلاک یا خارج از آن با استفاده از پروتکلهایی مانند لایتنینگ انجام شوند. وقتی به سامانههای دیجیتالی مانند ایمیل یا سامانههای پرداخت مانند Paypal و Cashapp فکر میکنیم، مردم به مفهوم استفاده از یک شناسه ثابت عادت دارند. برای ارسال یک ایمیل به جان، فقط کافیست به “john@[دامنه]” ایمیل بزنیم. و برای ارسال مقداری پول به جان در Cashapp، فقط مبلغ را به حساب @John در Cashapp ارسال میکنیم.
این تجربه کاربری، که مردم با آن آشنا هستند، وقتی صحبت از رفتار و انتظارات کاربر درباره چیزهایی میشود، سخت است تا آنها را به سمت یک چیز جدید یا تغییر شدید در رفتار هدایت کنیم. اگر ابزاری را ارائه دهیم که نیاز به آن دارند، اصطکاکهای زیادی را به وجود میآورد و به احتمال زیاد بیشتر افراد از استفاده از آن ابزار منصرف میشوند.
پرداختهای زنجیرهای با این انتظار مواجه میشوند، نه به دلیل ناتوانی در داشتن یک شناسه ثابت (یک آدرس)، بلکه به دلیل حفظ حریم خصوصی و پیامدهای ارسال یک آدرس زنجیرهای واحد و همه افرادی که با آنها در تعامل هستید، وقتی که از آن برای پرداخت به شما استفاده میکنند. این باعث میشود که تمام تاریخچه پرداخت و مالکیت سکه شما در دید عمومی قرار گیرد. اگر به ندرت پول دریافت میکنید، مثلاً زمانی که برای کار پول دریافت میکنید یا با افراد تسویه حساب میکنید، ایجاد کیف پول جدید و دریافت آدرس جدید برای هر دریافت پول سنگین نیست.اما اگر مکرراً پول دریافت میکنید، بهویژه در مواردی که مستقیماً درخواست پرداخت نمیکنید، این یک بار جدی است.
به همین دلیل است که ابزارهایی مانند BTCPay Server ایجاد شد تا مانع ورود افراد شود تا زیرساخت های مورد نیاز را برای خودکارسازی دریافت وجوه بدون انجام کاری ساده مانند پست کردن یک آدرس واحد برای همه افرادی که برای استفاده مجدد به شما پول می دهند، ایجاد کنند. با این حال، این امر مستلزم اجرای سروری است که دائماً به صورت آنلاین در دسترس باشد. در حالی که این پروژه به شدت سطح درک مورد نیاز را کاهش داده است، هنوز هم برای کاربری که به سادگی میخواهد قادر به دریافت غیرفعال پول باشد، بار سنگینی است.
با استفاده از روش LNURL، نیاز به اجرای سرور HTTP دائمی برای دریافت پرداختها حذف میشود. در این روش، یک شخص میتواند یک فاکتور لایتنینگ واقعی را از سرور دریافت کند، اما بعد از پرداخت یا انقضا، گره لایتنینگ هدف هرگونه تلاش برای پرداخت را رد میکند.
در LNURL، از یک IP ثابت برای اتصال به سرور HTTP استفاده میشود که میتواند یک بار به اشتراک گذاشته شود تا فاکتور واقعی لایتنینگ برای پرداخت از سرور دریافت شود. آدرسهای لایتنینگ نیز از یک طرح نامگذاری در بالای LNURL استفاده میکنند که ساختاری مشابه آدرسهای ایمیل دارند، مانند “John@[دامنه سرور LNURL]”.
به هر حال، همه این راهحلها دارای برخی معایب هستند. برای استفاده از این روشها، نیاز به اجرای یک نرمافزار اضافی (مانند سرور HTTP) که همیشه آنلاین باشد وجود دارد. همچنین، درخواست به سرور BTCPay/LNURL آدرس IP فرستنده را به گیرنده لو میدهد و اعتماد به مقامات گواهی TLS نیاز است.
فقط از DNS استفاده کنید
زمانی که ابزار سرور HTTP مانند LNURL با آدرس لایتنینگ جفت میشود، از دامنهها برای برقراری ارتباط با سرور HTTP استفاده میکند. به طور مشابه، سرورهای BTCPay نیز از دامنهها برای پیکربندی خود به جای استفاده از آدرسهای IP خام استفاده میکنند. این مفهوم این است که چرا ما نباید فقط به وابستگی به پروتکل HTTP محدود شویم و از خود سیستم نام دامنه استفاده کنیم؟
DNS به ما امکان میدهد تا رکوردهای TXT را با یک نام دامنه خاص مرتبط کنیم و رکوردهای کوچکی که میتوانند توسط انسان یا سیستمهای ماشینی خوانده شوند، ایجاد کنیم. این رکوردهای TXT میتوانند با استفاده از سرورهای DNS پرس و جو شوند. با استفاده از DNS TXT و همراهی با توسعههای امنیتی سیستم نام دامنه (DNSSEC)، ما میتوانیم یک مکانیزم را برای استعلام اطلاعات پرداخت بدون نیاز به اجرای سرور HTTP ایجاد کنیم. این روش انعطافپذیری و باز بودن بیشتری را فراهم میکند. DNSSEC ابزارهایی را برای امضای رمزنگاری ورودیهای DNS، از جمله رکوردهای TXT، با استفاده از کلیدهای DNS در ساختار سلسله مراتبی DNS فراهم میکند. این امر تضمین میکند که رکورد TXT که درخواست میکنید، امضا شده و توسط سرورهای DNS سطح پایینتر از سرور/کلید ریشه توزیع میشود.
استفاده از این قابلیتهای DNS به عنوان یک وسیله برای دریافت دادههای پرداخت به ما کمک میکند تا از نیاز به اجرای سرور HTTP خداحافظی کنیم. یک رکورد TXT میتواند یک آدرس بیتکوین در زنجیره را رمزگذاری کند و همچنین میتواند شامل یک پیشنهاد رعد و برق BOLT 12 نیز باشد.
این رکوردها را میتوانید از هر سرور DNS، سرور DNS محلی خود، ISP خود و حتی سرورهای عمومی مانند Google یا Cloudflare دریافت کنید. با استفاده از این روش، یکی از کاستیهای راهحلهای مبتنی بر HTTP حل شده است. شما نیازی به فاش کردنآدرس IP خود به شخصی که قصد پرداخت به او را دارید ندارید. در حال حاضر، با استفاده از DNS ارائه شده توسط ISP یا سرورهای عمومی مانند Google یا Cloudflare بدون نیاز به استفاده از VPN یا Tor، آدرس IP خود را برای آنها فاش میکنید. BIP به وضوح پشتیبانی از استفاده از VPN یا Tor را توصیه میکند، به خصوص به دلیل اهمیت حفظ حریم خصوصی در DNS.
BOLT 12 به همراه پیشنهاد LNURL، نیاز به نرمافزارهای جانبی را که ممکن است مشکلات امنیتی برای کاربران ایجاد کنند، حذف میکند. این پیشنهاد اجازه میدهد تا با تنها امتلاک یک دامنه، یک مکانیزم پرداخت را به کاربران ارائه دهید بدون نیاز به اجرای سرور HTTP. BOLT 12 از یک شناسه ساده قابل خواندن برای انسان استفاده میکند که نیازی به سرور HTTP ندارد و از طریق اتصالات مسیریابی پیاز میتواند مستقیماً از طریق شبکه لایتنینگ فاکتور واقعی را تحویل دهد. همچنین، BOLT 12 از Offers پشتیبانی میکند که یک شناسه ثابت است که میتواند برای یافتن مسیر پیاز به آن گره لایتنینگ استفاده شود.
با استفاده از ذخیره یک پیشنهاد در یک رکورد DNS TXT، کاربران تنها نیاز دارند دامنه شخصی را در کیف پول خود تایپ کنند تا بتوانند رکورد TXT را دریافت کنند، پیشنهاد BOLT 12 را واکشی کنند و سپس پرداخت را انجام دهند. آنها نیازی به میزبانی هیچ سرور یا اجرای نرمافزار دیگری ندارند، زیرا سیستم DNS همه چیز را برای آنها مدیریت میکند و BOLT 12 آنها را میزبانی میکند.
باید توجه داشت که این سیستم نیز کاملاً قابل اعتماد نیست، اما بهتر از سیستمهای مبتنی بر HTTP است. یکی از مشکلات مربوط به این روشها این است که انتظارات کاربران درباره تجربه کاربری و رفتار سیستم دیجیتال باید برآورده شود. بدون تجربه کاربری مشابه، افراد به سادگی از جایگزینهایی استفاده میکنند که تجربه کاربری را برآورده میکنند. با در نظر گرفتن این واقعیت، هدف طراحی باید برآورده کردن نیازهای کاربر با حداقل مداخله، حداقل بار مورد نیاز برای کاربران و حداقل احتمال از دست دادن حریم خصوصی باشد. Matt’s BIP تلاش میکند تا این جعبهها را در مقایسه با راهحلهای موجود براین پیشنهاد در ترکیب با BOLT 12، امکان اجرای نرمافزارهای جانبی را که باعث نگرانی امنیتی برای کاربران غیرمجاز میشود، از بین میبرد و به مالکیت یک دامنه اجازه میدهد تا به کاربران هر آنچه برای داشتن یک مکانیزم پرداخت و انتقال اطلاعات نیاز دارند، ارائه دهد. BOLT 12 با استفاده از یک شناسه قابل خواندن برای انسان، نیازی به سرور HTTP ندارد و از طریق شبکه لایتنینگ، ارسال فاکتور و پشتیبانی از Offers را انجام میدهد. با استفاده از ذخیره پیشنهاد در یک رکورد DNS TXT، کاربران تنها نیاز دارند دامنه خود را تایپ کنند تا بتوانند رکورد TXT را دریافت کنند و پرداخت را انجام دهند. این روش نیازی به میزبانی سرور یا نرمافزارهای جانبی ندارد، زیرا سیستم DNS همه مدیریت را بر عهده دارد و BOLT 12 آن را پشتیبانی میکند.
با این حال، باید توجه داشت که این سیستم به طور کامل قابل اعتماد نیست. اما در مقایسه با سیستمهای مبتنی بر HTTP، عملکرد آن بهتر است. یکی از مشکلات این روشها این است که انتظارات کاربران در مورد تجربه کاربری و رفتار سیستم باید برآورده شود. بدون تجربه مشابه، افراد به سادگی از جایگزینهایی استفاده میکنند که تجربه کاربری را بهبود میبخشند. با توجه به این واقعیت، هدف طراحی باید برآورده کردن نیازهای کاربران با حداقل مزاحمت، بار و مخاطره از دست دادن حریم خصوصی باشد. در این زمینه، Matt’s BIP به بررسی این جعبهها در مقایسه با راهحلهای موجود میپردازد.
منبع: bitcoinmagazine .com
نظرات کاربران