سگویت با جدا سازی امضا از تراکنشها، باعث افزایش سایز بلاک شده، در نتیجه سایز بلاک از ۱ مگابایت به ۴ مگابایت افزایش پیدا میکند.
برای درک موضوع سگویت ، ابتدا باید برخی مفاهیم اصلی را درک کنیم.
معامله ها در بیت کوین چگونه کار می کند؟
فرض کنید آلیس می خواهد تعداد مشخصی بیت کوین برای باب ارسال کند. سیستم معاملات در بیت کوین چگونه کار می کند؟ معاملات بیت کوین بسیار متفاوت از معاملات کیف پول فیا است. اگر آلیس می خواست 2 دلار به باب بدهد ، از نظر فیزیکی 2 دلار از کیف پولش می گرفت و به باب می داد. با این حال ، همه چیز در بیت کوین مانند آن کار نمی کند. شما از نظر فیزیکی هیچ بیت کوین ندارید ، آنچه شما دارید اثبات این است که بیت کوین دارید.
دو چیز دیگر وجود دارد که باید بدانید:
ماینرها معاملات شما را با قرار دادن داده هایی که در داخل معادن مسدود کرده اند ، اعتبارسنجی می کنند. در ازای دادن این سرویس ، آنها هزینه معامله یا فی آن را می گیرند.
وقتی صحبت از ارز فیات (FIAT) می شود ، شما واقعاً پیگیری نمی کنید که چگونه و از کجا آن یادداشت خاص را تهیه کرده اید. همین حالا کیف پول خود را باز کنید و تمام اسکناس های موجود در آن را بیرون بیاورید. آیا می توانید بگویید دقیقاً هر اسکناس و سکه را از کجا تهیه کرده اید؟ این احتمال وجود دارد که شما این کار را نتوانید انجام دهید. با این حال ، در بیت کوین ، تاریخچه هر معامله بیت کوین مورد توجه قرار می گیرد.
بنابراین اکنون بیایید یک روش عمیق در مورد نحوه معامله بیت کوین بین آلیس و باب انجام دهیم. یک معامله دو طرف دارد: ورودی و خروجی. کل این معامله نامی خواهد داشت که در پایان خواهیم فهمید. در حال حاضر ، بیایید به توضیحات توجه کنیم:
ورودی معامله
برای تحقق این معامله ، آلیس نیاز به دریافت بیت کوین هایی دارد که از معامله های مختلف قبلی دریافت کرده است.
بنابراین ، تصور کنید که آلیس باید از معامه های زیر بیت کوین بگیرد که ما آنها را توابع (TX (0) ، TX (1 و (TX (2 می نامیم. این سه معامله با هم جمع می شوند و این تراکنش ورودی را به شما می دهد که ما آن را TX (ورودی) می نامیم.
از لحاظ نمودار ، این شکلی خواهد بود:
بنابراین ، این از سمت ورودی است ، بیایید بررسی کنیم که سمت خروجی چگونه خواهد بود.
خروجی معامله
این خروجی اساساً دارای بیت کوین خواهد بود که برای باب پس از انجام معاملات و هرگونه تغییر باقیمانده است که پس از آن به آلیس ارسال می شود. این تغییر سپس به مقدار ورودی او برای کلیه معاملات بعدی تبدیل می شود.
نمایش تصویری سمت خروجی به این شکل است:
اکنون ، این یک معامله بسیار ساده است که فقط یک خروجی دارد (به غیر از CHANGE) ، تراکنش هایی وجود دارد که با چندین خروجی امکان پذیر است.
طرح اولیه معامله به این صورت است. با این حال ، برای گذراندن کل این شرایط ، باید شرایط خاصی را داشته باشیم.
شرایط معامله
TX (ورودی)> TX (خروجی). تراکنش ورودی باید همیشه بیشتر از تراکنش خروجی باشد. در هر معامله ،اختلاف بین میزان ورودی و خروجی (خروجی + تغییر) هزینه معامله ای است که ماینرها دریافت می کنند. بنابراین: هزینه های معامله =( TX (ورودی) ) -( TX (خروجی) + تغییر ).
در قسمت ورودی: (ورودی) TX (0) + TX (1) + TX (2) = TX. اگر آلیس بودجه لازم برای انجام معاملات را نداشته باشد ، استخراج کنندگان به سادگی معاملات را رد می کنند.
باب باید نشان دهد که می تواند مدارک مورد نیاز برای دریافت بیت کوین را ارائه دهد. آلیس معاملات را با آدرس عمومی باب قفل می کند. وی برای باز کردن قفل معاملات و دسترسی به هزینه های خود نیاز به تولید کلید خصوصی خود دارد.
آلیس همچنین باید بررسی کند که در وهله اول از حقوق لازم برای ارسال بیت کوین برخوردار است. روشی که وی انجام می دهد این است که با امضای دیجیتالی خود معامله را امضا می کند (یا همان کلید خصوصی او). هر کسی می تواند با استفاده از کلید عمومی خود رمزگشایی کند و تأیید کند که در واقع آلیس بوده که داده ها را ارسال کرده است. این مدرک “داده های امضا” نامیده می شود.
بنابراین ، نام کل معامله چه خواهد بود؟
ورودی (شامل داده های امضا) و داده های خروجی با استفاده از الگوریتم هش SHA 256 با هم جمع می شوند و هش می شوند. هش خروجی نامی است که به این تراکنش داده می شود.
جزئیات معامله
این شکل معامله در فرم کد است. فرض کنید آلیس می خواهد 0.0015 BTC برای باب ارسال کند و برای این کار ورودی هایی را ارسال می کند که ارزش 0.0015770 BTC دارند. جزئیات معامله به این شکل است:
اولین چیزی که می بینید:
نام معامله برابر است با نام مستعار هش مقدار ورودی و خروجی.
Vin_sz:شماره ۱ که تعداد داده های ورودی است زیرا آلیس داده ها را فقط با استفاده از یکی از معاملات قبلی خود ارسال می کند.
Vout_sz :شماره ۲ است زیرا تنها خروجی ها، Bob و change هستند.
این داده های ورودی است:
داده های ورودی را می بینید؟ آلیس فقط از یک تراکنش ورودی استفاده می کند (در مثالی که در بالا ارائه دادیم ، این (TX (0 خواهد بود) ، این دلیل شماره 1 بودن vin_sz است.
در زیر داده های ورودی ، داده های امضای او قرار دارد.
در زیر همه اینها داده های خروجی وجود دارد:
قسمت اول داده ها حاکی از آن است که باب در حال دریافت 0.0015 BTC است.
قسمت دوم نشان می دهد که 0.00005120 BTC همان چیزی است که آلیس به عنوان تابع change معرفی کرده.
اکنون ، به یاد دارید که داده های ورودی 0.0015770 BTC بود؟ این بزرگتر از (0.0015 + 0.00005120) است. کسری این دو مقدار هزینه معامله ای است که ماینرها در حال جمع آوری آن هستند.
بنابراین ، آناتومی یک معامله ، ساده است.
ادامه دارد…
ارسال نظر