SegWit چیست؟

SegWit چیست؟

Segregated Witness که معمولاً SegWit نامیده می‌شود، نشان‌دهنده ارتقای محوری پروتکل Bitcoin Core است که در سال 2017 معرفی شد. SegWit که به عنوان وسیله‌ای برای مقابله با چالش‌های مقیاس‌پذیری و آسیب‌پذیری‌های خاص بیت‌کوین آغاز شد، تعدادی پیشرفت قابل توجه را به همراه داشت. از جمله مهمترین دستاوردهای این پروتکل، این پروتکل مشکلات چکش‌خواری تراکنش‌ها را اصلاح کرد و محدودیت اندازه بلوک بیت‌کوین را افزایش داد، در نتیجه گنجاندن تراکنش‌های بیشتری در هر بلوک را تسهیل کرد. علاوه بر این، این ارتقا دو نوع اسکریپت نوآورانه را برای تراکنش‌های بیت‌کوین ایجاد کرد و یک رویکرد رمزگذاری جدید به نام Bech32 ارائه کرد.

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

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

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

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

مکمل SegWit استاندارد آدرس Bech32 است. این آدرس‌های «SegWit بومی» که با پیشوند « bc1 » قابل شناسایی هستند، با آدرس‌های قدیمی قدیمی که با «1» شروع می‌شوند، در تضاد هستند. با پذیرش SegWit و استاندارد Bech32، کاربران از کاهش هزینه تراکنش بهره مند خواهند شد. توجه به این نکته ضروری است که در حالی که بیت کوین ذخیره شده در آدرس های Legacy تا زمان انجام تراکنش در آنجا باقی می ماند، هر تغییری از این آدرس ها، زمانی که بخشی از یک تراکنش است، به آدرس SegWit منتقل می شود. با گذشت زمان، هنگامی که کاربران درگیر تراکنش‌ها می‌شوند و وجوهی را به آدرس‌های SegWit دریافت می‌کنند، موجودی بیت‌کوین آن‌ها به‌طور ارگانیک به سمت این آدرس‌های کارآمدتر تغییر می‌کند.

SegWit چگونه انعطاف پذیری تراکنش ها را حل می کند؟

Segregated Witness که معمولاً به عنوان SegWit شناخته می شود، یک ارتقاء حیاتی در پروتکل بیت کوین است که در درجه اول برای رسیدگی به مسئله چکش خواری تراکنش ها طراحی شده است. این مشکل به تغییر بالقوه داده های تراکنش قبل از تایید آن در بلاک چین اشاره دارد.

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

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

راه حل SegWit برای مشکل

عملکرد اصلی SegWit جداسازی داده‌های شاهد از داده‌های تراکنش است و اطمینان حاصل می‌کند که نمی‌توان آن‌ها را برای تغییر شناسه‌های تراکنش تغییر داد. SegWit با توسعه یک زنجیره جانبی برای ذخیره این داده های شاهد جدا از بلاک چین، امکان چنین تغییرات مخربی را از بین می برد.

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

SegWit و مقیاس پذیری : مسابقه ای که برای آینده ساخته شده است

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

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

آیا SegWit نکات منفی دارد؟

SegWit یا شاهد جدا شده، ارتباط نزدیکی با تکامل بیت کوین دارد و دیدگاه های مختلفی را در مورد اثربخشی و هدف آن ایجاد می کند.

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

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

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

SegWit شبکه لایتنینگ را فعال می کند

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

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

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

افزایش اندازه بلوک SegWit

SegWit، اگرچه به عنوان یک سافت فورک طبقه بندی می شود، اما تغییرات قابل توجهی را در یکی از قوانین اجماع اصلی بیت کوین ایجاد کرد. این تغییر به گونه ای اجرا شد که سازگاری با عقب را حفظ کرد و با هدف افزایش ظرفیت تراکنش ها در هر بلوک انجام شد.

قبل از ظهور SegWit، هر بلوک محدودیتی برای نگهداری تا 1 مگابایت داده داشت که در صورت پر شدن بلوک به حداکثر ظرفیت خود، تقریباً به 1650 تراکنش تبدیل می شد. با این حال، SegWit مفهوم وزن بلوک را مطرح کرد، که جایگزین اندازه بلوک به عنوان محدودیت اصلی در محتوای بلوک شد. در حال حاضر، یک بلوک کاملاً بارگذاری شده نزدیک به 2700 تراکنش را در خود جای داده است.

شایان ذکر است که این تمایز: قبل از معرفی SegWit، هر بلوک با اندازه 1 مگابایت محدود می شد که نشان دهنده 1 میلیون بایت داده تراکنش است.

در مقابل، وزن بلوک با تکیه بر واحدهای وزن، از یک سیستم اندازه‌گیری ظریف‌تر استفاده می‌کند. در این سیستم، یک بایت از داده‌های غیرشاهد یک تراکنش معادل 4 واحد وزنی است، در حالی که یک بایت از داده‌های شاهد معادل تنها 1 واحد وزنی است. با یک سقف تعیین شده روی 4 میلیون واحد وزنی برای یک بلوک، بلوکی که صرفاً با تراکنش‌های غیر SegWit پر شده باشد همچنان محدودیت 1 میلیون بایتی قبلی را رعایت می‌کند.

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

انواع اسکریپت جدید SegWit

در دنیای بیت‌کوین، انواع اسکریپت، روش‌های متمایزی را برای تراکنش بیت‌کوین در بلاک چین از طریق زبان برنامه‌نویسی اختصاصی آن به نام «اسکریپت» نشان می‌دهند. با ظهور SegWit، دو نوع اسکریپت جدید برای مهار قابلیت‌های حوزه Witness به کار گرفته شد: یعنی Pay-to-Witness-Pubkey-Hash (P2WPKH) و Pay-to-Witness-Script-Hash (P2WSH).

بینش اساسی: آن دسته از انواع اسکریپت، از جمله P2PKH و P2SH، که قبل از دوره SegWit وجود داشتند، به عنوان "انواع اسکریپت قدیمی" نامیده می شوند.

Pay-to-Witness-PubKey-Hash (P2WPKH)

قبل از ادغام SegWit، بیشترین استفاده از اسکریپت Pay-to-Pubkey-Hash (P2PKH) بود، مکانیزمی که به طور موثر بیت کوین را به هش کلید عمومی متصل می کرد. P2WPKH، نوآوری SegWit، عملکردهای P2PKH را با تنوعی ظریف منعکس می کند. در سناریوی صرف خروجی P2WPKH، اجزای اساسی - امضا و کلید عمومی - به طور ایمن در Witness گنجانده می شوند. در همین حال، ScriptSig دست نخورده باقی می ماند. هدف این حرکت استراتژیک جلوگیری از چکش‌خواری بالقوه در شناسه تراکنش است.

Pay-to-Witness-Script-Hash (P2WSH)

پس از P2PKH، Pay-to-Script-Hash (P2SH) به عنوان یک نوع اسکریپت قدیمی برجسته مورد توجه قرار گرفت. این به کاربران این امکان را می‌دهد که بیت‌کوین را به یک هش اسکریپت دلخواه، که redeemScript نامیده می‌شود، ارسال کنند. هر کسی که به این redeemScript مجهز باشد و معیارهای تعیین شده آن را برآورده کند، می تواند این بیت کوین را پس بگیرد.

در روزهای اولیه خود، P2SH عمدتاً به تراکنش‌های چند علامتی می‌پرداخت، و در مقایسه با همتایان خود مانند مولتی سیگ خالی، هم کارایی فضایی و هم اختیاری بیشتری را ارائه می‌کرد.

SegWit's Pay-to-Witness-Script-Hash (P2WSH) را وارد کنید. روش عمل آن با P2SH طنین انداز می شود. خروجی‌های P2WSH وقتی با Witness Script (نسخه SegWit از redeemScript) در کنار امضاهای لازم و کلیدهای عمومی ارائه می‌شوند، باز می‌شوند. انعکاس رویکرد در P2WPKH، ورودی‌های P2WSH به یک فیلد ScriptSig خالی نیاز دارد، و Script Witness - شامل امضاهای حیاتی و کلیدهای عمومی - به قلمرو شاهد منتقل می‌شود.

SegWit پیچیده شده است

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

در اصل، SegWit پیچیده به عنوان یک نوع اسکریپت سنتی P2SH عمل می کند. این یک اسکریپت بومی SegWit را ادغام می کند، چه P2WPKH یا P2WSH، و آن را در نقش redeemScript یک اسکریپت P2SH قرار می دهد. در نتیجه، اسکریپت‌های پیچیده SegWit به‌عنوان P2SH-P2WPKH یا P2SH-P2WSH طبقه‌بندی می‌شوند.

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

لطفا توجه داشته باشید که Plisio همچنین به شما پیشنهاد می دهد:

فاکتورهای رمزنگاری را با 2 کلیک ایجاد کنید and اهدای کریپتو را بپذیرید

12 ادغام ها

6 کتابخانه های محبوب ترین زبان های برنامه نویسی

19 ارز دیجیتال و 12 بلاک چین

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.