تاریخچه بیتکوین با بهروزرسانیهای حیاتی نقطهگذاری شده است که مسیر آن را به عنوان یک ارز دیجیتال جهانی تعریف کردهاند. در میان این نقاط عطف فنی، تعداد کمی به اندازه پیادهسازی Segregated Witness تحولآفرین یا به شدت مورد بحث بودهاند. که اغلب با نام اختصاری SegWit شناخته میشود، این ارتقای پروتکل در اوت ۲۰۱۷ پس از دورهای از بحثهای شدید جامعه و ایجاد اجماع فعال شد. این لحظهای محوری برای شبکه بود و به مسائل طولانیمدت مرتبط با مقیاسپذیری و امنیت پرداخت.
پیش از SegWit، شبکه بیتکوین با فشار فزاینده از سوی پایگاه کاربران در حال رشد خود روبرو بود. با افزایش پذیرش، محدودیتهای اندازه بلوک اصلی به یک گلوگاه تبدیل شد و منجر به تراکم شبکه و افزایش هزینههای تراکنش گردید. توسعهدهندگان و ذینفعان به دنبال راهحلی بودند که این فشارها را بدون به خطر انداختن طبیعت غیرمتمرکز بلاکچین کاهش دهد. Segregated Witness به عنوان یک راهحل مهندسی هوشمند ظاهر شد که نحوه ذخیرهسازی دادهها را بهینه کرد به جای اینکه صرفاً حد اندازه بلوک را افزایش دهد.
این ارتقا بیش از بهبود ظرفیت عمل کرد. آن مکانیکهای پردازش تراکنش را به طور اساسی تغییر داد با پرداختن به یک آسیبپذیری فنی شناختهشده به نام transaction malleability. با رفع این مسئله، SegWit پایههای لازم را برای شکوفایی راهحلهای لایه دوم مانند Lightning Network فراهم کرد. این راه را برای پرداختهای فوری و کمهزینه که پیشتر به طور امن قابل پیادهسازی نبودند، هموار کرد.
درک SegWit نیازمند نگاهی فراتر از مشخصات فنی صرف است. این شامل بررسی مدل حاکمیتی بیتکوین، اقتصاد فضای بلوک، و پویاییهای جامعهای است که تکامل پروتکل را هدایت میکنند. این ارتقا نشان داد که بیتکوین میتواند از طریق soft forkها سازگار و مقیاسپذیر شود، در حالی که سازگاری عقبگرد را حفظ کرده و بهبودهای رادیکال در کارایی و کاربردی بودن را معرفی میکند.
چالش مقیاسپذیری
بیتکوین در ابتدا با محدودیتی در اندازه بلوکهایی که میتوانستند به بلاکچین اضافه شوند، طراحی شد. این محدودیت که در ۱ مگابایت (MB) تنظیم شده بود، به عنوان یک اقدام حفاظتی در برابر حملات اسپم در روزهای اولیه شبکه عمل میکرد. با این حال، با رشد بیتکوین از یک آزمایش مبهم به یک دارایی شناختهشده جهانی، این ویژگی ایمنی شروع به عمل به عنوان یک محدودیت بر رشد کرد.
گلوگاه اندازه بلوک
هر تراکنش بیتکوین شامل دادههایی است که باید توسط ماینرها پردازش و ذخیره شود. این دادهها شامل ورودیها، خروجیها، و امضاهای دیجیتال است که مالکیت وجوه خرجشده را اثبات میکنند. در دوران پیش از SegWit، تمام این اطلاعات باید برای فضا در حد سفت ۱MB بلوک رقابت میکردند.
با افزایش محبوبیت شبکه، تقاضا برای فضای بلوک اغلب از عرضه موجود فراتر رفت. کاربران خود را در یک جنگ مزایده یافتند و کارمزدهای بالاتری به تراکنشهای خود ضمیمه میکردند تا ماینرها را ترغیب کنند تا آنها را در بلوک بعدی شامل کنند. این پویایی منجر به زمانهای تأیید کندتر برای کاربرانی شد که کارمزدهای استاندارد پرداخت میکردند.
در دورههای اوج، شبکه congested میشد و پرداختهای کوچک یا میکروتراکنشها را غیرعملی میکرد. جامعه تشخیص داد که برای عملکرد مؤثر بیتکوین به عنوان هم ذخیره ارزش و هم وسیله مبادله، توان عملیاتی شبکه باید افزایش یابد. بحث بر سر چگونگی دستیابی به این مقیاسپذیری بدون قربانی کردن امنیت یا غیرمتمرکزسازی متمرکز بود.
معضل Hard Fork
یکی از راهحلهای پیشنهادی برای مشکل مقیاسپذیری، hard fork بود. hard fork تغییری رادیکال در پروتکل است که بلوکها/تراکنشهای قبلاً نامعتبر را معتبر میکند یا بالعکس. در زمینه مقیاسپذیری، این به معنای بازنویسی ساده کد برای اجازه بلوکهای بزرگتر، مانند ۲MB یا ۸MB بود.
با این حال، hard forkها ریسکهای قابل توجهی دارند. آنها نیازمند ارتقای همزمان نرمافزار تمام نودها در شبکه هستند. اگر بخشی از جامعه از ارتقا امتناع کند یا با تغییر مخالف باشد، بلاکچین میتواند به دو زنجیره جداگانه تقسیم شود. این با ایجاد Bitcoin Cash رخ داد که اندازه بلوک را از طریق hard fork افزایش داد.
توسعهدهندگان Bitcoin Core به رویکرد ایمنتری به نام soft fork اولویت دادند. soft fork ارتقایی سازگار با عقبگرد است، به این معنا که نودهایی که نسخههای قدیمیتر نرمافزار را اجرا میکنند همچنان میتوانند در شبکه شرکت کنند. SegWit به عنوان یک soft fork طراحی شد تا اطمینان حاصل شود که شبکه متحد باقی میماند در حالی که بهبودهای ظرفیت لازم را ارائه میدهد.
اجماع و حاکمیت
مسیر فعالسازی SegWit طبیعت منحصربهفرد حاکمیت بیتکوین را برجسته کرد. برخلاف سیستمهای متمرکز که یک رهبر تغییرات را دیکته میکند، بیتکوین بر اجماع میان گروه متنوعی از شرکتکنندگان تکیه دارد. این شامل ماینرها، توسعهدهندگان، اپراتورهای نود، و کاربران نهایی است.
پیشنهاد SegWit، شناختهشده به عنوان Bitcoin Improvement Proposal (BIP) 141، نیازمند آستانه بسیار بالایی از حمایت از سوی ماینرها برای فعالسازی بود. به طور خاص، ۹۵٪ از قدرت هش ماینینگ باید آمادگی را در دوره دوهفتهای سیگنال میداد. این آستانه بالا اطمینان میدهد که ارتقاها حمایت قاطعی قبل از اعمال داشته باشند و ریسک ناپایداری شبکه را به حداقل برسانند.
چگونگی عملکرد SegWit در زیر کاپوت
نوآوری اصلی Segregated Witness در نام آن پنهان است. «Segregated» به معنای جداسازی است، و «Witness» به امضاهای دیجیتال اشاره دارد که یک تراکنش را تأیید میکنند. در تراکنشهای legacy بیتکوین، دادههای امضای دیجیتال با دادههای تراکنش درهم تنیده بود و بخش قابل توجهی از فضای ارزشمند ۱MB بلوک را اشغال میکرد.
جداسازی دادههای شاهد
SegWit فرمت تراکنش را با انتقال دادههای شاهد (امضاها) از ساختار اصلی بلوک بازسازی کرد. در حالی که این دادهها همچنان ثبت و تأیید میشوند، در ساختاری جداگانه ذخیره میشوند که موازی با بلوک تراکنش پایه اجرا میشود. این جداسازی کلید باز کردن ظرفیت بیشتر بدون افزایش فنی حد ۱MB برای نودهای قدیمی بود.
برای تجسم این، یک قطار را代表 بلوک بیتکوین تصور کنید. در سیستم legacy، مسافران (جزئیات تراکنش) و چمدانهایشان (امضاها) همگی در واگنهای یکسان فشرده شده بودند. قطار حد سفتی بر حجم حملونقل داشت.
SegWit به طور مؤثر یک واگن بار تخصصی به انتهای قطار اضافه کرد مخصوص چمدانها. با انتقال چمدانهای سنگین از واگنهای مسافری، قطار ناگهان میتوانست مسافران بسیار بیشتری در همان محفظههای اصلی حمل کند. «چمدان» همچنان با قطار سفر میکند، اما دیگر فضای پرمیوم مورد نیاز برای مسافران را اشغال نمیکند.
وزن بلوک در مقابل اندازه بلوک
برای پیادهسازی این تغییر، SegWit مفهوم جدیدی به نام «block weight» معرفی کرد. اندازهگیری قدیمی اندازه بلوک در بایتهای ساده با سیستمی جایگزین شد که «وزنهای» متفاوتی به بخشهای مختلف یک تراکنش اختصاص میدهد. این به شبکه اجازه داد تا بین دادههای حیاتی تراکنش و دادههای شاهد تمایز قائل شود.
در این سیستم جدید، دادههای پایه تراکنش با اندازه کامل شمرده میشود، در حالی که دادههای شاهد تخفیف داده میشود. به طور خاص، دادههای شاهد در محاسبه حد بلوک بسیار کمتر وزن دارد. این تغییر به طور مؤثر حد اندازه بلوک را از ۱MB به ۴MB نظری «واحدهای وزن» افزایش داد.
این تغییر کاربران و ارائهدهندگان کیف پول را به پذیرش آدرسهای SegWit ترغیب کرد. تراکنشهایی که از فرمت جدید استفاده میکردند ارزانتر ارسال میشدند زیرا «وزن» کمتری در یک بلوک نسبت به تراکنشهای legacy مصرف میکردند. این انگیزه اقتصادی به پذیرش ارتقا در سراسر اکوسیستم کمک کرد.
Virtual Bytes (vBytes)
با معرفی وزن بلوک، مفهوم کارمزدهای تراکنش نیز تکامل یافت. کارمزدها شروع به محاسبه در «virtual bytes» (vBytes) به جای بایتهای خام کردند. vByte واحدی از اندازهگیری است که از وزن تراکنش مشتق میشود.
چون دادههای شاهد تخفیف داده میشود، یک تراکنش SegWit اندازه vByte کوچکتری نسبت به تراکنش legacy با همان اندازه خام دارد. این به معنای آن است که برای همان نرخ کارمزد (ساتوشی در هر بایت)، یک تراکنش SegWit هزینه کل کمتری دارد.
این سود کارایی فوری برای کاربرانی بود که به کیف پولهای سازگار با SegWit سوئیچ کردند. این به شبکه اجازه داد تا تراکنشهای بیشتری در ثانیه پردازش کند و توان عملیاتی را بدون خطرات مرتبط با hard fork افزایش دهد. بهینهسازی ثابت کرد که مهندسی هوشمند میتواند عملکرد بیشتری از زیرساخت موجود استخراج کند.
حل transaction malleability
در حالی که مقیاسپذیری ویژگی اصلی SegWit بود، این ارتقا نقص فنی حیاتی دیگری را به نام transaction malleability حل کرد. این مسئله از زمان پیدایش بیتکوین آزاردهنده بود و به عنوان مانع عمدهای برای توسعه پروتکلهای لایه دوم پیشرفته عمل میکرد.
Malleability به توانایی یک شخص ثالث برای تغییر شناسه منحصربهفرد (TXID) یک تراکنش قبل از تأیید آن روی بلاکچین اشاره دارد. مهم است که این تغییر بدون باطل کردن تراکنش خود یا تغییر جزئیات اساسی مانند فرستنده، گیرنده، یا مقدار قابل انجام باشد.
در سیستم legacy، امضای دیجیتال در محاسبه هش تراکنش (TXID) گنجانده شده بود. با این حال، امضاهای رمزنگاری میتوانند به روشهای ریاضی کمی متفاوت در حالی که معتبر باقی میمانند، نمایش داده شوند. یک مهاجم یا نود رله میتوانست دادههای امضا را کمی تغییر دهد که منجر به TXID کاملاً متفاوت میشد.
اگر TXID تغییر کند، فرستنده ممکن است باور کند تراکنش شکست خورده، در حالی که گیرنده (یا مهاجم) نسخه تغییر یافته را تأیید کند. این سردرگمی ایجاد کرد و زنجیره کردن تراکنشهای تأییدنشده را خطرناک میکرد. اگر ID اولین تراکنش در زنجیره تغییر کند، هر تراکنش بعدی که به آن ID اشاره کند نامعتبر میشود.
SegWit این را با حذف دادههای امضا از بخشی از تراکنش که برای تولید TXID استفاده میشود، رفع کرد. از آنجایی که «شاهد» تفکیک شده بود، هر تغییری در دادههای امضا دیگر بر ID تراکنش تأثیر نمیگذارد. این ID تراکنش را از لحظه ایجاد غیرقابل تغییر کرد.
امکانپذیر کردن Lightning Network
رفع transaction malleability کاتالیزور Lightning Network بود. Lightning Network یک راهحل مقیاسپذیری لایه-۲ است که به شدت به توانایی ایجاد زنجیرههای تراکنشهای تأییدنشده به طور امن تکیه دارد.
پایه برای لایه ۲
برای کار کانالهای پرداخت، دو طرف به طور مؤثر یک حساب مشترک روی بلاکچین باز میکنند و سپس تراکنشهای امضاشده را off-chain مبادله میکنند. این تراکنشهای off-chain تعادل کانال را بدون ضربه به بلاکچین اصلی بهروزرسانی میکنند.
با این حال، این تراکنشهای off-chain به «تراکنش تأمین مالی» اولیه وابسته هستند که به طور امن لنگر انداخته شود. اگر transaction malleability همچنان ممکن باشد، یک عامل بد میتواند بالقوه ID تراکنش تأمین را تغییر دهد. این تمام منطق off-chain بعدی که طرفین توافق کرده بودند را باطل میکند.
با ایمن کردن ID تراکنش، SegWit پایه محکم مورد نیاز برای این قراردادهای هوشمند را فراهم کرد. این به نودهای Lightning اجازه داد تا اعتماد کنند که تراکنشهایی که off-chain امضا میکنند معتبر باقی میمانند زمانی که در نهایت روی شبکه اصلی بیتکوین تسویه شوند.
تسویههای فوری
با حذف ریسک malleability، Lightning Network توانست به طور ایمن مستقر شود. این تسویه پرداختهای نزدیک به فوری میان کاربران در سراسر جهان را امکانپذیر کرد. در حالی که SegWit افزایش ظرفیت on-chain متواضعی فراهم کرد، امکانپذیر کردن Lightning پتانسیل مقیاسپذیری off-chain تقریباً نامحدود را ارائه داد.
کاربران اکنون میتوانستند میلیونها بار تراکنش کنند بدون بارگذاری بلاکچین اصلی، و فقط نتیجه نهایی را تسویه کنند. این ترکیب کارایی on-chain (از طریق SegWit) و مقیاسپذیری off-chain (از طریق Lightning) استراتژی اصلی بیتکوین برای مدیریت حجم تراکنش جهانی را نشان میدهد.
حماسه فعالسازی: BIP 141 و UASF
استقرار SegWit صرفاً یک بهروزرسانی فنی نبود؛ رویدادی تاریخی در حاکمیت غیرمتمرکز بود. این فرآیند پویاییهای پیچیده قدرت میان ماینرها، توسعهدهندگان، و کاربران در اکوسیستم بیتکوین را آشکار کرد.
پیشنهاد (BIP 141)
ارتقای SegWit به طور رسمی به عنوان Bitcoin Improvement Proposal 141 پیشنهاد شد. برای فعالسازی روان، توسعهدهندگان آستانهای تنظیم کردند که نیازمند ۹۵٪ بلوکها برای سیگنال حمایت از ارتقا در یک epoch سختی دوهفتهای بود. این برای اطمینان از عدم تقسیم شبکه در نظر گرفته شده بود.
با این حال، دستیابی به این اجماع دشوار ثابت شد. منافع سیاسی و اقتصادی مختلف میان استخرهای ماینینگ عمده منجر به بنبست شد. برخی ماینرها hard fork برای افزایش مستقیم اندازه بلوک را ترجیح میدادند، در حالی که دیگران مردد به ارتقای زیرساختهایشان بودند.
برای ماهها، سیگنالینگ فعالسازی بسیار پایینتر از آستانه مورد نیاز بود. به نظر میرسید که ارتقا ممکن است برای همیشه متوقف شود و نقص بالقوهای در تکیه بر سیگنالینگ ماینرها برای ارتقاهای پروتکل را برجسته کرد.
User Activated Soft Fork (BIP 148)
ناامید از عدم پیشرفت، جنبشی علفهای هرز در جامعه ظهور کرد. این ابتکار به عنوان User Activated Soft Fork (UASF)، یا BIP 148 شناخته میشد. مفهوم انقلابی بود: به جای انتظار برای رأی ماینرها، اکثریت اقتصادی نودها (کاربران، صرافیها، و کسبوکارها) خود ارتقا را اعمال میکردند.
شرکتکنندگان در UASF نسخهای از نرمافزار بیتکوین را اجرا میکردند که هر بلوکی که پس از تاریخ معینی حمایت از SegWit را سیگنال ندهد، رد میکرد. این به طور مؤثر خطی در شن کشید. اگر ماینرها SegWit را نادیده بگیرند، بلوکهایشان توسط بخش قابل توجهی از شبکه رد میشد و درآمدشان را از دست میدادند.
تهدید User Activated Soft Fork تعادل قدرت را تغییر داد. این نشان داد که در حالی که ماینرها تراکنشها را پردازش میکنند، کاربران قوانین پروتکل را تعریف میکنند. روبرو با فشار اقتصادی UASF، ماینرها تسلیم شدند و SegWit در اوت ۲۰۱۷ قفل و فعال شد.
انواع آدرس و سازگاری
پس از فعالسازی SegWit، اکوسیستم بیتکوین ظهور فرمتهای آدرس متفاوت را دید. درک این فرمتها برای کاربرانی که میخواهند از کارمزدهای پایینتر و مزایای کارایی که SegWit ارائه میدهد بهره ببرند، ضروری است.
آدرسهای Legacy
فرمت آدرس اصلی بیتکوین به عنوان Legacy شناخته میشود. این آدرسها معمولاً با عدد 1 شروع میشوند. تراکنشهای ارسالشده از آدرسهای Legacy بزرگتر هستند زیرا از جداسازی دادههای شاهد استفاده نمیکنند. در نتیجه، گرانترین در terms of transaction fees هستند.
Nested SegWit (P2SH)
برای اطمینان از پذیرش روان، توسعهدهندگان لایه سازگاری به نام Pay to Script Hash (P2SH) معرفی کردند. این آدرسها با عدد 3 شروع میشوند. آنها به کاربران اجازه دادند تا تراکنشهای SegWit ارسال کنند حتی اگر کیف پول فرستنده کاملاً از فرمت native جدید پشتیبانی نکند.
Nested SegWit زمین میانی فراهم کرد. صرفهجویی قابل توجهی در کارمزد نسبت به آدرسهای Legacy ارائه داد، هرچند نه به اندازه پیادهسازی کامل native. برای مدت طولانی، این استاندارد برای بسیاری از صرافیها و ارائهدهندگان کیف پول بود در حالی که سیستمهایشان را بهروزرسانی میکردند.
Native SegWit (Bech32)
کارآمدترین فرمت Native SegWit، همچنین شناختهشده به عنوان Bech32 است. این آدرسها با bc1 شروع میشوند. آدرسهای Native SegWit متمایز هستند زیرا case-insensitive هستند و ریسک خطاهای تایپی را کاهش میدهند.
مهمتر، تراکنشهای Native SegWit در virtual bytes کوچکتر از همتایان Nested خود هستند. این منجر به پایینترین کارمزدهای تراکنش ممکن برای کاربران میشود. با بلوغ اکوسیستم، Native SegWit به استاندارد پیشفرض برای اکثر کیف پولها و خدمات مدرن تبدیل شده است.
| نوع آدرس | پیشوند | کارایی کارمزد | سازگاری |
|---|---|---|---|
| Legacy | 1... | پایین | جهانی |
| Nested SegWit | 3... | متوسط | بالا |
| Native SegWit | bc1... | بالا | کیف پولهای مدرن |
فراتر از SegWit: Taproot و Ordinals
پیادهسازی موفق SegWit ثابت کرد که بیتکوین میتواند ارتقاهای پیچیده را بدون اختلال در پیشنهاد ارزش اصلی خود پشت سر بگذارد. این موفقیت راه را برای نوآوریهای بعدی هموار کرد که قابلیتهای شبکه را بیشتر گسترش دادهاند.
Taproot و امضاهای Schnorr
در نوامبر ۲۰۲۱، بیتکوین ارتقای Taproot را فعال کرد. Taproot مستقیماً بر پایهای که توسط SegWit گذاشته شده بود، ساخته شد. آن امضاهای Schnorr را معرفی کرد که کارایی و حریم خصوصی حتی بیشتری را امکانپذیر ساخت.
مانند SegWit، Taproot نحوه ذخیرهسازی دادهها روی بلاکچین را تغییر داد. آن تجمیع امضا را امکانپذیر کرد، جایی که امضاهای متعدد در یک تراکنش پیچیده میتوانستند به یک امضای واحد ترکیب شوند. این قراردادهای هوشمند پیچیده را از تراکنشهای معمولی غیرقابل تشخیص کرد و حریم خصوصی را افزایش داد در حالی که فضای بلوک را صرفهجویی کرد.
بدون تغییرات ساختاری معرفیشده توسط SegWit، به طور خاص سیستم versioning اسکریپت، ارتقاهایی مانند Taproot به طور قابل توجهی سختتر مستقر میشدند. SegWit مسیر روشنی برای extensibility آینده برقرار کرد.
ظهور Ordinals
اخیراً، معرفی Bitcoin Ordinals از زیرساخت SegWit به روشهای غیرمنتظرهای بهره برد. Ordinals به کاربران اجازه میدهد دادههای دلخواه—مانند تصاویر، متن، یا کد—را مستقیماً روی ساتوشیهای فردی حک کنند.
این ممکن است زیرا SegWit «وزن» دادههای شاهد را تخفیف داد. حککنندگان متوجه شدند که میتوانند مقادیر زیادی داده را در فیلد شاهد یک تراکنش با کسری از هزینه ذخیرهسازی در ناحیه اصلی بلوک ذخیره کنند. در حالی که برای برخی که آن را اسپم میبینند جنجالی است، Ordinals انعطافپذیری فضای دادههای شاهد را نشان داد.
این مورد استفاده غیرمنتظره طبیعت robust طراحی SegWit را برجسته میکند. با ایجاد یک خط جداگانه و تخفیفدار برای دادهها، ارتقا ناخواسته بوم بوم برای مصنوعات دیجیتال ایجاد کرد و کاربردی بودن بلاکچین بیتکوین را بیشتر متنوع کرد.
نتیجهگیری
Segregated Witness به عنوان گواهی بر resilience و سازگاری شبکه بیتکوین ایستاده است. روبرو با گلوگاه حیاتی که رشد را تهدید میکرد، جامعه پشت راهحلی متحد شد که elegant، سازگار با عقبگرد، و آیندهنگر بود. با بازتصور ساختار دادههای تراکنش، SegWit تسکین فوری از کارمزدهای بالا ارائه داد در حالی که غیرمتمرکزسازی را که به بیتکوین ارزش میدهد حفظ کرد.
میراث SegWit فراتر از محاسبات ساده وزن بلوک گسترش مییابد. آن آسیبپذیری مداوم transaction malleability را رفع کرد و پتانسیل راهحلهای مقیاسپذیری لایه-۲ مانند Lightning Network را باز کرد. علاوه بر این، سابقهای برای حاکمیت کاربرمحور برقرار کرد و ثابت کرد که اکثریت اقتصادی میتواند قدرت موجودیتهای ماینینگ را به طور مؤثر کنترل کند.
با ادامه تکامل بیتکوین، ساختارهای ساختهشده توسط SegWit مرکزی برای عملیات آن باقی میمانند. از کارایی آدرسهای Native SegWit تا قابلیتهای پیشرفته Taproot و Ordinals، ارتقا آنچه روی بلاکچین ممکن است را بازتعریف کرد. این اطمینان داد که بیتکوین میتواند برای برآورده کردن تقاضای جهانی مقیاسپذیر شود بدون به خطر انداختن اصولی که بر آن بنیان گذاشته شده است.
SegWit با جداسازی امضاها از دادههای تراکنش، بیتکوین را متحول کرد، ظرفیت بلوک را به طور مؤثر افزایش داد و باگهای حیاتی را برای امکانپذیر کردن مقیاسپذیری آینده رفع کرد.