کیف پول

UTXO چیست؟ با خروجی خرج نشده تراکنش آشنا شوید

UTXO چیست و چه کاربردی دارد؟ UTXO یکی از اصطلاحات پرکاربرد در دنیای بیت‌کوین است. در واقع، این اصطلاح همان قدر در فضای رمزارز کاربرد دارد که واژه «پول» در دنیای واقعی. اما با این حال بسیاری از افراد وقتی برای نخستین بار UTXO به گوششان می‌خورد، نمی‌دانند دقیقاً با چه چیزی مواجه هستند.  UTXOکوتاه‌شده‌ی عبارت «خروجی‌های خرج‌نشده تراکنش» (Unspent Transaction Output) است و به مقداری از ارز دیجیتال اشاره دارد که در تراکنش‌هایی مانند معاملات بیت‌کوین باقی می‌ماند. هر تراکنش مربوط به بیت‌کوین با کوین‌هایی آغاز می‌شود که برای تراز کردن دفترکل به کار می‌روند. خروجی‌های خرج‌نشده مسئولیت شروع و پایان هر تراکنش را بر عهده دارند و به همین خاطر مداوم در حال پردازش‌شدن هستند. اگرچه تأیید تراکنش کوین‌های خرج‌شده را از پایگاه داده خروجی‌های خرج‌نشده حذف می‌کند، اما سابقه‌ای از از کوین‌های خرج‌شده کماکان در دفتر کل وجود خواهد داشت.

Dust چیست؟

در دنیای رمزارزها اصلاح Dust به مقدار ناچیزی کوین یا توکن اشاره دارد؛ مبلغی که از کارمزد موردنیاز برای ارسال آن کمتر بوده و عملاٌ هزینه نمی‌شود. به بیانی دیگر، Dust بیت کوین به مقدار اندکی باقیمانده‌ی مصرف نشده بیت کوین در معامله‌ای گفته می‌شود که ارزش آن از حداقل تعیین شده در یک معامله معتبر کمتر باشد. بنابراین پردازش چنین معامله‌ای غیرممکن است و مقدار کمی بیت کوین در کیف پول یا آدرس به دام انداخته می‌شود! (منبع).

UTXO چیست؟

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

UTXO یا Unspent Transaction Output، به معنای “خروجی خرج نشده تراکنش” است که کاربرد آن جلوگیری از حمله دوبار خرج کردن یا خرج کردن مضاعف در شبکه است. اجازه دهید با یک مثال، بیشتر در این مورد توضیح دهیم.

فرض کنید شما 2 بیت کوین دارید و می‌‌خواهید 0.5 بیت کوین برای دوستتان ارسال کنید. شما نمی‌توانید تنها 0.5 بیت کوین به شبکه بفرستید و 1.5 بیت کوین دیگر را در کیف پول خود نگه دارید. تمام 2 بیت کوین شما وارد فرایند معامله می‌شود. چگونه؟

2 بیت کوین شما به شبکه فرستاده می‌شود. تراکنش انجام شده و 0.5 بیت کوین به مقصد موردنظر ارسال می‌شود. 1.5 بیت کوین باقی مانده که در این تراکنش خرج نشد، مجدد برای آدرس کیف پول شما برمی‌گردد.

بنابراین در این فرایند، دو تراکنش انجام شد:

  1. مقدار موردنظر بیت کوین به کیف پول مقصد ارسال شد.
  2. مقدار باقی مانده بیت کوین به کیف پول کاربر بازگرداننده شد (UTXO)

«خروجی‌های خرج نشده تراکنش» چگونه کار می‌کنند؟

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

اما چگونگی کارکرد خروجی‌های خرج‌نشده دقیقاً به این شکل است: یک پایگاه داده برای ذخیره کردن باقی‌مانده تراکنش‌های رمزارزها به کار گرفته می‌شود. این پایگاه داده یا «دفتر کل» در آغاز به صورت خالی یا صفر تنظیم شده است. اما همینطور که تراکنش‌ها افزایش پیدا می‌کنند، پایگاه داده پر می‌شود از سابقه‌های مروبطو به باقی‌مانده تراکنش‌های مختلف. وقتی یک تراکنش کامل می‌شود و مقداری خروجی خرج‌نشده در آن باقی می‌ماند، این خروجی‌ها به یک پایگاه داده به عنوان ورودی برمی‌گردند و در آن سپرده‌گذاری می‌شوند.

خروجی‌های UTXO کجا استفاده می‌شوند؟

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

اما رمزارزهایی نظیر بیت‌کوین از این نظر نیز منحصر به فرد هستند که تراکنش‌های مربوط به آن‌ها را می‌توان با بخش‌ها یا تکه‌هایی از رمزارز انجام داد. این مسئله به این معنا است که خرج کردن رمزارز با استفاده از یک بایت داده واحد روی نمی‌دهد. بلکه الگوریتم چند بخش از بیت‌کوین را بازیابی می‌کند تا یک درخواست خرج کردن به سرانجام برسد. برای مثال اگر بخواهیم ۱ بیت‌کوین بخریم، این معامله به صورت انجام می‌شود که 0.6 BTC  از یک باید بازیابی می‌شود و 0.4 BTC از یک بایت دیگر. باقی‌مانده هرکدام از این تکه‌ها یا بخش‌ها به پایگاه داده «خروجی‌ خرج‌نشده تراکنش‌ها» یا UTXO ارسال می‌شود تا در آینده خرج شوند.

نکاتی که باید درباره‌ی UTXOها بدانید

کثرت خرده کوین‌ها در شبکه بیت‌کوین باعث می‌شود برخی تراکنش‌ها صرفه اقتصادی نداشته باشند. این مسئله به این خاطر است که احتمالاً هزینه تراکنش از هزینه محصولی که قرار است با بیت‌کوین بخرید بیشتر شود. برای مثال فرض کنید که شخصی می‌خواهد با استفاده از شبکه بیت‌کوین تراکنشی انجام دهد و یک فنجان قهوه دو دلاری بخرد. چنانچه هزینه تراکنش در شبکه بیت‌کوین بیش از دو دلار یعنی، یعنی ارزش یک فنجان قهوه باشد، اصلاً با عقل جور درنمی‌آید که کسی بخواهد چنین هزینه‌ای بکند. جیمی سانگ (Jimmy Song) که یکی از توسعه‌دهندگان بیت‌کوین است، پژوهش جالبی انجام داده است. بر اساس این پژوهش، هزینه نهایی (marginal cost) ۱۳ میلیون کوین بیشتر از ارزش آن‌ها به ۵۰ ساتوشی/بیت است.

اما این تمام ماجرا نیست. افزایش میزان «خروجی‌های خرج‌نشده تراکنش» مشکل دیگری هم دارد. تغییر در هزینه تجهیزات مورد نیاز برای پردازش خروجی‌های خرج‌نشده با میزان افزایش آن همگام نبوده است؛ برای مثال می‌توان به هزینه ادوات دیتا ماینینگ برای تأیید کامل نودها اشاره کرد. گوین اندریسن (Gavin Andreesen) طراح نرم افزار که یکی از اعضای اصلی در توسعه بیت‌کوین بوده می‌گوید:«امکان‌پذیر ساختن تراکنش‌های بیشتر آن‌هم بدون هیچ تغییر دیگری، به احتمال بسیار زیاد رشد «خروجی‌های خرج‌نشده تراکنش» را تسریع می‌کند و باعث می‌شود که اجرای تأیید کامل نود گران‌تر شود.»

صحبت پایانی

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

طبیعی است که وقتی مفهومی جدید پا به عرصه ارزهای دیجیتال می‌گذارد، ابتدا برای افراد کمی گیج‌کننده است. در این نوشته سعی داشتیم بگوییم که UTXO بر خلاف ظاهر پیچیده‌‌اش مقوله‌ای بسیار ساده است. اما برای جمع‌بندی بد نیست مواردی را به صورت خلاصه مرور کنیم:

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

لیلی امینی

چقدر زیباست: هر آنچه را که قبل از دیگران یاد گرفته‌ای، با تمام وجودت در اختیار آن‌ها قرار دهی.

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا