فاینالیتی یا نهایی شدن در بلاک چین
وقتی تراکنشی را روی بلاک چین انجام می دهید، باید منتظر بمانید تا نهایی شود. این تاخیر بسته به مکانیسم اجماع و به طور کلی مکانیسم شبکه می تواند از چند ثانیه تا چند روز متغیر باشد که به این فاصله زمانی نهایی می گویند. البته نهایی بودن در کسب و کارهای مالی سنتی نیز استفاده می شود و مفهومی منحصر به بلاک چین نیست. در این مقاله مروری نهایی سازی بلاک چین ما پرداخت خواهیم کرد. برای آشنایی بیشتر با ما تا پایان مقاله همراه باشید.
مقدمه ای بر نهایی سازی بلاک چین
نهایی شدن بلاک چین به معنای اطمینان از برگشت ناپذیری و تغییر ناپذیری تراکنش های بلاک چین است. اگر تا به حال تراکنش انجام داده باشید، متوجه شده اید که تراکنش در کیف پول یا حساب صرافی شما نمایش داده نمی شود تا زمانی که تعداد معینی از بلاک ها تأیید شود. این مشکل دقیقا به دلیل وجود مشکلی به نام Finality است. زمان تا پایان (TTF) یک گزینه مهم برای ارزیابی و تأیید سرعت بلاک چین است.
در امور مالی سنتی، این مفهوم تسویه مبالغ در نظر گرفته می شود. این یک سوال حیاتی است؛ زیرا هر چه مدت زمان بیشتری برای تسویه یک تراکنش طول بکشد، احتمال وقوع خطرات مختلف و اقدامات مخرب توسط عوامل مخرب بیشتر می شود.
قطعیت تسویه تضمین می کند که تراکنش ها در نهایت در نقطه ای کامل می شوند و به ما آرامش می دهد که آنها امن هستند. این عاملی است که به طور قابل توجهی اعتماد مصرف کننده را افزایش می دهد. آیا می توانید به یک بانک اعتماد کنید تا به راحتی به تاریخچه تراکنش ها دسترسی پیدا کرده و آنها را ویرایش کند؟ بنابراین، قصد معادل امنیت کامل عملیات و عدم امکان برگشت پذیری است. بنابراین حتی خود بانک هم نمی تواند چیزی را تغییر دهد.
همچنین شایان ذکر است که بلاکچینی که تعداد زیادی تراکنش را در یک بلوک میزبانی میکند، ممکن است TPS بالایی (تراکنشها در هر ثانیه) داشته باشد، اما این موضوع لزوماً به معنای سریع بودن بلاک چین از دیدگاه کاربر نیست. همچنین به یاد داشته باشید که تراکنش ها را نمی توان نهایی در نظر گرفت فقط به این دلیل که در بلوک های جدید تأیید شده اند.
انواع نهایی سازی در بلاک چین
مفهوم نهایی سازی بلاک چین کمی متفاوت از آن چیزی است که به نظر می رسد. از آنجایی که هیچ واسطه ای در بلاک چین وجود ندارد، به چیزی نیاز داریم که ما را در مورد برگشت ناپذیری و تکمیل تراکنش ها آگاه کند. ما می دانیم که هنگامی که یک بلوک به بلاک چین اضافه می شود، نمی توان آن را اصلاح یا لغو کرد. کاربر باید منتظر بماند تا تعداد معینی از بلوک ها تأیید شود که نشان دهنده تکمیل تراکنش است.
انواع نهایی سازی به طور کلی بر اساس مکانیسم اجماع طبقه بندی می شوند. علاوه بر این، بلاک چین های لایه دوم مکانیسم های نهایی سازی متفاوتی دارند. در زیر کمی در مورد انواع اهداف توضیح می دهیم.
نهایی بودن در شبکه های اثبات کار (PoW).
در شبکههای PoW، با ایجاد بلاکهای بیشتر، نهاییسازی روی بلاک چین انجام میشود. معکوس کردن پرداخت های انجام شده در بلوک های قدیمی دشوار است. بنابراین، با عمیق تر شدن تراکنش ها (یعنی بلوک های جدید ایجاد می شود)، احتمال بازگرداندن تراکنش کاهش می یابد. در اثبات کار با مفهومی به نام طولانی ترین یا سنگین ترین زنجیره روبرو هستیم. در این مکانیسم زمانی که معدن کارآنها یک بلوک را استخراج می کنند، آن را به طولانی ترین زنجیره موجود اضافه می کنند. این یک یادآوری است که می تواند بیش از یک کانال در یک زمان وجود داشته باشد. در چنین شرایطی، زنجیره را می توان به دو چنگال مختلف و بلوک های معدنی مختلف تقسیم کرد تا استخراج کنندگان بتوانند به طور همزمان در هر زنجیره استخراج کنند.
هنگامی که دو ماینر یک بلوک را به طور همزمان منتشر می کنند، دو مسیر مجزا ایجاد می شود. در این شرایط، هر دو فورک به اعتبارسنجی بلوک ها ادامه می دهند و بلوک های جدید به زنجیره ها اضافه می شوند. بلوک های جدید به شبکه اضافه می شوند تا زمانی که یک زنجیره از دیگری طولانی تر شود. هنگامی که طولانی ترین زنجیره شناسایی شد، رسما پذیرفته می شود. به این ترتیب معاملات از کوتاه ترین زنجیره رد می شود. البته این امکان نیز وجود دارد که تراکنش های رد شده در کوتاه ترین زنجیره در بلوک های زنجیره های دیگر قرار گیرند. زنجیره بلند زنجیره ای است که معتبرترین بلوک ها را دارد. در مورد بیت کوین، کاربران باید 6 بلاک منتظر بمانند تا تراکنش کامل شود که حدود یک ساعت طول می کشد. پس از این مدت، هدف در این شبکه محقق خواهد شد. در شبکه های مبتنی بر زنجیره (مانند بیت کوین)، اصطلاح نهایی احتمالی نیز برای این مدل نهایی استفاده می شود.
نهایی شدن در شبکه های اثبات سهام (Pos).
بلاک چین هایی که بر اساس اثبات سهام کار می کنند مکانیسم های مختلفی برای دسترسی به نهایی دارند. Proof of Stake می تواند به روش های مختلفی مانند DPoS، PoA یا موارد دیگر پیاده سازی شود که بسته به مکانیسم هر کدام می توانند به هدف خود دست یابند. در اتریوم، نهایی بودن به معنای اطمینان از این است که یک بلوک نمی تواند بدون سوزاندن حداقل 33 درصد از کل اتر موجود، اصلاح یا حذف شود. در این شبکه با مفهومی به نام SSF روبرو هستیم که مخفف Single Slot Finality و مخفف single slot finality است. در اتریوم، 15 دقیقه طول می کشد تا هر بلوک نهایی شود و مفهوم SSF به این موضوع اشاره دارد که به جای 15 دقیقه انتظار، می توان بلاک ها را در همان اسلات ارسال و نهایی کرد.
اتریوم به این سوال پاسخ داد که چرا نهاییسازی سریعتر مهم است. با افزایش فاصله بین بلوک پیشنهادی و نهایی، مهاجم می تواند برخی از بلوک ها را سانسور کرده یا MEV را استخراج کند. زمان تکمیل کوتاهتر به قدرت محاسباتی بالاتر برای هر گره نیاز دارد، زیرا فرآیند تأیید بلوک باید سریعتر باشد.
در چنین مکانیزمی، نهایی سازی بلاک چین طول می کشد. این به این دلیل است که اعتباردهندگانی که دو سوم اترها در شبکه را نمایندگی می کنند باید برای نهایی شدن بلوک رای دهند. هر گره اعتبار سنجی باید گره های دیگر را بررسی کند تا ببیند آیا به آن دو سوم رسیده اند یا خیر. برای معکوس کردن یک بلوک کامل شده، مهاجم باید حداقل یک سوم اترهای شرط بندی شده خود را از دست بدهد. همانطور که گفتیم نهایی سازی نیاز به اکثریت دو سوم آرای تایید کننده دارد و اگر مهاجم بخواهد از این مشکل جلوگیری کند باید حداقل نیمی از این دو سوم را در وسط قرار دهد.
نهایی بودن در شبکه های اثبات سهام نیز امنیت مطلق نامیده می شود که بر اساس تحمل خطای عملی بیزانسی (pBFT) است. در این سیستم ها امنیت به محض اعتبارسنجی بلوک و تراکنش ها حاصل می شود.
نهایی شدن در لایه دوم
محلول های لایه 2 نیز بسته به مکانیزمی که استفاده می کنند روش متفاوتی دارند. باندل ها با گروه بندی تراکنش ها در گروهی از بلوک ها کار می کنند. این همان بلوکی است که به بلاک چین اضافه می شود. اکنون، برای انجام معاملات با سرعت بالا، آنها باید از تکنیک های رمزگذاری ویژه مانند Snark یا Zero Knowledge Proof استفاده کنند. زمانی که تراکنشها خارج از زنجیره پردازش میشوند، زمان تایید بلوکها کاهش مییابد. به جای اینکه منتظر بمانید تا یک بلوک به زنجیره اضافه شود، نتایج تراکنش تقریباً بلافاصله در زنجیره اصلی منتشر می شود. این مشکل به عنوان نهایی سازی سریع رول آپ شناخته می شود که یکی از ویژگی های کلیدی این فناوری است.
برای کاهش زمان تسویه، شبکه آربیتروم از اعتبارسنجی برای تایید تراکنش های خود استفاده می کند. یعنی به جای اینکه منتظر بمانیم تا بلوک استخراج و به زنجیره اضافه شود، تعدادی اعتبار سنجی برای پردازش تراکنش ها و ارسال نتیجه به زنجیره اصلی انتخاب می شوند. به طور معمول، در یک لایه دو که از تجمیع استفاده می کند، تراکنش ها باید منتظر بمانند تا در نهایت از لایه دو به لایه یک منتقل شوند. در واقع به اصطلاح نهایی در لایه دوم مدت زمان انتقال از لایه دوم به لایه اصلی است. در شبکه ای مانند متیس که از تجمیع های خوش بینانه استفاده می کند، این زمان به دلیل مکانیسم این تجمیع ها بیشتر است.
با چنین مکانیزمی با استفاده از اثبات خطا (که قبلاً به عنوان اثبات تقلب شناخته می شد)، کاربران باید منتظر یک دوره آزمایشی باشند که حدود هفت روز طول می کشد. در مجموعههای خوشبینانه، بازیگران صادق و راستگو فرض میشوند مگر اینکه خلاف آن ثابت شود. در طول این دوره هفت روزه، کاربران ممکن است در مورد نتایج یک تراکنش جمع آوری اعتراض کنند. در صورت موفقیت آمیز بودن اثبات خطا، تراکنش مذکور حذف و تراکنش صحیح دیگری جایگزین می شود. این کار برای حفظ امنیت شبکه و اطمینان از صحت فرآیند تایید تراکنش انجام می شود.
در شبکه هایی که از مجموعه دانش صفر استفاده می کنند، سرعت نهایی سازی بلوک ها بسیار بیشتر است. در شبکه های دانش صفر، تراکنش های لایه دوم در صورتی نهایی تلقی می شوند که قرارداد لایه اول اثبات صحت را بپذیرد. در چنین شبکه هایی اعتبارسنجی از طریق Validity Proof انجام می شود که برای اثبات صحت تراکنش زمان بسیار کمتری نیاز دارد که دلیل تفاوت این دو مبلغ است. در حالی که در مکانیسم خوش بینانه شما نیازی به ارسال همه این داده ها ندارید. این باعث کاهش زمان اعتبار سنجی می شود.