Bitcoin.com

SegWit (شاهد جداشده) چیست؟ مهم‌ترین به‌روزرسانی بیت‌کوین توضیح داده شده

SegWit (گواهی جداشده) یک به‌روزرسانی بیت‌کوین در سال ۲۰۱۷ است که کارمزدها را کاهش داد، یک نقص امنیتی بحرانی را برطرف کرد و شبکه لایتنینگ را ممکن ساخت. در اینجا نحوهٔ کار آن آمده است.

آخرین به‌روزرسانی
منتشر شده
زمان مطالعه۴ دقیقه مطالعه
نوشته
Neil Author
نیل ولاردو
Crypto content specialist since 2017; reviews iGaming platforms firsthand
بازبینی توسط
Graham Stone Author Image
گراهام استون
What is Bitcoin SegWit (Segregated Witness)?

اگر کیف‌پول بیت‌کوین را باز کرده‌اید و از شما خواسته شده بین آدرس‌های «Legacy»، «SegWit» یا «Native SegWit» یکی را انتخاب کنید، بدون هیچ توضیحی درباره معنای آن‌ها، این انتخاب به یک به‌روزرسانی واحد در سال ۲۰۱۷ بازمی‌گردد.

سگ‌ویت، مخفف شاهد جداشدهیک ارتقای پروتکل بیت‌کوین است که در اوت ۲۰۱۷ فعال شد و داده‌های امضای دیجیتال را از ساختار اصلی تراکنش خارج کرده و به یک فیلد جداگانه به نام شاهد منتقل می‌کند. این یک تغییر معماری ساده، کارمزد تراکنش‌ها را کاهش داد، یک آسیب‌پذیری امنیتی چندساله به نام ناسازگاری تراکنش را برطرف کرد و شرایط فنی لازم برای وجود شبکه لایتنینگ و تاپ‌روت را فراهم آورد.

این مقاله به بررسی اینکه SegWit در واقع چه می‌کند، نحوه کار سیستم وزن بلاک، معنای انواع مختلف آدرس‌ها برای کارمزدهای شما و نبرد سیاسی جنجالی که نزدیک بود شبکه بیت‌کوین را پیش از فعال شدن از هم بپاشد، می‌پردازد.

بیت‌کوین خود را با ... مدیریت کنید اپلیکیشن کیف پول Bitcoin.com.

نکات کلیدی

  • SegWit (Segregated Witness) یک ارتقای پروتکل بیت‌کوین است که در ۲۴ اوت ۲۰۱۷ فعال شد، رسماً با شماره BIP 141 مشخص شده و در دسامبر ۲۰۱۵ توسط پیتر ویل، اریک لومبروزو و جانسون لاو پیشنهاد شد.
  • این داده‌های امضای دیجیتال («شاهد») را از بدنه اصلی تراکنش جدا می‌کند، آسیب‌پذیری امنیتی به نام تغییرپذیری تراکنش را برطرف می‌سازد و هر تراکنش را کوچک‌تر می‌کند.
  • ظرفیت بلاک به‌جای بایت‌ها برحسب واحدهای وزنی (WU) اندازه‌گیری می‌شود. داده‌های شاهد برای هر بایت ۱ واحد وزنی هزینه دارد در حالی که داده‌های دیگر برای هر بایت ۴ واحد وزنی هزینه دارند، که به تراکنش‌های SegWit تخفیف ۷۵٪ در اندازه امضا می‌دهد.
  • SegWit بومی (آدرس‌های bc1q) یک تراکنش استاندارد را از حدود ۲۲۶ بایت به حدود ۱۴۱ بایت کاهش می‌دهد و کارمزدها را در مقایسه با آدرس‌های قدیمی حدود ۳۸٪ کاهش می‌دهد.
  • ضمانت ثابت TXID در SegWit پیش‌شرط فنی برای شبکه لایتنینگ بود. بدون آن، کانال‌های پرداخت را نمی‌توانستند به‌طور ایمن ایجاد کنند.
  • سیستم نسخه‌بندی اسکریپت آن، تپ‌روت (SegWit V1، فعال‌شده در ۲۰۲۱) را ممکن ساخت و چارچوبی برای ارتقاءهای آینده بیت‌کوین بدون فورک‌های سخت فراهم می‌کند.
  • تا سال ۲۰۲۶، تقریباً ۸۵٪ از تراکنش‌های بیت‌کوین از SegWit استفاده می‌کنند. این یک استاندارد شبکه است، نه یک ویژگی جدید.

SegWit چیست؟

SegWit، یا Segregated Witness، تغییری در قالب تراکنش بیت‌کوین است که امضاهای دیجیتال، یعنی مدرک رمزنگاری‌شده‌ای که نشان می‌دهد شما حق خرج کردن یک سکه را دارید، از داده‌های اصلی تراکنش جدا کرده و آن‌ها را در ساختاری جداگانه به نام «شاهد» ذخیره می‌کند. این کار هر تراکنش را کوچک‌تر می‌کند، امکان جای گرفتن تراکنش‌های بیشتر در هر بلاک را فراهم می‌آورد و یک آسیب‌پذیری را که ساخت ایمن کانال‌های پرداخت بر روی بیت‌کوین را غیرممکن کرده بود، از بین می‌برد.

این نام به‌سادگی تجزیه می‌شود: «segregated» به معنای جداشده است و «witness» اصطلاح رمزنگاری برای داده‌های امضایی است که صحت یک تراکنش را اثبات می‌کند. witness به این پرسش پاسخ می‌دهد «آیا مالک حقیقی این تراکنش را تأیید کرده است؟» در حالی که بقیهٔ داده‌های تراکنش به این پرسش پاسخ می‌دهند «وجوه به کجا و به چه مبلغی منتقل می‌شوند؟»

BIP141 GitHubThe official BIP 141 header on GitHub, showing its three co-authors and December 2015 assignment date.

این ارتقا رسماً به عنوان پیشنهاد بهبود بیت‌کوین شماره ۱۴۱ مشخص شد (پیشنهاد بهبود بیت‌کوین ۱۴۱) و توسط توسعه‌دهندگان بیت‌کوین کور، پیتر ویل، اریک لومبروزو و جانسون لاو در کنفرانس اسکیلینگ بیت‌کوین در دسامبر ۲۰۱۵ پیشنهاد شد. این فورک نرم در شبکه اصلی بیت‌کوین در ۲۴ اوت ۲۰۱۷، در بلوک ۴۸۱٬۸۲۴ فعال شد، به این معنی که با نسخه‌های قبلی سازگار بود. نودهایی که ارتقا نیافته بودند همچنان می‌توانستند داده‌های پایه تراکنش را اعتبارسنجی کنند؛ نودهای ارتقا یافته تصویر کامل از جمله شاهد را مشاهده می‌کردند.

تا سال ۲۰۲۶، تقریباً ۸۵٪ از تمام تراکنش‌های بیت‌کوین از SegWit استفاده می‌کنند. این دیگر یک ویژگی جدید نیست، بلکه یک استاندارد است.

مشکلاتی که SegWit برای حل آن‌ها ساخته شد

SegWit دو مشکل جداگانه‌ای را که سال‌ها بیت‌کوین را محدود کرده بودند، برطرف کرد.

انعطاف‌پذیری تراکنش

هر تراکنش بیت‌کوین یک شناسهٔ منحصربه‌فرد به نام TXID دارد که هشی است از داده‌های تراکنش تولید شده. قبل از SegWit، آن هش بر روی کل تراکنش، از جمله امضا، محاسبه می‌شد.

مشکل اینجاست: یک امضای رمزنگاری‌شده نمی‌تواند خودش را امضا کند. این موضوع یک پنجرهٔ کوچک باز گذاشت که هر کسی تراکنش شما را در سراسر شبکه منتقل می‌کرد، می‌توانست اندکی امضا را تغییر دهد به‌طوری‌که از نظر ریاضی معتبر باقی بماند اما TXID متفاوتی تولید کند. وجوه همچنان به آدرس درست می‌رفت و تراکنش همچنان انجام می‌شد، اما شناسه تغییر کرده بود.

برای یک پرداخت ساده، این موضوع فاجعه‌بار به نظر نمی‌رسد. برای پروتکل‌هایی که چندین تراکنش تأییدنشده را پشت سر هم زنجیر می‌کنند، این وضعیت مرگبار است. شبکه لایتنینگ که با ایجاد مجموعه‌ای از تعهدات پرداخت خارج از زنجیره که به شناه‌های تراکنش‌های قبلی ارجاع می‌دهند کار می‌کند، اگر هر یک از آن شناه‌ها قبل از تأیید تغییر کند، نمی‌تواند به‌طور ایمن عمل کند. شناه‌ی تراکنش قابل تغییر به معنای شکست زنجیره است و ممکن است وجوه مسدود یا دزدیده شوند.

قابلیت تغییر شکل تراکنش‌ها نیز پیش از رفع شدن، خسارت‌های واقعی به بار آورد. صرافی مونت گاکس آن را به‌عنوان یکی از عوامل مؤثر در فروپاشی سال ۲۰۱۴ خود ذکر کرد، هرچند مورخان در این‌که تا چه حد این موضوع علت اصلی بوده یا صرفاً بهانه‌ای برای سوءمدیریت‌های عمیق‌تر بوده است، اختلاف نظر دارند.

SegWit این مشکل را با حذف امضاها از محاسبه TXID به‌طور کامل حل کرد. شناسه اکنون تنها از فیلدهای پایه تراکنش محاسبه می‌شود. تغییر امضا دیگر هویت تراکنش را تغییر نمی‌دهد.

ممانعت از تراکم و افزایش هزینه‌ها

تا سال ۲۰۱۶ و اوایل ۲۰۱۷، بیت‌کوین در حدود ۷ تراکنش در ثانیه پردازش می‌کرد. در هنگام افزایش تقاضا، انباشت تراکنش‌ها به ده‌ها هزار می‌رسید و کارمزدها برای یک ارسال استاندارد تا ۵۰ دلار یا بیشتر بالا می‌رفت. مشکل ساختاری بود: بلوک‌های بیت‌کوین به ۱ مگابایت محدود شده بودند و امضاها تقریباً ۶۵٪ حجم تراکنش را تشکیل می‌دادند.

راه‌حل آشکار، افزایش حد اندازه بلوک، نیازمند فورک سخت بود؛ به این معنی که همه نودها باید ارتقا می‌یافتند یا در زنجیره‌ای ناسازگار باقی می‌ماندند. فورک‌های سخت پرخطر و بحث‌برانگیزند. SegWit راهی یافت تا کاملاً از این محدودیت عبور کند.

SegWit چگونه کار می‌کند

جداسازی داده‌های شاهدی

در یک تراکنش بیت‌کوین سنتی، هر ورودی شامل یک فیلد ScriptSig است که امضا و کلید عمومی خرج‌کننده را در خود دارد. در یک تراکنش SegWit، فیلد ScriptSig برای ورودی‌های SegWit خالی گذاشته می‌شود. امضا و کلید عمومی به یک فیلد شاهد جدید منتقل می‌شوند که در انتهای تراکنش اضافه می‌شود.

دو بایت اضافی، یک نشانگر (0x00) و یک پرچم (0x01)، به نودهای آگاه SegWit می‌گویند که داده‌های شاهد در ادامه آمده است. نودهایی که پیش از SegWit وجود داشتند، صرفاً یک ScriptSig خالی را می‌بینند و تراکنش را بر اساس تفسیر قدیمی «هر کسی می‌تواند خرج کند» معتبر پردازش می‌کنند و سازگاری رو به عقب را حفظ می‌کنند.

وزن بلوک جایگزین اندازه بلوک می‌شود

SegWit محدودیت اندازه بلوک ۱ مگابایتی را با معیار جدیدی به نام وزن بلوک جایگزین کرد که حداکثر آن ۴ میلیون واحد وزن (WU) است.

جزئیات حیاتی در نحوهٔ شمارش بایت‌ها نهفته است:

  • هر بایت از داده‌های تراکنش غیرشاهد ۴ واحد وزن هزینه دارد.
  • هر بایت از داده‌های شاهد تنها یک واحد وزن هزینه دارد.

از آنجا که امضاها حجیم هستند و اکنون در بخش شاهد قرار دارند، از نظر ظرفیت بلاک یک‌چهارم هزینه قبلی را دارند. به این ترتیب SegWit در عمل اندازه مؤثر بلاک را بدون دست زدن به قانون ۱ مگابایتی که نودهای قدیمی اعمال می‌کنند، به حدود ۱.۷ تا ۲ مگابایت افزایش داد. برای یک بلاک کاملاً نظری مبتنی بر SegWit، حداکثر ظرفیت ۴ مگابایت است، هرچند این در عمل هرگز رخ نمی‌دهد زیرا هر بلاک همچنین حاوی داده‌های غیرشاهد نیز هست.

بایت‌های مجازی (vBytes): واحدی که در کیف‌پول‌ها می‌بینید

برای اینکه نرخ کارمزدها با تراکنش‌های قدیمی قابل مقایسه باشد، SegWit واحدهای مجازی بایت (vbytes) را معرفی کرد: واحدهای وزنی تقسیم‌شده بر ۴. در تراکنش‌های قدیمی، بایت و vbytes یکسان هستند. در تراکنش‌های SegWit، vbytes کمتر است زیرا داده‌های شاهد تخفیف‌خورده مقدار را کاهش می‌دهد.

کارمزدها در کیف‌پول بر حسب ساتوشی به ازای هر vbyte (sat/vB) بیان می‌شوند. یک تراکنش SegWit با vbyte کمتر، در همان نرخ sat/vB کارمزد کمتری می‌پردازد. این سازوکار پشت صرفه‌جویی در کارمزد است که هنگام استفاده از آدرس bc1q به جای آدرس 1... مشاهده می‌کنید.

انواع آدرس SegWit: کدام را باید استفاده کنید؟

SegWit در کنار تغییرات فنی خود، قالب‌های جدید آدرس را معرفی کرد. نوع آدرس تعیین می‌کند که کیف‌پول شما شرایط خرج‌کردن را چگونه رمزگذاری می‌کند، که این موضوع بر کارمزدها، سازگاری شما با کیف‌پول‌های دیگر و نحوه نمایش تراکنش‌هایتان در زنجیره تأثیر می‌گذارد.

مقایسه نوع آدرس

نوع آدرسپیشوندرمزگذاریاندازه معمول ترانزیستور (۱ ورودی، ۲ خروجی)صرفه‌جویی در هزینه‌ها در مقابل میراثپشتیبانی کیف پول
میراث (P2PKH)۱...بیس۵۸~۲۲۶ بایتخط مبناجهانی
SegWit تودرتو (P2SH-P2WPKH)۳...بیس‌۵۸~۱۶۷ بایتحدود ۲۶٪بسیار گسترده
سگ‌ویت بومی (P2WPKH)بی‌سی۱کیو... ۴۲ کاراکتربیچ۳۲~۱۴۱ بایتحدود ۳۸٪تمام کیف‌های پول مدرن
چندامضایی بومی SegWit (P2WSH)بی‌سی۱کیو... ۶۲ کاراکتربیچ۳۲متغیر است~۳۲٪+تمام کیف‌های پول مدرن
ریشهٔ اصلی (P2TR)بی‌سی۱پی... ۶۲ کاراکتربیچ۳۲م~۱۵۴ بایتحدود ۳۲٪اکثر کیف‌های پول مدرن

داده‌های اندازه تراکنش: Spark.money مرجع اندازه تراکنش بیت‌کوین، ۲۰۲۶. صرفه‌جویی در کارمزد تقریبی است و بسته به شرایط ممپول متغیر است.

میراث (P2PKH، پیشوند ۱...) این فرمت اصلی از سال ۲۰۰۹ است. امضا در داخل بدنه اصلی تراکنش باقی می‌ماند و با وزن کامل محاسبه می‌شود. هیچ صرفه‌جویی در کارمزد صورت نمی‌گیرد. هنوز به‌طور گسترده پشتیبانی می‌شود، که تنها دلیل استفاده از آن در حال حاضر است، اگر با نرم‌افزاری بسیار قدیمی سروکار دارید که قادر به دریافت هیچ فرمت دیگری نیست.

SegWit آشیانه‌ای (P2SH-P2WPKH، پیشوند ۳...) یک اسکریپت SegWit را درون یک پاکت P2SH قدیمی‌تر می‌پیچد. وقتی SegWit در سال ۲۰۱۷ فعال شد، همه کیف‌پول‌ها و صرافی‌ها بلافاصله از فرمت جدید bc1 پشتیبانی نکردند. SegWit توکار پل سازگاری بود: شما صرفه‌جویی جزئی در کارمزد می‌گیرید و فرستندگانی که از نرم‌افزار قدیمی‌تر استفاده می‌کنند هنوز هم می‌توانند به شما پرداخت کنند. تا سال ۲۰۲۶، این فرمت عمدتاً به‌عنوان یک راه‌حل پشتیبان وجود دارد. ۳... پیشوند با آدرس‌های P2SH غیر SegWit مشترک است، که به این معنی است که نمی‌توان تنها با نگاه به آدرس تشخیص داد که آیا در حال مشاهده یک تراکنش SegWit هستید یا خیر.

SegWit بومی (P2WPKH، پیشوند بی‌سی۱کیو...، ۴۲ کاراکتر) برای اکثر کاربران انتخاب مناسبی است. این از رمزگذاری Bech32 استفاده می‌کند که همه‌اش با حروف کوچک است، قابلیت تشخیص خطای بهتری نسبت به Base58 دارد و کاراکترهای شبیه به هم (O بزرگ، صفر، I بزرگ یا l کوچک) را حذف می‌کند. یک تراکنش استاندارد P2WPKH با یک ورودی و دو خروجی، حدود 141 vbytes هزینه دارد که تقریباً 38٪ کمتر از تراکنش معادل در سیستم قدیمی است. از سال 2026، تمام کیف‌پول‌ها و صرافی‌های فعال از آن پشتیبانی می‌کنند.

چندامضایی بومی SegWit (P2WSH، پیشوند بی‌سی۱کیو...، ۶۲ کاراکتر) این نسخهٔ hash-script است که برای کیف‌پول‌های امضای چندگانه و شرایط پیچیدهٔ خرج‌کردن استفاده می‌شود. آدرس طولانی‌تر نشان‌دهنده هش ۳۲ بایتی SHA-256 است، نه هش ۲۰ بایتی مورد استفاده در P2WPKH. اگر در حال اجرای پیکربندی چندامضایی ۲ از ۳ هستید، P2WSH روش بومی SegWit برای انجام این کار است.

ریشهٔ اصلی (P2TR، پیشوند بی‌سی‌وان‌پی...، ۶۲ کاراکتر) این SegWit نسخه ۱ است که در سال ۲۰۲۱ فعال شد. این نسخه به جای ECDSA از امضاهای شنور استفاده می‌کند که امکان تجمیع چندین امضا در یک امضا را فراهم می‌آورد و بدین ترتیب تراکنش‌های چندامضایی را از تراکنش‌های تک‌امضایی آن-چین متمایز نمی‌سازد. این نسخه کمترین کارمزد را برای خرج‌های تک‌امضایی و بهترین حریم خصوصی را ارائه می‌دهد. زمانی از آن استفاده کنید که مطمئن شده‌اید گیرندگان شما و کیف‌پول‌هایشان از آدرس‌های bc1p پشتیبانی می‌کنند.

توصیه‌ی سریع

برای اکثر افراد: از SegWit بومی (bc1q) استفاده کنید. این روش عملاً توسط همه کیف‌پول‌ها و صرافی‌های فعال پشتیبانی می‌شود، در مقایسه با روش قدیمی حدود ۳۸٪ در کارمزد صرفه‌جویی می‌کند و در سال ۲۰۲۶ هیچ ریسک سازگاری ندارد (برای توسعه‌دهندگانی که SegWit را در نرم‌افزار کیف‌پول ادغام می‌کنند، به راهنمای توسعه کیف پول بیت‌کوین کور.).

اگر کیف‌پول شما از Taproot (bc1p) پشتیبانی می‌کند و شما تراکنش‌های امضای تک‌گانه را با گیرندگانی انجام می‌دهید که کیف‌پول‌هایشان از آن پشتیبانی می‌کنند، این کار کارمزدهای اندکی بهتر و حریم خصوصی بهبودیافته‌ای را فراهم می‌کند.

SegWit تو در تو (3...) یک راهکار سازگاری پشتیبان است. مشکلی ندارد، اما دیگر دلیلی برای پیش‌فرض قرار دادن آن وجود ندارد.

جنگ اندازه بلوک: چرا SegWit این‌قدر بحث‌برانگیز بود

مبانی فنی SegWit روشن بود. مسیر فعال‌سازی آن روشن نبود.

از سال ۲۰۱۵ تا ۲۰۱۷، بیت‌کوین در یکی از بحث‌برانگیزترین مناقشات حکمرانی در تاریخ خود گرفتار بود. در اصل، سؤال ساده بود: یک شبکه غیرمتمرکز چگونه باید قوانین خود را ارتقا دهد وقتی گروه‌های مختلف منافع متضادی دارند؟

بن‌بست معدن

طبق فرایند استاندارد ارتقای BIP9، یک فورک نرم نیاز داشت که ۹۵٪ از ماینرها در یک بازهٔ دو هفته‌ای حمایت خود را اعلام کنند. تا اوایل ۲۰۱۷، SegWit ماه‌ها آمادهٔ فعال‌سازی بود اما همچنان زیر آن آستانه گیر کرده بود.

مهم‌ترین مخالفت از سوی عملیات‌های بزرگ استخراج، به‌ویژه بیت‌مین، که در آن زمان سهم قابل‌توجهی از هش‌ریت بیت‌کوین را در اختیار داشت، مطرح شد. دلیل آن بعدها روشن شد: بیت‌مین از تکنیکی ثبت‌شده به نام ASICBoost استفاده می‌کرد، بهینه‌سازی‌ای که به سخت‌افزار استخراج آن مزیت کارایی قابل‌توجهی می‌داد. SegWit از نظر ساختاری با ASICBoost مخفی ناسازگار بود. مسدود کردن SegWit آن مزیت را حفظ می‌کرد.

BIP 148 و UASF

در مارس ۲۰۱۷، یک توسعه‌دهنده ناشناس با نام مستعار Shaolinfry، BIP 148 را منتشر کرد: یک فورک نرم فعال‌شده توسط کاربر (UASF). به‌جای انتظار برای سیگنال‌دهی ماینرها، BIP 148 پیشنهاد کرد که نودهای اقتصادی، یعنی صرافی‌ها، پردازشگرهای پرداخت و کسب‌وکارهایی که نرم‌افزار بیت‌کوین را اجرا می‌کنند، به‌سادگی از اول اوت ۲۰۱۷ به بعد هر بلوکی را که از SegWit پشتیبانی نمی‌کند، رد کنند.

منطق ساده بود: ماینرها بلوک تولید می‌کنند، اما تنها زمانی ارزش دارند که شبکه آن‌ها را بپذیرد. اگر اکثریت اقتصادی به اندازه کافی نودهای BIP148 را راه‌اندازی می‌کردند، ماینرها یا SegWit را فعال می‌کردند یا شاهد یتیم شدن بلاک‌هایشان بودند. ریسک نیز به همان اندازه واضح بود: اگر پذیرش کافی نبود، شاهد تقسیم زنجیره و اجرای دو نسخه ناسازگار از بیت‌کوین به‌طور موازی می‌بودیم.

کمپین UASF مردمی و پر سر و صدا بود. نشان‌های کنفرانس ظاهر شدند. بحث‌ها در توییتر تشدید شد. عبارت «گره خود را اجرا کن» اهمیتی تازه یافت.

موافقت‌نامه نیویورک و بیت‌کوین کش

در مواجهه با مهلت UASF، بیش از ۵۰ شرکت بزرگ بیت‌کوین در مه ۲۰۱۷ در نیویورک گرد هم آمدند و آنچه به توافق‌نامه نیویورک معروف شد را امضا کردند. آنها موافقت کردند SegWit را فعال کنند، اما متعاقباً یک فورک سخت اجرا کنند تا اندازه بلاک را به ۲ مگابایت دو برابر کنند (که به نام SegWit2x شناخته شد).

این مصالحه هیچ‌یک از دو جناح را به‌طور کامل راضی نکرد. توسعه‌دهندگانی که با بلوک‌های بزرگ مخالف بودند، SegWit2x را یک فورک سخت پشتیبان می‌دانستند که با آن موافقت نکرده بودند. ماینرها و شرکت‌هایی که خواهان بلوک‌های بزرگ‌تر بودند، هنوز به آنچه در ابتدا می‌خواستند نرسیده بودند.

در اول اوت ۲۰۱۷، جناحی که افزایش خالص اندازه بلوک بدون SegWit را می‌خواست، بیت‌کوین را فورک کرد تا بیت‌کوین کش (BCH) را با محدودیت بلوک ۸ مگابایتی ایجاد کند. SegWit در ۲۴ اوت ۲۰۱۷ در بیت‌کوین فعال شد. فورک سخت SegWit2x در نوامبر ۲۰۱۷ پس از آنکه برگزارکنندگان آن به این نتیجه رسیدند که اجماع کافی ندارند، متوقف شد.

آنچه حل شد

نتیجه فراتر از جزئیات فنی اهمیت داشت. UASF کار کرد: گره‌های اقتصادی، نه ماینرها، تعیین کردند که کدام قوانین اجماع اعمال شوند. اکنون این موضوع به‌طور منظم به‌عنوان نمونه‌ای از این مطرح می‌شود که حاکمیت بیت‌کوین در نهایت در دست کسانی است که نرم‌افزار را اجرا و استفاده می‌کنند، نه کسانی که بلوک‌ها را تولید می‌کنند. اول اوت توسط بخشی از جامعه به‌عنوان روز استقلال بیت‌کوین نامیده می‌شود.

آنچه SegWit ممکن ساخت

شبکه لایتنینگ

شبکه لایتنینگ پیش از وجود SegWit طراحی شد. سازندگان آن می‌دانستند تا زمانی که قابلیت تغییرپذیری تراکنش‌ها برطرف نشود، نمی‌توان آن را به‌طور ایمن راه‌اندازی کرد، زیرا کانال‌های پرداخت بر زنجیره‌هایی از تراکنش‌های تأییدنشده که با شناسه تراکنش (TXID) به یکدیگر ارجاع می‌دهند، متکی هستند. تضمین SegWit مبنی بر ثابت‌بودن TXID، این کانال‌ها را ایمن کرد.

شبکه لایتنینگ در اوایل سال ۲۰۱۸ روی شبکه اصلی بیت‌کوین راه‌اندازی شد، تقریباً شش ماه پس از فعال شدن SegWit. تا سه‌ماهه اول سال ۲۰۲۵، بیش از ۱۰۰ میلیون تراکنش را پردازش کرده بود. بدون SegWit، هیچ‌یک از این زیرساخت‌ها وجود نداشت.

نسخه‌بندی ریشه‌ای و اسکریپت

SegWit نسخه‌بندی اسکریپت را به قالب تراکنش بیت‌کوین معرفی کرد. برنامه شاهد با یک بایت نسخه آغاز می‌شود: SegWit V0 شامل P2WPKH و P2WSH است. هر ارتقای آینده که شماره نسخه جدیدی را تعریف کند، قواعد خود را بدون درگیری با قواعد موجود و بدون نیاز به یک نبرد جنجالی دیگر برای ارتقا اعمال می‌کند.

SegWit V1، تپ‌روت (Taproot) است که در نوامبر ۲۰۲۱ فعال شد. این نسخه امضاهای شنور، چارچوب MAST (درخت‌های نحوی مرکل‌شده) برای شرایط پیچیده خرج‌کردن، و بهبودهای حریم خصوصی را به ارمغان آورد که کیف‌پول‌های چندامضایی را در زنجیره (on-chain) دقیقاً مشابه تراکنش‌های تک‌امضایی نشان می‌دهد. هر قابلیت فنی که تپ‌روت معرفی کرد، به معماری نسخه‌بندی که SegWit ایجاد کرده بود، متکی بود.

اَردینال‌ها و کتیبه‌ها

همان ساختار داده شاهدی که SegWit معرفی کرد و Taproot آن را گسترش داد، از نظر فنی امکان درج مستقیم هرگونه داده، تصویر، متن و کد را در تراکنش‌های بیت‌کوین فراهم کرد. این سازوکار پشت پروتکل اوردینالز و حکاکی‌های بیت‌کوین است که باعث جهش در استفاده از داده‌های آن-چین شد و پذیرش تپ‌روت را تا حدود ۴۲٪ تراکنش‌ها در سال ۲۰۲۴ افزایش داد. با کاهش فعالیت حکاکی، استفاده از تپ‌روت تا اواخر سال ۲۰۲۵ به حدود ۲۰٪ از تراکنش‌ها تثبیت شد، در حالی که SegWit V0 با حدود ۸۵٪ همچنان فرمت غالب است.

SegWit در بستر: جدول زمانی ارتقاء بیت‌کوین

سالرویداد
۲۰۱۵پیتر ویل مفهوم SegWit را در کنفرانس اسکیلینگ بیت‌کوین ارائه می‌دهد.
۲۰۱۶BIP 141 رسماً منتشر شد؛ سیگنال‌دهی ماینرها زیر آستانه ۹۵٪ متوقف می‌شود
مارس ۲۰۱۷BIP 148 (UASF) منتشر شده توسط شائولین‌فرای
مه ۲۰۱۷موافقت‌نامه نیویورک توسط بیش از ۵۰ شرکت امضا شد.
۱ آگوست ۲۰۱۷بیت‌کوین کش از بیت‌کوین شاخه‌زنی می‌شود.
۲۴ اوت ۲۰۱۷سگ‌ویت در بیت‌کوین در بلاک ۴۸۱٬۸۲۴ فعال می‌شود.
نوامبر ۲۰۱۷فورک سخت SegWit2x متوقف شد
ژانویه ۲۰۱۸شبکه لایتنینگ روی شبکه اصلی راه‌اندازی شد.
نوامبر ۲۰۲۱تپ‌روت فعال می‌شود و بر پایهٔ سیستم نسخه‌بندی SegWit ساخته می‌شود.
۲۰۲۴-۲۰۲۳اُردینال‌ها و حکاکی‌ها از فضای شاهد SegWit/Taproot بهره‌برداری می‌کنند.
دو هزار و بیست و ششتقریباً ۸۵٪ از تراکنش‌های بیت‌کوین از SegWit استفاده می‌کنند.

به فرزندی گرفتن فعلی

پذیرش SegWit پس از فعال‌سازی به‌طور پیوسته افزایش یافت و در چند ماه اول به ۳۰٪ تراکنش‌ها رسید، سپس در دو سال بعد با ارتقای نرم‌افزار کیف‌پول‌ها و صرافی‌ها از مرز ۵۰٪ فراتر رفت.

تا سال ۲۰۲۶، تقریباً ۸۵٪ از تراکنش‌های بیت‌کوین از SegWit استفاده می‌کنند (منبع: آمار شبکه بیت‌کوین Spark.money، CoinGecko). ۱۵٪ باقی‌مانده تراکنش‌های قدیمی از کیف‌پول‌ها و خدماتی هستند که ارتقا نیافته‌اند. پذیرش تپ‌روت (P2TR، SegWit V1) در سال ۲۰۲۴ با حدود ۴۲٪ از تراکنش‌ها به اوج خود رسید که عمدتاً ناشی از فعالیت حکاکی اوریدینالز بود، پیش از آنکه با کاهش حجم حکاکی تا اواخر ۲۰۲۵ به حدود ۲۰٪ کاهش یابد.

منحنی پذیرش بازتاب‌دهندهٔ آنچه برای SegWit رخ داد است: فرمت‌های جدید آدرس یک تا سه سال طول می‌کشد تا به‌طور گسترده پذیرفته شوند، زیرا کیف‌پول‌های سخت‌افزاری، صرافی‌ها و پردازنده‌های پرداخت نرم‌افزار خود را به‌روزرسانی می‌کنند. پشتیبانی از Taproot همچنان در پیاده‌سازی‌های کیف‌پول گسترش می‌یابد.

SegWit در مقابل لگیسی: خلاصه‌ای از تفاوت‌ها

ویژگیمیراث (پیش از سگ‌ویت)سگ‌ویت
مکان امضادرون ScriptSig (بدنهٔ اصلی تراکنش)میدان شاهد جداگانه
معیار اندازه بلوکاندازه به بایت (حداکثر ۱ مگابایت)واحدهای وزن (حداکثر ۴ واحد وزن ۴ متری)
محاسبه TXIDشامل داده‌های امضاشدهداده‌های شاهد را حذف می‌کند
انعطاف‌پذیری تراکنشممکناصلاح شد
اندازهٔ تراکنش معمول ۱ ورودی/۲ خروجی~۲۲۶ بایت~۱۴۱ بایت ورودی (P2WPKH)
صرفه‌جویی در هزینه‌هاخط مبناحدود ۳۸٪ کمتر (P2WPKH در مقابل P2PKH)
پشتیبانی شبکه لایتنینگنامطمئنالزامی؛ کانال‌های پرداخت را فعال می‌کند
پیش‌وند آدرس۱...بی‌سی۱کیو... (بومی) یا ۳... (درون‌هم)
رمزگذاریبیس۵۸بیچ۳۲

نتیجه‌گیری

SegWit یک ارتقای پروتکل است که داده‌های امضای بیت‌کوین را از داده‌های تراکنش آن جدا کرد، یک نقص امنیتی را که از سال ۲۰۰۹ وجود داشت برطرف نمود، کارمزد تراکنش‌ها را تقریباً یک‌سوم کاهش داد و پایهٔ معماری برای شبکهٔ لایتنینگ، تپ‌روت و همهٔ ساختارهایی را که از آن زمان بر روی آن‌ها ساخته شده‌اند، فراهم آورد.

تا سال ۲۰۲۶، این استاندارد تراکنش در بیت‌کوین است و اکثریت قریب به اتفاق فعالیت‌های آن-چین را پردازش می‌کند. قالب‌های آدرسی که معرفی کرد، به‌ویژه SegWit بومی (bc1q)، همان چیزی است که امروزه اکثر کاربران باید به‌صورت پیش‌فرض از آن استفاده کنند. مبارزه سیاسی پیرامون فعال‌سازی آن همچنان یکی از آموزنده‌ترین فصل‌های تاریخ حاکمیت بیت‌کوین است: نمایشی از اینکه در یک شبکه غیرمتمرکز، اجماع چیزی نیست که ماینرها اعطا کنند، بلکه چیزی است که کاربران بر آن اصرار می‌کنند.

Frequently Asked Questions

What does SegWit stand for?
SegWit stands for Segregated Witness. "Segregated" means separated, and "witness" is the cryptographic term for the signature data that proves a transaction is authorized. Together, the name describes exactly what the upgrade does: it moves signature data out of the main transaction and stores it separately.
Is SegWit safe to use?
Yes. As of 2026, approximately 85% of all Bitcoin transactions use SegWit, making it the network standard. All major wallets (Ledger, Trezor, BlueWallet, Electrum) and exchanges support SegWit addresses. There is no meaningful security trade-off compared to legacy addresses. If anything, SegWit addresses have a slight security advantage because the public key is only revealed when you spend, not when you receive.
What is the difference between SegWit and Native SegWit?
"SegWit" addresses starting with 3 are wrapped (or nested) SegWit. They embed a SegWit script inside an older P2SH envelope for backward compatibility with wallets that predate bc1 support. "Native SegWit" addresses starting with bc1q use the full SegWit format with no wrapper, resulting in lower fees (~38% savings vs legacy, versus ~26% for nested SegWit) and a cleaner address format with better error detection.
What is the difference between SegWit and Taproot?
SegWit (specifically SegWit V0) introduced the witness field and block weight system. Taproot is SegWit V1, activated in November 2021. It uses Schnorr signatures instead of ECDSA, allows signature aggregation for multisig wallets (making them look identical to single-sig on-chain), and enables more complex scripting through MAST. Taproot addresses start with bc1p. For most single-sig users, Taproot offers slightly better fees and improved privacy, but native SegWit (bc1q) remains the safer default given its broader exchange and wallet compatibility.
Can I send Bitcoin from a SegWit address to a Legacy address?
Yes. Bitcoin transactions are format-agnostic on the sending side. You can send from a bc1q address to a 1... address and vice versa. The address format affects how your own spending transaction is sized and priced, not where the funds can go. All SegWit-compatible wallets handle the script generation automatically.
Does SegWit actually reduce my fees?
Yes, in concrete terms. Sending from a native SegWit (bc1q) address reduces your transaction's virtual byte size by roughly 38% compared to a legacy (1...) address for a standard 1-input, 2-output transaction (141 vbytes vs 226 vbytes). Because fees are priced per vbyte, a smaller transaction pays proportionally less. The savings are larger if you have multiple inputs, since each input's witness data gets the 75% discount.
Why did some miners oppose SegWit?
The primary technical reason was ASICBoost, a mining optimization patented and used by Bitmain that provided a meaningful efficiency advantage. ASICBoost was structurally incompatible with SegWit. Blocking the upgrade protected that competitive edge. There were also ideological arguments about block size policy, but the ASICBoost conflict of interest is the most concrete explanation for why miner signalling stalled for over a year despite broad developer and user support.
Did SegWit cause the Bitcoin Cash fork?
SegWit's activation was a trigger, but the underlying disagreement was about scaling philosophy. A faction within the Bitcoin community wanted to increase the block size as the primary scaling solution, rather than segregate witness data and build on top of the protocol. When SegWit activated on August 24, 2017, that faction had already forked on August 1, creating Bitcoin Cash with an 8MB block size limit. The split was the result of a years-long debate, not a single decision.
What is BIP 141?
BIP 141 is the formal Bitcoin Improvement Proposal that specified the Segregated Witness upgrade. BIP stands for Bitcoin Improvement Proposal, the standard process through which protocol changes are proposed, discussed, and adopted. BIP 141 defined the transaction format changes, the block weight system, and the new script types. It was developed alongside BIP 143 (updated signature hashing), BIP 144 (peer-to-peer communication of SegWit data), and BIP 147 (closing a remaining malleability vector in multisig scripts). You can read the original specification at the official Bitcoin BIPs repository on GitHub.
What is the Bech32 address format?
Bech32 is the encoding system used for native SegWit addresses (bc1q...). It was introduced as part of BIP 173 specifically for SegWit. Compared to the older Base58 encoding used by legacy addresses, Bech32 is all lowercase, eliminates visually similar characters (no 0, O, I, or l), provides stronger error detection that can catch up to four character errors with certainty, and is more efficient for QR codes. A modified version, Bech32m, is used for Taproot (bc1p...) addresses.
Does SegWit work with hardware wallets?
Yes. All major hardware wallets, including Ledger, Trezor, Coldcard, and BitBox02, have supported SegWit addresses for years. Most default to native SegWit (P2WPKH) for new Bitcoin wallets. If you're setting up a new hardware wallet in 2026, you will almost certainly be given a bc1q address by default.

سرمایه‌گذاری امن را با کیف پول Bitcoin.com آغاز کنید.

تا کنون بیش از ۸۵ میلیون کیف‌پول ایجاد شده است. همه آنچه برای خرید، فروش، معامله و سرمایه‌گذاری امن بیت‌کوین و ارزهای دیجیتال خود نیاز دارید.

A screenshot of the Bitcoin.com Wallet app

اسکن کنید تا کیف پول Bitcoin.com دانلود شود.

این کد QR را با دستگاه همراه خود اسکن کنید، به طور خودکار به صفحه فروشگاه مربوطه هدایت خواهید شد.