سگویت (segwit) مخفف عبارت Segregated Witness است که نسخهی مهم بروز شده بیتکوین میباشد. این کد در سال ۲۰۱۵ معرفی شد و در اوت سال ۲۰۱۷ بر روی بیتکوین اجرا شد.
سگویت چیست؟
Segwit (شاهد تفکیک شده- Segregated witness) یک بهینهسازی برای پروتکل بیتکوین است که امضای دیجیتال (شاهد) را از تراکنش جدا میکند. این برنامه توسط توسعهدهندهای به نام پیتر وول (Pieter Wiulle) در سال 2015 ساخته شد. سگویت توانسته است بیت کوین را ارتقا دهد و تعدادی از ایرادات آن را نیز برطرف کند.
همین حالا میتوانید برای خرید و فروش بیت کوین از طریق همتاپی اقدام کنید
همانطور که می دانیم تراکنشهای بیتکوین روی مجموعهای از بلاکها به نام بلاکچین ثبت میشود. این بلاکها تا حداکثر ۱ مگابایت ظرفیت دارند و حدود ۲۷۰۰ تراکنش در هر بلاک جای میگیرد. اما این مسئله باعث بروز مشکلاتی در حین نوسان قیمت و ازدحام کاربران میشود. اینجاست که Segwit وارد ماجرا میشود. در مقایسه با بلاکهای غیر Segwit که اصطلاحا بلاکهای لگسی یا قدیمی (Legacy Blocks) نامیده میشوند، بلاکهای Segwit با حجم حداکثر ۴ مگابایت بلاکهای بزرگتری را ارائه میدهند. Segwit شامل تراکنش اصلی و یک بلاک اضافه (که شامل شاهد یا امضای دیجیتال است) میشود. در این بلاکها، اطلاعات شاهد خالی گذاشته میشود. بنابراین فضای اضافی اشغال نمیکند.
مزایای سگویت
سگویت توانسته است دو مشکل بسیار مهم را برطرف سازد:
- امضای دیجیتال را به خارج از بلاک اصلی انتقال میدهد. بنابراین اگر کسی امضای تراکنش را تغییر دهد بر شناسه تراکنش تأثیری نداشته و مسئله انعطافپذیری تراکنش را حل میکند.
- حجم اطلاعات پایه را کم میکند و از آنجا که ۶۵ درصد فضا را اشغال میکند اطلاعات شاهد را به فضای گستردهتری انتقال میدهد .
به غیر از موارد فوق، Segwit مشکلات دیگری را نیز حل میکند:
- افزایش امنیت در حالت چند امضایی (Multi-sig) از طریق پرداخت به اسکریپت ( pay-to-script-hash) یا به اختصار(P2SH).
- سنجش خطی عملیات امضای هش
- کاهش رشد UTXO
- سیر نسخهبندی اسکریپت ( Script Versionating)
ویژگیهای اصلی و مثبت سگویت به همراه توضیحات در ادامه آمده است:
- حجم بالا
سگویت حجم سیستم بیتکوین را دو برابر کرده است. افراد زیادی ادعا میکنند که سگویت حجم بلاک را افزایش نداده است. ولی در واقع واضح است که بگوییم سگویت باعث افزایش حجم بلاک شده است.
در زیر مثالی از ژانویه سال ۲۰۱۸ آورده شده است که ۲.۱۷۷ کیلوبایت (۲.۱۷ مگابایت) بلاک بیتکوین ماین شده است.
- سگویت انعطافپذیری معاملات را بالا میبرد
علاوه بر سریعتر شدن روند معاملات، سگویت یک ایراد حیاتی در پروتکل بیتکوین را حل میکند. این پروتکل به کاربرها اجازه میدهد که اطلاعات تراکنشها را دستکاری کنند.
پیش از سگویت شناسه تراکنش (TXID) میتوانست با شکستن کد تراکنش (امضای دیجیتال) تغییر کند. بعد از اینکه شما به صورت دیجیتال یک تراکنش را امضا میکنید، این امضا به هش رمزگذاری (کریپتوگرافیک) بیتکوین فرستاده میشود و شناسه تراکنش منحصر به فردی برای معامله شما تشکیل میشود.
اگر تنها یک حرف در امضای دیجیتال تغییر کند، شناسه تراکنش شما هم کاملا متفاوت خواهد بود. سگویت امضای شما را به انتهای دادههای تراکنش میفرستد. بنابراین، شناسه تراکنشتان با استفاده از بقیه دادهها بقیه بدون امضای شما تشکیل میشود.
جهت دریافت آخرین اخبار به خانواده همتاپی بپیوندید
در واقع این تغییر، عوض کردن شناسه تراکنش را غیرممکن میکند. اگر نودهای (nodes) مشکوک میتوانستند شناسه تراکنش را دستکاری کنند وجود شبکه لایتنینگ (Lightning Network) غیرممکن میشد.
- پذیرفته شدن سگویت
مقبولیت سگویت در حال افزایش است. تقریبا ۴۰ درصد معاملات بیتکوین از آدرسهای سگویت استفاده میکنند.
چرا سگویت مهم است؟
بیتکوین با اختلاف زیاد بزرگترین ارزدیجیتال بازار است و البته برای این موضوع دلایل مشخصی نیز وجود دارد. گرچه بسیاری از افراد بیتکوین را برای اینکه نمیتواند خودش را با افزایش تعداد کاربرهایش تطبیق دهد و پلتفرماش را بزرگتر کند قضاوت کردهاند.
بیتکوین تنها میتواند بین ۷ تا ۱۰ تراکنش در ثانیه را انجام دهد. اگرچه تکنولوژی زیربنای بیتکوین جدید و انقلابی است اما برای بیتکوین مشکلاتی اساسی ایجاد کرده است.
البته توسعهدهندگان اصلی جامعه بیتکوین در تلاشاند که راهحلی برای این مشکلات ارائه دهند. سگویت و شبکه لایتنینگ اگر کنار هم قرار بگیرند میتوانند به بیتکوین اجازه انجام میلیونها تراکنش در هر ثانیه را بدهند.
بیتکوین چگونه کار میکند؟
قبل از این که مسائل مربوط به سگویت را بفهمید ابتدا باید روند تراکنشهای بیتکوین را درک کنید.
شما میتوانید بیت کوین را مثل یک زنجیره در نظر بگیرید و هر اتصالی در این زنجیره یک بلاک قرار دارد. برای درک بهتر این موضوع تصور کنید که در هر بلاک تنها یک معامله وجود دارد. اگر مایک یک بیتکوین برای باب بفرستد اطلاعات مهمی به بلاک اضافه میشود، مثل:
- ورودی و خروجی
- کلید عمومی گیرنده و میزان بیتکوینی که ارسال میشود
- کلید عمومی فرستنده
- امضای دیجیتال فرستنده
کلید عمومی و امضای دیجیتال مایک باید در بلاک موردنظر وجود داشته باشد تا ثابت کند که این معامله معتبر است و از طرف او صورت گرفته است. امضای دیجیتال به شکل اسکریپت در بلاک قرار میگیرد (شما میتوانید این اسکریپت را به عنوان کد در نظر بگیرید). دقیقا مثل زمانی که مردم چکها را امضا میکنند تا به فرد مورد نظر اختیار استفاده از آن چک را بدهند، در سیستم بیتکوین نیز افراد با امضای دیجیتال خود به فرد مورد نظر این اجازه را میدهند.
درست است که تایید کردن معاملات بسیار مهم است اما امضاهای دیجیتال فضای زیادی را در بلاک میگیرند. این فضاها میتوانست به عنوان فضای نگهداری اطلاعات تراکنشها استفاده شود.
امضاهای دیجیتال تقریبا 60 درصد حجم دادههای تراکنش را تشکیل میدهند
وقتی هزاران معامله باهم انجام میشود، فضای کافی برای آنها وجود ندارد که وارد بلوک مشابهی شوند. کاربرها باید برای تراکنشها کارمزد بپردازند. هرچقدر کارمزد بیشتری پرداخت شود تراکنش سریعتر انجام میشود. به عبارتی این کارمزدها ماینرها را تشویق میکند تا بعضی از تراکنشها زودتر از بقیه در بلاک قرار گیرند.
متاسفانه کارمزدها ممکن است خیلی گران تمام شود. در دسامبر سال ۲۰۱۷ پرداخت ۵۰ دلار برای تراکنشی که در ۱۰ تا ۲۰ دقیقه انجام میشد بسیار عجیب بود. مسئله مقیاسپذیری بیتکوین یکی از موانع جدی برای همهگیر شدن آن است. هیچکس در دنیای امروزی نمیخواهد ۲۰ دلار برای یک لیوان قهوه بپردازد و تازه منتظر انجام عملیات پرداخت هم بماند.
نمودار کارمزدهای بیتکوین
نمودار فوق نشان میدهد که کارمزدهای بیت کوین در دسامبر سال 2017 به اوج خود رسیده بود. بنابراین، یک چیزی باید تغییر کند.
برخیها بر این باورند که تنها راه حل این مشکل افزایش دادن حجم بلاکهای بیتکوین است. اما این راهحل نیازمند انجام هاردفورک از سوی بیت کوین است. به جای اینکه این کار انجام شود و بیتکوین تبدیل به ارز کاملا جدیدی شود، سگویت اجرا شد و به شکل قابل توجهی روند تبادلات بیتکوین را سرعت بخشید.
سگویت چگونه کار میکند؟
سگویت توسط UASF فعال شد. همانطور که قبلا گفته شد هر بلوک شامل اطلاعات تراکنش (کلید عمومی، میزان بیتکوین و …) و اسکریپت (کلید عمومی و امضای دیجیتال فرستنده) میشود. گرچه وجود امضاهای دیجیتال در روند اعتبارسنجی ضروری است، اما آنها فضای بسیار زیادی را اشغال میکنند که از این فضاها برای جا دادن تبادلات بیشتری میتوان استفاده کرد.
امضاهای دیجیتال، که به عنوان «شاهد» شناخته میشوند، ۶۰ درصد از اطلاعات تراکنش را تشکیل میدهند و معمولا اطلاعات امضای دیجیتال در میان اطلاعات تراکنش قرار دارد. سگویت (Segregated witness) روشی است برای برداشتن امضای دیجیتال (شاهد) تراکنش. با استفاده از این روش معاملات سگویت اطلاعات امضای دیجیتال را به انتهای تراکنش انتقال میدهد. زمانی که یک تراکنش سگویتی توسط نود لگسی (legacy node) (مدل ارتقا نیافته) تایید میشود، اطلاعات شاهد از تراکنش حذف میشود. با حذف امضاها از بلاک اصلی تراکنشها، حجم تراکنش به شکل قابل توجهی کم میشود و در نتیجه این موضوع باعث میشود که معاملات بیشتری در یک بلاک قرار گیرد.
با حذف امضا از تراکنشها فضای بیشتری برای دیگر تراکنشها ایجاد میشود.
در نظر داشته باشید که قبل از سگویت حداکثر حجم هر بلاک بیتکوین 1,000,000 بایت (۱ مگ) بود. وقتی حجم بلاک به این مقدار میرسید، بلاک بیتکوین دیگر نمیتوانست تراکنشهای بیشتری را در خود جای دهد و هر معاملهای که آن بلاک قرار نمیگرفت باید در ممپول (mempool) به انتظار مینشست.
سگویت برخلاف باور عموم در واقع یک افزایش حجم بلاک است. سگویت روش جدیدی را برای اندازهگیری حجم تراکنشها پایهگذاری کرده است. به جای اینکه بر بلاکهای 1 مگابایتی متکی باشیم، روش سگویت از چیزی به اسم «وزن بلاک» استفاده میکند.
با استفاده از فرمول زیر میتوان وزن بلاک را محاسبه کرد:
(حجم تراکنش بدون اطلاعات شاهد) * 3 + (حجم تراکنش)
نمودار وزن بلاک در طول زمان
از وقتی که تراکنشهای سگویتی به نودها ارسال میشود و شاهد آنها جدا شده است، نودهای لگسی دیگر مجبور نیستند بلاکهای سنگینتر از ۱.۰۰۰.۰۰۰ بایت را اعتبار سنجی کنند.
از طرف دیگر، نودهای سگویت میتوانند بلاکهایی که تقریبا ۴ مگابایت هستند را دریافت کنند. برای این که یک بلاک تقریبا ۴ مگابایت باشد باید در درجه اول به جای اطلاعات تراکنش اطلاعات شاهد را داشته باشد. در این صورت حجم بلاک با بودن اطلاعات امضای دیجیتال بلاک 4 مگا بایت و بدون آن اطلاعات 1,000,000 بایت خواهد بود.
تراکنشهای بیت کوین بعد از سگویت تراکنشهای بیتکوین قبل از سگویت
با اینکه نودهای سگویت قابلیت اعتبارسنجی یک بلاک ۴ مگابایتی (۴.۰۰۰.۰۰۰) را نیز دارند اما این سایز بلاک در واقع خیلی مضحک است. در اکثر مواقع یک بلاک سگویتی از ۲ مگابایت فراتر نمیرود.
سگویت زیربنای شبکه لایتنینگ (Lightning) است. قابلیت انعطافپذیری اطلاعات این امکان را فراهم آورده است تا کانالهای پرداختی ایمن به وجود آیند و در هر ثانیه میلیونها تراکنش انجام شود. در نهایت سگویت تنها راه برای مقیاسپذیری بیتکوین است که بدون اجرای هیچ هاردفورکی نیازهای کاربران روزافزونش را برآورده کرده است.
لیست 5 کیف پول برتر Segwit در سال ۲۰۲۰
در زیر پنچ مورد از برترین کیفپول های Segwit در سال 2020 لیست شده است:
- لجر نانو اس (Ledger Nano S)
- ترزور (Trezor)
- اگزودوس (Exodus)
- الکتروم Electrum
- سگویت ادرس (Segwitaddress)