شبکه segwit چیست و تراکنشهای آن چگونه انجام میشود؟
شبکه SegWit، که مخفف “Segregated Witness” است، یک بهروزرسانی در پروتکل بیتکوین است که به منظور بهبود مقیاسپذیری شبکه و کاهش مشکلات مربوط به اندازه بلوک انجام شده است. این فناوری امضاها و اطلاعات شاهد را از دادههای اصلی تراکنش جدا میکند تا فضای بیشتری در هر بلوک برای تراکنشها فراهم آورد و به کاهش کارمزد تراکنش کمک کند.
سگویت (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)
-
کیف پول سخت افزاری لجر نانو اس (ledger nano s)
لجر (ledger) نانو اس یکی از بهترین کیف پولهای سخت افزاری به حساب میآید که از خرید و فروش بیت کوین و سایر رمزارزها پشتیبانی میکند. این کیف پول به شما امکان امضای آفلاین تراکنشها را میدهد. از آنجایی که کلیدهای خصوصی شما آفلاین هستند و به اینترنت دسترسی ندارند، باعث میشود امنیت بیشتری برای وجوه شما فراهم شود. هر دو مدل کیف پول لجر یعنی نانو اس و لجر نانو ایکس (ledger nano x) از تراکنشهای قدیمی (legacy) و همچنین سگویتی پشتیبانی میکنند. لجر نانو ایکس مدل جدیدتری است که با موبایل نیز سازگار است و یک کیف پول همه فن حریف است. جهت مطالعه بیشتر درباره این والت به مقاله بررسی و نحوه راهاندازی کیفپول لجر نانو اس (ledger nano s)مراجعه کنید.
-
کیف پول سخت افزاری ترزور (trezor)
ترزور کیف پول سخت افزاری دیگری است که مورد علاقه کاربران در محیط رمزارزها میباشد. دارای دو مدل trezor one و trezor t میباشد که هر دو از سگویت و تراکنشهای قدیمی پشتیبانی میکنند. این کیف پول به طور مداوم برای تجربه بهتر کاربران در حال ارتقای محصولات خود میباشد و از بسیاری از رمز ارزها پشتیبانی میکند و با کمی هزینه بیشتر، دارای یک ویژگی سفارشی خواهد بود که کاربر را قادر میسازد تا با سهولت و راحتی معاملات خود را انجام دهد. جهت مطالعه بیشتر درباره این والت به مقاله بررسی و نحوه راه اندازی کیف پول ترزور (trezor)مراجعه کنید.
-
کیف پول کامپیوتری اگزودوس (exodus)
اگزودوس یکی از بهترین کیف پولهای مخصوص کامپیوتر است که به دلیل سهولت و راحتی آسان، مورد پسند کاربران محیط رمزارزها قرار گرفته است. این کیف پول بیش از ۱۰۰ نوع از رمزارزها را پشتیبانی میکند و برای سیستمهای عامل لینوکس، مک و ویندوز در دسترس است. از سگویت و تراکنشهای قدیمی نیز پشتیبانی میکند و همین طور دارای یک جامعه بسیار فعال است که برای این که به کاربران نهایت راحتی را ارائه دهد، پیوسته در حال نوآوری در تکنولوژی خود هستند. جهت مطالعه بیشتر درباره این والت به مقاله بررسی و نحوه راهاندازی کیف پول اکسودوس (exodus)مراجعه کنید.