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

مرسده ولی زاده
مرسده ولی زاده
LinkedIn
Telegram
WhatsApp
Twitter
UTXO

هنگام ورود به دنیای ارزهای دیجیتال، مطمئنا با عبارات و اصطلاحات به ظاهر نامفهومی مواجه خواهید شد.

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

برخی از اصطلاحات، مخفف چند کلمه و برگرفته از اصطلاحات مهمی در فضای بلاکچین هستند.

یکی از این واژه‌های فنی که کاربردش در حوزه بلاکچین نمود پیدا کرده، UTXO است. می‌توان گفت به همان اندازه‌ای که از واژه “پول” در زندگی روزمره استفاده می‌کنیم، به همان اندازه هم از واژه UTXO در دنیای کریپتو، مخصوصا بیت‌کوین، استفاده می‌شود.

در ادامه این مقاله، به طور کامل درباره مفهوم این کلمه صحبت خواهیم کرد. 

UTXO چیست؟ 

UTXO مخفف Unspent Transaction Output و به معنای “خروجی خرج نشده تراکنش” است. این عبارت در فرهنگ لغت انگلیسی وجود ندارد و کاربرد آن تنها در دنیای بیت‌کوین دیده می‌شود.

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

همانطور که می‌دانید، هر تراکنش بیت‌کوین با تعدادی کوین آغاز شده که در موجودی دفتر کل وجود دارند؛ و هر تراکنش بیت‌کوین، شامل ورودی و خروجی است.

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

برای انجام هر تراکنش قطعا به UTXO نیاز دارید و اگر آن را نداشته باشید، یعنی اصلا بیت‌کوین ندارید!

بیشتر بخوانید: شناسه یا آی‌دی تراکنش (TXID) ارز دیجیتال چیست + نحوه پیگیری تراکنش‌ها

UTXO
تصویری که UTXO را در یک تراکنش انجام شده نشان می‌دهد.

این موضوع به دلیل پروتکل و قوانینی که ساتوشی ناکاماتو در کدهای بیت‌کوین تعریف کرده است، رخ می‌دهد و وجود این قوانین به دلیل جلوگیری از پدیده دوبار خرج کردن (Double Spending) ضروری است.

برای درک بهتر مفهوم UTXO، به یک مثال توجه کنید:

فرض کنید که موجودی شما در آدرس کیف پول‌تان 3 بیت‌کوین است و شما می‌خواهید 0.5 بیت‌کوین برای دوست خود انتقال دهید. این امکان برای شما وجود ندارد که فقط 0.5 بیت‌کوین از کیف پول خود منتقل کنید و 2.5 بیت‌کوین دست نخورده باقی بماند.

شاید برای شما سوال پیش بیاید که هنگام انجام تراکنش و پرداخت، هرگز دو تراکنش در کیف پول خود انجام نمی‌دهید، پس چطور این اتفاق رخ می‌دهد؟

باید بگوییم بله! این موضوع کاملا درست است؛ چراکه کیف پول‌های مدرن، تمام این کارها را در پس زمینه و به دور از چشم شما انجام می‌دهند.

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

به عنوان مثالی دیگر، تصویر زیر را مشاهده کنید.

UTXO in transactions
تصویری از تراکنش‌های انجام شده در شبکه بیت‌کوین و ایجاد UTXO ها

در این تصویر، تراکنش‌ها توسط یک نفر انجام شده که در تراکنش‌های شماره 1 تا شماره 4، دو عنوان خرج نشده (Unspent) و خرج شده(Spent)، قابل مشاهده است.

توجه کنید که هر دو مقدار خروجی تراکنش‌ شماره 5، عنوان Unspent یا خرج نشده را دارد.

کاربر در این تراکنش‌ها، با موجودی اولیه 11.852428 بیت‌کوین، دائما در حال ارسال 0.8 بیت‌کوین به آدرس دیگر است.

در تمامی 4 تراکنش انجام شده (از شماره 1 تا شماره 4)، موجودی باقی‌مانده بعد از کسر 0.8 بیت‌کوین به همراه کارمزد تراکنش، به آدرس جدید واریز شده که به این آدرس، آدرس باقی‌مانده تراکنش می‌گویند.

امروزه این آدرس‌ها،به طور خودکار توسط کیف‌پول‌های HD تولید می‌شوند.

از تمام آدرس‌ها در تراکنش‌های 2 تا 5، تراکنش‌های جدید شروع می‌شود؛ به همین دلیل است که برچسب خروجی‌های خرج شده دارند.

پس از انجام 5 تراکنش مربوط به انتقال 0.8 بیت‌کوین، موجودی آدرس اولیه که در همان اول 11.852428 بیت‌کوین داشت، به 7.838868 بیت‌کوین کاهش یافته است.

خروجی 7.838868 بیت‌کوین مربوط به UTXO تراکنش فرستنده و 0.8 بیت‌کوین‌ها مربوط به UTXO تراکنش دریافت‌‌کننده است.

در نهایت، با دقت در تصویر پیداست که آدرس عمومی موجودی اول و آدرس عمومی موجودی آخر متفاوت است؛ به همین دلیل، گاهی با انجام هر تراکنش و تغییر آدرس کیف پول خود، دچار سردرگمی خواهید شد.

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

بنابراین، اگر مشاهده کردید که آدرس شما تغییر کرده است، بدانید که دلیل آن دریافت UTXO ها در آدرس باقی‌مانده جدید است.

بیشتر بخوانید: دلیل تأییدنشدن تراکنش بیت کوین چیست؟

هنگام استعلام موجودی، UTXOها کجا قرار دارند؟

همان‌ طور که قبلاً هم اشاره کردیم، UTXOها همان بیت کوین‌ها هستند. آن‌ها در کیف پول‌های مختلف، به روش‌های متفاوتی برای کاربران نمایش داده می‌شوند.

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

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

اما این تمام ماجرا نیست؛ با افزایش UTXOها، تغییر در هزینه‌های تجهیزات برای پردازش UTXOها، با افزایش آنها هم‌خوانی ندارد. در واقع، هزینه‌ای که برای ریگ‌های ماینینگ و برای نودهای کامل (Full node) می‌شود، اصلا هماهنگ نیست.

تفاوت دو مدل مبتنی بر UTXO و مدل مبتنی بر حساب

 ممکن است مفهوم تراکنش‌های مبتنی بر UTXO، کمی غیرقابل درک باشد. UTXO به پول نقد شباهت دارد ولی ما در پلتفرم‌های پرداخت دیجیتال، با حساب کاربری خود معاملات را انجام می‌دهیم.

دقیقا تفاوت این دو مدل، مانند استفاده از پول نقد و استفاده از کارت بانکی به هنگام خرید است.

اما مدل دیگری در انجام تراکنش‌ها وجود دارد که آن هم تراکنش‌های مبتنی بر حساب است.

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

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

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

مزایا و معایب UTXOها

  • تراکنش‌های مبتنی بر  UTXO، از نظر مقیاس‌پذیری و حفظ حریم خصوصی نسبت به مدل مبتنی بر حساب، بهتر عمل می‌کنند. هر UTXO فقط یک‌بار و به‌طور کامل قابل‌مصرف است. از آنجا که این منطق ساده‌تر است، تأیید تراکنش‌ها هم می‌تواند به‌صورت موازی انجام شود. همچنین تکنیک‌های مختلف تقویت حریم خصوصی می‌توانند به‌سادگی با استفاده از مدل UTXO پیاده‌سازی شوند.
  • با وجود این نکات مثبت، مدل مبتنی بر UTXO، یک نقطه ضعف مهم دارد و آن هم تجربه کاربری است. کار با UTXOها برای کاربران بسیار سخت است؛ به طوریکه اکثر کیف پول‌ها مجبور به حذف این مدل و نمایش موجودی بیت‌کوین در قالب حساب‌ها هستند.
  • همچنین، مدل مبتنی بر UTXO به قراردادهای هوشمند عجیبی محدود شده‌ که بر اساس کل مانده حساب کاربر اجرا می‌شوند. به همین دلایل، اتریوم مدل UTXO را رد کرده و از یک مدل ساده و انعطاف‌پذیرتر بر پایه حساب کاربری استفاده می‌کند.
UTXO Vs Account-Based
دو مدل مبتنی بر UTXO و مبتنی بر حساب

لازم به ذکر است که چه از مدل مبتنی بر UTXO استفاده کنید و چه از مدل مبتنی بر حساب؛ تراکنش در هر دو با موفقیت انجام می‌شود.

نکات مهم درباره UTXOها

  • یک UTXO مقدار ارز دیجیتالی است که پس از انجام یک تراکنش، باقی می‌ماند.
  • در واقع، UTXO یا همان “خروجی خرج‌نشده تراکنش”، تمام آن خروجی‌های قفل‌شده‌ای هستند که هنوز هیچ ورودی‌ قفل آن‌ها را باز نکرده؛ بنابراین هنوز خرج نشده‌اند.
  • UTXOها به طور مداوم پردازش می‌شوند و مسئول شروع و پایان هر تراکنش هستند.
  • زمانی که یک تراکنش تکمیل شد، هر خروجی خرج نشده، به عنوان ورودی به داخل دیتابیس بر می‌گردد، که می‌تواند بعدا برای یک تراکنش جدید استفاده شود.

 سخن پایانی 

عبارت UTXO یا همان خروجی خرج نشده تراکنش، در تراکنش‌های بیت‌کوین وجود دارد.

UTXOها مانند یک جعبه پر از کوین هستند. وقتی شما مقداری بیت کوین خرج می‌کنید، یک تراکنش ایجاد می‌شود. این تراکنش برخی UTXOهای قدیمی را مصرف می‌کند و یک دسته UTXO جدید ایجاد می‌کند.

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

در این مقاله، به طور کامل درباره UTXO، اهمیت وجود آن، مزایا و معایب آن صحبت کردیم. امیدواریم که این مقاله برای شما مفید باشد.

قصد خرید یا فروش ارز دیجیتال در ایران را دارید؟ در این سایت می‌توانید با اطمینان و با چند کلیک خرید کنید:

نامویژگی‌هاامتیاز
نوبیتکس
  • خرید ارز دیجیتال با کارت بانکی شتاب
  • بدون نگرانی از تحریم
  • معامله با کارمزد و سرعت مناسب
  • ترید ارز دیجیتال با دلار (تتر) و ریال
عضویت فوری
صرافی خارجی کوینکسعضویت فوری

سایر مطالب: تراکنش‌های بیت‌کوین

به اشتراک بگذارید:

Twitter
LinkedIn
WhatsApp
Telegram
Email
مرسده ولی زاده

مرسده ولی زاده

کارشناس ارشد مهندسی نرم‌افزار؛ محقق بلاکچین و ارزهای دیجیتال از سال 2018
دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

عناوین مطلب