تراکنش محرمانه (Confidential Transaction) در بلاک چین و ارز دیجیتال

تراکنش محرمانه (Confidential Transaction) فناوری است که به افزایش حریم خصوصی در بلاک چین رمز ارزها از جمله بیت کوین کمک شایانی میکند.
در عملکرد بلاک چین، شفافیت سیستم امری بسیار مهم تلقی میشود. این بدان معنی است که هر گره (Node) در شبکه میتواند یک کپی را ذخیره و تأیید کند، بدون آنکه قانونی نقض شود. در بسیاری از دفاتر کل توزیع شده، هرکسی میتواند با استفاده از یک جستجوگر بلاک آنلاین، تمامی بلاکها، تراکنشها و آدرسها را مشاهده کند. این مسئله که هرکسی میتواند دفتر کل توزیع شده (ِDistributed Leger) را ببیند، برای حریم شخصی چندان مناسب نیست. در سمت مقابل، پرایوسی کوینها (Privacy Coins) مانند مونرو (Monero)، حریم خصوصی را از طریق تراکنش محرمانه (Confidential Transaction) برای کاربران به ارمغان میآورند.
در این نوشته به معرفی ساز و کار تراکنش محرمانه و تاریخچه آن میپردازیم. این مقاله به بخشهای مختلفی تقسیم شده و برای سهولت در دسترسی به این بخشها، میتوانید از فهرست زیر استفاده کنید:
- تراکنش محرمانه یا Confidential Transaction چیست؟
- تاریخچه تراکنش محرمانه در ارزهای دیجیتال
- روشهای رمزنگاری برای تراکنش محرمانه
- کاربرد تراکنش محرمانه
- سخن پایانی
تراکنش محرمانه یا Confidential Transaction چیست؟
در سیستمی مانند بیت کوین، هر تراکنشی میتواند به یک تراکنشی که قبل آن انجام شده مرتبط شود. در حال حاضر یک واحد رمز ارز BTC با هر واحد دیگر برابر است و این ویژگی تعویضپذیری (Fungible) این ارز دیجیتال است. در صورتی که فرضا این ویژگی از بین برود، دیگر هر واحد بیت کوین ارزش متفاوتی پیدا خواهد کرد. هیچکس نمیتواند مانع ارسال Bitcoin شود، اما اگر این کوینها قبلاً از یک آدرس که در لیست سیاه هستند عبور کرده باشند، میتوان آن تراکنشها را نپذیرفت.
در یک حالت بدبینانه، قابل تعویض نبودن کوین عمیقا میتواند بر پایههای سیستم تأثیر بگذارد. کوینهای تمیز (کوینهایی که هیچ سابقه منفی ندارند) ممکن است حقی برای تمیز بودن دریافت کنند، در حالی که کوینهای قدیمی با توجه به سابقه آنها از ارزش کمتری برخوردار باشند.
در مورد حریم شخصی بیت کوین غالباً اغراق میشود. نه تنها میتوان کوینها را ردیابی کرد، بلکه کاربران نیز میتوانند ردیابی شوند. آنها از نام مستعار استفاده میکنند (آدرسهای عمومی به جای نام قابل مشاهده است)، اما این مسئله باز هم بدون نقص نیست. تکنیکهای پیشرفته تجزیه و تحلیل با افزایش دقت و دستهبندی آدرسها با یکدیگر، سعی در ایجاد ساختاری برای عدم امکان شناسایی موجودیتها در شبکه کردهاند.
یکی از موارد جدیدی که برای خصوصی کردن تراکنشها انجام میشود، تراکنش محرمانه (Confidential Transaction) است.
تاریخچه تراکنش محرمانه در ارزهای دیجیتال
تراکنش محرمانه اولین بار توسط مدیر عامل بلاک استریم (Blockstream)، آدام بک (Adam Back)، در سال 2013 مطرح شد و بعدا توسط توسعهدهنده بیت کوین به نام گریگوری مکسول (Gregory Maxwell) گسترش یافت. مکسول مشکلات فوق الذکر یعنی خطر از بین رفتن قابلیت تعویضپذیری و نام مستعار نامناسب را بیان کرده و یک راه حل ارائه داد. مبالغ منتقل شده میتواند توسط شبکه گستردهتری محافظت شود تا فقط طرفین معامله بدانند که چه مقدار ارسال شده است.
در شرایط عادی (با تراکنشهای قابل مشاهده برای عموم)، یک گره (Node) به راحتی میتواند مقدار ارسالی را بررسی و در صورت نبود مشکل آن را تایید کند. فرض کنید آلیس 1 واحد بیت کوین دارد و میخواهد 0.3 BTC برای باب ارسال کند. او این مقدار را ارسال کرده و 0.69 BTC برایش باقی میماند. مقدار کمی هم به عنوان کارمزد تراکنش به گرهها پرداخت مینماید. این یک عمل ریاضی بسیار ساده برای دیگر گرهها است: 1 از 0.3 + 0.69 بیشتر است، امضاها همه صحیح هستند و بیت کوین آلیس قبلاً در جای دیگری هزینه نشده، بنابراین تراکنش باید معتبر باشد. اما زمانی که تراکنش محرمانه است و مقادیر پنهان میشوند، شرایط کاملا تغییر میکند. چگونه مقداری نامشخص برابر یا بیشتر از مجموع دو مقدار نامشخص دیگر است و این ارزیابی چگونه باید انجام شود؟
روشهای رمزنگاری برای تراکنش محرمانه
برای پنهان کردن دادهها، رمزگذاری انجام میشود. روشهای سنتی شبیه قرار دادن اسناد در یک گاوصندوق هستند. اگر درِ این گاو صندوق قفل شود، اما تا زمانی که باز نشود اسناد غیر قابل استفاده خواهند بود. آنچه برای کار با تراکنش محرمانه نیاز داریم، یک گاوصندوق دیجیتالی است که محتوای آن فاش نشده، اما خصوصیات آن توسط یک شخص خارجی قابل تأیید است.
پاسخ بهطور خاص در رمزگذاری همومورفیک (Homomorphic)، در طرحی به نام تعهد پدرسن (Pederson commitment)، شاکله اصلی تراکنش محرمانه، نهفته است. این نوع رمزگذاری به یک عامل خارجی امکان انجام عملیات روی دادههای رمزگذاری شده (که نمی توانند ببینند) را برای اهداف مختلفی میدهد.
از یک هش منظم میتوان برای تعهد به دادههایی استفاده کرد که میخواهید بعداً آنها را فاش کنید. در واقع برای تغییر نیافتن دادههای شما این تعهد شکل میگیرد. اجازه دهید با یک مثال به توضیح بیشتر این مسئله بپردازیم. فرض کنید میخواهید یک مسابقه را در رسانههای اجتماعی برگزار کنید. تصمیم میگیرید مسابقه را اینگونه برگزار کنید که هر کسی ارز مورد علاقه شما را حدس بزند، جایزهای به ارزش 0.01 BTC برنده خواهد شد. اما شرکتکنندگان مسابقه از کجا اطمینان داشته باشند که اگر پاسخ درست را حدس زدند شما با توجه به پاسخها جواب سوال را عوض نکنید. راهی که وجود دارد هشینگ است. فرضا کوین مد نظر شما Enjin Coin است. شما جهت جلب اعتماد شرکتکنندگان، اعلام میکنید که هش کوین مورد نظرتان را با الگوریتم SHA256 انجام داده و نتیجه مطابق زیر است:
9ab1c97b1fefb7a7db907c8b721f7c725ae79b2d49ec904082caa5f26ceb4783
در حالی که شرکتکنندگان از این هش نمیتوانند به پاسخ درست دست یابند، پس از اعلام پاسخ صحیح، آنها امکان بررسی صحت گفته شما را خواهند داشت.
اگر کمی توجه کنیم، راه حلی که در بالا ذکر شد کاملا امن نیست. درست است که شرکتکنندگان نمیتوانند هش را معکوس کنند، اما میتوانند لیستی از کوینهای موجود تهیه کرده و به هش کردن هر یک تا رسیدن به پاسخ صحیح بپردازند. راهی که برای حل این مشکل وجود دارد، عامل کور کننده (Blinding Factor) است. عامل کور کننده به میزان قابل توجهی احتمال حدس پاسخ صحیح را از روی هش پایین میآورد. برای توضیح بهتر آن، به مثالمان برگردیم. تصور کنید حال به جای هش کردن Enjin Coin، عامل کور کننده را وارد و *#% I Love Enjin COIN %#* را هش میکنید و نتیجه زیر را در اختیار شرکتکنندگان قرار میدهید:
2c612279f054293a0fb7500bdccf9040232f6a1e83b0cb88d53135741aed0d70
در این صورت حدس پاسخ صحیح بسیار دشوار است. (البته برای 0.01 BTC، بعید است کسی حتی آن را امتحان کند).
تعهد پدرسن در تراکنش محرمانه به ما امکان میدهد ورودیهای مربوط به تعهدات را اضافه کنیم. همانطور که ماکسول نشان میدهد:
چند مرحله دیگر وجود دارد که شامل رمزنگاری منحنی بیضوی و اثبات دامنه است، اما ایده اصلی تراکنش محرمانه این است که یک کاربر تعهد پدرسن را برای آدرس خود دارد. هنگام ارسال وجه، دو تعهد اضافی ایجاد میشود (یکی برای تغییر آدرس به کاربر و دیگری برای آدرس مقصد). هیچکس نمیداند که چه مقدار ارسال میشود، اما آنها میتوانند بررسی کنند که تعهدات تغییر و مقصد (سمت چپ معادله ماکسول)، به آدرس اصلی (سمت راست معادله) اضافه شود. اگر نتیجه ارزیابی درست باشد، تراکنش کاربر معتبر است، زیرا میتوان ثابت کرد ورودیها با خروجیها برابر هستند.
کاربرد تراکنش محرمانه
اگر تراکنش محرمانه در بیت کوین اجرا شود، این ارز دیجیتال از یک سیستم خصوصی بهرمند خواهد شد. ورودیها و خروجیها از شبکه گسترده پوشانده شده و ورودیهای دفتر مبهم میشوند، در حالی که گرهها هنوز میتوانند صحت آنها را تأیید کنند. با افزایش گسترده حریم شخصی، بیت کوینها کاملا تعویضپذیر خواهند بود، زیرا دیگر امکان اینکه با تحلیل زنجیرهای تاریخچه هر واحد از رمز ارز BTC را بررسی کرد، وجود ندارد.
اینکه تراکنش محرمانه در این پروتکل ادغام شود، در حال حاضر محتمل بهنظر نمیرسد. زیرا با اضافه شدن این قابلیت، حجم تراکنشها بسیار بزرگتر از تراکنشهای استاندارد خواهد بود و با توجه به فضای محدود هر بلاک، به احتمال بسیار قوی با افزایش مدت زمان ثبت هر تراکنش مواجه خواهیم شد. همچنین برای ایجاد چنین تغییری لازم است اکثر شرکتکنندگان برای تغییر کد موافقت کنند، کاری که به صورت معمول دشوار بوده و احتمال هارد فورک در آن بسیار بالا است.
سخن پایانی
تاکنون تراکنش محرمانه در برخی ارزهای رمزپایه و زنجیرههای جانبی بیت کوین مورد استفاده قرار گرفته است. به عنوان مثال، مونرو از آن در ترکیب ساختاری که امضای حلقه نامیده، برای دستیابی به ناشناس بودن و قابلیت تعویضپذیری استفاده کرده است. زنجیره جانبی برای حفظ بهتر حریم شخصی، آنها را پیادهسازی میکند و پروتکل میمبل ویمبل (Mimblewimble) بهصورت بسیار مناسبی تراکنش محرمانه را گسترش داده است.
تراکنش های محرمانه مزایایی را به ارمغان میآورند، اما جایگزینی آنها با ایجاد مشکلی نیز همراه است. حجم داده در این نوع تراکنشها نسبت به تراکنشهای معمول بیشتر بوده، در حالی که یکی از مشکلات اغلب ارزهای رمزنگاری شده مقیاس پذیری و توان عملیاتی در شبکه است و حجم اطلاعات بیشتر، مشکل را دو چندان میکند. با این حال، مدافعان حریم خصوصی معتقدند که پنهان کردن تراکنشها و شرکتکنندگان، برای تبدیل شدن ارز رمزنگاری شده به عنوان پول قابل پرداخت، امری ضروری است.
منبع: Academy.Binance
نظرات کاربران (0 نظر)