دنیای بیت کوین و ارزهای دیجیتال (پرفکت مانی، دوج کوین، تتر، اتریوم و …) پر از اصطلاحات به ظاهر غیرممکن مانند UTXO یا خروجی تراکنش خرج نشده است. حتما تا به حال با بسیاری از آنها برخورد کرده اید. معنای برخی از این کلمات در نگاه اول کاملاً با معنای واقعی آنها متفاوت به نظر می رسد و با شنیدن برخی از آنها هیچ تصوری از معنای آنها به ذهن نمی رسد. زیرا ما قبلاً در هیچ واژه نامه ای آنها را ندیده و نشنیده ایم.

برخی از این اصطلاحات مخفف چندین کلمه هستند و برخی عبارات کاملاً جدید برگرفته از اصطلاحات فنی بلاک چین هستند. گاهی اوقات یک عبارت صرفاً فنی در زبان رایج به دلیل عدم وجود معادل بهتر باقی می ماند.

تعریف UTXO به زبان ساده

UTXO مخفف عبارت Unspent Transaction Output است. این اصطلاح هیچ پیشینه ای در زبان انگلیسی ندارد و به دنیای بیت کوین و ارزهای دیجیتال (خرید پرفکت مانی، خرید دوج کوین، تتر، اتریوم و …) باز می گردد. به زبان ساده، هر UTXO مانند یک اسکناس نقدی عمل می کند که ارزش (به شکل بیت کوین) را ذخیره می کند و فقط یک بار می تواند خرج شود. بنابراین هر تراکنش بیت کوین (حداقل) یک UTXO مصرف می کند و یک یا چند UTXO جدید ایجاد می کند.

UTXO یک اصطلاح کاملاً فنی است که از کد شبکه بیت کوین گرفته شده است. این اصطلاح غیرعادی تقریباً به طور قطع حیاتی‌ترین مفهومی است که هر کسی که می‌خواهد کمی بیشتر در مورد جزئیات بیت‌کوین بداند و عضوی تأثیرگذارتر در شبکه باشد، باید بداند.

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

برای انجام این کار، ما با مهم‌ترین جزء سیستم و نیروی محرکه شبکه بیت‌کوین، فناوری «بلاک چین» شروع می‌کنیم و سپس قطعات جزئی‌تر را یکی یکی بررسی می‌کنیم.

 بلاک چین چیست؟

ماشین بیت کوین از ساختارهای ریاضی خاصی تشکیل شده است. این ساختارها به مفاهیم انتزاعی ریاضی اشاره دارند که هر کدام معنای خود را دارند.

هر ساختار می تواند حاوی داده های خام باشد یا خود از سیستم های کوچکتر تشکیل شده باشد. پروتکل بیت کوین داده ها را در هر فریم بر اساس معنای آنها تفسیر و استفاده می کند.

بیایید با باشکوه ترین و برجسته ترین ساختار داده سال های اخیر، بلاک چین، شروع کنیم. Block به معنای بلوک و Chain به معنای زنجیره است. بنابراین همانطور که از نام آن پیداست، بلاک چین زنجیره ای از بلوک ها است. هر بلوک همچنین شامل یک ساختار ریاضی است و یک ساختار بزرگتر را تشکیل می دهد.

بلاک چین بزرگترین ساختار در پروتکل بیت کوین است. در زمان نگارش این مقاله -30 دسامبر 2021- بلاک چین بیت کوین حدود 370 گیگابایت حجم دارد و از یک لیست بسیار طولانی از بلوک ها تشکیل شده است.

هر بلوک از دو ساختار تشکیل شده است که یکی header یا سربرگ و دیگری لیست تراکنش نامیده می شود.

بخش header حاوی اطلاعات کلی و اولیه در مورد هر بلوک است. خروجی رمزگذاری شده، یا بلوک هش قبلی، در تب بلوک جدید در حال توسعه قرار می گیرد. آخرین هش بلوک به بلوک قبلی زنجیره (یا بلوک والد) اشاره دارد. به این ترتیب هر بلوک به بلوک قبلی خود و بلوک قبلی به بلوک آخر خود مربوط می شود و این زنجیره به همین ترتیب ادامه می یابد تا به اولین بلوک ایجاد شده یا بلوکی از همان جنس برسد.

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

شکل زیر داده های بلوک شماره 10 بلاک چین بیت کوین را نشان می دهد. بخش Summary داده ها را در header مشخص می کند و ناحیه بعدی نیز حاوی داده های تراکنش است.

در بخش Timestamp بلوک، می بینیم که این بلوک در 9 ژانویه 2009 استخراج شده است. این تاریخ نشان می دهد که ساتوشی ناکاموتو (خالق بیت کوین) ممکن است شخصاً بلوک را استخراج کرده باشد.

در لیست تراکنش ها، تنها یک تراکنش به ارزش 50 بیت کوین وجود دارد که نشان می دهد بیت کوین ها به یک آدرس ارسال شده اند. این یک معامله Queen Base بود. یک ماینر این بیت کوین ها را به عنوان پاداش برای استخراج بلاک دریافت کرده است.

در آن زمان به جز ساتوشی ناکاموتو کسی در شبکه نبود که بتواند این تعداد بیت کوین را معامله کند. بنابراین تنها احتمال این است که این تراکنش مربوط به دریافت پاداش ماینینگ بوده باشد. در این تراکنش، 50 بیت کوین به عنوان پاداش حل پازل اثبات کار به ماینر داده می شود.

اکنون که ایده اصلی پشت بلاک های بلاک چین بیت کوین را می دانیم، بیایید یک قدم جلوتر برویم و روی «تراکنش» تمرکز کنیم.

روابط و معاملات در بلاک چین

اولین ساختار “نسخه تراکنش” است. نسخه هر تراکنش عددی است که نوع تراکنش را به شبکه معرفی می کند. Node ها یا گره ها همچنین می توانند مجموعه قوانین مورد استفاده برای تأیید این تراکنش خاص را با خواندن شماره کپی هر تراکنش شناسایی و استفاده کنند.

آخرین ساختار تراکنش ها “”Time Lock است. این ساختار تعیین می کند که آیا تراکنش می تواند بلافاصله وارد بلاک چین شود یا اجازه ورود به بلاک چین پس از یک دوره معین را داشته باشد.

در میان دو ساختار معرفی شده در بالا، فهرستی از ورودی ها و خروجی ها وجود دارد. مفاهیم “ورودی” و “خروجی” – ” input ” and ” output ” – مهمترین موضوعاتی هستند که در این مقاله مورد بحث قرار می گیرند.

خروجی هر تراکنش شامل یک قفل رمزگذاری شده و یک ارزش یا Value است. البته نتایج دارای جزئیات زیادی است که در این مقاله از برخی از آنها صرف نظر کرده و ساختار قفل و اهمیت آنها را به اختصار توضیح می دهیم.

یک همبستگی اساسی بین ساختارهای ورودی و خروجی هر تراکنش وجود دارد. برای درک بهتر، تصور کنید که خروجی ها به نحوی قفل هستند و ورودی ها کلید باز کردن قفل آنها را ارائه می دهند. “ارزش” همچنین به معنای ساتوشی قفل شده است (ساتوشی نام واحدهای جزئی بیت کوین است).

ورودی هر تراکنش یک اشاره گر- Pointer – و یک کلید برای باز کردن قفل خروجی ها دارد. اشاره گر ورودی به تولید تراکنش قبلی اشاره دارد. کلید همچنین برای باز کردن نتیجه نهایی (که اطلاعات به آن اشاره می کند) استفاده می شود.

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

ورودی‌های تراکنش جدید می‌توانند دوباره به خروجی‌های تازه تولید شده اشاره کنند.

به محض باز شدن قفل خروجی، می توانیم فرض کنیم که از مدار خارج شده و با کارهای جدید جایگزین شده است. بنابراین، مجموع مقادیر نتایج قفل نشده (صرف نظر از کارمزد تراکنش) همیشه با مجموع اهمیت خروجی های جدید ایجاد شده برابر است. بنابراین کل موجودی بیت کوین همیشه ثابت است.

تراکنش در شبکه برخی از UTXO های قبلی را مصرف می کند و UTXO های جدیدی تولید می کند.

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

همانطور که قبلا ذکر شد، بلاک چین لیستی از تمام تراکنش های انجام شده در شبکه است و با جستجو در داخل آن می توان تاریخچه ای از تراکنش های شبکه ایجاد کرد. در طول این تاریخچه، هر خروجی را می توان از لحظه ای که در تراکنش Quinbase انجام شد، ردیابی کرد.

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

مجموعه ای از UTXO ها در بلاک چین

مجموع تمام UTXO های شبکه در هر زمان معین “مجموعه UTXO” نامیده می شود. تمام گره های بیت کوین این مجموعه را ذخیره می کنند. از نظر فنی، این مجموعه نشان دهنده chainstay است و در بخش وضعیت زنجیره هر گره ذخیره می شود.

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

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

هنگامی که موجودی بیت کوین خود را در کیف پول خود جستجو می کنید، کیف پول شما در پس زمینه تمام UTX های مربوط به شما را به شما نشان می دهد و در نهایت ارزش کل این UTXO ها را به شما ارائه می دهد.

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

UTXO چگونه کار می کند؟

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

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

UTXO ها به روشی مشابه کار می کنند. UTXO همیشه به طور کامل مصرف می شود. حتی اگر مبلغ مورد نیاز کمتر از UTXO باشد!

آخرین تاریخ تغییر این مطلب: ژانویه 5, 2022