تراکنش های محرمانه در بلاکچین چیست و چه کاربردی دارند؟

تراکنش های محرمانه (CT) یک پروتکل رمزنگاری هستند که به شما امکان میدهند آدرس گیرنده و مقدار واقعی پول در ورودیها و خروجیهای تراکنش را از دید اشخاص ثالث پنهان کنید. این پروتکل چگونه کار میکند؟ آیا قانونی است؟ در این مقاله از صرافی ارز دیجیتال او ام پی فینکس، به تمام این سوالات پاسخ خواهیم داد.
تراکنشهای محرمانه به همه امکان میدهند تا مطمئن شوند مجموع تمام خروجیها از مجموع تمام ورودیها بیشتر نیست و همین برای تایید تراکنش کافی است.
چه کسی فناوری تراکنشهای محرمانه را اختراع کرد و چه زمانی؟
آدام بک (Adam Back)، خالق هش کش (Hashcash) و همبنیانگذار شرکت بلاکاستریم (Blockstream)، اولین نسخه این مفهوم را با عنوان «بیتکوینهایی با مقدار همومورفیک» در سال ۲۰۱۳ معرفی کرد. این فناوری برای نخستین بار در سال ۲۰۱۵ در سایدچین Elements شرکت Blockstream پیادهسازی شد.

سپس، این مفهوم توسط گریگوری ماکسول (Gregory Maxwell)، یکی از توسعهدهندگان بیتکوین کور، بیشتر توسعه یافت.
چرا به تراکنشهای محرمانه نیاز داریم؟
همانطور که میدانید، بیتکوین حریم خصوصی کاملی ارائه نمیدهد. از آنجا که بلاکچین عمومی است، میتوان حرکت وجوه کاربران را ردیابی و مشخص کرد که چه کسی این تراکنشها را انجام میدهد.
به دلیل نبود حریم خصوصی، بیتکوین نمیتواند کاملا قابل تعویض (fungible) باشد که این مساله مقاومت آن را در برابر سانسور کاهش میدهد. بهعنوانمثال، صرافیها و سایر خدمات میتوانند حساب کاربران را مسدود کنند، فقط به این دلیل که بیتکوینهای آنها قبلا برای مقاصد غیرقانونی استفاده شدهاند، حتی اگر مالک فعلی از این موضوع بیاطلاع باشد. فناوری تراکنشهای محرمانه میتواند این مشکلات را برطرف کند.
فناوری تراکنشهای محرمانه چگونه کار میکند؟

فناوری تراکنشهای محرمانه قالبهای جدیدی برای آدرسها و تراکنشها پیادهسازی میکند. قالب تراکنش شامل یک scriptPubKey، یک طرح تعهد پدرسن (Pedersen commitment) و یک کد تصادفی (ECDH) الگوریتم دیفی-هلمن بر اساس منحنی بیضوی است.
scriptPubKey شامل آدرس تراکنش محرمانه (CTA) و یک شرط ریاضی است که بیان میکند بیتکوین فقط در صورتی میتواند خرج شود که مالکیت کلید خصوصی آدرس با امضا تایید شود. آدرس تراکنش محرمانه، هش یک کلید کورکننده همراه با یک آدرس معمولی بیتکوین است.
عملکرد کلید کورکننده این است که آدرس بیتکوین و مقدار تراکنش را در رجیستری عمومی پنهان کند. علاوه بر این، دسترسی به کلید کورکننده به شما اجازه میدهد آدرس بیتکوین و مقدار تراکنش محرمانه را ببینید.
طرح تعهد پدرسن شامل هش تمام خروجیهای بیتکوین بههمراه یک کلید کورکننده است.
کد ECDH کلیدی است که به شما امکان میدهد کل تراکنش خصوصی را آشکار کنید. این کد برای ارسال دادههای رمزگذاریشده به گیرنده تراکنش استفاده میشود، بهطوریکه گیرنده میتواند نتیجه تراکنش بیتکوین و فاکتور کورکننده آن را مشاهده کند.
مثال از نحوه عملکرد تراکنشهای محرمانه
۱. تولید آدرس محرمانه:
آلیس ۲ بیتکوین دارد و میخواهد یکی از آنها را به باب ارسال کند. بنابراین، این مراحل طی خواهد شد:
- آلیس یک کلید کورکننده ایجاد کرده و آن را با هش آدرس باب ترکیب میکند.
- در نتیجه، یک آدرس محرمانه ایجاد میشود که در رجیستری عمومی ثبت میشود اما فقط آلیس و باب میدانند که این آدرس به باب مرتبط است.
۲. ایجاد تراکنش محرمانه:
مثالی از تراکنش محرمانه:
CTEwQjyErENrxo8dSQ6pq5atss7Ym9S7P6GGK4PiGAgQRgoh1iPUkLQ168Kqptfnwmpxr2Bf7ipQsagi
- آلیس یک تعهد پدرسن با همان کلید کورکننده و مقدار یک بیتکوین ایجاد میکند.
- مقدار ارسالشده پنهان است اما چون هر دو طرف دارای کلید کورکننده عمومی هستند، میتوانند آن را ببینند.
۳. امضای تراکنش و ثبت در رجیستری عمومی:
- آلیس scriptPubKey را ایجاد میکند که شامل آدرس تراکنش محرمانه مرتبط با باب است.
- شرط ریاضی تراکنش تضمین میکند که باب باید مالکیت کلید خصوصی آدرس را با امضا تایید کند.
- تراکنش در رجیستری عمومی ثبت میشود.
فناوری چگونه مشکل حفظ موجودی صفر را حل میکند؟
در بیتکوین، اصول پایهای این است که آدرسها باید موجودی صفر داشتهباشند، به این معنا که مقدار ورودیها باید برابر مقدار خروجیها باشد. اما در تراکنش های محرمانه، مقادیر پنهان هستند و این باعث ایجاد دو مشکل میشود:
- محاسبه کارمزد تراکنش با روش سنتی غیرممکن است.
- شبکه نمیتواند مطابقت بین ورودی و خروجی را تایید کند که باعث میشود اصل موجودی صفر نقض شود.
راهحل این است:
- مشکل اول با عمومی کردن کارمزد تراکنش حل میشود.
استفاده از روش سنتی محاسبه هزینههای تراکنش از طریق تفریق ممکن نیست. شبکه نمیتواند تشخیص دهد که خروجی آدرس با ورودی آن همخوانی دارد یا نه؛ موضوعی که باعث میشود حفظ تعادل صفر غیرممکن شود. مساله اول به راحتی با عمومی کردن هزینههای تراکنش حل میشود.
- مشکل دوم با طرح تعهد پدرسن برطرف میشود.
ویژگی کلیدی تعهد پدرسن، همومورفیک بودن آن است. به این معنا که بدون افشای دادهها، میتوان تایید کرد که مجموع ورودیها برابر مجموع خروجیها است. مفهوم تعهد که توسط پدرسون توسعه داده شده است، ویژگی ریاضی منحصر به فردی به نام همومورفیسم دارد. همومورفیسم ساختاری است که تصویر بین دو ساختار جبری را حفظ میکند. این راه حل برای رمزنگاری مفید است زیرا به شما امکان میدهد دادهها را ذخیره کرده و دادههای پشت هش را با استفاده از عملیات جبری پایه مانند جمعزدن، تایید کنید. به عبارت دیگر، دادهها میتوانند بدون فاش کردن خود دادهها منتقل شوند.
مثال:
بیایید یک ساختار جبری ساده بگیریم و مقادیر را با ضرب در ۲ هش کنیم.
(a + b)2 = a۲ + b۲
فرض کنیم که a=1 و b=3است.
(۱+۳)۲ = 1۲ + ۳۲
(۴)۲ = 2+۶
اگر مقدار a در سمت چپ معادله را با عدد دیگری، مثلا ۴، جایگزین کنیم، ساختار جبری دیگر درست نخواهد بود:
(a + b)2 = a۲ + b۲
(۴ + ۳)۲ ≠ ۱۲ + ۳۲
تراکنشهای محرمانه با استفاده از ویژگی همومورفیسم تعهدات پدرسون، حفظ تعادل صفر آدرسهای بیتکوین را تضمین میکنند.
حال این را به عمل درآوریم و فرض کنیم که آلیس یک بیتکوین به باب میفرستد. به طور ساده، هزینههای تراکنش در نظر گرفته نمیشود.
آلیس برای تراکنش محرمانه مربوط به ۲ بیت کوین، تعهد پدرسون دارد. وقتی آلیس یک بیتکوین به باب میفرستد، او یک هش با استفاده از فرمول ریاضی خاصی ایجاد میکند. سپس همان فرمول ریاضی برای ارسال یک بیتکوین به آدرس صرافی استفاده میشود. ما دو هش را ضرب میکنیم تا ببینیم نتیجه همانند تعهد پدرسون برای آدرس آلیس در ارتباط با دو بیتکوین است یا خیر. اگر نتیجه یکسان باشد، آن هش به عنوان یک تراکنش محرمانه معتبر در نظر گرفته میشود.
مزایای تراکنشهای محرمانه
این پروتکل به شما این امکان را میدهد که حریم خصوصی بیتکوین را افزایش دهید. کلیدهای پنهانکننده آدرسها و مقادیر بیتکوین را مخفی میکنند و قابلیت استفادهپذیری (fungibility) بیتکوین را افزایش میدهند.
کلیدهای پنهانکننده همچنین میتوانند برای حسابرسی استفاده شوند: فرستنده یا گیرنده پرداخت میتوانند کلید پنهانکننده را برای اهداف حسابرسی به شخص ثالث منتقل کنند.
فناوری تراکنشهای محرمانه در کجا استفاده میشود؟
فناوری تراکنشهای محرمانه در زنجیره جانبی تجاری Liquid بلاکاستریم استفاده میشود. کاربران Liquid میتوانند از این فناوری برای اطمینان از اینکه مقادیر دریافتی از مقادیر ارسالشده بیشتر نیست، استفاده کنند.
این بدین معنی است که وجوه میتوانند بین صرافیها منتقل شوند بدون اینکه کسی از مقادیر دقیق involved آگاه باشد. رقبا قادر نخواهند بود مقادیر ذخیرهشده در صرافیها را مشاهده کنند و معاملهگران نیز نخواهند توانست از چنین اطلاعاتی در زمان معامله استفاده کنند. ماهیت عمومی بلاکچین به کسانی که اطلاعاتی در مورد یک عملیات بزرگ در حال وقوع دارند این امکان را میدهد که معاملهای انجام دهند تا از تغییرات قیمت سود ببرند.
تراکنشهای محرمانه حلقهای (Ring CT) که یک نسخه از تراکنشهای محرمانه هستند، در ارز دیجیتال Monero استفاده میشوند. تغییرات این فناوری همچنین در ارز دیجیتال Bitshares و پروتکل MimbleWimble که زیرساختهای ارزهای دیجیتال Grin و Beam را تشکیل میدهد، استفاده شدهاست.
پروتکل اصلی بیتکوین نیز میتواند از تراکنشهای محرمانه پشتیبانی کند. ایدههای متعددی برای انجام این کار با استفاده از نرمافزارهای سازگار با عقبگرد وجود دارد اما چنین بهروزرسانیهایی هنوز تاثیر منفی بر مقیاسپذیری خواهند داشت و به احتمال زیاد همچنان فاصله زیادی با اجرایی شدن دارند.
فناوری Confidential Assets چیست؟

فناوری داراییهای محرمانه عملکرد تراکنشهای محرمانه را گسترش میدهد و به شما امکان میدهد فرستنده و گیرنده تراکنش را در بلاکچین مشاهده کنید، در حالی که نوع دارایی منتقلشده، مانند بیتکوین، طلا، اوراق بهادار یا هر چیز دیگری، مخفی میماند.
چه کسی و در چه زمانی فناوری داراییهای محرمانه را اختراع کرد؟

فناوری داراییهای محرمانه توسط توسعهدهندگان بلاکاستریم، اندرو پولسترا (Andrew Poelstra)، آدام بک (Adam Back)، مارک فریدنباخ (Mark Friedenbach)، گرگوری مکسول (Gregory Maxwell) و پیتر وولی (Pieter Wuille) اختراع شد.
وایتپیپر داراییهای محرمانه در تاریخ ۳ آوریل ۲۰۱۷ در وبسایت بلاکاستریم منتشر شد. این شرکت فناوری داراییهای محرمانه را بهعنوان یک گزینه جدید برای فناوری سایدچین Elements معرفی کرد.
فناوری داراییهای محرمانه چگونه کار میکند؟
فناوری تراکنش های محرمانه از تعهد پدرسن استفاده میکند که مقدار اولیه تراکنش را در بلاکچین با فرمول زیر جایگزین میکند:
commitment = xG + a(H + rG)
در این فرمول، a مقدار تراکنش است. G و H مولدهای منحنی بیضوی هستند که در آن G یک مقدار ثابت است و H نوع دارایی را نشان میدهد و برای داراییهای محرمانه مختلف مقادیر متفاوتی دارد X و r عوامل کورکننده هستند که در هر خروجی تراکنش خرجنشده (UTXO) به مقادیر تصادفی مختلفی تنظیم میشوند تا مقدار تراکنش و نوع دارایی مخفی بماند.
این مدل به شما امکان میدهد تعادل میان مقدار ورودی و خروجی یک دارایی را در هر تراکنش بررسی کنید. در عین حال، اعتبارسنج از تعهد آگاه است اما مقدار تراکنش یا نوع دارایی را نمیداند.
فرستنده اطلاعات مربوط به مقدار تراکنش و نوع دارایی را بهصورت رمزگذاریشده، چه درون بلاک چین و چه بهصورت خارج از زنجیره در قالب ارتباط همتابههمتا (P2P)، برای گیرنده ارسال میکند تا فقط دو طرف تراکنش از آن مطلع باشند.
در فرآیند صدور، انتقال و از بین بردن داراییها، لازم است از اثبات دانایی صفر (ZKP) استفاده شود تا ثابت شود که مقدار تراکنش و نوع دارایی دارای مقدار معتبر و قابل قبول است، بدون اینکه مقدار واقعی فاش شود. اثبات مربوط به نوع دارایی Surjection Proof نامیده میشود.
معایب فناوری داراییهای محرمانه چیست؟
این فناوری تنها در یک بلاکچین جدید یا از طریق یک هارد فورک در بلاکچین موجود قابل پیادهسازی است.
از آنجا که قراردادهای هوشمند را نمیتوان به این راهحل اضافه کرد، امکان شخصیسازی منطق داراییهای محرمانه یا ایجاد برنامههای زنجیرهای بر اساس آنها وجود ندارد. توسعهدهندگان فقط میتوانند از روشهایی مانند Scriptless Script برای پیادهسازی منطق ساده استفاده کنند.
راهحلهایی مانند AZTEC، Zether، Anonymous Zether، PGC، Nightfall و برخی دیگر از موارد در حال رفع این مشکل هستند. راهحلهای موجود برای تراکنشهای محرمانه در بلاکچین مانند zk-SNARK و MimbleWimble در تمام این پروتکلها با استفاده از قراردادهای هوشمند پیادهسازی شدهاند. این مدل ویژگیهای زیر را دارد:
قابلیت برنامهریزی: قراردادهای هوشمند منطق صدور، از بین بردن، انتقال و تبادل داراییها را تغییر میدهند و مجموعه عملکردها و ویژگیهای داراییهای محرمانه را گسترش میدهند.
قابلیت همکاری: داراییهای محرمانه میتوانند با سایر قراردادها (مانند توکنها، مزایدهها، رأیگیریها) تعامل داشتهباشند و امکان کاربردهای متنوعتری را فراهم کنند.
فناوری داراییهای محرمانه در کجا استفاده میشود؟
پروژه Elements از فناوری داراییهای محرمانه در شبکه بیتکوین استفاده میکند. فرآیند تراکنش در سیستمهای مبتنی بر بیت کوین بهصورت غیرتعاملی است، به این معنا که گیرنده تراکنش نیازی به آنلاین بودن برای تکمیل تراکنش ندارد. در پیادهسازیهای مبتنی بر پروتکل MimbleWimble، اما فرآیند تراکنش تعاملی است.
برخلاف سیستمهای مبتنی برMimbleWimble، در پیادهسازیهای داراییهای محرمانه در سیستمهای مبتنی بر بیتکوین، آدرسهای هر دو طرف مخفی نمیماند.
این فناوری همچنین میتواند در سیستمهای مبتنی بر MimbleWimble مانند پروتکلهای Grin و Beam اجرا شود. توسعهدهندگان Beam این ویژگی را در قالب هارد فورک Eager Electron 5.0 در ژوئن ۲۰۲۰ پیادهسازی کردند.
سخن پایانی
در پایان باید گفت، فناوری تراکنشهای محرمانه بهطور قابل توجهی بر قابلیت استفادهپذیری و حریم خصوصی در دنیای ارزهای دیجیتال افزوده است. این پروتکل با پنهان کردن مقادیر و آدرسهای تراکنش، امکان تبادلات مالی ایمنتر و مقاومتر در برابر سانسور را فراهم میآورد. در حالی که هنوز چالشهایی در زمینه مقیاسپذیری و تطابق با بلاکچینهای موجود وجود دارد، فناوریهای نوینی مانند داراییهای محرمانه در تلاشند تا این محدودیتها را برطرف و مسیر جدیدی برای تعاملات مالی خصوصی و امن ترسیم کنند. با ادامه پیشرفتها در این عرصه، آیندهای روشن برای حفظ حریم خصوصی و افزایش قابلیت استفادهپذیری در بلاکچینها بهنظر میرسد.
سوالات متداول:
- تراکنشهای محرمانه در بلاکچین چیست؟
تراکنشهای محرمانه (CT) یک فناوری رمزنگاری هستند که مقدار و آدرس گیرنده را در بلاکچین پنهان میکنند و همچنان صحت تراکنش را تضمین میکنند.
- چرا به تراکنشهای محرمانه نیاز داریم؟
برای افزایش حریم خصوصی و جلوگیری از ردیابی تراکنشها، حفظ قابلیت تعویضپذیری بیتکوین و مقابله با سانسور مالی.
- چه کسی فناوری تراکنشهای محرمانه را اختراع کرد؟
آدام بک در سال ۲۰۱۳ ایده اولیه را مطرح کرد و گریگوری ماکسول آن را توسعه داد.
- فناوری تراکنشهای محرمانه چگونه کار میکند؟
با استفاده از طرح تعهد پدرسن و کلیدهای کورکننده، دادههای حساس تراکنش را رمزنگاری و از نمایش عمومی پنهان میکند.