UTXO چیست؟ با خروجی خرج نشده تراکنش آشنا شوید
اصطلاحات کاربردی بسیاری در حوزه بلاک چین و ارز دیجیتال وجود دارند که یادگیری آنها میتواند به درک بهتر این فناوری بیانجامد. UTXO یکی از اصطلاحات ارز دیجیتال است. در این مقاله به زبانی ساده این اصطلاح و البته کاربرد آن را شرح میدهیم.
تعریف اصطلاح UTXO
UTXO یکی از اصطلاحات پرکاربرد در دنیای رمز ارزها است. این اصطلاح درست به اندازه واژه پول در دنیای واقعی کاربرد دارد. با این حال بسیاری از افراد وقتی برای نخستین بار که این اصطلاح به گوششان میخورد، نمیدانند UTXO چیست و دقیقاً با چه چیزی مواجه هستند. این واژه کوتاه شدهی عبارت Unspent Transaction Output یا خروجیهای خرجنشده تراکنش است و به مقداری از ارز دیجیتال اشاره دارد که در تراکنشهایی مانند معاملات بیتکوین باقی میماند. هر تراکنش مربوط به بیتکوین با کوینهایی آغاز میشود که برای تراز کردن دفتر کل به کار میروند. خروجیهای خرجنشده مسئولیت شروع و پایان هر تراکنش را بر عهده دارند و به همین خاطر مداوم در حال پردازششدن هستند. اگرچه تایید تراکنش کوینهای خرجشده را از پایگاه داده خروجیهای خرجنشده حذف میکند، اما سابقهای از از کوینهای خرجشده کماکان در دفتر کل وجود خواهد داشت.در ادامه این مطلب از وبلاگ والکس شما را بیشتر با این تراکنشها آشنا میکنیم.
کاربرد UTXO چیست؟
در مورد بیت کوین و سایر ارزهای مشابه (بیت کوین کش، لایت کوین و دوج کوین)، مانده حساب فقط یک مقدار نیست، بلکه مجموع مقادیر کوچکتر است که UTXO نامیده میشود. اگرچه شما در کیف پول فقط یک مقدار از هر رمزارز را مشاهده میکنید، اما UTXO های مختلفی دور از چشم ما وجود دارند که ما آنها را نمیبینیم. کاربرد UTXO در جلوگیری از حمله دوبار خرج کردن یا خرج کردن مضاعف در شبکه است. اجازه دهید با یک مثال، بیشتر در این مورد توضیح دهیم.
فرض کنید شما ۲ بیت کوین دارید و میخواهید ۰.۵ بیت کوین برای دوستتان ارسال کنید. شما نمیتوانید لغو تراکنش بیت کوین را انجام دهید و تنها ۰.۵ بیت کوین به شبکه بفرستید و البته ۱.۵ بیت کوین دیگر را در کیف پول خود نگه دارید. تمام ۲ بیت کوین شما وارد فرایند معامله میشود. 2 بیت کوین شما به شبکه فرستاده میشود. تراکنش انجام شده و ۰.۵ بیت کوین به مقصد مورد نظر ارسال میشود. ۱.۵ بیت کوین باقی مانده که در این تراکنش خرج نشد، مجدد برای آدرس کیف پول شما برمیگردد.
بنابراین در این فرایند، دو تراکنش انجام میشود. مقدار مورد نظر بیت کوین به کیف پول مقصد ارسال میشود و مقدار باقی مانده بیت کوین به کیف پول کاربر بازگرداننده خواهد شد. البته ممکن است مقدار خرج نشده به قدری ناچیز باشد که انجام هرگونه تراکنشی روی آن غیر ممکن باشد و این مقدار برای همیشه در کیف پول کاربر باقی بماند. به این مقدار ناچیز به اصطلاح DUST گفته میشود که در زیر آن را تعریف میکنیم.
DUST چیست؟
در دنیای رمز ارزها اصلاح Dust به مقدار ناچیزی کوین یا توکن اشاره دارد؛ مبلغی که از کارمزد مورد نیاز برای ارسال آن کمتر بوده و عملاٌ هزینه نمیشود. به بیانی دیگر، DUST بیت کوین به مقدار اندکی باقیماندهی مصرف نشده btc در معاملهای گفته میشود که ارزش آن از حداقل تعیین شده در یک معامله معتبر کمتر باشد. بنابراین پردازش چنین معاملهای غیرممکن است و مقدار کمی بیت کوین در کیف پول یا آدرس به دام انداخته میشود.
خروجیهای خرج نشده تراکنش چگونه کار میکنند؟
خروجیهای خرجنشده مقولهای پیچیده به نظر میرسند اما برخلاف تصور، فهم این که UTXO چیست، نسبتاً ساده است. همانطور که گفتیم، خروجیهای خرج نشده در تراکنشهای رمز ارزها به کار میرود. پس از آنکه فرد یک تراکنش را کامل میکند و به سرانجام میرساند، این خروجیها، خرجنشده باقی میمانند. درست مثل این است که شما پس از آنکه در یک فروشگاه، تراکنشی را با پول نقد انجام دهید و مقداری پول خرد به عنوان بقیه پولتان دریافت کند.
خروجیهای خرج نشده تراکنش در یک پایگاه داده ذخیره میشوند. این پایگاه داده یا دفتر کل در آغاز به صورت خالی یا صفر تنظیم شده است. اما همینطور که تراکنشها افزایش پیدا میکنند، پایگاه داده از سابقههای گذشته و باقیمانده تراکنشهای مختلف پر میشود. وقتی یک تراکنش کامل میشود و مقداری خروجی خرجنشده در آن باقی میماند، این خروجیها به یک پایگاه داده به عنوان ورودی برمیگردند و در آن سپردهگذاری میشوند.
خروجیهای UTXO کجا استفاده میشوند؟
از خروجیهایی که اکنون به صورت ورودی وارد پایگاه داده شدهاند، میتوان در زمانهای آتی برای تراکنشهای جدید استفاده کرد. در واقع، تراکنشهای مربوط به رمز ارزها، مثل تراکنشهایی که برای مبادله بیتکوین انجام میشود، سازوکارشان مثل چکهایی است که بانک به ضمانت خودش میکشد. شما نمیتوانید آنها را با مقادیر دلخواهتان مبادله کنید، بلکه باید کل مقدار ذخیره شده در آن را خرج کنید.
اما رمز ارزهایی نظیر بیتکوین از این نظر نیز منحصر به فرد هستند که تراکنشهای مربوط به آنها را میتوان با بخشها یا تکههایی از رمزارز انجام داد. این مسئله به این معنا است که خرج کردن رمز ارز با استفاده از یک بایت داده واحد روی نمیدهد. بلکه الگوریتم چند بخش از بیتکوین را بازیابی میکند تا یک درخواست خرج کردن به سرانجام برسد. برای مثال اگر بخواهیم ۱ بیتکوین بخریم، این معامله به این صورت انجام میشود که ۰.۶ BTC از یک بایت بازیابی میشود و ۰.۴ BTC از یک بایت دیگر. باقیمانده هرکدام از این تکهها یا بخشها به پایگاه داده خروجی خرجنشده تراکنشها یا UTXO ارسال میشود تا در آینده خرج شوند.
نکات مهمی که باید درباره UTXOها بدانید
افزایش خرده کوینها در شبکه بیتکوین باعث میشود برخی تراکنشها صرفه اقتصادی نداشته باشند. این مسئله به این خاطر است که احتمالاً هزینه تراکنش از هزینه محصولی که قرار است با بیتکوین بخرید بیشتر شود. برای مثال فرض کنید که شخصی میخواهد با استفاده از شبکه بیتکوین تراکنشی انجام دهد و یک فنجان قهوه دو دلاری بخرد. چنانچه هزینه تراکنش در شبکه بیتکوین بیش از دو دلار یعنی، یعنی ارزش یک فنجان قهوه باشد، اصلاً با عقل جور درنمیآید که کسی بخواهد چنین هزینهای بکند. جیمی سانگ (Jimmy Song) که یکی از توسعهدهندگان بیتکوین است، پژوهش جالبی انجام داده است. بر اساس این پژوهش، هزینه نهایی ۱۳میلیون کوین بیشتر از ارزش آنها به ۵۰ ساتوشی/بیت است.
اما این تمام ماجرا نیست؛ افزایش میزان خروجیهای خرجنشده تراکنش مشکل دیگری هم دارد. تغییر در هزینه تجهیزات مورد نیاز برای پردازش خروجیهای خرجنشده با میزان افزایش آن همگام نبوده است؛ برای مثال میتوان به هزینه ادوات دیتا ماینینگ برای تأیید کامل نودها اشاره کرد. گوین اندرسون طراح نرم افزار که یکی از اعضای اصلی در توسعه بیتکوین باور دارد که امکانپذیر ساختن تراکنشهای بیشتر آنهم بدون هیچ تغییر دیگری، به احتمال بسیار زیاد رشد خروجیهای خرجنشده تراکنش را تسریع میکند و باعث میشود که اجرای تأیید کامل نود گرانتر شود.
مزایای UTXO چیست؟
مدل معرفی شده UTXO دارای مزایای منحصر به فردی برای کمک به بلاک چین است که در زیر به آنها اشاره میکنیم:
قراردادهای هوشمند
قراردادهای هوشمند مبتنی بر UTXO یک پیشرفت بزرگ در اکوسیستم بلاک چین است. این قراردادهای هوشمند کاملا مستقل از زبان برنامه نویسی استفاده شده در مبدا است و میتواند به تمام UTXOها اجازه دهد تا مکانیزم های اجماع منحصر به فرد خود را توسعه دهند.
پشتیبانی از مبادلات غیر متمرکز
دومین مزیت مهم UTXOS پشتیبانی از مبادلات غیر متمرکز است. به این ترتیب بدون دخالت شخص ثالث یا واسطهها، تراکنشهای همتا به همتا را ممکن میکند.
مقیاس پذیری
مشکل همیشگی بلاک چین مقیاس پذیری آن است. افزایش حجم تراکنشها منجر به کندی شبکه و افزایش کارمزد شده است. UTXOها با بهبود مقیاس پذیری شبکه، بار ترافیکی بلاک چین را کاهش و سرعت انتقال تراکنشها را افزایش میدهند.
UTXO و انعطاف پذیری
مهمترین عامل در مورد UTXO این است که توسعه دهندگان بلاک چین میتوانند کدی را برای بهینه سازی مقادیر کم ارزش ارزهای دیجیتال بنویسند. به این صورت که توسعهدهندگان این فرصت را دارند تا بینشهای خود را برای حفظ وزن دادههای بلاک چین در نسبتهای کوچک وارد کنند. همکاری بین توسعه دهندگان در کنار تخصص آنها، نقش بسیار مهمی در تعریف مدیریت مجموعه UTXO دارد. سطوح بهبود یافته توسط توسعه دهندگان، منجر به کاهش بار دادهها در کنار اطمینان از سرعت پردازش بهینه شود. UTXOها قطعا انعطاف پذیری زیادی را در مقایسه با ارزهای فیات ارائه میدهند و در عین حال نقش مهمی در عملکرد بلاک چین ایفا میکنند.
UTXO در سایر بلاک چینها و ارزهای دیجیتال
طرح UTXO آنقدر خوب است که بقیه ارزهای دیجیتال نیز تصمیم گرفتهاند از آن برای سیستمهای خود استفاده کنند. البته هر بلاک چین میتواند این مفهوم را به گونهای متفاوت تنظیم کند. به این ترتیب عملکرد هر اکوسیستم بلاک چین با پروتکل درون شبکه آن کوین مطابقت خواهد داشت. در عین حال عملکرد کلی UTXO برای تمامی شبکهها یکسان است و تفاوتی با مثال بیت کوین که در بالا عنوان شد ندارد.
UTXO و توسعه بلاک چین
UTXOها یک ویژگی اساسی برای توسعه بلاک چین هستند. اهمیت UTXO به دلیل تواناییهای ویژه در مدیریت تراکنشها بیشتر نیز میشود. UTXO همان قابلیتهای مشابه را که در تراکنشهای پولی روزمره خود انجام میدهید، به دنیای کریپتوکارنسی و انواع صرافی ارز دیجیتال آورده است. در حالی که با اضافه کردن مزایای حفظ حریم خصوصی، امنیت، مقیاس پذیری و توسعه قراردادهای هوشمند، این قابلیتها را بهبود بخشیده است.
ویرایش شده توسط مسعود فاضل
من میخوام نام های .sats مینت کنم اما کیف پول unisat پیغام میده insufficient btc utxo در حالی که مثلا الان موجودی والت من ۵.۵$ BTC هست چیزی که میخوام مینت کنم حدود ۴ دلار بیت کوین هست. این روش حلش چطوریه؟
سلام
لطفا مقداری بیت کوین به کیف پول خود انتقال دهید تا این مشکل رفع گردد.
سلام من میخوام از کیف پول تراست والت خودم مقدار ۰.۰۰۸ بیتکویین انتقال بدم به کیف پول خودم در صرافی نوبیتکس خطای dust utxo میاد راه حل چیه ؟
سلام وقت بخیر
مقداری بیت کوین جدید به آدرستون ارسال کنید و دوباره تراکنش رو ارسال کنید.
سلام من با ارور utxo مواجع شدم و یه مشکلیم دارم که من کلمه های تراست ولتمو لو دادم و میترسم که بیت من رو انتقال بدن راه حلی هست من بتوان این ارور رو حل کنم؟
سلام
اگر عبارات بازیابی تراست ولت شما در اختیار فرد دیگری قرار گرفته؛ پیشنهاد میکنیم هرچه سریعتر دارایی خود را به روی کیف پول دیگری انتقال دهید.