پیشرفته مقالات عمومی

آشنایی مختصر با تراکنش های محرمانه (CT) بیت کوین!

این مقاله راهنمای اولیه ای برای تراکنش های محرمانه (CT) و با هدف ارائه چارچوبی برای درک بهتر این فناوری می‌باشد. قرار نیست که در این مقاله به توضیح مفصل پرداخته شود بلکه فقط به مفاهیم کلیدی موجود در این زمینه پرداخته می‌شود. هم چنین امضاهای حلقوی و ضدگلوله ها را شامل نمی‌شود. برای مطالعه تحقیق جامع تر از تراکنش های محرمانه پیشنهاد می‌کنیم بررسی اولیه گرگوری ماکسول را مطالعه کنید.

تراکنش محرمانه چیست؟

پروتکلی است که مقدار بیت کوین های ارسالی و آدرس دریافت کننده بیت کوین را پنهان می‌کند.

چرا تراکنش محرمانه مهم است؟

اگرچه بیت کوین به طور ناشناس عمل می‌کند اما حریم خصوصی کاملی ارائه نمی‌دهد. به دلیل ماهیت عمومی بلاک چین بیت کوین، می‌توانید تراکنش های این ارز دیجیتال را رصد کنید و از طریق تحلیل زنجیره متوجه شوید که کجاها خرج می‌شوند. ناشناس بودن آدرس های بیت کوین برای کسانی که از آنها مجددا استفاده می‌کنند یا این آدرس ها را در حساب های شبکه های اجتماعی خود قرار می‌دهند بسیار ضعیف است.

عدم وجود حریم خصوصی مناسب باعث می‌شود که بیت کوین تا حد ممکن نتواند قابل تعویض باشد و از قابلیت بیت کوین برای تبدیل شدن به واسطه معاملاتی مقاوم در برابر سانسور جلوگیری می‌کند. برای مثال یکی از دلایلی که صرافی ها ناگهان حساب ها را از دسترس خارج کردند این است که هویت مشتری برای آنها مجهول بود و احتمال داشت که از این حساب برای اهداف غیرقانونی استفاده شده باشد. تراکنش های محرمانه به رفع این مشکل موجود در بلاک‌چین های عمومی کمک می‌کند.

مرور کلی بر تراکنش محرمانه

تراکنش های محرمانه با معرفی فرمت های جدید آدرس ها و تراکنش ها عمل می‌کند. فرمت تراکنش شامل کلید عمومی اسکریپت (scriptPubKey)، تعهد پدرسن و نانس ecdh می‌باشد.

کلید عمومی اسکریپت شامل موارد زیر می‌باشد:

  • آدرس تراکنش محرمانه (CTA) و شرایط ریاضیاتی که در آن، بیت کوین فقط در صورتی می‌تواند خرج شود که مالکیت کلید خصوصی آدرس با امضا اثبات شده باشد.
  • آدرس تراکنش محرمانه، هش کلید پنهان سازی به علاوه آدرس معمولی بیت کوین است.
  • کلید پنهان سازی برای پنهان کردن آدرس بیت کوین و مقدار بیت کوین موجود در دفترکل عمومی استفاده می‌شود. اگر به کلید پنهان سازی دسترسی داشته باشید، می‌توانید آدرس بیت کوین و مقدار تراکنش محرمانه را مشاهده کنید.
  • تعهد پدرسن اساسا هش کل خروجی بیت کوین به علاوه کلید پنهان سازی است. در تراکنش معمولی بیت کوین است که خروجی معمولی بیت کوین به دست می‌آید.
  • در آخر، نانس ecdh کلید قفل کل تراکنش محرمانه است. از نانس ecdh برای ارتباط اطلاعات رمزنگاری شده با دریافت کننده تراکنش استفاده می‌شود تا خروجی تراکنش بیت کوین و عامل پنهان سازی تراکنش محرمانه را بشناسند.

نحوه کار تراکنش محرمانه چگونه است؟

با ذکر یک مثال این موضوع را بیان می‌کنیم. فرض کنید آلیس در آدرس خود ۲ بیت کوین دارد و می‌خواهد یک بیت کوین به باب ارسال کند.

آلیس آدرس بیت کوین باب را دریافت می‌کند، کلید پنهان سازی ایجاد می‌کند و این دو را با یکدیگر هش می‌کند. این امر باعث ایجاد شدن آدرس محرمانه می‌شود. اگرچه این اقدام بر روی دفتر کل عمومی ثبت می‌شود، اما هیچکس به غیر از آلیس و باب، آدرس تراکنش محرمانه همراه با آدرس بیت کوین باب را نمی‌داند.

آدرس محرمانه به شکل زیر است:

تراکنش محرمانه

سپس آلیس تراکنش محرمانه را ایجاد می‌کند و کلیپ پنهان سازی و خروجی یک بیت کوین را دریافت می‌کند و تعهد پدرسن (Pedersen) را ایجاد می‌کند. این امر باعث می‌شود مقدار بیت کوین ارسال شده از آلیس به باب پنهان شود، اما آلیس و باب به دلیل داشتن کلید پنهان سازی قادر به مشاهده مقدار بیت کوین می‌باشند. آلیس نیز این کلید را دارد زیرا خود او کلید پنهان سازی را ایجاد کرده است. باب نیز می‌تواند این کلید را از کلید خصوصی آدرس بیت کوین دریافت کند.

سپس آلیس کلید عمومی اسکریپت را با استفاده از آدرس تراکنش محرمانه حاصل از آدرس بیت کوین باب تحت شرایط ریاضیاتی ایجاد می‌کند. این شرایط ریاضیاتی به این صورت است که اگر باب بتواند مالکیت کلید خصوصی آدرس را با امضا اثبات کند می‌تواند یک بیت کوین خرج کند.

سپس این تراکنش به دفترکل عمومی ارسال و ثبت می‌شود.

حفظ مجموع موجودی صفر

یک اصل مهم در بیت کوین این است که آدرس ها باید مجموع موجودی صفر را حفظ کنند. یعنی آنکه تعداد بیت کوین هایی که به آدرس ارسال می‌شود باید با تعداد بیت کوین هایی که از آدرس خارج می‌شود برابر باشد.

اما از آنجایی که تراکنش های پنهان، مقدار بیت کوین ارسالی را پنهان می‌کنند، دو مشکل ایجاد می‌شود:

  • روش سنتی محاسبه کارمزد ماینینگ از طریق تفریق دیگر امکان پذیر نمی‌باشد.
  • شبکه نمی‌تواند تعیین کند که آیا خروجی از آدرس با ورودی برابر است یا خیر.
  • مشکل اول به راحتی با اشتراک گذاری عمومی کارمزد تراکنش قابل حل کردن است.
  • مشکل دوم مقداری پیچیده تر است اما از طریق تعهدات پدرسن حل می‌شود.

تعهدات پدرسن (Pedersen)

تعهدات پدرسن ویژگی ریاضیاتی منحصر به فردی دارد که به آن هم ریختی می‌گویند. هم ریختی ساختاری است که اقدامات مورد نظر را بین دو ساختار جبری حفظ می‌کند. این ساختار برای رمزنگاری عالی است زیرا می‌توان اطلاعات را هش کرد و از عملیات جبری برای تایید اطلاعات هش استفاده کرد. به عبارت دیگر، می‌توان بدون فاش کردن اطلاعات، آنها را انتقال داد. به مثال مهمی در این خصوص دقت کنید:

فرض کنید که این ساختار جبری اصلی ما می‌باشد و با ضرب کردن در ۲، مقادیر را هش می‌کنیم.

a + b)2 = a*2 + b*2)

اکنون a را برابر با یک و b را برابر با ۳ در نظر بگیرید.

(1+3)2 = 1*2 + 3*2

(4)2 = 2+6

اگر مقدار a در سمت چپ معادله را با عدد دیگری نظیر ۴ جایگزین کنیم، ساختار جبری دیگر درست نخواهد بود.

a + b)2 = a*2 + b*2)

(4 + 3)2 ≠ 1*2 + 3*2

ویژگی هم ریختی تعهدات پدرسن همان چیزی است که تراکنش های محرمانه از آن استفاده می‌کند تا مطمئن شود که آدرس های بیت کوین مجموع موجودی صفر را حفظ می‌کنند.

اکنون این مفهوم را بر روی مثال ارسال بیت کوین آلیس به باب اعمال می‌کنیم. برای راحتی کار، کارمزد ماینینگ را به حساب نمی‌آوریم.

آدرس تعهد پدرسن ۲ بیت کوین را برای آدرس تراکنش محرمانه خود دارد. هنگامی که آلیس به باب یک بیت کوین ارسال می‌کند، از فرمول ریاضیاتی مخصوصی برای ایجاد هش استفاده می‌کند. سپس از همین فرمول برای ارسال یک بیت کوین به آدرس های باقی مانده تراکنش استفاده می‌کند. این دو هش به یکدیگر افزوده می‌شوند تا مشخص شود که آیا برابر با تعهد پدرسن ۲ بیت کوین آدرس آلیس هستند یا خیر. اگر برابر باشند، تراکنش محرمانه معتبر است.

نتیجه گیری

تراکنش های محرمانه می‌توانند ابزاری قدرتمند برای افزایش حریم خصوصی در بلاک چین عمومی باشد. با استفاده از کلیدهای پنهان سازی، آدرس و مقادیر بیت کوین پنهان می‌شود و از اینرو تعویض پذیری آنها افزایش می‌یابد. از کلیدهای پنهان سازی برای حسابرسی نیز می‌توان استفاده کرد، یعنی آنکه ارسال کننده و دریافت کننده می‌توانند کلید پنهان سازی را برای حسابرسی به شخص ثالث بدهند.

منبع
medium

نوشته های مشابه

اشتراک
اطلاع از
0 دیدگاه
Inline Feedbacks
View all comments
دکمه بازگشت به بالا