Bitcoin.com

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

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

آخرین به‌روزرسانی
منتشر شده
زمان مطالعه۴ دقیقه مطالعه
نوشته
Neil Author
Neill Velardo
بازبینی توسط
Graham Stone Author Image
Graham Stone
What is Bitcoin SegWit (Segregated Witness)?

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

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

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

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

نکات کلیدی

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

سگ‌ویت چیست؟

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

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

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

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

تا سال ۲۰۲۶، تقریباً ۸۵٪ از کل تراکنش‌های بیت‌کوین از 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)
بی‌سی‌وان‌پی... ۶۲ کاراکتر
بیچ۳۲م
~۱۵۴ بایت
حدود ۳۲٪
اکثر کیف‌های پول مدرن
نوع آدرس
میراث (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، پیشوند بی‌سی۱کیو...، ۶۲ کاراکتر) این واریانت هش-اسکریپت است که برای کیف‌پول‌های امضای چندگانه و شرایط پیچیده خرج کردن استفاده می‌شود. آدرس طولانی‌تر نشان‌دهنده هش ۳۲ بایتی SHA-256 است، نه هش ۲۰ بایتی مورد استفاده در P2WPKH. اگر از پیکربندی چندامضایی ۲ از ۳ استفاده می‌کنید، P2WSH روش بومی SegWit برای انجام این کار است.

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

توصیه‌ی سریع

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

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

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

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

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

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

بن‌بست معدن‌کاری

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

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

BIP 148 و UASF

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

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

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

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

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

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

ویژگی
میراث (پیش از سگ‌ویت)
سگ‌ویت
مکان امضا
درون ScriptSig (بدنهٔ اصلی تراکنش)
میدان شاهد جداگانه
معیار اندازه بلوک
اندازه به بایت (حداکثر ۱ مگابایت)
واحدهای وزن (حداکثر ۴ واحد وزن)
محاسبه TXID
شامل داده‌های امضایی
داده‌های شاهد را حذف می‌کند
نابجایی‌پذیری تراکنش
ممکن
اصلاح شد
اندازهٔ تراکنش معمول ۱ ورودی/۲ خروجی
~۲۲۶ بایت
~۱۴۱ بایت (P2WPKH)
صرفه‌جویی در هزینه‌ها
خط پایه
حدود ۳۸٪ کمتر (P2WPKH در مقابل P2PKH)
پشتیبانی شبکه لایتنینگ
نامطمئن
الزامی؛ کانال‌های پرداخت را فعال می‌کند
پیش‌وند آدرس
۱...
بی‌سی۱کیو... (بومی) یا ۳... (درون‌هم)
رمزگذاری
بیس۵۸
بیچ۳۲
ویژگی
مکان امضا
میراث (پیش از سگ‌ویت)
درون 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?
What is the difference between SegWit and Native SegWit?
What is the difference between SegWit and Taproot?
Can I send Bitcoin from a SegWit address to a Legacy address?
Does SegWit actually reduce my fees?
Why did some miners oppose SegWit?
Did SegWit cause the Bitcoin Cash fork?
What is BIP 141?
What is the Bech32 address format?
Does SegWit work with hardware wallets?

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

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

A screenshot of the Bitcoin.com Wallet app

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

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