
چگونه تراکنشهای بیتکوین کار میکنند: UTXOها، امضاها، ممپول و تأییدیهها
چگونه تراکنشهای بیتکوین کار میکنند سادهتر از آن است که اکثر رابطهای کاربری کیف پول نشان میدهند: شما خروجیهای قدیمی را خرج میکنید، خروجیهای جدید ایجاد میکنید، امضا میکنید، پخش میکنید و سپس منتظر میمانید تا ماینرها تأیید کنند. وقتی که میتوانید این خط لوله را تصور کنید، هزینهها، تأخیرها و لحظات "تعادل گمشده" دیگر مرموز نمیشوند.
تراکنش بیتکوین چیست (مدل به زبان ساده)
یک بیتکوین تراکنش یک "انتقال حساب" نیست که از یک تعادل کم کند و به دیگری اضافه کند. این یک پیام دادهای امضا شده است که کنترل قطعات خاصی از بیتکوین را به مالکان جدید واگذار میکند، که توسط قوانین شبکه اجرا و توسط هر کسی که یک نود را اجرا میکند تأیید میشود. BTC.network آن را به عنوان یک پیام امضا شده که مالکیت را واگذار میکند توصیف میکند و Bitcoin.com بیتکوینها را به عنوان تاریخچهای از انتقالات به جای اشیاء نشسته در حسابها معرفی میکند.
مدل ذهنی تمیز این است: بیتکوین قطعات قابل خرج کردن ارزش را ردیابی میکند و یک تراکنش برخی از آن قطعات را مصرف کرده و خروجیهای جدیدی ایجاد میکند. به همین دلیل است که معمولاً مقاله سفید بیتکوین به عنوان زنجیرهای از امضاهای دیجیتال خلاصه میشود و به همین دلیل میتوانید هر تراکنش را در یک دفتر کل عمومی با یک کاوشگر بلاک بررسی کنید. هیچ چیزی در داخل پایگاه داده بانک "حرکت" نمیکند.
در عوض، شبکه یک رکورد مشترک از اینکه کدام خروجیها خرج نشده و چه کسی میتواند آنها را بعداً خرج کند، بهروزرسانی میکند.
ورودیها، خروجیها و UTXOها: بلوکهای سازنده
هر تراکنش بیتکوین از ورودیها و خروجیها ساخته شده است. ورودیها به خروجیهای قبلاً ایجاد شده اشاره میکنند که هنوز قابل خرج کردن هستند. خروجیها قطعات جدید قابل خرج کردن و شرایط لازم برای خرج کردن آنها در آینده را تعریف میکنند. منابع متعدد به این ساختار میپیوندند: BTC.network، Bitcoin.com، OKX و Mt Pelerin همه تراکنشها را به عنوان ورودیهایی که خروجیهای قبلی را خرج میکنند و خروجیهای جدیدی ایجاد میکنند توصیف میکنند.
آن خروجیهای قبلی قابل خرج کردن UTXO نامیده میشوند، که مخفف خروجیهای تراکنش خرج نشده است. Kraken توضیح میدهد که مدل UTXO تکنیکی است که بیتکوین برای ردیابی تعادلها به کار میبرد زیرا آنها بین کیف پولها جابجا میشوند و هم OKX و هم Mt Pelerin تأکید میکنند که کیف پولها بلاکچین یا مجموعه UTXO را برای پیدا کردن خروجیهای قابل خرج کردن اسکن میکنند. در عمل، "تعادل" کیف پول شما فقط مجموع UTXOهایی است که میتواند آنها را باز کند.
قسمتی که کاربران جدید را گیج میکند این است که UTXOها معمولاً به طور کامل خرج میشوند. شما معمولاً "نصف" یک UTXO را خرج نمیکنید. اگر ورودیهای شما بیشتر از مقداری باشد که میخواهید پرداخت کنید، تراکنش یک خروجی تغییر به یک آدرس که شما کنترل میکنید ایجاد میکند. BTC.network، Kraken، OKX و Mt Pelerin همه این رفتار خرج کامل و خروجی تغییر حاصل را توصیف میکنند.
یک مثال عینی با آنچه در زنجیره میبینید مطابقت دارد. اگر شما یک UTXO 0.05 BTC را کنترل میکنید و میخواهید 0.03 BTC پرداخت کنید، کیف پول شما احتمالاً از کل 0.05 BTC به عنوان ورودی استفاده میکند، یک خروجی 0.03 BTC به گیرنده ایجاد میکند و یک خروجی دوم به شما برای باقیمانده به عنوان تغییر، منهای هزینه، ایجاد میکند. BTC.network این الگوی دقیق را توضیح میدهد و Bitcoin.com و Mt Pelerin همان رفتار "تغییر نقدی" را با اعداد مختلف توصیف میکنند.
یک مورد خاص برای درک اینکه BTC از کجا میآید اهمیت دارد. Kraken اشاره میکند که تنها نوع تراکنش بدون ورودی، تراکنش coinbase است که اولین تراکنش در یک بلاک است و جایی است که BTC تازه ضرب شده به عنوان بخشی از پاداشهای استخراج ایجاد میشود.
امضا کردن: چگونه شبکه میداند که شما مجاز به خرج کردن هستید
ورودیها فقط اشارهگر نیستند. آنها همچنین دادههای بازکنندهای را حمل میکنند که ثابت میکند شما مجاز به خرج کردن UTXOهای اشاره شده هستید. آن مجوز رمزنگاری است.
وقتی شما "مالک" بیتکوین هستید، آنچه واقعاً کنترل میکنید کلید خصوصی است که میتواند یک امضای دیجیتال معتبر برای شرایط خرج کردن روی یک خروجی تولید کند. Bitcoin.com، OKX، Mt Pelerin، BTC.network و LearnMeABitcoin همه این تنظیمات رمزنگاری کلید عمومی را توصیف میکنند: کلید خصوصی برای امضا استفاده میشود و دیگران میتوانند امضا را با استفاده از اطلاعات کلید عمومی مربوطه تأیید کنند.
دو نتیجه عملی از این موضوع ناشی میشود.
اول، امضاها بدون کلید خصوصی غیرقابل جعل هستند. BTC.network و OKX هر دو تأکید میکنند که شبکه میتواند تأیید کند که شما مجاز به خرج کردن هستید بدون اینکه خود کلید خصوصی را فاش کنید.
دوم، امضا به دادههای تراکنش متصل است. OKX توضیح میدهد که اگر جزئیات تراکنش پس از امضا تغییر کند، امضا دیگر معتبر نیست. LearnMeABitcoin تراکنشها را به عنوان دادههایی توصیف میکند که "بستههای" بیتکوین را "باز و قفل" میکند، جایی که باز کردن معمولاً شامل امضایی است که از کلید خصوصی مربوط به کلید عمومی در قفل خروجی ایجاد شده است.
این همچنین دلیل دیگری است که چرا بیتکوین اغلب به عنوان زنجیرهای از امضاهای دیجیتال توصیف میشود. Bitcoin.com توصیف مقاله سفید را از هر انتقال که تراکنش قبلی و کلید عمومی مالک بعدی را امضا میکند، نقل میکند و یک زنجیره قابل تأیید از مالکیت ایجاد میکند.
پخش، تأیید، ممپول، استخراج، تأییدات
پس از اینکه کیف پول شما تراکنش را ایجاد و امضا کرد، دادههای امضا شده را به شبکه همتا به همتا پخش میکند. BTC.network، Bitcoin.com، OKX و Mt Pelerin همه این مرحله پخش و آنچه بعد از آن اتفاق میافتد را توصیف میکنند.
نودها به طور کور آنچه را که دریافت میکنند نمیپذیرند. آنها تأیید میکنند. حداقل، آنها بررسی میکنند که امضاها معتبر هستند، که UTXOهای اشاره شده وجود دارند و خرج نشدهاند، که خروجیها از ورودیها بیشتر نیستند و اینکه تراکنش از قوانین پروتکل پیروی میکند. BTC.network و Mt Pelerin به طور صریح بررسیهای امضا و جلوگیری از خرج مضاعف را به عنوان بخشی از تأیید نود توصیف میکنند.
تراکنشهای معتبر و تأیید نشده در ممپول قرار میگیرند، که به طور مؤثر اتاق انتظار مشترک شبکه است. Bitcoin.com، OKX، Mt Pelerin و BTC.network همه از همان مفهوم استفاده میکنند: تراکنشها منتشر میشوند و سپس در ممپولها منتظر میمانند تا ماینرها آنها را شامل شوند.
سپس ماینرها تراکنشها را از ممپول انتخاب کرده و آنها را در یک بلاک شامل میکنند. Bitcoin.com و OKX توصیف میکنند که ماینرها از طریق اثبات کار برای تولید بلاک بعدی رقابت میکنند و Mt Pelerin اشاره میکند که بلاکها به طور متوسط هر 10 دقیقه استخراج میشوند. OKX همچنین همان میانگین 10 دقیقهای را بیان میکند.
تراکنش شما اولین تأیید خود را زمانی دریافت میکند که در یک بلاک استخراج شده که شبکه آن را میپذیرد، شامل شود. هر بلاک اضافی که بالای آن ساخته میشود یک تأیید دیگر اضافه میکند و معکوس کردن را به طور فزایندهای دشوار میکند. BTC.network، Bitcoin.com، OKX و Mt Pelerin همه تأییدات را به عنوان انباشته شدن با هر بلاک جدید و افزایش امنیت توصیف میکنند.
چند تأیید به عنوان "نهایی" محسوب میشود یک توافق است، نه فیزیک. BTC.network میگوید بسیاری از دریافتکنندگان 1 تا 3 تأیید را برای مقادیر متوسط کافی میدانند، در حالی که صرافیها معمولاً 3 تا 6 تأیید برای سپردههای بزرگتر نیاز دارند. Bitcoin.com و OKX هر دو یک روش رایج برای انتظار برای شش تأیید برای کاهش ریسک معکوس در طول انشعابات موقتی را توصیف میکنند.
نکته کلیدی برای تریدرها این است که "نهایی بودن" یک آستانه ریسک است که توسط دریافتکننده انتخاب میشود و بسته به مکان متفاوت است.
هزینهها و اندازه تراکنش: چرا برخی ارسالها کند یا گران هستند
هزینههای بیتکوین درصدی از مقدار ارسالی شما نیستند. آنها یک حراج برای فضای بلاک کمیاب هستند.
هزینه به طور ضمنی در تراکنش وجود دارد: این تفاوت بین ارزش کل ورودی و ارزش کل خروجی است. BTC.network و Mt Pelerin این را به طور مستقیم توصیف میکنند و OKX هزینهها را به عنوان تحت تأثیر اندازه تراکنش به جای مقدار BTC توضیح میدهد.
ماینرها بر اساس نرخ هزینه، نه هزینه مطلق، اولویتبندی میکنند. BTC.network به طور صریح میگوید ماینرها تراکنشهایی با بالاترین نرخ هزینه را اولویتبندی میکنند که معمولاً به صورت sat/vB (ساتوشی در هر بایت مجازی) نقل قول میشود. Mt Pelerin همچنین از sat/vB استفاده میکند و ریاضیات پایه را نشان میدهد: نرخ هزینه ضربدر اندازه تراکنش، هزینه کل را تعیین میکند.
این جایی است که مدیریت UTXO به یک عامل هزینه واقعی تبدیل میشود. ورودیها و خروجیهای بیشتر به طور کلی به معنای بیشتر بایتها یا بایتهای مجازی است، که به معنای هزینه کل بالاتر در همان sat/vB است. BTC.network، Bitcoin.com، OKX و Mt Pelerin همه هزینه هزینه را به اندازه تراکنش مرتبط میکنند و BTC.network اشاره میکند که تجمیع UTXOهای کوچک در طول دورههای کمهزینه میتواند اندازههای تراکنش آینده را کاهش دهد.
این همچنین توضیح میدهد که چرا دو تراکنش که همان مقدار BTC را ارسال میکنند میتوانند هزینههای بسیار متفاوتی داشته باشند. یک کیف پول که یک UTXO بزرگ را خرج میکند ممکن است یک تراکنش فشرده تولید کند. یک کیف پول که بسیاری از UTXOهای کوچک را برای رسیدن به همان مقدار خرج میکند، یک تراکنش بزرگتر تولید کرده و در همان نرخ هزینه بیشتر پرداخت میکند.
Bitcoin.com نسخهای شهودی از این ایده را با اشاره به اینکه تراکنشهایی با ورودیهای بیشتر فضای بلاک بیشتری میطلبند و میتوانند هزینه بیشتری داشته باشند، ارائه میدهد و Mt Pelerin همان نکته را با پیوند اندازه بایت به تعداد UTXOهای مصرف شده بیان میکند.
زمانی که یک تراکنش "گرفتار" میشود، معمولاً به این معناست که در ممپولها با نرخ هزینهای نشسته است که برای تقاضای فعلی رقابتی نیست. پروتکل تضمینی برای گنجاندن بر اساس زمان ندارد. این تضمین میکند که ماینرها میتوانند تراکنشهای معتبر را شامل شوند و ماینرها به طور اقتصادی تشویق میشوند تا نرخ هزینههای بالاتر را زمانی که فضای بلاک کمیاب است انتخاب کنند.
چگونه یک تراکنش را بررسی کنیم (و چه چیزی درون آن است)
بیتکوین به طور ذاتی شفاف است. پس از ارسال، کیف پول شما یک TXID را نشان میدهد که شناسه تراکنش است. شما میتوانید آن TXID را در یک کاوشگر بلاک بچسبانید تا ببینید آیا تراکنش تأیید نشده یا تأیید شده است، چند تأیید دارد، چه هزینهای پرداخت کرده و دقیقاً از کدام ورودیها و خروجیها استفاده کرده است. OKX و Mt Pelerin هر دو توصیف میکنند که چگونه از یک کاوشگر بلاک با یک TXID برای پیگیری وضعیت و جزئیات استفاده میکنند.
اگر میخواهید یک سطح عمیقتر بروید، تراکنشهای خام دارای ساختار فیلد تعریف شدهای هستند. LearnMeABitcoin ساختار استاندارد را تجزیه و تحلیل میکند و قطعات کلیدی را که تریدرها واقعاً هنگام اشکالزدایی با آن مواجه میشوند، برجسته میکند. ورودیها به خروجیهای قبلی با استفاده از یک شناسه تراکنش (TXID) به علاوه یک شاخص خروجی (VOUT) اشاره میکنند. خروجیها مقادیر و اسکریپتهای قفلکننده را مشخص میکنند.
تراکنشهای SegWit یک فیلد شاهد اضافه میکنند که دادههای بازکننده برای ورودیها را حمل میکند و تراکنش همچنین شامل فیلدهایی مانند نسخه و زمان قفل است. شما نیازی به حفظ فرمت سطح بایت برای استفاده از بیتکوین ندارید، اما دانستن اینکه تراکنش دادههای ساختاریافته است به شما کمک میکند تا آنچه را که کاوشگرها به شما نشان میدهند تفسیر کنید.
پاداش عملی ساده است: وقتی چیزی غیرعادی به نظر میرسد، میتوانید خودتان آن را تأیید کنید. اگر "تعادل" کیف پول شما پس از ارسال "کاهش" یابد، کاوشگر معمولاً یک خروجی تغییر را نشان میدهد که ارزش را به شما برمیگرداند، که تنها پس از تأیید قابل خرج شدن میشود، همانطور که Mt Pelerin توضیح میدهد. اگر یک سپرده به تأخیر بیفتد، کاوشگر نشان میدهد که آیا هنوز در ممپول است و چه نرخ هزینهای ارائه کرده است، که اغلب دلیل واقعی انتظار آن است.
نتیجهگیری
من شاهد بودهام که تریدرها ساعتها درباره "بیتکوین کند" بحث میکنند در حالی که زنجیره دقیقاً همان کاری را انجام میدهد که برای آن طراحی شده است. نحوه کار تراکنشهای بیتکوین یک خرج UTXO به علاوه یک امضا به علاوه یک پیشنهاد نرخ هزینه برای فضای بلاک است. وقتی که این را درونی کنید، دیگر تأییدات را مانند جادو نمیبینید و شروع به دیدن آنها به عنوان تسویههای احتمالی میکنید که با هر بلاک تنگتر میشوند.
تنها عادت که به طور مداوم پول و استرس را ذخیره میکند، فکر کردن به ورودیها است. اگر کیف پول شما پر از UTXOهای به اندازه گرد و غبار باشد، شما ریسک هزینه آینده را به دوش میکشید زیرا ورودیهای بیشتر معمولاً به معنای بیشتر vbytes و هزینه کل بالاتر در همان sat/vB است. نکته BTC.network درباره تجمیع در طول دورههای کمهزینه نظری نیست. این مکانیکهای پایه تراکنش هستند که در PnL شما ظاهر میشوند.
