شفافیت عنصر اصلی و کلیدی ارزهای دیجیتال است؛ اما اگر کسی بخواهد در چنین سیستمی ناشناخته بماند تکلیفش چیست؟ همینجاست که پای سازوکاری به نام CoinJoin به ماجرا باز میشود؛ روشی که میتواند با ترکیب دارایی کاربران مختلف، حریم خصوصی را پیادهسازی و به ناشناس ماندن کمک کند. در این مقاله میخواهیم ببینیم که کوین جوین چیست و چطور کار میکند. خوشحالیم که میهن بلاکچین را برای پاسخ به سوالات خود انتخاب کردهاید.
تو صرافی ارز پلاس میتونی فقط با ۱۰ هزار تومان و با کارمزد صفر، همه ارزهای دیجیتال رو معامله کنی!
کوین جوین چیست؟
کوین جوین راهکاری است که باعث ناشناس ماندن تراکنشهای بیت کوین میشود. زمانی که کاربران تراکنشی انجام میدهند، مبدا و مقصد رمزارزهای BTC دخیل در تراکنشها، به کمک CoinJoin ناشناخته میماند. این همان چیزی است که بسیاری به دنبال آن هستند و به همین خاطر، از رمزارزهای حریم خصوصی مانند مونرو، زی کش و دش استفاده میکنند. کوین جوین باعث شده است که چنین امکانی در بیت کوین نیز فراهم شود.
تاریخچه CoinJoin
گریگوری مکسول (Gregory Maxwell) که یکی از توسعهدهندگان بیت کوین است، نخستین بار در آگوست ۲۰۱۳ (مرداد ۱۳۹۲) از CoinJoin در بیت کوین تاک صحبت کرد. او در پست خود در این فروم نوشت که بیت کوین به عنوان وسیلهای برای حفظ حریم خصوصی معرفی میشود؛ اما تنها Privacy موجود در سیستم بیت کوین، مربوط به آدرسهای مستعاری است که میتوانند در معرض خطر استفاده مجدد یا حتی ردیابی پرداختها و مانیتور کردن آدرسهای IP قرار بگیرند.
در حقیقت برخلاف آنکه بیت کوین در روزهای نخست پیدایشش به خاطر ناشناس ماندن شهرت پیدا کرده بود، حریم خصوصی بسیار کمی برای کاربران فراهم میکند. درست است که در تراکنشهای بیت کوین نامی از صاحبان آدرسها برده نمیشود، اما میتوان آدرسها را ردیابی کرد و به اطلاعات و مواردی جزئیتر هم دست یافت. البته نباید این مسئله را ایراد بیت کوین دانست؛ چرا که در یک سیستم بدون نیاز به اعتماد به شخص ثالث، لازم است که تمام تراکنشها به صورت عمومی در دسترس باشند تا از کلاهبرداری و تقلب جلوگیری شود.
کوین جوین چطور کار میکند؟
برای درک ساختار ConJoin، لازم است که ابتدا توضیحاتی در مورد نحوه اجرای تراکنشها در شبکه بیت کوین بدهیم. تراکنشهای بیت کوین با استفاده از مدل UTXO (خروجی خرج نشده تراکنش) انجام میگیرند. نودها (node) با استفاده از این مدل در شبکه بیت کوین، به جستجوی همه خروجیهای قابل خرج شدن تراکنشها میپردازند. بعد از شناسایی این خروجیها، از آنها برای ایجاد تراکنشهای جدید استفاده میشود. هر تراکنش دارای یک ورودی و یک خروجی است که ورودی از خروجی تراکنش قبل مشتق شده است. این خروجی که شبکه آن را به عنوان UTXO میشناسد، در مجموعه UTXO قرار میگیرد تا توسط ورودی بعدی خرج شود.
CoinJoin تمام ورودی و خروجیهای تراکنشهای جدا را ترکیب میکند و یک تراکنش واحد تشکیل میدهد. بدین ترتیب حتی دریافتکننده وجوه هم تشخیص نمیدهد که وجوه را از کدام آدرسها دریافت کرده است. ممکن است دو نفر بخواهند از یک سرویس CoinJoin استفاده کنند و ورودیها و خروجیهای خود را با هم ترکیب کنند. این کار شدنی است؛ اما اگر تعداد افراد شرکتکننده بیشتر باشد، حریم خصوصی بهتری برای افراد ایجاد خواهد شد.
پیشنهاد مکسول به شیوههای مختلفی پیادهسازی شده است؛ اما محبوبترین پیادهسازی CoinJoin در ارز دیجیتال Dash قابل مشاهده است. در فرآیندی که توسط دش انجام میگیرد، ورودیها در چندین نوبت با هم ترکیب میشوند و ناشناس ماندن کاربر افزایش پیدا میکند.
در فرایند CoinJoin کاربران به صورت مشترک یک قرارداد هوشمند را امضا میکنند و کوینهای خود را در قالب یک تراکنش جدید، با هم ترکیب میکنند. در واقع کوین جوین مثل ماشینی است که دارایی افراد مختلف را میگیرد و با هم ترکیب میکند. آنچه ترکیب میشود، آدرس داراییهاست و هر کاربر پس از ترکیب، همان مقدار دارایی اصلی خود را دریافت خواهد کرد.
چند نکته در مورد CoinJoin
زمانی که مکسول در فروم بیت کوین از CoinJoin رونمایی کرد، به چند سوال پاسخ داد تا رفع ابهام کرده باشد. بد نیست چکیدهای از مهمترین نکات مطرحشده توسط او را بررسی کنیم.
- کاربران میتوانند برای مخفی کردن آدرس IP خود، از ابزارها یا شبکههایی مانند تور (TOR) استفاده کنند که در این صورت تراکنشها آهستهتر انجام میشوند. البته باز هم باید یادآور شد که کوین جوین خودش حریم خصوصی را به خوبی پیاده میکند.
- در برخی مواقع، ارسال اطلاعات ورودی و خروجی به یک سرور مشخص، میتواند باعث شود که سرور از مسیر این رفتوآمدها مطلع شود؛ اما این امر به معنی آن نیست که میتواند کوینها را سرقت کند. البته به کمک روشهای مثل Blind Signature یا همان Chaumian blinding، محتوای پیامها مبهم و نامفهوم خواهد شد.
- برخی سوال میپرسند که آیا امکان حملات DOS وجود دارد؟ حمله DoS با شروع هزاران اتصال به وب سایت، باعث خراب شدن وب سایت میشود و آن را مختل میکند. اما پاسخ این سوال مطابق گفتههای مکسول مثبت است. وقتی که کاربران از امضای یک تراکنش مشترک معتبر خودداری کنند یا اینکه ورودی خود را قبل از اتمام تراکنش مشترک خرج کنند، چنین حملاتی صورت خواهد گرفت. استفاده از گواه اثبات دانش صفر، یک راهحل کاربردی در سیستمهای غیرمتمرکز است.
- محدودیتی در تعداد مشارکتکنندگان وجود ندارد؛ ولی برای اجرای فرایند، دستکم به دو کاربر نیاز داریم.
انواع CoinJoin
کوین جوین را هم میتوان به صورت یک لایه و هم به صورت چندلایه اجرا کرد. در مورد CoinJoin یک لایه، همان چیزی را باید تکرار کنیم که تا به حال گفتهایم. اما در مورد تکنیکهای چندلایه، خروجیهای کوین جوین، نقش ورودیهای یک CoinJoin دیگر را ایفا میکنند. این فرایند مجددا با یک کوین جوین دیگر و در چندین مرحله تکرار میشود و در نتیجه، عمل ترکیب داراییها چندین مرتبه انجام میشود. به این ترتیب ناشناس ماندن هم افزایش پیدا خواهد کرد.
مزایا و معایب کوین جوین
CoinJoin هم مثل بسیاری از سرویسها و روشهای دیگر، مزایا و معایبی دارد که بهتر است با آنها آشنا شویم. مزیت این روش در این است که تشخیص آدرس تراکنشها را دشوار میکند. یعنی مشخص نیست که مبالغ دریافتی، از کجا آمده است. البته برخی دقیقا از همین مسئله ایراد میگیرند. دلیل آنها این است که کوین جوین باعث میشود بیت کوینهایی که منشا غیرقانونی دارند، با کوینهای سایر کاربران ترکیب شوند و دارایی آنها را نیز آلوده کنند.
پرسش و پاسخ (FAQ)
- کوین جوین چیست؟
سرویسی است که ورودیهای بیت کوین چندین کاربر را دریافت و آنها را در یک تراکنش واحد ترکیب میکند تا موجب ناشناس کردن تراکنشهای آنها شود. - کوین جوین چطور کار میکند؟
این سیستم بر اساس UTXO عمل میکند و هر تراکنش از چندین ورودی و خروجی تشکیل میشود. در این صورت شخص دریافتکننده نمیتواند بفهمد که دارایی خود را از چه آدرسی دریافت کرده است.
جمعبندی
بسیاری از کاربران ارزهای دیجیتال به دنبال ناشناس ماندن هستند. به همین خاطر به سراغ رمزارزهای حریم خصوصی یا میکسرهای ارز دیجیتال میروند. یکی از روشهایی که به کمک آن میتوان بیت کوینها را ترکیب کرد و مانع از تشخیص آدرس تراکنشها شد، کوین جوین نام دارد. گفتیم که هدف از ایجاد کوین جوین چیست و توضیح دادیم که این راهکار به وجود آمد تا مشخص نباشد که داراییها از کدام آدرسها میآیند. یعنی CoinJoin یک لایه حریم خصوصی را به تراکنشهای عمومی بیت کوین اضافه میکند. چنین سرویسها و راهکارهایی کاربردی هستند؛ اما ممکن است داراییهای غیرقانونی سایرین، با داراییهای قانونی کاربران ترکیب شوند. به نظر شما چنین راهکاری، قابل اعتماد است؟ آیا شما از این سرویس یا سایر مکانیزمهای مشابه استفاده میکنید؟ اگر تاکنون با CoinJoin کار کردهاید، تجربه خود را برای ما و کاربران بنویسید.