ارتقای SegWit بیت کوین بحث برانگیز بود، اما تغییرات عمده ای را در محبوب ترین رمزارز جهان ایجاد کرد.
مقیاسپذیری بیتکوین یک مشکل مداوم برای محبوبترین رمزارز جهان است و توسعهدهندگان بیتکوین برای حل آن تلاش کردهاند. یکی از راه حل های معرفی شده سافت فورک SegWit بود که تعداد تراکنش های بیت کوین را که می توانستند به طور همزمان پردازش شوند، تغییر می داد.
در حالی که افزایش تعداد تراکنش ها در هر بلوک بیت کوین مانند یک برد مطمئن به نظر می رسد، SegWit نیز مشکلاتی داشت.
تراکنش های بیت کوین چگونه کار می کنند؟
تراکنش های بیت کوین از مدل UTXO (خروجی تراکنش های مصرف نشده) استفاده می کنند که در آن هر تراکنش خروجی تراکنش قبلی را روی بلاک چین خرج می کند و خروجی جدیدی تولید می کند که می تواند در تراکنش بعدی خرج شود.
از نظر طراحی، شما صاحب توکن بیت کوین نیستید. در عوض شما صاحب خروجی خرج نشده تعدادی از تراکنش های قبلی هستید. شما می توانید مالکیت این خروجی را از طریق آدرس، کلید دیجیتال و امضای دیجیتال مورد نیاز اثبات کنید.
بیایید فرض کنیم که می خواهید بیت کوین را برای بهترین دوست خود بفرستید. ابتدا از یک کلید خصوصی برای امضای پیامی که حاوی ورودی، خروجی و مقدار است استفاده خواهید کرد. این تراکنش در کل شبکه بیت کوین پخش می شود و همه کاربران می توانند آن را ببینند.
هنگامی که یک گره تراکنش را دریافت می کند، بررسی می کند که آیا:
- کلید خصوصی شما با کلید عمومی که ادعا می کنید مالک آن هستید مطابقت دارد
- مجموع ورودی ها بیشتر از مجموع خروجی های آن است
- خروجی مصرف نشده است.
اگر تراکنش این سه قانون را برآورده کند، تأیید می شود و به گره های دیگر منتقل می شود که فرآیند تأیید را تکرار می کنند. این فرآیند شامل پازلهای پیچیده ریاضی است که استخراجکنندگانی که بالاترین نرخ هش کریپتو را دارند، در ابتدا بهترین شانس را برای حل آن دارند.
گرههای ماینر برای حل پازلها با هم رقابت میکنند و در صورت موفقیت، قالب بلوک را به یک بلوک تغییرناپذیر در بلاک چین استخراج میکنند. بلوک برای کل شبکه پخش می شود و واضح است که بهترین دوست شما صاحب خروجی خرج نشده جدید است.
نقص انعطاف پذیری تراکنش چیست؟
مقیاس پذیری و سرعت تنها مسائلی نیستند که بلاک چین بیت کوین را آزار می دهد. متأسفانه، «نقص انعطاف پذیری تراکنش» نیز وجود دارد، نقصی که امکان تغییر امضای دیجیتال تراکنش را قبل از تأیید آن در بلاک چین فراهم می کند.
این اصلاح به گونهای انجام میشود که تراکنش منطق ریاضی خود را حفظ میکند اما زمانی که از طریق یک الگوریتم هش اجرا میشود، نتیجه متفاوتی به همراه دارد.
به عنوان مثال، ارزش امضای معامله خود با بهترین دوست خود را که (5) بود، در نظر بگیرید. اگر به (5-10+10) تغییر کند، مقدار ریاضی همچنان 5 است، اما اگر این نسخه های مختلف را هش کنیم، نتایج متفاوتی دریافت می کنیم.
از آنجایی که هش نحوه شناسایی تراکنش در بلاک چین است، این تغییر باعث ایجاد چند مشکل می شود.
- بازیگران بد می توانند یک تراکنش متضاد دوم را قبل از تایید اولین تراکنش ایجاد کنند که باعث سردرگمی، تاخیر و ازدحام در شبکه شود.
- ایجاد راه حل های لایه دوم برای توسعه دهندگان بلاک چین برای بهبود سرعت و مقیاس پذیری شبکه اصلی مشکل ساز می شود.
بنابراین این یک نقص با پتانسیل تبدیل حسابداری بلاک چین به یک کابوس است و چندین راه حل برای حل آن پیاده سازی شده است. و اینجاست که بیت کوین SegWit وارد می شود.
بیت کوین SegWit چیست؟
Segregated Witness (SegWit) یک ارتقاء پروتکل بلاک چین بیت کوین است که در درجه اول برای محافظت در برابر انعطاف پذیری تراکنش ها توسعه یافته است.
SegWit اولین بار در سال 2015 به عنوان یک فورک بلاک چین برای بهبود مقیاس پذیری پیشنهاد شد. SegWit این کار را با جدا کردن امضاهای دیجیتال از دادههای تراکنش انجام میدهد، اجازه میدهد تراکنشهای بیشتری در یک بلوک ذخیره شوند و زمان مورد نیاز برای پردازش یک بلوک را کاهش میدهد.
سافت فورک SegWit سرانجام در سال 2017 پیاده سازی شد و علاوه بر رفع نقص چکش خواری و بهبود کارایی تراکنش، پیشرفت های زیادی را در بلاک چین بیت کوین ارائه کرد.
SegWit2x چیست؟
قبل از پیاده سازی SegWit، به دلیل پیشنهاد ارتقای هارد فورک با هدف افزایش محدودیت اندازه بلوک از 1 مگابایت به 2 مگابایت برای بهبود سرعت پردازش تراکنش، کمی کشمکش در جامعه بیت کوین وجود داشت، از این رو اصطلاح “SegWit2x” نامیده می شود.
در حالی که بسیاری از سهامداران از این ایده حمایت کردند، اختلاف نظرهایی در جامعه به وجود آمد و عدم اجماع منجر به انشعاب شد. جناح جدا شده بیت کوین کش (BCH) را تشکیل داد، در حالی که گروه مادر به پیاده سازی SegWit ادامه داد.
بیت کوین SegWit چگونه کار می کند؟
SegWit با جدا کردن برخی از داده ها از بلوک کار می کند و آن را برای تغییرات در دسترس نمی سازد. این جداسازی دو بخش ایجاد می کند. بخش اول بلوک شامل آدرس های کیف پول فرستنده و گیرنده است، در حالی که بخش دوم شامل امضاهای دیجیتال است که به عنوان “داده های شاهد” نیز شناخته می شود.
از آنجایی که دادههای شاهد از بلوک اصلی جدا میشوند، فضای بیشتری در بلوک برای ثبت دادههای تراکنش بیشتری آزاد میشود. این به نوبه خود ظرفیت بلوک را افزایش می دهد و به طور مستقیم بر عملکرد شبکه بیت کوین تأثیر می گذارد و مقیاس پذیری را به طور قابل توجهی بهبود می بخشد.
از سوی دیگر، دادههای تفکیکشده، یعنی امضای دیجیتال، رمزگذاری شده و در یک زنجیره جانبی ذخیره میشوند. این لایه امنیتی اضافه شده در بالای جدایی از شبکه اصلی، تغییر امضای دیجیتال تراکنش را غیرممکن میکند و در نتیجه نقص چکشخواری را حل میکند.
مزایای بیت کوین SegWit
SegWit چندین مزیت را برای شبکه بیت کوین فراهم می کند.
- چکشپذیری تراکنشها را حل میکند: همانطور که قبلاً ذکر شد، SegWit نقص انعطافپذیری تراکنش را که باعث سردرگمی و ازدحام زیادی در بلاک چین بیتکوین شده بود، برطرف میکند. این امکان را برای تراکنشهای مطمئن و مطمئنتر فراهم کرد.
- امنیت بهبود یافته: با حل انعطاف پذیری تراکنش، SegWit شبکه بیت کوین را ایمن تر و کمتر در برابر حملات آسیب پذیر کرد. همچنین پیاده سازی ویژگی های امنیتی جدید را در آینده آسان تر کرد.
- مقیاس پذیری بهبود یافته: مقیاس پذیری افزایش عملکرد یک سیستم است. این چیزی است که پس از سافت فورک SegWit برای بیت کوین اتفاق افتاد. تراکنشهای بیشتری را میتوان در بلوکها گنجاند زیرا فضای آزاد شده، کاهش هزینههای تراکنش و زمانهای تایید تراکنش سریعتر.
- کارمزد تراکنش های کمتر: از آنجایی که تراکنش های بیشتری را می توان در یک بلاک بیت کوین جا داد، رقابت برای فضای بلاک کاهش یافت که به نوبه خود کارمزد تراکنش ها را کاهش داد. این به ویژه برای معاملات کوچک مفید بود.
- سازگاری بهبود یافته: به دلیل سافت فورک بودن، SegWit توسعهپذیری بلاک چین را فعال کرد و در عین حال دری را برای ارتقاهای آینده (مانند ارتقاء Taproot) به شبکه بیتکوین باز کرد. این انعطافپذیری قابلیت پیادهسازی ویژگیها و بهبودهای جدید را به بلاک چین میدهد.
- ایجاد الهامگرفته از شبکه لایتنینگ (LN): وقتی SegWit مقیاسپذیری را بهبود بخشید، کد آن الهامبخش توسعه یک راهحل Layer-2 بود: شبکه لایتنینگ. کد LN ایجاد یک کانال پرداخت خارج از زنجیره بین دو طرف معامله کننده را قادر می سازد، سرعت شبکه اصلی را بهبود می بخشد و هزینه تراکنش را کاهش می دهد.
SegWit یک ارتقاء حیاتی برای شبکه بیت کوین بود زیرا راه حل هایی ارائه می کرد که عملکرد آن را بهبود می بخشید و تجربه را برای کاربران بیت کوین بهتر می کرد. با این حال، بدون سهم منصفانه از چالش های جدید به وجود نیامد.
معایب SegWit
سافت فورک SegWit چند مضرات احتمالی را به همراه داشت.
به عنوان مثال، در حالی که بسیاری از صرافی ها و کیف پول ها SegWit را پذیرفته اند، همه گره ها از پروتکل جدید پشتیبانی نمی کنند. علاوه بر این، از آنجایی که SegWit کارمزد تراکنشها را کاهش میدهد در حالی که به پشتیبانی از زنجیره جانبی شاهد-داده نیاز دارد، ماینرهای سود گرا آن را دوست ندارند و میتوانند تمایلی به اعمال آن نداشته باشند.
علاوه بر این، به دلیل بزرگی شبکه بیت کوین، SegWit برای حل مشکل مقیاس پذیری آن کافی نیست. نیاز به تعدیل قابل توجهی در بلاک چین برای کاهش اندازه آن و افزایش مقیاس پذیری تا سطحی مشابه با بلاک چین های جایگزین وجود دارد.
اگرچه SegWit دارای این اشکالات است، واضح است که مزایای امنیت و مقیاس پذیری بسیار بیشتر از مشکلات است.
آیا بیت کوین SegWit ایده خوبی بود؟
SegWit در زمانی که پذیرش آن رو به افزایش بود، مانع از ایجاد یک نقص بسیار در بلاک چین بیت کوین شد. در واقع، زمان زیادی برای اجرای توسعه در پیش بود. در حالی که برخی از ماینرها تأثیر منفی بر کیف پول خود داشتند، سافت فورک امنیت و قابلیت اطمینان بلاک چین را بهبود بخشید و تأثیر مثبتی بر شبکه بیت کوین داشت.