سگویت (Segwit) چیست و چه نقشی در عملکرد بیت کوین دارد؟

0

زمان مطالعه: 9 دقیقه

مقدمه

سگویت (SegWit:Segregated Witness به معنی امضاهای جداشده) نامی است که به یکی از به‌روزرسانی‌های پروتکل بیت کوین داده شده است که در روز 23 ماه اوت 2017 به کار افتاد. درست مثل هر بلاکچین غیرمتمرکز دیگری، اگر الگوریتم بیت‌ کوین نیاز به آپدیت شدن داشته باشد، بر عهده توسعه‌دهندگان و فعالان آن است که در مورد زمان و چگونگی این آپدیت با هم به توافق برسند. سگویت هم به همین روش، برای کمک به بهبود شبکه بیت کوین و بر طرف کردن بعضی از ریسک‌هایی به کار گرفته شد که متوجه ویژگی‌های بی‌اعتمادی این شبکه بود. این آپدیت بیشتر از همه به خاطر تغییری شناخته می‌شود که در نحوه ذخیره داده‌ها روی بلاکچین بیت کوین ایجاد کرده است.

سگویت (Segwit) چیست؟

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

فورک چیست و فورک سگویت چه کار کرد؟

هنگامی که یک بلاکچین بدون اینکه به دو بخش تقسیم شود مورد آپدیت قرار بگیرد، به آن فورک نرم یا سافت فورک (Soft Fork) گفته می‌شود. سگویت، آپدیتی بود که باعث افزایش تعداد تراکنش‌ها در یک بلاک بیت‌ کوین شد.

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

فرآیند تراکنش بیت کوین

کیف پول بیت‌کوین در واقع بیت‌کوین را نگهداری نمی‌­کند. کاری که این کیف پول انجام می­‌دهد نگهداری از آدرس بیت‌کوین است. این آدرس، آدرسی است که سند تمام تراکنش‌­ها و در نتیجه ترازنامه فرد را حفظ می­‌کند. این آدرس که متشکل از رشتۀ طولانی از 34 حرف و عدد است، به کلید عمومی نیز معروف است.

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

هر تراکنشی که از طریق آدرس بیت‌کوین صادر می‌­شود، باید با کلید خصوصی امضا شود. برای این منظور، باید کلید خصوصی خود و جزئیات تراکنش خود را داخل نرم‌افزار بیت‌کوین موجود بر کامپیوتر یا تلفن هوشمند خود قرار دهید.

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

نحوۀ کار سگویت (Segwit)

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

سگویت با جداسازی داده‌های مربوط به امضای دیجیتال تراکنش‌ها، اندازه‌ی بلاک را در بلاکچین افزایش می‌دهد. به همین دلیل ‏نام آن از عبارت ‎ Segregate‎ به معنی جدا کردن و‎ witnesses ‎به معنی تصدیق‌ها یا همان امضاها گرفته شده است.

سگویت مشکلی را که تحت عنوان شکل‌پذیری تراکنش (transaction malleability) شناخته می‌شد، برطرف کرد و این امکان را به وجود آورد که داده‌های تراکنش‌های بیت‌کوین قبل از اینکه در شبکه پردازش شوند، تغییر کنند. این مشکل یک کابوس حسابداری ایجاد کرده بود. با پذیرش قرار گرفتن اطلاعات امضا (یا شاهد یا نظارت (Witness)) در بیرون از (یا مجزا برگرفته از کلمه (Segregated)) یک بلاک از تراکنش‌های مرتبط و همچنان تأیید کردن آنها، سگویت به بیت کوین امکان می‌دهد یکپارچگی تراکنش‌ها را حفظ کند؛ در حالی که بیشتر آنها را در بلاک‌های منحصربه‌فرد 1 مگابایتی بسته‌بندی می‌کند. نتیجۀ این کار، بیت‌ کوینِ سریع‌تر و امن‌تر است.

چرا سازگاری با این پروتکل هنوز کامل نشده است؟

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

برای مثال، بیت‌کوین به سادگی «آپگرید» نمی‌شود (ارتقا نمی‌یابد)؛ بلکه به کیف پول‌ها، صرافی‌ها و شرکت‌هایی که از آن استفاده می‌کنند اتکا دارد تا خودشان را ارتقا داده و تغییرات را در شبکه پیش ببرند. هنگامی که اجباری برای سگویت وجود ندارد، این بر عهده تیم‌های مهندسی است که سازمان خود را در مسیر درست هدایت کنند. این کار همیشه آن طور اتفاق نمی‌افتد که انتظار می‌رود.

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

انگیزه دیگری که مانع سازگاری کامل سگویت شد، مربوط به ماینرها است. آنها ترجیح می‌دهند از نرم‌افزار اسیک‌بوست (AsicBoost) استفاده کنند که با این آپدیت جدید ناسازگار است و به آنها کمک می‌کند با 20% سرعت بیشتر تراکنش‌ها را تأیید کنند.

آیا پروتکل سگویت موفق می‌شود؟

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

متخصصان معتقدند با گران شدن قیمت بیت کوین و تنگ‌تر شدن فضا، کاربران به سمت راه‌کارهای مبتنی بر سگویت کشانده شده و شرکت‌ها مجبور به سازگاری با آن می‌شوند. حالا با بهبود افت‌های قیمت در سال‌های 2018 و 2019، قیمت‌ها در حال رشد هستند. استفاده از کیف پول‌های مبتنی بر سگویت سودآور است؛ زیرا وزن بلاک‌هایی که ماینرها برای این دسته از تراکنش‌ها ایجاد می‌کنند بیشتر بوده (یعنی تراکم تراکنش‌ها در آنها بالاتر است) در نتیجه سرعت کلی آنها بیشتر شده و هزینه کمتری دارد. مهاجرت به کیف پول‌های مبتنی بر سگویت شتاب گرفته است.

این پروتکل معایبی هم دارد؟

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

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

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

کیف پول‌ها و صرافی‌هایی که از سگویت پشتیبانی می‌کنند

در طول دو سالی که از اعمال سگویت بر شبکه بیت کوین می‌گذرد، کیف پول‌ها و صرافی‌های آنلاین زیادی از آن پشتیبانی کردند. در صورت استفاده از کیف پول‌ها و صرافی‌هایی که از آدرس‌های bech32 پشتیبانی می‌کنند، شما کارمزد کمتری برای تراکنش‌های خود پرداخت خواهید کرد.

در اینجا تعدادی از کیف‌پول‌هایی را که از سگویت پشتیبانی می‌کنند برمی‌شماریم:

لجر نانو اس (Ledger Nano S)، ترزور (Trezor)، الکتروم (Electrum)، کوینومی (Coinomi)، کوین ‌بیس (Coinbase)، بیت ‌گو (BitGo)، گرین ‌آدرس (GreenAddress)، تراست والت (Trust Wallet)، بیت ‌باکس (BitBox)، اکسودوس (Exodus)، سامورایی والت (Samourai Wallet) و سگویت آدرس (Segwitaddress) که کیف پول کاغذی سگویت است.

لیست صرافی‌هایی که از سگویت پشتیبانی می‌کنند:

جمینی (Gemini)، کراکن (Kraken)، لوکال ‌بیت ‌کوینز (LocalBitcoins)، بیت ‌استمپ (Bitstamp)، بیتفینکس (Bitfinex)، بیت اونیک (Bitonic) و هیت‌بی‌تی‌سی (HitBTC)

سخن پایانی

بحث‌های زیادی در دفاع از بیت کوین یا بیت کوین کش صورت گرفته و می‌گیرد. بسیاری هم به دنبال مسیرهای دیگر می‌روند. اجرای سگویت فقط قدمی از سوی بزرگ‌ترین گروه توسعه‌دهندگان در بزرگ‌ترین شبکه ارز دیجیتال یعنی بیت کوین به سوی مسیری است که به نظر آنها مسیر درستی است.

Source link