تراکنشهای محرمانه یا CT در بیت کوین
این مقاله راهنمای اولیه ای برای تراکنش های محرمانه (CT) و با هدف ارائه چارچوبی برای درک بهتر این فناوری میباشد. قرار نیست که در این مقاله به توضیح مفصل پرداخته شود بلکه فقط به مفاهیم کلیدی و کابردی تر موجود در این زمینه پرداخته میشود.
تراکنش محرمانه چیست؟
پروتکلی است که مقدار بیت کوین های ارسالی و آدرس دریافت کننده بیت کوین را پنهان میکند.
چرا تراکنش محرمانه مهم است؟
اگرچه بیت کوین به طور ناشناس عمل میکند اما حریم خصوصی کاملی ارائه نمیدهد. به دلیل ماهیت عمومی بلاک چین بیت کوین، میتوانید تراکنش های این ارز دیجیتال را رصد کنید و از طریق تحلیل زنجیره متوجه شوید که کجاها خرج میشوند. ناشناس بودن آدرس های بیت کوین برای کسانی که از آنها مجددا استفاده میکنند یا این آدرس ها را در حساب های شبکه های اجتماعی خود قرار میدهند بسیار ضعیف است.
عدم وجود حریم خصوصی مناسب باعث میشود که بیت کوین تا حد ممکن نتواند قابل تعویض باشد و از قابلیت بیت کوین برای تبدیل شدن به واسطه معاملاتی مقاوم در برابر سانسور جلوگیری میکند. برای مثال یکی از دلایلی که صرافی ها ناگهان حساب ها را از دسترس خارج کردند این است که هویت مشتری برای آنها مجهول بود و احتمال داشت که از این حساب برای اهداف غیرقانونی استفاده شده باشد. تراکنش های محرمانه به رفع این مشکل موجود در بلاکچین های عمومی کمک میکند.
هش (Hash) چیست؟
هش تابعی است که ورودی از حروف و اعداد را به یک خروجی رمزگذاری شده با طولی ثابت تبدیل میکند. توابع hash در سرتاسر اینترنت به منظور ذخیره ایمن کلمه عبور، یافتن سوابق تکراری، ذخیره سریع و بازیابی اطلاعات و موارد اینچنین بهکاربرده میشوند. هش با استفاده از یک الگوریتم ایجاد میشود که برای مدیریت بلاک چین در فضای رمزارزها بسیار ضروری است و درواقع پایه و اساس شبکه بلاک چین نیز محسوب میشود. هشینگ در ایجاد فناوری بلاک چین، نقش بسیار اساسی ایفا کرده است.
مرور کلی بر تراکنش محرمانه
تراکنش های محرمانه با معرفی فرمت های جدید آدرس ها و تراکنش ها عمل میکند. فرمت تراکنش شامل کلید عمومی اسکریپت (scriptPubKey)، تعهد پدرسن و نانس ecdh میباشد.
کلید عمومی اسکریپت شامل موارد زیر میباشد:
آدرس تراکنش محرمانه (CTA) و شرایط ریاضیاتی که در آن، بیت کوین فقط در صورتی میتواند خرج شود که مالکیت کلید خصوصی آدرس با امضا اثبات شده باشد.
آدرس تراکنش محرمانه، هش کلید پنهان سازی به علاوه آدرس معمولی بیت کوین است.
کلید پنهان سازی برای پنهان کردن آدرس بیت کوین و مقدار بیت کوین موجود در دفترکل عمومی استفاده میشود. اگر به کلید پنهان سازی دسترسی داشته باشید، میتوانید آدرس بیت کوین و مقدار تراکنش محرمانه را مشاهده کنید.
تعهد پدرسن اساسا هش کل خروجی بیت کوین به علاوه کلید پنهان سازی است. در تراکنش معمولی بیت کوین است که خروجی معمولی بیت کوین به دست میآید.
در آخر، نانس ecdh کلید قفل کل تراکنش محرمانه است. از نانس ecdh برای ارتباط اطلاعات رمزنگاری شده با دریافت کننده تراکنش استفاده میشود تا خروجی تراکنش بیت کوین و عامل پنهان سازی تراکنش محرمانه را بشناسند.
نحوه کار تراکنش محرمانه چگونه است؟
با ذکر یک مثال این موضوع را بیان میکنیم. فرض کنید آلیس در آدرس خود ۲ بیت کوین دارد و میخواهد یک بیت کوین به باب ارسال کند.
آلیس آدرس بیت کوین باب را دریافت میکند، کلید پنهان سازی ایجاد میکند و این دو را با یکدیگر هش میکند. این امر باعث ایجاد شدن آدرس محرمانه میشود. اگرچه این اقدام بر روی دفتر کل عمومی ثبت میشود، اما هیچکس به غیر از آلیس و باب، آدرس تراکنش محرمانه همراه با آدرس بیت کوین باب را نمیداند.
سپس آلیس تراکنش محرمانه را ایجاد میکند و کلیپ پنهان سازی و خروجی یک بیت کوین را دریافت میکند و تعهد پدرسن (Pedersen) را ایجاد میکند. این امر باعث میشود مقدار بیت کوین ارسال شده از آلیس به باب پنهان شود، اما آلیس و باب به دلیل داشتن کلید پنهان سازی قادر به مشاهده مقدار بیت کوین میباشند. آلیس نیز این کلید را دارد زیرا خود او کلید پنهان سازی را ایجاد کرده است. باب نیز میتواند این کلید را از کلید خصوصی آدرس بیت کوین دریافت کند.
سپس آلیس کلید عمومی اسکریپت را با استفاده از آدرس تراکنش محرمانه حاصل از آدرس بیت کوین باب تحت شرایط ریاضیاتی ایجاد میکند. این شرایط ریاضیاتی به این صورت است که اگر باب بتواند مالکیت کلید خصوصی آدرس را با امضا اثبات کند میتواند یک بیت کوین خرج کند.
سپس این تراکنش به دفترکل عمومی ارسال و ثبت میشود.
حفظ مجموع موجودی صفر
یک اصل مهم در بیت کوین این است که آدرس ها باید مجموع موجودی صفر را حفظ کنند. یعنی آنکه تعداد بیت کوین هایی که به آدرس ارسال میشود باید با تعداد بیت کوین هایی که از آدرس خارج میشود برابر باشد.
اما از آنجایی که تراکنش های پنهان، مقدار بیت کوین ارسالی را پنهان میکنند، دو مشکل ایجاد میشود:
روش سنتی محاسبه کارمزد ماینینگ از طریق تفریق دیگر امکان پذیر نمیباشد.
شبکه نمیتواند تعیین کند که آیا خروجی از آدرس با ورودی برابر است یا خیر.
مشکل اول به راحتی با اشتراک گذاری عمومی کارمزد تراکنش قابل حل کردن است.
مشکل دوم مقداری پیچیده تر است اما از طریق تعهدات پدرسن حل میشود.
تعهدات پدرسن (Pedersen)
تعهدات پدرسن ویژگی ریاضیاتی منحصر به فردی دارد که به آن هم ریختی میگویند. هم ریختی ساختاری است که اقدامات مورد نظر را بین دو ساختار جبری حفظ میکند. این ساختار برای رمزنگاری عالی است زیرا میتوان اطلاعات را هش کرد و از عملیات جبری برای تایید اطلاعات هش استفاده کرد. به عبارت دیگر، میتوان بدون فاش کردن اطلاعات، آنها را انتقال داد.
جمع بندی :
تراکنش های محرمانه میتوانند ابزاری قدرتمند برای افزایش حریم خصوصی در بلاک چین عمومی باشد. با استفاده از کلیدهای پنهان سازی، آدرس و مقادیر بیت کوین پنهان میشود و از اینرو تعویض پذیری آنها افزایش مییابد. از کلیدهای پنهان سازی برای حسابرسی نیز میتوان استفاده کرد، یعنی آنکه ارسال کننده و دریافت کننده میتوانند کلید پنهان سازی را برای حسابرسی به شخص ثالث بدهند.