حفاظت اور تحویل

UTXO کیا ہے؟ بار بار چھوٹی BTC وصولی بعد میں فیس کیوں بڑھاتی ہے

والیٹ کا بیلنس کئی UTXO ٹکڑوں سے بنتا ہے اور ہر ٹکڑا بھیجتے وقت تقریباً 68 vB جگہ لیتا ہے۔ اصل بلاک کے اعداد سے سمجھیں کہ 20 چھوٹی وصولیاں فیس کتنی بڑھاتی ہیں، اور کب consolidation کریں یا نہ کریں۔

UTXO کیا ہے؟ بار بار چھوٹی BTC وصولی بعد میں فیس کیوں بڑھاتی ہے

اگر آپ ہر ہفتے یا ہر مہینے ایکسچینج سے تھوڑا تھوڑا BTC اپنے والیٹ میں نکالتے ہیں تو والیٹ کا بیلنس ایک رقم نظر آتا ہے، مگر اندر وہ کئی الگ الگ ٹکڑوں میں رکھا ہوتا ہے۔ ان ٹکڑوں کو UTXO (Unspent Transaction Output، یعنی کسی پچھلی ٹرانزیکشن کا وہ حصہ جو ابھی خرچ نہیں ہوا) کہتے ہیں۔ آگے چل کر جب آپ یہ BTC بھیجیں گے تو فیس رقم کے حساب سے نہیں بلکہ ٹرانزیکشن کے سائز کے حساب سے لگے گی، اور ہر UTXO ٹرانزیکشن کا سائز بڑھاتا ہے۔ اسی لیے بیس چھوٹی وصولیاں ایک بڑی وصولی کے مقابلے میں بعد میں کئی گنا فیس مانگ سکتی ہیں۔

UTXO کو نوٹوں اور سکوں کی مثال سے سمجھیں

فرض کریں آپ کی جیب میں 1,000 روپے ہیں: ایک صورت میں ایک نوٹ، دوسری صورت میں بیس بیس روپے کے پچاس سکے۔ رقم برابر ہے، مگر سکے گن کر دینا زیادہ وقت لیتا ہے۔ Bitcoin میں ہر وصولی ایک الگ "نوٹ" بن جاتی ہے۔ بھیجتے وقت والیٹ کچھ UTXO اکٹھے کر کے ٹرانزیکشن کے inputs بناتا ہے، اور ہر input کے ساتھ دستخط (signature) لگتا ہے جو بلاک میں جگہ لیتا ہے۔ جتنے زیادہ inputs، اتنا بڑا سائز، اتنی زیادہ فیس۔

یہ خیال Bitcoin کے اصل whitepaper کے سیکشن 9 (Combining and Splitting Value) میں بھی ہے: ایک ٹرانزیکشن کئی inputs کو ملا سکتی ہے اور عام طور پر ایک ادائیگی اور ایک باقی رقم (change) والا output بناتی ہے۔

اصل بلاک سے ناپا گیا سائز: ہر اضافی input کتنا بھاری ہے

ہم نے 29 ستمبر 2026 کو mempool.space کے عوامی API سے بلاک 969107 کی وہ ٹرانزیکشنز دیکھیں جن کے تمام inputs اور outputs عام bc1q (P2WPKH) قسم کے تھے۔ virtual size (vB) یہ تھا:

inputs / outputs virtual size
1 / 1 109.25 vB
2 / 1 177 vB
3 / 1 244.75 vB
4 / 1 312.5 vB
1 / 2 140.25 vB

ہر اضافی bc1q input نے سائز میں ٹھیک 67.75 vB بڑھایا (109.25 → 177 → 244.75 → 312.5)۔ یعنی ایک ٹرانزیکشن کا بنیادی حصہ چھوٹا ہے، اصل وزن inputs کا ہے۔ ایڈریس کی قسم سے یہ عدد بدلتا ہے (پرانے 1 والے ایڈریس کے inputs زیادہ بھاری ہیں)، اس کی تفصیل Bitcoin ایڈریس 1، 3 اور bc1 کے فرق والے مضمون میں ہے۔

mempool.space پر ایک consolidation ٹرانزیکشن: 37 bc1q inputs، ایک output 0.68307480 BTC، فیس 5,134 sats اور فیس ریٹ 2.01 sat/vB

تصویر: mempool.space پر ایک عوامی ٹرانزیکشن (ماخذ)، اسکرین شاٹ 29 ستمبر 2026۔ یہ کسی اور کی ٹرانزیکشن ہے، ہمارا اکاؤنٹ نہیں۔ اس میں 37 چھوٹے UTXO ایک output میں جمع کیے گئے؛ سائز 2,554 vB بنا، اور 2.01 sat/vB پر فیس 5,134 sats ادا ہوئی۔ explorer نے خود اسے "Consolidation" کا لیبل دیا ہے۔

حساب کی مثال: ایک UTXO بمقابلہ بیس UTXO

یہ مثال فرضی ہے: فیس ریٹ 10 sat/vB مانیں، اور آپ کسی کو BTC بھیج رہے ہیں (ایک output وصول کنندہ کا، ایک change آپ کا)۔

  • والیٹ میں ایک بڑا UTXO ہو: 140.25 vB × 10 = تقریباً 1,403 sats فیس۔
  • وہی رقم 20 چھوٹے UTXO میں ہو: 140.25 + (19 × 67.75) = 1,427.5 vB، × 10 = تقریباً 14,275 sats فیس۔

رقم ایک جیسی، فیس تقریباً دس گنا۔ فیس ریٹ جتنا اونچا ہو، یہ فرق روپے میں اتنا ہی بڑھتا ہے۔ فیس ریٹ کیوں اوپر نیچے ہوتا ہے، یہ BTC ٹرانزیکشن کنفرم نہ ہونے والے مضمون میں سمجھایا گیا ہے۔

بہت چھوٹا UTXO کب "خرچ کے قابل" نہیں رہتا

ایک bc1q input کو خرچ کرنے کی قیمت تقریباً 67.75 vB × فیس ریٹ ہے: 10 sat/vB پر تقریباً 678 sats، اور 50 sat/vB پر تقریباً 3,388 sats۔ اگر کسی UTXO میں اس سے کم رقم ہے تو اس وقت اسے بھیجنا گھاٹے کا سودا ہے — وہ اپنی قیمت سے زیادہ فیس کھا جائے گا۔

اس سے بھی چھوٹی رقم کو نیٹ ورک "dust" سمجھتا ہے۔ Bitcoin Core کے سورس کوڈ میں dust کی حد کے لیے فیس ریٹ DUST_RELAY_TX_FEE = 3000 sat فی kvB (یعنی 3 sat/vB) مقرر ہے؛ اس حساب سے bc1q output کے لیے حد تقریباً 294 sats بنتی ہے، اور اس سے کم والے output والی ٹرانزیکشن عام نوڈز آگے نہیں بھیجتے۔

Bitcoin Core سورس فائل policy.h کی لائن 63 سے 70: DUST_RELAY_TX_FEE کی قیمت 3000 اور DEFAULT_MIN_RELAY_TX_FEE کی قیمت 100

تصویر: GitHub پر Bitcoin Core کی فائل src/policy/policy.h (ماخذ)، master برانچ، اسکرین شاٹ 29 ستمبر 2026۔ یہ نوڈ کی ڈیفالٹ پالیسی ہے، consensus کا قانون نہیں؛ آئندہ ورژن میں بدل سکتی ہے۔

اپنے والیٹ میں UTXO کیسے دیکھیں

  1. والیٹ میں Coins، UTXOs یا Coin Control نام کا حصہ ڈھونڈیں (Sparrow، Electrum، Bitcoin Core جیسے desktop والیٹس میں یہ ملتا ہے؛ کئی موبائل والیٹس یہ نہیں دکھاتے)۔
  2. اگر والیٹ نہیں دکھاتا تو اپنا ایڈریس mempool.space پر تلاش کریں؛ ایڈریس صفحے پر "Unspent" / UTXOs کی تعداد نظر آتی ہے۔ یاد رہے explorer میں ایڈریس ڈالنے سے وہ سائٹ جان لیتی ہے کہ آپ اس ایڈریس میں دلچسپی رکھتے ہیں۔
  3. گنیں کہ کتنے UTXO موجودہ فیس ریٹ پر × 68 vB کی قیمت سے چھوٹے ہیں۔ یہی آپ کے "مہنگے" ٹکڑے ہیں۔

کیا کریں: کم UTXO بنانا اور مناسب وقت پر جمع کرنا

پہلے، نئے ٹکڑے کم بنائیں۔ ایکسچینج سے ہر نکاسی آپ کے والیٹ میں ایک نیا UTXO بناتی ہے۔ ہفتہ وار خرید جاری رکھ سکتے ہیں مگر BTC کو ایکسچینج پر جمع ہونے دے کر مہینے میں ایک بار نکالنا UTXO کی تعداد چار گنا کم کر دیتا ہے — البتہ اتنے دن BTC ایکسچینج کے پاس رہتا ہے، یہ خطرہ الگ ہے۔ خرید کی تعدد کا فیس پر اثر ہفتہ وار یا ماہانہ DCA والے مضمون میں ہے۔

دوسرے، کم فیس کے وقت consolidation۔ یعنی اپنے ہی کئی UTXO اپنے ہی ایک نئے ایڈریس پر بھیج کر ایک بڑا UTXO بنانا۔ اوپر والی تصویر یہی ہے۔ طریقہ:

  1. mempool.space کے صفحہ اوّل پر فیس دیکھیں؛ جب "Low priority" بہت نیچے ہو (29 ستمبر 2026 کو API پر یہ 1 sat/vB تھا) تب کریں، جلدی والے دن نہیں۔
  2. Coin Control میں صرف وہ چھوٹے UTXO چنیں جو جمع کرنے ہیں۔
  3. وصول کنندہ اپنے اسی والیٹ کا نیا receive ایڈریس رکھیں اور "Send max" سے ایک ہی output بنائیں (change نہیں بنے گا)۔
  4. فیس ریٹ کم رکھیں اور RBF آن رکھیں تاکہ ضرورت پڑے تو بعد میں فیس بڑھا سکیں۔
  5. تصدیق: کنفرمیشن کے بعد والیٹ کی Coins فہرست میں پرانے ٹکڑوں کی جگہ ایک UTXO ہونا چاہیے، اور کل بیلنس = پرانا بیلنس − ادا کی گئی فیس۔

کب consolidation نہ کریں

  • فیس اونچی ہو: جمع کرنا خود ایک ٹرانزیکشن ہے؛ مہنگے دن جمع کرنا وہی نقصان ابھی اٹھانا ہے جس سے بچنا تھا۔
  • پرائیویسی اہم ہو: ایک ٹرانزیکشن میں اکٹھے خرچ ہونے والے inputs کو عام طور پر ایک ہی مالک کا سمجھا جاتا ہے۔ اگر کچھ UTXO ایکسچینج (KYC والے) سے آئے ہیں اور کچھ کسی اور ذریعے سے، تو ملانے سے یہ دونوں آپس میں جڑ جاتے ہیں۔ ایسے میں الگ گروہ الگ الگ جمع کریں یا نہ کریں۔
  • رقم dust جتنی ہو: اگر کسی UTXO کی قیمت اس کے خرچ کی فیس سے کم ہے اور فیس نیچے آنے کی امید نہیں، تو اسے چھوڑ دینا بھی ایک معقول فیصلہ ہے۔
  • آپ کو یقین نہ ہو کہ کون سا ایڈریس آپ کا ہے: غلط ایڈریس پر consolidation واپس نہیں ہوتی۔ پہلے چھوٹی ٹیسٹ ٹرانزیکشن کا طریقہ اپنائیں۔

اگر consolidation کی ٹرانزیکشن کافی دیر کنفرم نہ ہو تو گھبرائیں نہیں: رقم آپ کے اپنے ایڈریس پر جا رہی ہے، اور RBF آن ہو تو فیس بڑھا سکتے ہیں، ورنہ انتظار کریں۔