هر هفته با آنتونی؛ آشنایی با کوین جوین (CoinJoin) و انواع آن
بیت کوين به عنوان یک سیستم پرداخت همتابههمتا، توزیعشده و غیرمتمرکز نظام پولی ما را متحول کرده است. یکی از بزرگترین تفاوتهای BTC نسبت به سایر پولهای قبلی، شفافیت در عین حفظ حریم خصوصی است. تراکنشهای بیتکوین با استفاده از تکنولوژی بلاکچین ثبت میشود و در هر لحظه میتوان آدرس فرستنده و گیرنده یک تراکنش را رصد کرد؛ البته هویت صاحب آدرسها مشخص نیست. این میزان حریم خصوصی همچنان عدهای را راضی نمیکند و به دنبال راهکار برای افزایش آن هستند. خوشبختانه شبکه بیتکوین قابلیت این کار را دارد و کوینجوین یک روش برای افزایش ناشناسی است. کوین جوین (CoinJoin) و انواع آن چیست؟ چطور کار میکند؟ آیا قانونی است؟ میتوان کاملا غیرمتمرکز آن را انجام داد و آپدیت جدید کیفپول Wasabi چه تفاوتی ایجاد میکند؟ آندرس آنتونوپولوس متخصص حوزه ارزهای دیجیتال، در ویدئوی زیر به این سوالات پاسخ میدهد.
کوین جوین (CoinJoin) و انواع آن به چه صورت است؟
برای درک بهتر ابتدا مختصری در مورد نحوه انجام تراکنشها در شبکه بیتکوین صحبت کنیم. این شبکه برای انجام تراکنشها از مدل UTXO (خروجیهای خرجنشده تراکنش) استفاده میکند و هر تراکنش دارای مقادیر ورودی (Input) و خروجی (Output) است. وقتی شما قصد انجام تراکنشی را دارید، در واقع تمام موجودی خود را بهعنوان ورودی قرار میدهید. میزانی که مورد نظرتان است به آدرس گیرنده ارسال میشود و مابقی بیتکوینهای خرج نشده، پس از کسر کارمزد به آدرس شما بازگردانده میشود. پس تراکنش شما دارای ورودی و یک یا دو خروجی است.
آنتونی میگوید الزامی وجود ندارد که تمام ورودیها و خروجیهای یک تراکنش حتما باید متعلق به یک شخص باشد. طبق همین ویژگی، کوینجوین این امکان را میدهد تا چند نفر با هم مشارکت کرده و تراکنشهایشان را در قالب یک تراکنش (که شامل چندین ورودی و چندین خروجی است)، به شبکه ارسال کنند. به این صورت حتی خود گیرنده هم نمیتواند تشخیص دهد که بیتکوینش را از کدام آدرس دریافت کرده است. هر چقدر تعداد افراد مشارکتکننده بیشتر شود، حریم خصوصی نیز بهتر رعایت میشود.
تراکنشهای کوینجوین دارای نوعی امضای دیجیتال خاص هستند. به این صورت که هرکسی، قسمت مربوط به ورودیهای خودش را امضا میکند. هر کسی میتواند در این تراکنش مشارکت و ورودیها و خروجیهایش را وارد و امضا کند، تا سرانجام این تراکنش در یک بلاک ماین شود.
این قابلیت نیز وجود دارد که CoinJoin را به صورت چندلایه اجرا کنید؛ این یعنی خروجیهای یک تراکنش کوینجوین، به عنوان ورودیهای یک تراکنش CoinJoin دیگر به کار گرفته میشوند. این اتفاق میتواند چندین دور تکرار شود و ناشناسی را افزایش دهد.
الگوریتم اثبات با دانش صفر (Zero Knowledge Proof) چیست؟
طبق توضیح آنتونوپولوس یکی از روشهای CoinJoin، استفاده از سرور واسط و مکانیزم اثبات با دانش صفر برای امضای تراکنش است. این موضوع باعث میشود تا مشارکتکنندگان در کوینجوین هم نتوانند ببینند که چه کسی کدام ورودی و خروجی را امضا کرده است.
الگوریتم Zero Knowledge Proof که در پرایوسی کوینها نیز استفاده میشود، به صاحب ارز دیجیتال کمک میکند تا بدون منتشر کردن اطلاعات خودش، مالکیتش بر رمزارز را ثابت و تراکنش را امضا کند. مقاله زیر به درک بهتر شما از این الگوریتم کمک میکند.
آپدیت کیف پول Wasabi
وقتی برای ساخت CoinJoin به سمت سرورها میروید، باید تراکنشها دارای مقادیر مساوی باشند؛ در غیر این صورت خود سرور اطلاعاتی در مورد تراکنش به دست میاورد. کیف پول Wasabi اعلام کرده که در آپدیت جدیدش شرایطی فراهم کرده تا بتوان کوینجوین را با مقادیر دلخواه انجام داد. آنتونی در ویدیو به سوال یکی از کاربران که چطور این اتفاق میافتد، پاسخ داده است.
در این ویدیو و مطلب آنتونوپولوس مبانی کوین جوین برای حفظ حریم خصوصی را توضیح میدهد و سپس از روشهای مختلف انجام آن میگوید. در نهایت در خصوص خلاهای قانونی و مشکلات استفاده از آن هشدار میدهد.
نظر شما در خصوص کوین جوین (Coinjoin) و انواع آن چیست؟ ایا تاکنون از این روش یا روشهای دیگر حفظ حریم خصوصی استفاده کردهاید؟