در مقاله های هر هفته با آنتونی، سعی میکنیم ویدیوهایی از آندرس آنتونوپولوس (Andreas Antonopoulos) را منتشر کنیم تا دانش و آگاهی افراد را در مورد بیت کوین و حوزه ارزهای دیجیتال بالا ببریم. این هفته ویدئویی در ارتباط با طرز کار دیده بانها، تراکنش (Transaction) های عادلانه و امنیت در نظر گرفته شده است.
کاربران عادی و افراد حرفهای زیادی که در حوزه ارزهای دیجیتال به فعالیت میپردازند، با آنتونی در ارتباط هستند و سوالات مهمی را با او مطرح میکنند. او که میتوان گفت یکی از مسلطترین افراد حوزه ارزهای دیجیتال است، با دقت به این سوالات پاسخ میدهد و اطلاعات مفیدی در اختیار کابران سرتاسر جهان قرار میدهد.
دیده بان چیست و چگونه از تقلب در تراکنش ها جلوگیری میکند؟
در این قسمت از هر هفته با آنتونی، یکی از کاربران از او سوال میکند که دیدهبانها که نودهای واسطه هستند، چگونه تراکنش های طرفهای ناصادق و کلاهبردار را شناسایی میکنند؟
آنتونی پاسخ میدهد: دیدهبانها را میتوان برای جاسوسی کاربران نیز مورد استفاده قرار داد. حال باید ببینیم که مثلث حریم خصوصی، کانال پرداخت و دیدهبانها چگونه کار میکند؟
در ساختار متعارف کانالهای پرداخت در نسخه حال حاضر شبکه لایتنینگ، کانالهای پرداختی که در حال حاضر مورد استفاده قرار میگیرند، دارای یک مکانیزم مجازات هستند. در این کانالهای پرداخت که در حال حاضر بر اساس خصوصیات فناوری لایتنینگ (اصطلاحا بولت) تعیین شدهاند، یک کانال پرداخت متشکل از تراکنش های تعهدی نامتقارن دوجانبه (Bilateral Asymmetric Commitment Transactioon) است.
در این نوع کانال پرداخت، تراکنش ها بین دو طرف مبادله میشوند و بر روی یکی از دو UTXO چند امضایی، تامین امنیت شده و بر روی بلاک چین ثبت میشوند.
پس ابتدا این دو طرف یک چند امضایی ۲ از ۲ را ثبت میکنند که بر روی بلاک چین ثبت شده است و این تراکنش، تامین وجه یا تراکنش افتتاح از کانال آنهاست. از آن زمان به بعد، آنها تراکنش های تعهدی را مبادله میکنند که موجودی یا وضعیت کانال از این طریق به روز میشود و این حرکت، مبالغ را از یک طرف از کانال به طرف دیگر و یا شاید در جهت عکس، انعکاس میدهد.
البته این تراکنش های تعهدی را میتوان برای تقلب نیز مورد استفاده قرار داد؛ یک سناریوی خاص وجود دارد که اگر یکی از طرفین کانال آنلاین نباشد و برای دورهای طولانی مثلا ۲ تا ۳ روز آفلاین بماند، طرف دیگر کانال میتواند از یک تراکنش تعهدی که قبلا لغو شده است، استفاده کند و وضعیت قبلی را انتشار دهد.
فرض کنید که من یک کانال پرداخت با آلیس دارم و کانال پرداخت من، یک بیت کوین را از جانب من و صفر بیت کوین را از جانب آلیس نشان دهد؛ و سپس نیم بیت کوین از جانب من و نیم بیت کوین از جانب آلیس، زیرا من نیم بیت کوین را برای آلیس فرستادهام. سپس من یک چهارم بیت کوین و آلیس سه چهارم بیت کوین خواهد داشت؛ زیرا من یک چهارم بیت کوین دیگر برای آلیس فرستادهام.
واضح است که حالا سه وضعیت مختلف در آن کانال داریم؛ در وضعیت اول من یک بیت کوین کامل داشتم، در وضعیت دوم نیم بیت کوین و در وضعیت سوم تنها یک چهارم بیت کوین داشتم و آلیس سه چهارم بیت کوین داشت. حالا، اگر آلیس آفلاین شود و من تراکنش تعهدی را از جایی که یک بیت کوین داشتم، انتشار دهم، عملا در حال لغو دو پرداخت آخر خواهم بود.
آلیس در این حالت یک راهحل فوری دارد؛ در فرایند لغو تعهد قبلی، من به آلیس یک کلید لغو دادم و این کلید لغو، به آلیس اجازه میدهد که به مجازات من بپردازد.
این مجازات به صورتی است که اگر من سعی کنم که وضعیت قبلی را که طرف من در کانال موجودی بیشتری داشت، انتشار دهم، آلیس میتواند از کلید لغو استفاده کند و تمامی موجودی کانال را در اختیار بگیرد و آن را بسوزاند. در این حالت، اساسا کانال منهدم میشود و او همه پول من را برای خودش برمیدارد و من هر موجودی را که ممکن است در کانال داشته باشم، از دست میدهم.
پس اگر بخواهم تقلب کنم، هیچ بیت کوینی نخواهم داشت؛ اگر من بخواهم به چیزی بیش از آنچه که در طرف خود در کانال دارم، دست یابم (تقلب کنم)، با از دست رفتن همه بیت کوینهای کانال جریمه میشوم و آلیس به همه بیت کوینهای کانال میرسد و پاداش دریافت میکند و این مجازات من میشود.
حال مشکلی در اینجا مطرح میشود و آن این است که اگر آلیس آفلاین باشد و من وضعیت قبلی را انتشار دهم، او تنها زمان محدودی برای در اختیار گرفتن پرداختیها با استفاده از کلید لغو خواهد داشت؛ زیرا قفلهای زمانی در داخل تراکنش تعهدی، زمان محدودی دارند. ؛ پس اگر آلیس آفلاین باشد، نمیتواند آن مجازات را اجرا کند.
نحوه کار دیده بان ها
در این حالت، دیدهبانها به یک شخص ثالث اجازه میدهند که در عوض آلیس عمل کند و از درستی کانال محافظت کند.
یک دیدهبان در واقع هشی را دریافت میکند که به او میگوید اگر یک تراکنش تعهدی را مشاهده کردی که با خرج این UTXO مطابقت دارد، یک کلید لغو وجود دارد که میتوانی از آن در عوض آلیس، برای اجرای مجازات استفاده کنی.
آنچه که دیدهبانها انجام میدهند، این است که به خاطر مشتریان زیادی به مشاهده بلاک چین میپردازند و این دیدهبانها در جستجوی هر یک از انتشارهای تعهدی قبلی برای آن کانالها هستند. سپس مجازاتهای متناظر را برای افرادی که بخواهند تعهد قبلی را نقض کنند، اجرا خواهند کرد.
چند مکانیزم وجود دارد که میتوان آنها را برای افزایش حریم خصوصی مورد استفاده قرار داد: اگر شما به طور واضح وضعیت حال حاضر کانال، یک تراکنش تعهدی را به آن بدهید و نقطه انتهایی کانال را به دیدهبان بدهید، دیدهبان نه تنها به جای شما مجازات را اجرا میکند، بلکه اطلاعات بیشتری در مورد کانال شما به دست خواهد آورد.
وقتی که شما یک تراکنش تامین وجه برای یک کانال ایجاد میکنید، کانال خودش غیر قابل رویت است؛ تمام چیزی که بر روی بلاک چین میبینید، یک آدرس چند امضایی است که اساسا یک آدرس P2SH paid Script Hash 3 است.
به عنوان مثال، در تراکنش تامین وجه کانالی که یک تراکنش چند امضایی است، شما نمیتوانید بگویید که آن یک تراکنش لایتنینگ است، شما نمیتوانید بگویید که آن یک کانال است، نمیتوانید بگویید که مشارکتکنندگان چه کسانی هستند؛ همه اطلاعات از این بلاک چین غیر قابل مشاهده هستند.
اما دیدهبانها اطلاعات بیشتری دارند و میتوانند مقداری مشکلات حریم خصوصی ایجاد کنند. مکانیزمهایی وجود دارند که میتوان آنها را برای مخفی نگه داشتن جزئیات کانال از دیدهبانها، مورد استفاده قرار داد و برای آنها اطلاعاتی را که برای اجرای تراکنش مجازات لازم دارند را فراهم کرد؛ اما به شیوهای که آنها نتوانند آن اطلاعات را تا زمان اجرای تراکنش مجازات ببینند.
در واقع، در نسخههای آینده کانالهای پرداختی، تمامی این مکانیزمها غیرضروری خواهد بود؛ نسل بعدی کانالهای پرداختی، احتمالا بر اساس پروتکلی خواهند بود که L2ELTOO نام دارد.
L2 یک مکانیسم ساختاری کانال است که از یک ساختار هش SiC بدون ورودی استفاده میکند. این پروتکل هنوز در قوانین اجماع بیت کوین اعمال نشده است. اما اگر اعمال آن کد عملکردی در کانالهای L2 ممکن شود، در یک کانال L2، تعهد قبلی به گونهای لغو میشود که دیگر نیازی به مکانیزم مجازات کنونی که بیشتر شبیه بازی است، نخواهد بود؛ زیرا L2 را نمیتوان انتشار داد. در نتیجه با این دو کانال، نیاز به دیدهبانها و نظارت آنلاین برای اطمینان یافتن از انجام مجازاتها و احتمال تقلب با انتشار وضعیت قبلی، همگی از میان خواهند رفت.