سگویت چیست؟ بهبود همزمان مقیاسپذیری، امنیت و کارآمدی بیت کوین
زمانیکه خرید و فروش ارزهای دیجیتال به شدت داغ و پذیرش بیت کوین روز به روز در حال افزایش بود، مسئله مقیاس پذیری این ارز دیجیتال بیش از پیش خودنمایی میکرد. اما توسعه دهندگان برای آزادسازی تمام ظرفیت شبکه بیت کوین بیکار ننشستند تا زمانیکه ایده سگویت (SegWit) را مطرح کردند. ایدهای نوآورانه که به صورت عملی و بدون نیاز به هارد فورک، توان عملیاتی شبکه را به صورت قابل توجهی ارتقا میداد.
در این مقاله به بررسی تفصیلی نحوه کارکرد سگویت، درک اهمیت این نوآوری و آشکار کردن تغییر شکلی هستیم که شبکه بیت کوین در آینده به خود خواهد دید.
سگویت چیست؟
بیت کوین به عنوان پرچمدار بازار ارزهای دیجیتال، به عنوان طلای دیجیتال هم شناخته میشود. تراکنشهای بیت کوین، درون بلاکهای شبکهاش پردازش و اعتبار سنجی میشود. اما یک نکته مهم در این میان وجود دارد: سایز بلاکهای بیت کوین محدود است و این امر در زمان اوج استفاده، باعث افزایش کارمزد و کاهش زمان نهایی شدن تراکنش میشود. اینجاست که سگویت به عنوان راهکاری درخشان وارد میشود که نه تنها این مشکلات را بر طرف میکند بلکه فضایی جدید از فرصتها را معرفی میکند. مانند این است که شبکه بیت کوین به توربو مجهز شود. به این ترتیب تراکنشهای بیشتری در یک بلاک جای میگیرد در حالیکه امنیت هم بهبود پیدا میکند و شرایط برای ورود شبکه لایتنینگ هم آماده خواهد شد.
سگویت (SegWit) ترکیبی از دو واژه Segregated به معنای تفکیک شده و Witness به معنای شاهد است. منظور از شاهد، چیزی به جز همان امضای دیجیتال نیست. سگویت یک بروزرسانی پروتکل است که در سال 2015 توسعه داده شد. این مفهوم به عنوان راهکاری برای مشکل مقیاسپذیری شبکه بیت کوین مطرح شد. شبکه بیت کوین به طور متوسط قادر به پردازش یک بلاک جدید حاوی چندین تراکنش در مدت زمان 10 دقیقه است. به این ترتیب اندازه هر بلاک بر تعداد تراکنشهایی که درون آن میگنجد، تاثیر دارد.
سگویت که توسط یکی از توسعه دهندگان بیت کوین به نام Pieter Wuille به همراه تنی چند از توسعه دهندگان Bitcoin Core معرفی شد در آگوست 2017 در شبکه بیت کوین به عنوان یک سافت فورک پیاده سازی شد. به این معنا که شبکه بیت کوین همچنان از نسخههای قبلی هم پشتیبانی میکند. امروزه شبکههایی مانند بیت کوین و لایت کوین از سگویت استفاده میکنند.
سگویت چگونه کار میکند؟
ایده اصلی سگویت، سازماندهی مجدد دادههای درون بلاک است به این ترتیب که امضای دیجیتال دیگر به همراه تراکنشها درون آن قرار داده نمیشود. به زبان سادهتر، بروزرسانی سگویت شامل شاهدی جدا شده (Segregated Witness) از دادههای تراکنش است. در نتیجه، تراکنشهای بیشتری در یک بلاک جای خواهد گرفت که منجر به افزایش قدرت شبکه میشود.
ساختار تراکنش
در یک تراکنش بیت کوین، ورودی و خروجی وجود دارد. ورودیها، کوینهایی هستند که خرج میشوند و خروجیها آدرس مقصد هستند که کوینها به آن ارسال میشوند. این تراکنش همچنین شامل یک امضای دیجیتال است که اعتبار فرستنده را برای خرج کردن کوینها تایید میکند.
جدا کردن امضای دیجیتال
سگویت (SegWit)، دادههای تراکنش را از دادههای شاهد (امضا) جدا میکند. در تراکنش سنتی ، امضا بخشی جداییناپذیر از تراکنش است که بر شناسه معامله (TXID) آن تأثیر میگذارد. با سگویت، امضاها به خارج از دادههای تراکنش منتقل میشوند و به طور جداگانه در یک ساختار شناخته شده به عنوان “شاهد” ذخیره میشوند.
دادههای شاهد
دادههای شاهد شامل امضای دیجیتال و سایر داده های مربوط به اعتبارسنجی است. این اطلاعات شاهد در یک درخت مرکل (Merkle Tree) جداگانه ذخیره میشوند. ریشه این درخت (Merkle Root) در دادههای تراکنش گنجانده شده است. با جدا کردن اطلاعات شاهد، سگویت مشکل چکش خواری را حل میکند زیرا تغییر دادههای شاهد بر شناسه معامله تأثیر نمی گذارد.
سازگاری
سگویت به عنوان یک سافت فورک اجرا می شود، به این معنی که با نودهای قدیمی بیت کوین سازگار است. نودهای قدیمی همچنان معاملات سگویت را معتبر میدانند اما دادههای شاهد را درک یا استفاده نمیکنند.
طرح سگویت چه مزایایی دارد؟
افزایش ظرفیت بلاک
یکی از بزرگترین مزایای سگویت (SegWit)، افزایش ظرفیت شبکه است. با جدا کردن بخش امضای دیجیتال از اطلاعات تراکنشهای ورودی ، فضای بیشتری برای گنجاندن تراکنشها در هر بلاک به وجود میآید. هر تراکنش از دو بخش تشکیل شده است که شامل ورودی و خروجی میشود. اصولاً، یک ورودی شامل آدرس عمومی فرستنده است در حالیکه خروجی شامل آدرس عمومی گیرنده است. با اینحال، فرستنده میبایست باید اثبات کند مقدار بیت کوینی که قصد انتقال آن را دارد در کیف پولش موجود است. او این کار را توسط امضای دیجیتال انجام میدهد.
بدون وجود سگویت، بخش دادههای امضای دیجیتال تا 65 درصد از سایز بلاک را اشغال میکند. اما با استفاده از سگویت دادههای امضای دیجیتال از ورودی تراکنش حذف میشود که موجب افزایش سایز موثر بلاک از 1 مگابایت به 4 مگابایت خواهد شد. البته باید دقت داشته باشید که سگویت به معنای افزایش سایز بلاک نیست. در عوض، یک راهکار مهندسی شده برای افزایش سایز موثر بلاک بدون نیاز به افزایش سایز واقعی بلاک است. اگر قرار بر افزایش سایز واقعی بلاک بود باید در شبکه، هارد فورک صورت میگرفت. به طور دقیقتر، سایز واقعی بلاک هنوز 1 مگابایت است در حالیکه سایز موثر بلاک به 4 مگابایت افزایش پیدا کرده است.
همچنین، سگویت ایده وزن بلاک (Block Weight) را معرفی میکند. شاید وزن بلاک را مفهومی به جای سایز بلاک در نظر بگیریم. در واقع، وزن بلاک معیاری برای اندازهگیری تمام دادههای بلاک است که شامل اطلاعات تراکنش (1 مگابایت) و اطلاعات امضای دیجیتال (3 مگابایت) میشود که البته بخش دوم در سگویت جزئی از بخش ورودی تراکنش نیست.
افزایش سرعت تراکنشها
با وجود بلاکی که تراکنشهای بیشتری را در خود جای میدهد، این توانایی برای شبکه به وجود میآید که عملیات پردازش را سریعتر انجام دهد چرا که تعداد تراکنش بیشتری در حال جابجا شدن است. در واقع، زمان استخراج بلاکها همان 10 دقیقه است اما در هر بلاک تعداد بیشتری تراکنش وجود دارد که موجب افزایش TPS (تعداد تراکنشها در ثانیه) میشود.
افزایش سرعت تراکنشها، موجب کاهش هزینه کارمزد هم در این شبکه میشود. تا قبل از راهاندازی سگویت هزینه 30 دلاری برای کارمزد تراکنشها امری غیر متداول نبود.
اصلاح چکشخواری تراکنشها
برای اینکه به این موضوع بپردازیم ابتدا میبایست مسئله چکشخواری تراکنشها (Transaction Malleability) را درک کنیم.
مسئله چکشخواری تراکنشهای بیت کوین، موضوعی است که منجر به یکی از بزرگترین هکهای تاریخ ارزهای دیجیتال شده است. به دلیل وجود این باگ در تراکنشهای بیت کوین حدود 850 هزار بیت کوین از صرافی Mt.Gox در سال 2014 (یا بهتر است بگوییم از 2011 تا 2014 به صورت تدریجی) به سرقت رفت. با این مقدمه دردناک و قبل از توضیح مشکل چکش خواری نیاز است کمی نحوه انجام تراکنشها را بیشتر بشناسیم.
در یک تراکنش بیت کوین، تمام اطلاعات موجود در تراکنش مانند آدرس گیرنده، فرستنده، مبلغ و … به کمک امضای دیجیتال حراست میشود. با وجود این امضای دیجیتال هر شخصی در شبکه میتواند صحت اطلاعات تراکنش را تایید کند. حال اگر کوچکترین تغییری در اطلاعات درون تراکنش اتفاق بیفتد امضای دیجیتال آن دیگر با اطلاعات درون آن هماهنگی نخواهد داشت و به این ترتیب هر شخصی که این تراکنش را ببیند متوجه تغییر اطلاعات آن خواهد شد.
هر تراکنش بیت کوین یک شناسه منحصر به فرد (Transaction ID) دارد. این شناسه از هش (Hash) تمام اطلاعات درون آن تراکنش گرفته میشود. با توجه به ویژگی هش، کوچکترین تغییری در اطلاعات درون تراکنش باعث تغییر هش و در نتیجه شناسه تراکنش خواهد شد. دقت کنید که در یک تراکنش تمام اطلاعات توسط امضای دیجیتال حراست میشود اما خود امضای دیجیتال از این تغییرات مصون نیست.
امضای دیجیتال رشتهای طولانی از اعداد و حروف است که میتوان بدون اینکه تغییری در اطلاعات تراکنش رخ دهد، در آن تغییرات جزئی انجام داد. مثلاً در این رشته از اعداد عدد 3 را 03 جایگزین کرد. این دو عدد از نظر ارزشی یکسان هستند اما هش آنها متفاوت است. این هش متفاوت منجر به ایجاد شناسهای متفاوت میشود. این باگ موجود در شبکه بیت کوین به چکش خواری یا Malleability معروف است.
همانطور که پیشتر اشاره شد سگویت (SegWit) باعث جدا شدن اطلاعات شاهد از دادههای درون تراکنش میشود. به طور دقیقتر، بروزرسانی سگویت یک زنجیره جانبی و خارج از بلاکچین اصلی است که برای ذخیره اطلاعات شاهد از آن استفاده میشود. بدین ترتیب امکان هیچگونه تغییری در اطلاعات تراکنش وجود ندارد. از آنجا که این بروزرسانی به شکل سافت فورک پیادهسازی شده است و همچنان از نسخههای قبلی پشتیبانی صورت میگیرد،سگویت قادر به ثبت و ذخیرهسازی اطلاعات شاهد در بلاکچین اصلی است، به این ترتیب که سگویت به رمزگذاری تمام اطلاعات شاهد در زنجیره جانبی میپردازد، در حالیکه کد اصلی و مبنا را در بلاکچین ذخیره میکند.
طرح سگویت چه معایبی دارد؟
پیچیدگی
سگویت (SegWit) موجب افزوده شدن سطحی از پیچیدگی به شبکه بیت کوین میشود. جدا کردن دادههای معامله از دادههای شاهد یک مفهوم پیچیده است که احتمال دارد برای کاربر معمولی کاملاً قابل درک نباشد. این پیچیدگی به طراحی کیف پولها نیز تعمیم پیدا میکند، زیرا توسعهدهندگان نیاز دارند نرمافزارهای خود را بهطور مؤثر برای پشتیبانی از سگویت بهروز کنند. در طی دوره انتقال، کاربران ممکن است با مشکلاتی در هنگام ارسال یا دریافت معاملات مبتنی بر سگویت روبهرو شوند که میتواند منجر به سردرگمی شود.
عدم هماهنگی برای پذیرش عمومی
هرچند پذیرش سگویت (SegWit) از بدو پیدایش در حال افزایش بوده است، اما این پذیرش کاملاً عمومی نیست. تمامی کیفپولها و صرافیهای بیت کوین پشتیبانی از سگویت را پیادهسازی نکردهاند. به این ترتیب تمام کاربران قادر به بهرهبرداری از مزیتهای ارائه شده توسط این طرح نخواهند بود.
نگرانیهای امنیتی
در حالی که سگویت، امنیت بیت کوین را در بسیاری از جوانب بهبود میبخشد، اما عناصر جدیدی را معرفی میکند که نیاز به دقت و ملاحظه دارند. برخی از منتقدان ادعا میکنند که جدا کردن دادههای شاهد از معاملات ممکن است به آسیبپذیریها یا مسیرهای حمله ناشناخته منجر شود.
در نتیجه، بدون شک سگویت مزایای قابل توجهی را برای شبکه بیت کوین به ارمغان میآورد، اما ضروری است که پیچیدگیها، چالشهای پذیرش عمومی و نگرانیهای امنیتی مدنظر قرار گرفته شود. درک همزمان از مزایا و معایب سگویت به کاربران و جامعه رمزارزی قدرت تصمیمگیری آگاهانه در مورد استفاده از آن و تأثیر آن بر اکوسیستم بیت کوین را میدهد.
کدام کیفپولها از سگویت (SegWit) پشتیبانی میکنند؟
تنها راه حفاظت و کنترل 100 درصدی از ارزهای دیجیتال، در اختیار داشتن کلید خصوصی کیفپول است. بنابراین کیف پول بخشی جدا نشدنی از دنیای ارزهای دیجیتال محسوب میشود. کیفپولهای ارز دیجیتال بسته به میزان استفاده، ارزش ارزهای دیجیتال نگهداری شده، میزان امنیت مدنظر و … به دستههای مختلفی تقسیمبندی میشوند. کیفپولهایی که از بروزرسانی سگویت پشتیبانی میکنند عبارتند از:
ترزور (Trezor)
کیف پول ترزور یکی از قدیمیترین و قابلاعتمادترین تولیدکنندگان کیفپولهای سخت افزاری است. ترزور یکی از اولین پروژه هایی بود که سگویت را پیاده سازی کرد.
لجر نانو اس (Ledger Nano S)
یکی از محبوبترین کیفپولهای سختافزاری به نام کیف پول Ledger Nano S و Ledger Nano S+ نیز در میان اولین کیفپولهایی بود که قابلیتهای سگویت را پیادهسازی کرد.
الکتروم (Electrum)
این کیفپول نرمافزاری تقریبا در تمام سیستم عاملها قابل اجراست. این کیفپول منبع باز، از سگویت پشتیبانی میکند و به کاربران اجازه میدهد مقدار کارمزد را خودشان مشخص کنند.
سامورایی (Samourai)
این کیفپول که بیشتر بر حریم خصوصی و ناشناس بودن تاکید دارد نیز جزء کیفپولهایی است که از آپدیت سگویت پشتیبانی میکند.
سگویت و شبکه لایتنینگ
بروزرسانی سگویت (SegWit) برای شبکه لایتنینگ (Lightning Network) بیتکوین اهمیت بسیار زیادی دارد که در زیر به آنها میشود:
افزایش مقیاس پذیری
سگویت اجازه میدهد تا امضاهای دیجیتال تراکنشها از بدنه تراکنش جدا شوند. این تغییر به معنای افزایش فضای معاملاتی در هر بلوک بیتکوین خواهد بود. با این افزایش مقیاسپذیری، شبکه لایتنینگ میتواند به طور همزمان میلیونها تراکنش را پردازش کند. این امکان باعث افزایش قابل توجه سرعت و کاهش هزینههای تراکنشی میشود.
افزایش امنیت
با تفکیک امضاها از دادههای تراکنش، امنیت شبکه لایتنینگ بهبود مییابد. اگرچه این شبکه به طور معمول برای تراکنشهای کوچک و فوری استفاده میشود، اما امنیت همچنان اهمیت دارد. سگویت با جلوگیری از مشکل چکشخواری تراکنشها (Transaction Malleability) و حفظ امضاها از تغییر، افزایش امنیت را تضمین میکند.
پایهگذاری برای بروزرسانیهای آینده
وجود سگویت (Segwit) در شبکه بیتکوین به عنوان یک پایهگذاری برای تغییرات و ارتقاءهای آینده عمل میکند. این به توسعهدهندگان امکان میدهد تا به راحتی و با اطمینان از امنیت شبکه بیتکوین، ویژگیهای جدیدی مانند بروزرسانیهای پروتکلی یا افزونههای دیگر را به شبکه اضافه کنند. این امکانات باعث ایجاد محصولات و خدمات نوآورانهتر و کارآمدتری در دنیای ارزهای دیجیتال میشوند.
به طور کلی، سگویت به عنوان یک ارتقاء کلیدی در شبکه بیتکوین، مخصوصاً در ترکیب با شبکه لایتنینگ، باعث بهبود امنیت، مقیاسپذیری، سرعت، و هزینههای تراکنشی میشود و این به تسهیل و ترویج اقبال به خرید بیت کوین به عنوان ارز دیجیتال برای استفاده روزمره کمک میکند.
سگویت 2X
سگویت 2x به عنوان یک پروتکل ارتقاء برای بیتکوین در نظر گرفته میشد که به مقیاسپذیری شبکه کمک میکرد. این پروتکل میخواست حجم بلوکهای بیتکوین را از 1 مگابایت به 2 مگابایت افزایش دهد. این امر به نظر میآمد که بهبودی در سرعت تراکنشها و کاهش هزینه تراکنشها ایجاد کند. اما پروتکل سگویت 2x به نتوانست نظر اکثر فعالان را به خود جلب کند.
یکی از دلایل اصلی که سگویت 2x لغو شد، اختلاف نظرهای قابلتوجه در ارتباط با امنیت و توزیع منصفانه بلوکها بین ماینرها بود. بسیاری از افراد و توسعهدهندگان معتقد بودند که افزایش سریع اندازه بلوکها ممکن است به مشکلات امنیتی و متمرکزشدن بیتکوین منجر شود.
در نهایت، پس از بحثهای طولانی، اکثریت جامعه بیتکوین تصمیم گرفت که سگویت 2x را لغو کند و به جای آن، سگویت (بدون افزایش اندازه بلوک) را به عنوان یک آپدیت بپذیرد. این تصمیم به حفظ امنیت و توزیع عادلانه بلوکها در شبکه کمک کرد.
سگویت بومی چیست؟
مفهوم سگویت بومی (Native SegWit) در دنیای ارزهای دیجیتال به نوعی از آدرسها یا کیفهای دیجیتال ارتباط دارد. این نوع آدرس به نام P2WPKH که مخفف Pay-to-Witness-Public-Key-Hash است هم شناخته میشود و از سیستم سگویت بهره میبرد.
آدرسهای سگویت بومی به طور عمده نسخههای بهبود یافتهتری از آدرسهای بیتکوین هستند. آنها از مزایای امنیتی و عملکردی بهتری نسبت به آدرسهای قدیمی برخوردارند.
مقایسه سگویت و سگویت بومی
1. ساختار آدرس
اولین تفاوت سگویت و سگویت بومی ساختار آدرس آنهاست.
سگویت: آدرسها با 3 آغاز میشوند. این آدرسها پردازش تراکنش غیر سگویت را هم فراهم میکنند.
سگویت بومی: آدرسهای این نوع با bc1 آغاز میشوند که به آنها آدرس bech32 هم گفته میشود.
2. امنیت
در سگویت بومی شاهد امنیت بیشتری نسبت به سگویت هستیم.
3. هزینه تراکنشها
سگویت: تراکنشهای سگویت معمولاً هزینههای کمتری دارند نسبت به آدرسهای قدیمی، اما هزینههایی که باید برای تبدیل آدرسهای قدیمی به سگویت پرداخت کرد، ممکن است بیشتر باشند.
سگویت بومی: تراکنشهای سگویت بومی معمولاً هزینههای کمتری نسبت به سگویت دارند و نیاز به تبدیل آدرسها ندارند، بنابراین هزینههای کلی کاهش مییابد.
4. بازده و کارایی
به طور کلی آدرسهای سگویت راندمان بهتری نسبت به آدرسهای قدیمی (Legacy) دارند. اما به علت ساختار بهینهتر آدرسهای سگویت بومی نسبت به سگویت، شاهد کارایی بهتری هم هستیم.
اثر سگویت (SegWit) بر آینده شبکه بیتکوین و ارزهای دیجیتال بسیار مهم و چشمگیر بوده است. این ارتقاء اساسی در بیتکوین تأثیرات مثبتی بر زمینههای مختلف این تکنولوژی داشته است.
تاثیر سگویت بر آینده بیت کوین و ارزهای دیجیتال
1. مقیاسپذیری و سرعت
سگویت با جدا کردن امضاها از دادههای تراکنشها به افزایش مقیاسپذیری شبکه بیتکوین کمک کرده است. حذف امضاها از تراکنشها به اندازهی 4 برابری حجم بلوکها را افزایش داده و تعداد تراکنشهایی که در هر بلوک جای میگیرند را افزایش داده است. این به معنای کاهش هزینهها و افزایش سرعت تراکنشهاست.
2. امنیت
سگویت از لحاظ امنیتی نیز تأثیرات مهمی دارد. جدا کردن امضاها از تراکنشها به معنای حفظ امنیت تراکنشها در برابر مشکلاتی مانند تغییر تراکنشهاست. این امر به افزایش اعتماد به شبکه بیتکوین و سایر ارزهای دیجیتال کمک کرده و تأثیرات مثبتی بر آینده این ارزها دارد.
3. فناوریهای بلاکچین جدید
سگویت (Segwit)، زیرساختی برای توسعه فناوریهای جدید در دنیای بلاکچین فراهم کرده است. به عنوان مثال، این بروزرسانی مهمترین پایهگذاری برای اجرای شبکه لایتنینگ به شمار میآید و به طور کلی امکان توسعه برزورسانیهای آتی در زمینه تراکنشها و امنیت را فراهم میکند.
بنابراین، سگویت به عنوان یک ارتقاء مهم در شبکه بیتکوین و ارزهای دیجیتال به مقیاسپذیری، امنیت، و توسعه فناوریهای جدید کمک میکند و تأثیرات بزرگی بر آینده این فضا دارد.
جمع بندی
سگویت، به عنوان یک ارتقاء بنیادی در شبکه بیتکوین، تغییرات مهمی را ایجاد کرده است. این تغییرات شامل جداسازی امضاها از تراکنشها، افزایش مقیاسپذیری، کاهش هزینههای تراکنش و افزایش امنیت میشود. سگویت نه تنها به بهبود کارایی شبکه بیتکوین کمک کرده بلکه زیرساختی برای تکنولوژیهای جدیدی مانند شبکه لایتنینگ و توسعههای آینده نیز فراهم کرده و به تکامل ارزهای دیجیتال به عنوان یک واحد پرداختی بهبود یافته کمک کرده است. با انعطافپذیری و توانایی تطابق با نیازهای روزمره، سگویت به عنوان یکی از نقاط عطف اصلی در تاریخ ارزهای دیجیتال و بلاکچین شناخته میشود و نشان میدهد که این فناوری همچنان در حال رشد و تکامل است.