UTXO چیست و چه مفهومی دارد؟ آیا فقط در بیتکوین به کار میرود؟ دلیل استفاده از آن چیست؟ همه کسانی که به فناوری بلاکچین و بخصوص ارزهای دیجیتالی نظیر بیتکوین علاقهمندند این سؤالات را در ذهنشان دارند. شاید این مفهوم کمی مبهم به نظر برسد اما وقتی یک بیتکوین ارسال یا دریافت میکنید، عبارت خروجی خرج نشده تراکنش یا UTXO را میبینید. ممکن است معنای آن را ندانید. آیا این رسید تراکنش است؟ نه اینطور نیست. در ادامه مقاله توضیحات مفصلی در ارتباط با UTXO و نحوه عملکرد آن دادهایم.
عبارت UTXO کوتاهشده عبارت Unspent Transaction output و یک اصطلاح فنی است. در دنیای ارزهای دیجیتال مانند بیت کوین، خروجی خرجنشده تراکنش، واژهای انتزاعی از پول الکترونیکی است و به میزان ارز دیجیتالی گفته میشود که پس از انجام یک تراکنش ارز دیجیتال مانند بیت کوین برای فرد باقی میماند. هر UTXO مشابه با یک کوین بوده و با توجه به واحد پول مربوط به خود ارزش مشخصی دارد. زمانی که تراکنش پذیرفتهشدهای در یک سیستم پرداخت معتبر مانند بلاک چین بیت کوین انجام میشود، تنها UTXO ها میتوانند بهعنوان ورودیهای تراکنش استفاده شوند. خروجی خرجنشده تراکنش بهطور مداوم پردازش شده و مسئول شروع و پایان هر تراکنش است؛ یعنی زمانی که یک تراکنش جدید اتفاق میافتد، ورودیها حذف و خروجیها بهعنوان UTXO های جدید ایجاد میشوند.
با یک مثال ساده کاربرد UTXO را بهتر برایتان توضیح میدهیم. دنیای واقعی را در نظر بگیرید و فکر کنید که برای خرید به یک فروشگاه رفتهاید. جنسی را که قصد دارید ۵ هزار تومان است و شما یک اسکناس ۱۰ هزار تومانی به فروشنده میدهید. شما که نمیتوانید اسکناس خود را نصف کنید و به فروشنده بدهید. مجبورید اسکناس را بدهید و بقیه پول خود را دریافت کنید. پس شما هم ۲ تراکنش باید انجام دهید، اول شما پول میدهید و فروشنده باقی پول شما را پس میدهد. کارایی UTXO هم در شبکه مانند همین مثالی است که برایتان زدیم.
در مورد بیت کوین و سایر ارزهای مشابه (بیت کوین کش، لایت کوین و دوج کوین)، مانده حساب فقط یک مقدار نیست، بلکه مجموع مقادیر کوچکتر است که UTXO نامیده میشود. اگرچه شما در کیف پول فقط یک مقدار از هر رمزارز را مشاهده میکنید، اما UTXO های مختلفی دور از چشم ما وجود دارند که ما آنها را نمیبینیم. کاربرد UTXO در جلوگیری از حمله دوبار خرج کردن یا خرج کردن مضاعف در شبکه است. اجازه دهید با یک مثال، بیشتر در این مورد توضیح دهیم. فرض کنید شما ۲ بیت کوین دارید و میخواهید ۰.۵ بیت کوین برای دوستتان ارسال کنید. شما نمیتوانید لغو تراکنش بیت کوین را انجام دهید و تنها ۰.۵ بیت کوین به شبکه بفرستید و البته ۱.۵ بیت کوین دیگر را در کیف پول خود نگه دارید. تمام ۲ بیت کوین شما وارد فرایند معامله میشود. 2 بیت کوین شما به شبکه فرستاده میشود. تراکنش انجام شده و ۰.۵ بیت کوین به مقصد مورد نظر ارسال میشود. ۱.۵ بیت کوین باقی مانده که در این تراکنش خرج نشد، مجدد برای آدرس کیف پول شما برمیگردد. بنابراین در این فرایند، دو تراکنش انجام میشود. مقدار مورد نظر بیت کوین به کیف پول مقصد ارسال میشود و مقدار باقی مانده بیت کوین به کیف پول کاربر بازگرداننده خواهد شد. البته ممکن است مقدار خرج نشده به قدری ناچیز باشد که انجام هرگونه تراکنشی روی آن غیر ممکن باشد و این مقدار برای همیشه در کیف پول کاربر باقی بماند. به این مقدار ناچیز به اصطلاح DUST گفته میشود که در زیر آن را تعریف میکنیم.
نتیجه گیری :
در روزهای اولیه بیت کوین، هنگامی که کیف پولهای شاخصی وجود نداشت، اگر در تراکنش اول کل موجودی را خرج نمیکردید، کیف پولهای بیت کوین آدرس باقی مانده موجودی را درخواست میکردند و اگر نمیتوانستید آدرس مورد نظر را فراهم کنید، باقی مانده موجودی به آدرسی ارسال میشد که در اختیار شما نبود و منجر به از دست رفتن سرمایه میشد.