UTXO چیست؟ هرآنچه باید درباره خروجی خرج نشده تراکنش در بیت کوین بدانید
تاریخ انتشار: 5 تیر 1402 | آخرین بهروزرسانی: 3 بهمن 1402
زمان مطالعه:
8 دقیقه
UTXO مقدار ارز دیجیتال است که پس از هر تراکنش باقی مانده و میتواند در تراکنشهای بعدی به عنوان ورودی استفاده شود. UTXO، چالشها و مزایای خود را دارد که در این مقاله به آنها اشاره خواهیم کرد.
UTXO مفهومی مهم در بلاک چین که به مقدار ارز دیجیتال باقیمانده، پس از انجام یک تراکنش اشاره دارد؛ این مفهوم، آغاز و پایان هر تراکنش در بلاک چین را مشخص کرده و نقش مهمی در امنیت و کارآمدی شبکه ایفا میکند.
UTXO مخفف عبارت Unspent Transaction Output، به معنی خروجی تراکنشی است که هنوز به عنوان ورودی در تراکنشی دیگر استفاده نشده و برای استفاده بعدی در دسترس است. این مفهوم یکی از مفاهیم اساسی در طراحی بلاک چینِ بیتکوین است که برای اولین بار در زمان پیدایش بیت کوین، به دلیل امنیت، شفافیت و مقیاسپذیری که ارائه میداد، اهمیت پیدا کرد و پس از آن هم تا به امروز، نقشی اساسی در ساختار و عملکرد بلاک چین بیت کوین ایفا میکند.
در مقالههای بلاک چین چیست؟ و بیت کوین چیست؟ به طور مفصل درباره این دو مفاهیم پایه در دنیای کریپتوکارنسی صحبت کردیم، اما امروز در این مقاله از بیت پین، میخواهیم شما را با مفهوم UTXO، دلیل اهمیتش و چالشها و مزایایی که ارائه میدهد، آشنا کنیم.
ارزهای دیجیتال همیشه به صورت یک واحد کوین کامل خریداری نمیشوند یا به فروش نمیرسند؛ این موضوع برای رمزارزهایی که هر واحد از آنها قیمت بالایی دارید، بیشتر مشهود است. برای مثال افراد اغلب برای خرید بیت کوین یا خرید اتریوم، کسری از آنها را در تراکنشهای خود، خرید و فروش میکنند. با این حال، خرد کردن این واحدها به واحدهایی کوچکتر کار سادهای نبوده و باعث ایجاد کارمزد و در نهایت مقرونبهصرفه نبودن تراکنشها میشود.
این خرده واحدها، درواقع همان خروجی خرجنشدهای هستند که در هر تراکنش به جا میمانند و به عنوان بخش یا کل ورودی در تراکنش بعدی استفاده میشوند. با انجام تراکنش بعدی، خروجیهای جدیدی ساخته میشوند و دیگر امکان خرج خروجیهای قبلی که استفاده شدهاند، وجود ندارد. هر خروجی که بلافاصله در تراکنشی استفاده نشود، به یک UTXO تبدیل شده و میتوان آن را در تراکنشی دیگر خرج کرد.
بهترین راه برای توضیح مفهوم خروجی خرجنشده تراکنش، مقایسه آن با پرداختهای نقدی واقعی است. بیایید فرض کنیم برای خرید ژامبونی به قیمت ۵ دلار به فروشگاهی وارد میشوید، اما فقط یک اسکناس ۱۰ دلاری دارید. در این صورت، شما با اسکناس ۱۰ دلاری خود، پرداخت کرده و صندوقدار هم به سادگی یک اسکناس ۵ دلاری به شما پس میدهد.
حال اگر برای خرید همان ژامبون، پنج اسکناس یک دلاری داشته باشید، چه میشود؟ خب، پاسخ بسیار ساده است؛ اسکناسها را با هم ترکیب کرده تا مبلغ ۵ دلار برای پرداخت ژامبون را به صندوقدار تحویل دهید. تراکنشهای بیت کوین هم تقریباً عملکرد یکسانی دارد؛ سیستم بیت کوین براساس مجموعهای از خروجیهای تراکنشهایی عمل میکند که هنوز به عنوان ورودی در تراکنشهای دیگر استفاده نشدهاند.
در مثالی دیگر، فرض کنید شما در روز A، مقداری برابر ۰٫۴ بیت کوین و در روز B هم ۰٫۳ بیت کوین خریداری کرده باشید؛ در حال حاضر ۰٫۷ بیت کوین دارید. حال اگر در روز C بخواهید ۰٫۴ بیت کوین از دارایی خود را بفروشید، ممکن است در فرایند فروش، ۰٫۲ بیت کوین از ۰٫۴ بیت کوین خریداریشده در روز A و ۰٫۲ بیت کوین هم از ۰٫۳ بیت کوین خریداریشده در روز B، به فروش برسد. پس از آن شما هنوز ۰٫۳ بیت کوین، اما از دو تراکنش مختلف (۰٫۲ از روز A و ۰٬۱ از روز B) خواهید داشت؛ این مجموعه را با UTXO نشان میدهیم.
به طور خلاصه، میتوان گفت که خروجی خرجنشده تراکنش، در واقع بخش خرجنشدهای از تراکنش بیت کوین یا برخی دیگر از رمزارزها است.
برای فهم بهتر مفهوم خروجی خرجنشده تراکنش، لازم است با ساختار تراکنشهای بیت کوین آشنا شوید. هر تراکنش بیت کوین دارای دو بخش اصلی است: ورودیها (Inputs) و خروجیها (Outputs). ورودیها نشاندهنده آدرسهای کیف پول الکترونیک هستند که از آنها بیت کوین خرج میشود و خروجیها هم نشان دهنده آدرسهای کیف پول الکترونیک هستند که به آنها بیت کوین ارسال میشود. هر تراکنش میتواند چندین ورودی و خروجی داشته باشد.
فرض کنید شما ۲ بیت کوین دارید و میخواهید ۰٫۵ بیت کوین را برای دوستتان ارسال کنید. در این صورت، شما ۲ بیت کوین را به عنوان ورودی تراکنش قرار میدهید و دو خروجی تعریف میکنید: ۰٫۵ بیت کوین به آدرس دوستتان و ۱٫۵ بیت کوین به آدرس خودتان! در این حالت، ۲ بیت کوینْ ورودی شما، خروجی خرجشده و دو خروجی جدید، خروجی خرجنشده نامیده میشوند. UTXOها در این حالت ۰٫۵ و ۱٫۵ بیت کوین هستند که دومی در اختیار شما برای تراکنشهای بعدی است.
پس بیت کوین، سیستمی از حسابها و ماندهها نیست، بلکه بیشتر مجموعهای از UTXOها است که موجودی بیت کوین را در آدرس کیف پول نشان میدهد. با این تعریف، میتوان خروجی خرجنشده تراکنش را صورتحسابی در نظر گرفت که طی آن، هنگام انجام یک تراکنش، یا یک UTXO کامل (۱۰ دلاری در مثال ژامبون) ارسال میشود و باقی (۵ دلار) به کاربر برگرانده میشود یا چندین UTXO (در مثال ژامبون ۵ اسکناس ۱ دلاری) برای خرید با هم ترکیب میشوند. برای درک بهتر این موضوع، به تصویر زیر دقت کنید:
کیف پول در ابتدا ۲ واحد بیت کوین را نشان میدهد؛ پس از ارسال، ۱٫۵ بیت کوین به دریافتکننده منتقل شده و ۰٫۵ بیت کوین (باقی پول) به آدرس اصلی باز میگردد.
نقش UTXO در تعیین کارمزد تراکنش چیست؟
همانطور که تا اینجا متوجه شدهاید، داشتن چندین خروجی خرجنشده، به پرداخت کارمزد بیشتر منجر میشود، اما این کارمزدها در جیب ماینرها نمیرود! درواقع آنها به طور خودکار و براساس اندازه تراکنش، محاسبه و کسر میشوند. این فرآیند در زمان شلوغی شبکه، به دلیل امکان ایجاد چندین UTXO، باعث افزایش حجم تراکنش شده و فضای بیشتری را در بلوکی اشغال میکند که تنها ۴ مگابایت فضا دارد.
تراکنشهای بیت کوین با واحد بایت اندازهگیری شده و کارمزدها هم در این شبکه براساس تعداد بایتهای یک تراکنش محاسبه میشود. بسته به تراکم شبکه، هزینه هر بایت تراکنش، ممکن است متفاوت باشد و چنانچه تراکنشی در جریان همین خرد کردن واحدهای بیت کوین، از بایتهای زیادی ساخته شده باشد، قطعاً گرانتر خواهد بود. اینجا است که مدیریت UTXOها اهمیت پیدا میکند.
از پیوند بلاکچین و هوش مصنوعی، به پول میرسیم؟
جوابت تو شماره ۱۴ ماهنامه دامیننسه!
مدیریت UTXOها
حال که با مفهوم خروجی خرجنشده تراکنش و چگونگی عملکرد آن آشنا شدیم، وقت آن رسیده تا درباره نحوه مدیریت و چرایی آن صحبت کنیم.
مدیریت UTXO چگونه انجام میشود؟
مدیریت UTXOها شامل یکپارچهسازی آنها است و از دید عملگرایی، به سادگیِ ارسال تراکنشهای بیت کوین در شبکه است. شما میتوانید تمام خروجیهای خرجنشده موجود در کیف پول خود را، به سادگی و تنها با ارسال یک تراکنش به آدرسی دیگر، به واحدی یکپارچه تبدیل کنید. با این کار، تمام خروجیهای خرجنشده شما در یک خروجی خرجنشده، قرار میگیرند.
دقت داشته باشید که کیف پول شما ممکن است UTXOهای مختلف را به شما نشان ندهد و شما فقط یک موجودی در کیف پول خود مشاهده کنید؛ اما پس از انجام تراکنش و ارسال تمام دارایی موجود در کیف پول به آدرسی دیگر، شما واحدی یکپارچه از UTXOهای خود خواهید داشت.
علاوهبراین، برخی از کیف پولها قابلیتی به نام کنترل کوین (Coin Control) دارند و شما میتوانید UTXOهای خود را با استفاده از آن مدیریت کنید. این قابلیت امکان انتخاب از میان خروجیهای خرجنشده را برای انجام تراکنشها فراهم میکنند. بسیاری از کیف پولهای بیت کوین مانند بلو والت و الکتروم به قابلیت کنترل کوین مجهز هستند.
چرا UTXOها را مدیریت کنیم؟
چرا باید خروجیهای خرجنشده خود را یکپارچه کنیم؟ همانطور که قبلاً گفتیم، اگر چندین UTXO داشته باشید و بخواهید پرداختی انجام دهید، چنانچه مبلغ پرداختی، بیشتر از هرکدام از خروجیهای خرجنشده باشد، نیاز خواهید داشت تا چندین UTXO را با هم ترکیب کنید.
ترکیب UTXOها برای هر تراکنش، یعنی پرداخت کارمزد بالاتر!
هرچه خروجی خرجنشده بیشتری در جریان انجام تراکنش با هم درگیر شوند، کارمزدی که باید در شبکه بپردازید، بیشتر خواهد بود. پس میبینید که انجام یکپارچهسازی کار عاقلانهای است و انجام آن در زمانهایی که شبکه شلوغ نیست، شما را از پرداخت کارمزدهای بالا در زمان شلوغی شبکه، نجات میدهد. شما میتوانید برای بررسی ترافیک شبکه و هزینههای جاری در هر بایت را در پلتفرمهای جستجوگر بلاک بیت کوین، مانند mempool.space بررسی کنید. شما از طریق این پلتفرمها، میتوانید به تمام تراکنشهای بیت کوین و اطلاعاتی مانند تاریخچه و سوابق تراکنشها دسترسی داشته باشید.
علاوهبراین، داشتن چندین UTXO در زمان شلوغی شبکه و گران بودن کارمزدها، ممکن است این خروجیهای خرجنشده را به Dust UTXO تبدیل کند. Dust UTXO، خروجی خرجنشدهای است که کمتر از کمترین هزینه تراکنش در شبکه، ارزش دارد. این خرده کوینها، تا زمان کاهش دوباره کارمزدها و خلوت شدن شبکه، داراییهایی غیرقابل مصرف خواهند بود.
معایب مدیریت UTXO چیست؟
بزرگترین عامل خطر برای مدیریت UTXOها، به ویژه در هنگام انجام یکپارچهسازی، حریم خصوصی است. وقتی به تمام دلایل گفته شده در بالا، همه خروجیهای خرجنشده خود را در یک یا شاید چند UTXO ادغام میکنید، به نوعی حریم خصوصی خود را به خطر انداختهاید. با داشتن تنها یک خروجیهای خرجنشده، هر بار که میخواهید تراکنشی انجام دهید، کل دارایی بیت کوین شما در معرض دید خریدار یا هر شخصی که به آدرس فرستنده یا هش تراکنش دسترسی داشته باشد، قرار خواهد گرفت.
از این رو، همیشه مهم است که هنگام استفاده از قابلیت کنترل کوین، در یکپارچهسازی UTXOها، متعادل عمل کنید. پس با در نظر گرفتن تمام مسائل ذکر شده، بهترین روش برای مدیریت خروجیهای خرجنشده، داشتن دو نوع UTXO است. نگهداشتن و ادغام UTXOهای بزرگ برای پسانداز، که میتواند دست نخورده باقی بماند و استفاده از UTXOهای کوچکتر برای پرداختها، همزمان با زیر نظر داشتن شلوغی شبکه برای انجام تراکنش با کارمزدهای پایینتر!
چه رمزارزهایی از UTXO استفاده میکنند؟
بهغیر از بیت کوین، ارزهای دیجیتال دیگری هم در طراحی بلاک چین خود (هرکدام به نوعی) از UTXO بهره بردهاند. این ارزهای دیجیتال، عبارتاند از:
در این مقاله، به توضیح مفهوم UTXO یا خروجی خرجنشده تراکنش در بلاک چینِ بیت کوین و چگونگی کارکرد آن پرداختیم. UTXOها، مقدار ارز دیجیتال هستند که پس از انجام یک تراکنش باقی میمانند، در تراکنشهای بعدی به عنوان ورودی استفاده میشوند و نقش مهمی در امنیت و کارآمدی شبکه ایفا میکنند.
هر UTXO، فقط دریافتکننده قبلی خود را مشخص میکند و با این کار حریم خصوصی کاربر، تاحدودی حفظ میشود. توصیه میکنیم فرایند یکپارچهسازی خروجیهای خرجنشده خود را در زمانهای خلوتی شبکه با کارمزد پایین انجام دهید؛ برای مثال، معمولا یکشنبهها روز مناسبی برای انجام این فرایند است. در کنار تمام این اقدامات برای مدیریت خروجیهای خرجنشده، برای فاکتور حریم خصوصی هم اهمیت زیادی قائل شوید، چا که تراکنشهای بیت کوین، از طریق فناوری تجزیه و تحلیل زنجیرهای بسیار پیشرفته، قابل ردیابی هستند.
سوالات متداول
UTXO چیست؟
UTXO مقدار ارز دیجیتال است که پس از هر تراکنش باقی مانده و میتواند در تراکنشهای بعدی به عنوان ورودی استفاده شود.
نقش UTXO در تعیین کارمزد تراکنش چیست؟
داشتن چندین خروجی خرج نشده تراکنش، به پرداخت کارمزد بیشتر منجر میشود، اما این کارمزدها در جیب ماینرها نمیرود.
مدیریت UTXO چگونه انجام میشود؟
برای مدیریت خروجیهای خرجنشده، شما میتوانید تمام خروجیهای خرجنشده موجود در کیف پول خود را به سادگی و تنها با ارسال یک تراکنش به آدرسی دیگر، به واحدی یکپارچه تبدیل کرده و مدیریت کنید.
معایب یکپارچهسازی UTXOها چیست؟
به خطر افتادن حریم خصوصی کابر و در معرض دید قرار گرفتن تراکنشهای او، ایراد بزرگ یکپارچهسازی UTXOها است.
شبنم توایی
علاقه زیادی به حوزه فناوری و فین تک دارم، درباره ارزهای دیجیتال، بلاک چین، هوش مصنوعی، وب ۳ و سایر موضوعات مرتبط با فناوری مینویسمو تحقیق میکنم.
عاشق سفر و عکاسی هستمو اوقات فراغتم را با کشف جاذبهها و ثبت لحظات زیبا سپری میکنم.
بزرگترین هدفم تو زندگی یاد گرفتنه و لذت میبرم از اینکه یادگرفتههامو دانش و تجربهام را با دیگران به اشتراک بگذارم و از اونها هم یاد بگیرم.