پیشرفته مقالات عمومی

همه چیز درباره پرداخت به خود ؛ کلیدی برای حفظ حریم خصوصی در شبکه لایتنینگ!

شبکه لایتنینگ به دلیل پرداخت سریع و ارزان خود مشهور است. اما پروتکل لایه دوم همچنین می تواند حریم خصوصی بیشتری نسبت به پرداخت های روی زنجیره ای  ارائه دهد زیرا تراکنش ها در بلاکچین بیت کوین منتشر نمی شوند و تحلیل بلاک چین تا حد زیادی غیرممکن است.

با این وجود، شبکه لایتنینگ خطرات حریم خصوصی خود را نشان می دهد. پرداخت‌ها از طریق شبکه‌ای از کاربران هدایت می شوند و هیچ چیزی مانع جاسوس‌هایی نمی‌شود که بر روند ارسال تراکنش‌ها بر جریان سرمایه‌ها نظارت می‌کنند. در شبکه لایتنینگ می‌توان تحلیل بلاک چین را جایگزین تحلیل شبکه کرد.

راهکارهایی مانند مسیریابی پیازی به سبک Tor برای محدود کردن این خطرات وجود دارد. این راهکارها کمک‌کننده هستند اما بسته به توپولوژی شبکه و انواع پرداخت‌ها، نقاط ضعف آنها  باقی می‌ماند. توسعه‌دهنده بیت کوین و لایتنینگ با نام مستعار ZmnSCPxj، در هفته‌های اخیر تحلیل گسترده ای از خطرات Lightning-dev منتشر کرده است.

ZmnSCPxj بر اساس تحلیل‌های خود، راهکاری هم ارائه داده است. این توسعه‌دهنده معتقد است که پرداخت به خود هم مانند PaySwap می‌تواند بخش مهمی از معمای حریم خصوصی باشد. 

درک کردن پرداخت به خود

پرداخت به خود

در واقع این ایده در ابتدای کار، در مفهوم شبکه لایتنینگ بود که به ذهن ZmnSCPxj رسید. در حقیقت این ایده احتمالا در شبکه لایتنینگ نیز استفاده بهتری خواهد داشت: برخی از ترید های تعبیه شده در جایگزین روی زنجیره ای، روی پروتکل لایه دوم اعمال نمی شوند.

به طور خلاصه برای نسخه لایتنینگ Payswap، پرداخت به خود بخشی از همان مسیر پرداخت است.

برای توضیح نحوه عملکرد آن، اجازه دهید به یک نسخه ساده شده یک شبکه لایتنینگ نگاهی بیاندازیم. آلیس دارای کانال‌های پرداخت با باب و کارول است. باب کانال‌هایی با آلیس و دیو دارد.

A — — B

|            |

|            |

C — — D

اگر Alice بخواهد ۳ بیت کوین به Dave بپردازد، می تواند از طریق Bob یا Carol پرداخت کند. Bob یا Carol کارمزد کمی برای این سرویس پرداخت می کنند؛ اما برای سادگی ما در این مثال قصد داریم کارمزدها را نادیده بگیریم. با این حال این امر که در واقعیت ، کارمزدها پرداخت می شود در چند پاراگراف پایین به آن مربوط می شود. بنابراین این نکته را در نظر داشته باشید.

در حال حاضر می گوییم که Alice تصمیم دارد مسیر Bob را برای پرداخت هزینه انتخاب کند. او ۳ کوین برای Bob می فرستد و Bob در ادامه ۳ کوین را برای Dave ارسال می کند. پرداخت موفقیت آمیز است.

اما متاسفانه در این مثال برای Bob آسان بود كه Alice به Dave کوین پرداخت كند. او این مبلغ را می داند زیرا خودش آن را ارسال کرده است؛ در حالی که اگر Alice می خواست به Carol پرداخت کند، یا Carol می خواست به Dave پرداخت داشته باشد، می توانستند مستقیما این کار را انجام دهند بدون آنکه به عنوان واسطه به Bob وابسته باشند. اگر Bob جاسوس ناظر بر ترافیک شبکه باشد، فرض درست او به حریم خصوصی Alice و Dave آسیب می رساند.

بنابراین ZmnSCPxj جایگزین دیگری را پیشنهاد می کند. Alice می تواند پرداخت را به خودش باز گرداند، یک پرداخت به خود؛ زیرا Dave کارمزد بسیار زیادی می گیرد. در حقیقت کارمزد واقعی، پرداخت واقعی است.

برای پرداخت به Dave مانند گذشته، برای مثال Alice  اینبار ۵ کوین ارسال می کند. ابتدا وی ۵ کوین برای Bob می فرستد که او ۵ کوین را برای Dave  ارسال می کند. سپس Dave این پرداخت را برای Carol ارسال می کند اما تنها ۲ کوین. سرانجام Carol این ۲ کوین را برای Alice می فرستد. در آخر Alice سه کوین کمتر دارد و Dave سه کوین بیشتر. از این رو Alice سه کوین به Dave پرداخت کرده است.

این پرداخت به خود هم Bob و هم Carol را دچار اشتباه کرده است. Bob پنج کوین ارسال کرده و به لحاظ منطقی اما به اشتباه فرض می کند که Alice پنج کوین به Dave  پرداخت کرده است. در حالی که وضعیت Carol بدتر است: او فکر می کند که Dave دو کوین به Alice پرداخته است. از دیدگاه Carol جهت پرداخت وارونه شده  است.

اگر Bob یا Carol مخفیانه از فعالیت های شبکه جاسوسی می کردند، در مورد اندازه و یا مسیر پرداخت گمراه می شدند که این به سود حریم خصوصی Alice و Dave بود. اگر جاسوسان به اندازه کافی گمراه شوند، این قبیل از فعالیت های جاسوسی به کل بی فایده خواهد بود.

PTLC، مقادیر استاندارد و موارد دیگر

همه چیز در مورد مثال بالا ساده شده است؛ از نمودار شبکه گرفته تا مقادیر تراکنش شده. در حالی که خطرات حریم خصوصی ظریف تر مانند مقدار کارمزد و زمان بکارگیری در کل نادیده گرفته می شود. در همین حال فرض بر این است که حتی اگر Bob و Carol هر دو جاسوس باشند، آنها همکاری نمی کنند یا بدتر از آن: آنها یک جاسوس هستند که وانمود می‌کنند دو کاربر هستند.

در واقعیت هم خطرات حریم خصوصی و هم مزایای حریم خصوصی این انتقال همزمان بیشتر و ظریف تر هستند. پرداختن به همه این ظرافت ها بیشتر از ظرفیت این مقاله است. ارائه‌های ZmnSCPxj به Lightning-dev منبع بهتری برای تحلیل های عمیق‌تر است. تحقیقات کلی تر در مورد حریم خصوصی لایتنینگ در حال انجام است.

با این وجود شایان ذکر است که پروپوزال های ZmnSCPxj برای بهبود حریم خصوصی لایتنینگ فراتر از پرداخت به خود است: در برخی سناریوها، تغییرات اضافی پروتکل کم و بیش لازم است تا پرداخت به خود در جهت بهبودهای مؤثر در حفظ حریم خصوصی باشد. دو تا از مهمترین تغییرات، سوئیچ کردن از قراردادهای قفل ساعتی هش(HTLC) به قراردادهای قفل ساعتی کلید عمومی(PTLCs) و پذیرش مقادیر استاندارد هستند. بیایید به طور خلاصه نگاهی به این دو تغییر داشته باشیم.

در حال حاضر پرداخت های لایتنینگ با استفاده از HTLC انجام می شود. کلیه کاربران در طول مسیر اساسا کدی را تصویب می‌کنند که تضمین می‌کند که اگر یکی ار طرفین سرمایه خود را مطالبه کند، می تواند از طرف دیگر مطالبه سرمایه داشته باشد (سرمایه‌ها اینگونه در طول شبکه ارسال می شوند). متاسفانه اگر جاسوسان بخشی از همین مسیر باشند، می توانند با استفاده از  HTLC بگویند که مراحل مختلف در واقع بخشی از پرداخت مشابه هستند، تا حدی که از مزایای مسیریابی پیازی(onion routing) جلوگیری می‌کند. PTLCs از ترفندهای رمزنگاری برای جلوگیری جاسوسان از پیوند مراحل مختلف به مسیر مشابه استفاده می کند.

همچنین ZmnSCPxj پیشنهاد می‌دهد تا کاربران لایتنینگ مقادیر استاندارد را اتخاذ کنند. در حالی که یک گزینه اختیاری است اما کیف پول ها را تشویق می‌کنیم تا پرداخت‌ها را به پرداخت‌های کوچکتر (اما به هم پیوسته) تقسیم کنند که در آن هر پرداخت کوچکتر از مقدار استاندارد تشکیل می‌شود. اگر مقادیر استاندارد برای مثال بالا ۱، ۲ و ۵ کوین باشد، Alice در مثال فوق می تواند به جای یک پرداخت ۳ کوین، دو پرداخت ۱ کوین و ۲ کوین انجام دهد (یا اگر او پرداخت به خود داشته باشد، می توانست ۵ کوین ارسال کرده و ۲ کوین را به خود برگرداند).

اگر كاربران کافی پرداخت‌های خود را به مقادیر استاندارد محدود كنند، جاسوسان نمی‌توانند به مقادیر اعتماد كنند تا مراحل مختلف را به پرداخت مشابه متصل كنند. در زمینه پرداخت به خود، کاربران حتی می‌توانند مقادیر غیر استاندارد از گیرنده را به سمت خود برگردانند و این پرداخت ها را بیشتر به پرداخت های منظم شبیه کنند.

اشکلات پرداخت به خود

نسخه روی زنجیره پروپوزال ZmnSCPxj یعنی همان PaySwap، مبادله‌های چشمگیری به همراه خود دارد. در مقایسه با یک پرداخت منظم، تراکنش های بیشتری لازم است تا به کارمزدهای بالاتر تبدیل شود. مهمتر از همه، تراکنش های Payswap به تعامل میان کاربران در خارج از پروتکل بیت کوین نیاز دارد؛ تراکنش های منظم بیت کوین اینگونه نیستند.

این اشکالات در شبکه لایتنینگ وجود ندارد یا تا حد کمتری وجود دارند. در هر صورت پرداخت‌های لایتنینگ نیاز به تعامل دارند؛ بنابراین پرداخت به خود این وضعیت را بدتر نمی‌کند. در حالی که برخی از مراحل اضافی تراکنش برای پرداخت به خود لازم هستند، این مراحل به صورت خارج زنجیره‌ای اتفاق می افتند؛ بنابراین به فضای بلاک اضافی احتیاج ندارند.

با این اوصاف، پرداخت به خود حتی در مورد لایتنینگ نیز با اشکالاتی همراه است. گرچه ارزانتر از هزینه‌های روی زنجیره ای است، اما مراحل اضافی کمی هزینه‌های ارسال بیشتری دارند. علاوه بر این هرچه تعداد بیشتری مرحله به پرداخت اضافه شود، خطر عدم پرداخت افزایش می‌یابد و خطر جاسوس در بخشی از مسیر نیز افزایش می‌یابد (اگر در مثال بالا فقط Carol جاسوس بود، پرداخت به خود به او اطلاعات بیشتری را می داد تا یک انتقال ساده از طریق جاسوسی Bob).

و در آخر ممکن است معاملات متفاوتی نیز وجود داشته باشد؛ پرداخت به خود پروپوزالی نسبتاً جدید است. همانطور که ZmnSCPxj در ایمیل های خود نتیجه گرفت، تحلیل بیشتری در مورد استفاده از پرداخت های غیرمستقیم هنگام پرداخت در دستور کار است.

منبع
bitcoinmagazine

نوشته های مشابه

اشتراک
اطلاع از
0 دیدگاه
Inline Feedbacks
View all comments
دکمه بازگشت به بالا