UTXO آشنایی با مفهوم خروجی خرج نشده تراکنش

UTXO آشنایی با مفهوم خروجی خرج نشده تراکنش

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

افراد بسیاری رؤیای ایجاد پول دیجیتالی را در سر می‌پروراندند.

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

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

UTXO چیست؟

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

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

می‌توانید UTXO را پول خردی در نظر بگیرید که بعد از خرید یک آیتم دریافت می‌کنید. مقدار آن در پایگاه داده شبکه باقی می‌ماند و امکان انجام تراکنش‌های خرد را فراهم می‌کند.

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

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

دیدگاه شبکه نسبت به UTXO چیست

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

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

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

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

کاربرد utxo چیست؟

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

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

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

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

تراکنش‌های بیتکوین، UTXO هایی را که برای ایجاد آن تراکنش‌ها استفاده شده‌اند، به‌طور کامل مصرف می‌کنند. آن‌ها به‌طور موقت در طول این فرایند به «ورودی‌ها» تبدیل می‌شوند. خروجی‌های جدید تولیدشده، UTXO های جدیدی هستند که خروجی‌های قبلی را بازنویسی می‌کنند و اکنون می‌توانند در تراکنش‌های جدید خرج شوند.

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

رابطه utxo و تراکنش در بلاکچین چیست؟

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

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

از سوی دیگر می‌دانیم بلاکچین یک زنجیره بلوکی است که بزرگ‌ترین ساختار در میان تمام ساختارهای موجود در پروتکل به شمار می‌آید. در حال حاضر اندازه بلاکچین حدود 310 گیگابایت برای بیتکوین است که لیست طولانی از بلوک‌ها را در خود دارد و این بلوک‌ها نیز ساختار محسوب می‌شوند.

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

به این ترتیب ساختاری زنجیره‌ای از بلوک‌ها ایجاد می‌شود که بر همین اساس، آن را به‌عنوان Blockchain نام‌گذاری کرده‌اند. درواقع بلاک‌چین چیزی بیش از یک لیست پیوندی نیست. با موشکافی یک تراکنش واحد می‌توانیم ببینیم هر تراکنش ساختارهای مختلفی دارد که هریک مفهوم و کارایی مختص به خود را دارند.اولین ساختار تراکنش، Transaction Version نام دارد. «نسخه تراکنش» درواقع شماره نسخه‌ای است که نوع هر تراکنش را در شبکه مشخص می‌کند. نودها با خواندن شماره نسخه هر تراکنش می‌توانند مجموعه قوانینی را که برای تأیید تراکنش مربوط استفاده می‌شوند، شناسایی کنند.

آخرین ساختار هر تراکتش در شبه نیز Lock Time نامیده می‌شود. «قفل زمانی» مشخص می‌کند تراکنش بلافاصله می‌تواند در زنجیره بلوکی وارد و گنجانده شود یا پس از صرف زمان مشخصی اجازه ورود به بلاک‌چین را خواهد یافت.

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

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

هر ورودی تراکنش شامل یک اشاره‌گر (Pointer) و یک کلید برای بازکردن قفل خروجی می‌شود. اشاره‌گر ورودی به خروجی تراکنش قبلی اشاره دارد و کلید نیز برای بازکردن قفل خروجی قبلی که به آن اشاره شده، استفاده می‌شود.

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

خروجی‌های جدید را می‌توان دوباره توسط ورودی‌های جدید تراکنش ارجاع داد. یک UTXO یا «خروجی خرج‌نشده تراکنش» تمام آن خروجی‌هایی است که هنوز توسط ورودی‌ها باز نشده‌اند. بر همین اساس به آن‌ها خروجی خرج‌نشده تراکنش می‌گویند.

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

جموعه utxo

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

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

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

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

مزایای UTXO چیست

اگر هنوز نمی‌دانید مزایای به‌کارگیری UTXO چیست به موارد زیر توجه کنید:

  • قراردادهای هوشمند زبان آگنوستیک

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

  • پشتیبانی از صرافی‌های غیرمتمرکز و اتمیک‌سواپ‌ها

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

  • مزایای مقیاس‌پذیری

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

  • امنیت و حریم خصوصی

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

ثبت دیدگاه

کد امنیتی

0دیدگاه

دیدگاهی ثبت نشده است.

اولین نفری باشید که دیدگاهتان ثبت میشود.