UTXO چیست؟ افرادی که به تازگی وارد بازار ارزهای دیجیتال می شوند با دسته ی عظیمی از واژه ها و اصطلاحات روبرو می شوند که تا قبل از آن، آنها را نشنیده اند. یکی از این اصطلاحات UTXO است که در معاملات بیت کوین بسیار به کار برده می شود. در این مطلب با ما همراه باشید تا با مفهوم UTXO بیشتر آشنا شوید.
UTXO چیست؟
UTXO مخفف Unspent Transaction Output و به معنی خروجی های خرج نشده تراکنش می باشد. خروجی خرج نشده تراکنش مقدار ارز دیجیتالی است که پس از انجام معامله ارزهای دیجیتال مانند بیت کوین باقی می ماند و به فرستنده بر می گردد. تراکنش های ارزهای دیجیتال شامل ورودی ها و خروجی هایی هستند که در میان آنها تنها UTXO امکان استفاده به عنوان ورودی واکنش های دیگر را دارد.
در تراکنش های ارزهای دیجیتال برای انجام تراکنش به خروجی های خرج نشده نیاز است و در صورتی که به مقدار مورد نیاز خروجی خرج نشده در کیف پول کاربر موجود نباشد تراکنش انجام نمی شود. ممکن است شما در کیف پول خود UTXO های خرج نشده با مقادیر متفاوت را داشته باشید اما نتوانید با مبلغ دلخواه تراکنش را انجام دهید، چرا که شکستن UTXO ها امکان پذیر نیست.
برای مثال فرض کنید شما قصد خرید یک خانه را دارید که مبلغ آن ۶۵ بیت کوین است. برای پرداخت هزینه این خانه به کیف پول خود مراجعه می کنید و می بینید که خروجی های خرج نشده ای با مقادیر ۲۹، ۲۳، ۳۲ و ۷۰ بیت کوین دارید اما خروجی خرج نشده ۶۵ بیت کوین را ندارید و نمی توانید آن را بپردازید. در این صورت شما می توانید خروجی خرج نشده ۷۰ بیت کوین را به طرف معامله پرداخت کنید و ما به تفاوت آن را که ۵ بیت کوین است را دریافت کنید. همچنین می توانید مقادیر ۲۳ و ۳۲ بیت کوین را که جمعا ۶۵ کوین می شوند را پرداخت کنید و معامله را به پایان برسانید.
همان طور که مشاهده کردید می توانید با ترکیب های مختلفی از UTXO تراکنش ها خود را انجام دهید و با ارسال و دریافت مقادیر مختلف UTXO تعداد متفاوتی از UTXO ها را بسازید. UTXO ها در واقع برای جلوگیری از حملات دوبار خرج کردن کاربرد دارند که در ادامه به آن خواهیم پرداخت.
دلیل اهمیت UTXO
همانطور که می دانید هر ارز دیجیتال تنها یک بار قابل خرج کردن است و پس از انجام تراکنش بر روی بلوک ها ثبت و کد نویسی می شوند و در بلاک چین قرار می گیرند. UTXO ها به منظور جلوگیری از حملات دوباره خرج کردن ارزهای دیجیتال بسیار مهم هستند و جلوی خرج شدن مجدد کوین هایی که وجود ندارند را می گیرند. بلاک چین ها پایگاه های داده ای هستند که توسط نود ها کنترل و نگهداری می شوند و شامل خروجی های خرج نشده بسیاری هستند. اگر شخصی بخواهد یک کوین را دو بار خرج کند و دو پرداخت با آن انجام دهد نود ها از این کار جلوگیری می کنند.
طراحی درست UTXO ها شیوه های حسابداری در بلاک چین ها را سهولت می بخشد و دیگر لازم نیست پس از هر تراکنش منتظر ثبت آن بر روی بلاک چین بود بلکه تنها تعداد خروجی های خرج نشده ثبت می شوند.
تراکنش های تایید نشده بیت کوین
تراکنش های ارز دیجیتال غیر قابل بازگشت هستند به این معنی که پس از تایید تراکنش و انتقال ارز نمی توان آن را بازگرداند ولی در این شبکه تراکنش هایی هستند که تایید نمی شوند و به صورت تایید نشده (Unconfirmed) نیز باقی خواهند ماند. تراکنش های تایید نشده تراکنش هایی هستند که پس از گذشت یک ۲۴ ساعت بر روی بلاک چین قرار نگرفته باشند.
تراکنش های برای ثبت بر روی بلاک چین ابتدا باید توسط ماینرها و نودهای شبکه تایید شوند. اینکه تراکنش تایید شود بستگی به میزان کارمزدی که برای آن مشخص می شود دارد. هرچه میزان کارمزد یک تراکنش بیشتر باشد آن تراکنش توسط نودها سریعتر تایید می شود. پس از ۲۴ ساعت در صورت مواجهه با تراکنش تایید نشده دو راهکار برای حل این مشکل در شبکه ارائه شده است: افزایش کارمزد تراکنش و لغو تراکنش تایید نشده.
افزایش کارمزد تراکنش تایید نشده
برای این کار باید کاربران یک تراکنش جدید را با مقدار ارزی که قبلاً مشخص شده بود و کارمزدی بیشتر از کارمزد قبلی شروع کنند. این روش را تنها می توان در کیف پول هایی اجرا کرد که از قابلیت دوبار خرج کردن پشتیبانی می کنند. اکثر این کیف پول ها از پروتکل RBF (Replace By Fee) استفاده می کنند.
لغو تراکنش تایید نشده
اگر پس از گذشت یک شبانه روز متوجه شدید که تراکنش شما بر روی بلاک چین ثبت نشده است می توانید آن را لغو کنید. برای اطمینان از این کار در سایت های جستجوگر بلاک تراکنش خود را جستجو کنید و اگر آن را نیافتید با پروتکل RBF این شبکه می توانید آن را با کارمزد بالاتر دوباره انجام دهید و تراکنش قبلی را لغو کنید.
جمع بندی
UTXO ها مقدار ارزهایی هستند که پس از اتمام هر تراکنش به صورت خرج نشده به کیف پول کاربر بر میگردند. UTXO قابل تقسیم نیستند و نمی توان آنها را به اجزای کوچکتر تقسیم کرد. هر UTXO با یک آدرس شناخته می شود و هر آدرس نشان دهنده یک نوع UTXO است. پیش از هر تراکنش باید مقداری UTXO را در کیف پول خود داشت در غیر این صورت تراکنش انجام نمی گیرد.