سگویت (SegWit) چیست؟

سگویت یک فناوری در راستای بهبود و رفع مشکلات بیت کوین اجرا و پیاده سازی شد.
سگویت یاSegregated Witness به معنی جدا کرد تصدیقها یا همان امضاها است. هدف از پیاده سازی و اجرای این سافت فورک، در درجه اول فراهم آوردن شرایط برای محافظت از انعطاف پذیری تراکنشها (Malleability Transaction) و افزایش ظرفیت بلاک (Block Capacity Transaction) در بلاک چین بیت کوین است.
سگویت در آگوست ۲۰۱۷ از سوی تیم توسعهدهندگان بیت کوین کور (Bitcoin Core)که محبوبترین کلاینت مرجع بیت کوین در جهان است، پیشنهاد و بر روی بلاک چین بیت کوین اعمال شد.
سگویت چگونه کار میکند؟
سگویت دادههای مربوط به امضای دیجیتال را از تراکنشها جدا میکند و اندازهی بلاک را افزایش میدهد به همین دلیل است که نام آن از عبارت Segregate به معنی جدا کردن و witnesses به معنی امضاها گرفته شده است.
با اعمال سگویت بر بلاکچین بیت کوین دو تا از مشکلات اساسی بیت کوین حل شد به این ترتیب که فضای بلاک خالیتر شد و مشکل انعطافپذیری تراکنشها برطرف شد.
دادههای مرتبط با امضای اطلاعات ورودی، توسط سگویت به بخش جداگانهای که در انتهای بلاک قرار دارد منتقل میشود. به همین دلیل محاسبه شناسه تراکنش را بسیار آسانتر میکند و در نتیجه این عمل تا حد زیادی از حمله انعطافپذیری جلوگیری میکند.
سگویت زمینه را برای روی کار آمدن شبکهی لایتنینگ جهت حل مشکل مقیاسپذیری لایهی دوم فراهم کرد. با خارج شدن حجم بالایی از تراکنشها از زنجیرهی اصلی و پردازش آنها بهصورت برونزنجیرهای، ظرفیت شبکه افزایش مییابد.
به وسیله سگویت سایز هر بلاک از ۱ مگابایت به ۴ مگابایت افزایش میدهد. این عدد میتواند متغیر باشد.
وقتی سگویت اعمال میشود، دادههای مربوط به امضا دیگر بخشی از شناسه تراکنش نیستند؛ اما هنوز باید در تراکنش قرار داده شوند، در غیر این صورت بلاک معتبر نخواهد بود.
از آنجایی که برای فعالسازی سگویت به صورت سافتفورک، ریشه دادههای امضا باید در بلاک قرار گیرد، توسعه دهندگان تراکنش کوینبیس (coinbase) را برای اینکار انتخاب کردند. اولین تراکنشی که در بلاک اتفاق میافتد و اطلاعات ورودی ندارند را تراکنش کوین بیس میگویند.
آدرس های سگویت چگونه است؟
همانطور که میدانید نسخههای متعددی برای پروتکل اینترنت مانند IPv4 و IPv6 وجود دارد، همچنین در بیت کوین نیز سه نوع آدرس عمومی متفاوت وجود دارد. از هر سهی این آدرسها میتوان جهت فرستادن و دریافت بیتکوین استفاده کرد .
صرافیها و سرویسهای نگهداری حداقل از یکی از آنها پشتیبانی میکنند؛ اما فقط تعداد انگشتشماری از ارائهدهندگان خدمات از هر سه آدرس به طور همزمان پشتبانی میکنند.
لِگاسی (P2PKH)
اگر آدرس بیت کوینی با عدد ۱ شروع شود، در این آدرس از آدرس لگاسی یا P2PKH استفاده شده است. عبارت P2PKH مخفف Pay-to-Pubkey Hash است. مثلا این آدرس1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 این اولین فرمت آدرس بیت کوین بود که هنوز هم به درستی کار میکند.
یکی از نکات آدرسهای لگاسی این است که با سگویت سازگار نیستند؛ اما به راحتی و بدون هیچ مشکلی میتوان از یک آدرس P2PKH به یک آدرس سگویت، بیت کوین ارسال کرد.
آدرس P2SH
ساختار آدرسهای P2SH (مخفف شده عبارت Pay To Script Hash) و آدرسهای P2PKH یکسان است اما تنها با این تفاوت که همانند 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy، به جای عدد ۱ با عدد ۳ آغاز میشوند. P2SH قابلیتهای بیشتری نسبت به آدرسهای لگاسی دارد.
تابع اسکریپت P2SHبرای آدرسهای امضای چندگانه مورد استفاده قرار میگیرد.
این نوع آدرس با استفاده از فرآیند P2WPKH-in-P2SH تراکنشهای غیربومی (non-native) سگویت را فعال میکند. یکی از مزایای این آدرس این است که این نوع از آدرس به طور گستردهای پشتیبانی میشود و میتوان از آن برای ارسال ارز به هر دو آدرس P2PKH و bech32 استفاده کرد.
آدرس بومی سگویت (bech32)
آدرس های bech32 با bc1 شروع میشوند، و از دونوع آدرس معرفی شده دیگر طولانی تر است.
ای نوع آدرس کاملا متفاوت از آدرس های نوع P2 است. آدرس bech32 توسط اکثر کیف پول ها و نرم افزارها پشتیبانی میشود اما تعداد صرافی هایی که از این آدرس پشتیبانی میکنند کم میباشد.
کیف پول ها و صرافی هایی که از سگویت پشتیبانی میکنند
اگر از کیفپولها و صرافیهایی که از آدرسهای bech32 پشتیبانی میکنند استفاده کنید، کارمزد کمتری برای تراکنشهای خود پرداخت خواهید کرد.
در ادامه لیست تعدادی از کیفپولهای معروف که از سگویت پشتیبانی میکنند آورده شده است:
- لجر نانو اس (Ledger Nano S)
- ترزور (Trezor)
- الکتروم (Electrum)
- اکسودوس (Exodus)
- کوینومی (Coinomi)
- تراست ولت (Trust Wallet)
- سگویتادرس (Segwitaddress)که کیف پول کاغذی سگویت است.
- کوینبیس (Coinbase)
لیست صرافیهایی که از سگویت پشتیبانی میکنند:
- بیتفینکس (Bitfinex)
- جمینی (Gemini)
- لوکالبیتکوینز (LocalBitcoins)
- بیتاستمپ (Bitstamp)
- هیتبیتیسی (HitBTC)
- کراکن (Kraken)
- بیتانیک (Bitonic)
مزایا و معایب سگویت
مزایا
- افزایش تعداد تراکنش های موجود در بلاک
- مقیاس پذیری بیشتر بیت کوین
- کمک به فعال سازی پروتکل لایتینگ
- حل مسئله انعطاف پذیری در بیت کوین
- کاهش اندازه هر تراکنش
- کاهش کارمزد تراکنش
- افزایش سرعت انجام تراکنش
معایب
- پیاده سازی پیچیده
- افزایش استفاده از منابع به دلیل وجود سگویت
- پاداش کمتر برای استخراج کنندگان (به این دلیل که کارمزد تراکنش ها با سگویت پایین تر است)
- مشکل در نگهداری و تعمیر سگویت (این کار باید داوطلبانه و رایگان توسط ماینرها انجام شود. یا طرح پاداشی باید برای استخراجکنندگان در نظر گرفته شود.)