فاینالیتی (Finality) در بلاکچین چیست؟
فاینالیتی (Finality) در بلاکچین به معنای قطعیت و تأیید نهایی یک بلوک در شبکه بلاکچین است. وقتی یک بلوک در یک شبکه بلاکچین تأیید شده و به طور قطعی به شبکه اضافه شود، به آن فاینالیتی یا قطعیت بلوک گفته میشود.
اهمیت فاینالیتی (Finality) در بلاکچین این است که پس از اطمینان حاصل شدن از قطعیت یک بلوک، امکان تغییر آن بلوک تقریباً ناممکن میشود. این به معنای این است که تراکنشها و اطلاعات موجود در بلوک قطعی شده نمیتوانند توسط هیچ شخص یا گروهی تغییر یا باطل شوند، و این امر امنیت و اعتماد به شبکه بلاکچین را افزایش میدهد.
فاینالیتی (Finality) در بلاکچین به طور عمومی به دو صورت مطرح میشود:
-
فاینالیتی (Finality) بر اساس زمان (Time-based Finality): در این حالت، بعد از گذشت زمانی مشخص از اضافه شدن یک بلوک به شبکه بلاکچین، آن بلوک به عنوان قطعی تأیید میشود و امکان تغییر آن به شدت کاهش مییابد. این زمان میتواند به صورت ثابت تعیین شود یا با استفاده از الگوریتمهای مشخصی مانند الگوریتمهای مبتنی بر زمان (e.g. Algorand) تعیین شود.
-
فاینافاینالیتی (Finality) لیتی بر اساس کنسانس (Consensus-based Finality): در این حالت، فاینالیتی بر اساس توافق بین نودهای شبکه بلاکچین در مورد صحت بلوکها برقرار میشود. یک الگوریتم کنسانس مشخص (مانند Proof of Work یا Proof of Stake) استفاده میشود تا نودها به اتفاق بر سر یک بلوک قطعی شده و تراکنشها را تأیید کنند. در این حالت، نودهای شبکه تلاش میکنند تا قوانین و الگوریتمهای شبکه را رعایت کنند و در نتیجه بلوکهای قطعی تولید کنند.
اهمیت فاینالیتی (Finality) در بلاکچین به ویژه در مواردی که به انتقال ارزها یا انجام تراکنشهای مالی مرتبط است، بسیار بالاست. فاینالیتی به کاربران اعتماد میدهد که تراکنشی که انجام دادهاند، نهایی و امن است و قابل بازگشت نیست.
فاینالیتی (Finality) به معنای اطمینان از برگشتناپذیری و عدم تغییر تراکنشهای بلاکچین است. اگر تاکنون تراکنشی انجام داده باشید، دیدهاید که تراکنش پیش از تایید تعداد مشخصی از بلاکها در کیف پول یا حساب صرافیتان نمایش داده نمیشود. این مسئله دقیقا به دلیل وجود مسئلهای به نام Finality است. زمان نهایی شدن یا Time to Finality (به اختصار TTF) برای تخمین و بررسی سرعت بلاکچینها، گزینهای مهم است.
در امور مالی سنتی این مفهوم بیشتر به معنای تسویه مبالغ در نظر گرفته میشود. این یک موضوع حیاتی است؛ چرا که هرچه تسویه یک تراکنش طولانیتر شود، احتمال وقوع ریسکهای مختلف و اقدامات مخرب بازیگران بدکار نیز در این میان افزایش پیدا میکند.
نهایی شدن تسویه تراکنش این اطمینان را میدهد که تراکنشها بالاخره در نقطهای تکمیل خواهند شد و خیالمان بابت قطعیت آن راحت میشود. این همان فاکتوری است که به میزان زیادی موجب اعتماد کاربران میشود. آیا میتوانید به بانکی اعتماد کنید که به راحتی در تاریخچه تراکنشهای شما دست میبرد و آنها را تغییر میدهد؟ پس فاینالیتی معادل قطعیت در انجام تراکنش و عدم امکان برگشتپذیری است؛ طوری که حتی خود بانک هم دیگر نتواند چیزی را تغییر بدهد.
این مسئله را هم باید در نظر داشت که بلاکچینی که تراکنشهای زیادی را در یک بلاک واحد جا میدهد، میتواند TPS (تعداد تراکنشها در ثانیه) بالایی داشته باشد؛ اما این موضوع لزوما به معنای سریع بودن این بلاکچین در نظر کاربر نیست. همچنین فاینالیتی را نباید با مفهوم زمان بلاک (Block Time) یکسان در نظر بگیرید. این را هم باید به یاد داشته باشید که تراکنشها را فقط به این دلیل که در بلاکهای جدید تایید شدهاند، نمیتوان نهایی در نظر گرفت.
انواع فاینالیتی (Finality) در بلاکچین
در بلاکچین، انواع مختلفی از فاینالیتی وجود دارند، که به طور عمده بر اساس روشهای کنسانس و الگوریتمهایی که برای قطعیت بلوکها استفاده میشوند، متفاوت هستند. در ادامه، به برخی از انواع فاینالیتی معروف در بلاکچین اشاره میکنم:
-
فاینالیتی Proof of Work (PoW): در شبکههای بلاکچینی که از الگوریتم Proof of Work استفاده میکنند، فاینالیتی بر اساس قوانین این الگوریتم برقرار میشود. در PoW، ماینرها برای حل مسئلهای پیچیده و محاسباتی، اثباتی را ارائه میدهند که نشان میدهد که آنها واقعاً زمان و انرژی را صرف کردهاند. وقتی بلوکی توسط ماینرها حل شده و به شبکه اضافه میشود، با گذشت زمان و تأیید بیشتر ماینرها، فاینالیتی بلوک برقرار میشود.
-
فاینالیتی Proof of Stake (PoS): در الگوریتم Proof of Stake، فاینالیتی بر اساس سهمی که شرکتکنندگان در شبکه دارند، برقرار میشود. به جای استفاده از قدرت محاسباتی، شرکتکنندگان سکههای خود را به عنوان سهم مالکیت در شبکه قرار میدهند. وقتی که شرکتکنندگان بر اساس سهمهای خود برای تولید بلوک انتخاب میشوند، فاینالیتی برقرار میشود. در برخی از شبکههای PoS، تکنیکهایی مانند کنسانس قطعی (finality gadget) نیز استفاده میشود تا فاینالیتی سریعتر و موثقتری را ارائه دهد.
-
فاینالیتی Delegated Proof of Stake (DPoS): در الگوریتم DPoS، نهادهای انتخاب شده توسط شرکتکنندگان (به عنوان نمایندگان) مسئول تولید بلوک و قطعیت بلوکها هستند. این نمایندگان با رأیگیری شرکتکنندگان انتخاب میشوند. وقتی که نمایندگان بلوکی را تولید و به شبکه اضافه میکنند، فاینالیتی برقرار میشود.
-
فاینالیتی (Finality) مبتنی بر زمان (Time-based Finality): این نوع فاینالیتی بر اساس تقریب زمانی مشخص برای قطعیت بلوکهااستفاده میشود. به عنوان مثال، میتوان تعیین کرد که بعد از ۶ بلوک یا ۶۰ دقیقه، یک بلوک به عنوان قطعی تأیید شود.
این تنها چند نمونه از انواع فاینالیتی (Finality) در بلاکچین هستند. هر بلاکچین و شبکه بلاکچین ممکن است از روشها و الگوریتمهای متفاوتی برای برقراری فاینالیتی (Finality) استفاده کنند. همچنین، برخی از شبکههای بلاکچینی ممکن است ترکیبی از روشها و الگوریتمها را برای فاینالیتی پیاده سازی کنند.
فاینالیتی (Finality) در شبکههای اثبات کار (PoW)
در شبکههای بلاکچینی که از الگوریتم اثبات کار (PoW) استفاده میکنند، فاینالیتی به طور معمول به صورت تدریجی و با گذشت زمان برقرار میشود. در این الگوریتم، ماینرها (شرکتکنندگانی که معاملات را تأیید میکنند و بلوکها را تولید میکنند) با حل یک مسئله ریاضی پیچیده و محاسباتی (که به عنوان "Proof of Work" شناخته میشود) سعی در تولید بلوک دارند.
وقتی یک ماینر بلوکی را تولید میکند و به شبکه ارسال میکند، دیگر ماینرها این بلوک را دریافت و تأیید میکنند. در این مرحله، بلوک به عنوان "تأیید شده" شناخته میشود. با این حال، برای اطمینان از قطعیت بلوک، نیاز به تأیید بیشتری از سایر ماینرها وجود دارد.
در حالی که بلوکی به عنوان تأیید شده شناخته شده است، با گذر زمان و بیشتر شدن تعداد بلوکهای بلاکچین (به عنوان یک زنجیره بلوک)، فاینالیتی بلوک برقرار میشود. به عبارت دیگر، با هر بلوک جدید که به زنجیره اضافه میشود، قطعیت بلوکهای قبلی تقویت میشود.
در بلاکچینهای PoW، مفهوم "تأییدهای تکراری" نیز مطرح است. این به این معنی است که هر چه تعداد بلوکهای بیشتری به زنجیره اضافه شود و بیشترین توافق بین ماینرها بر سر صحت آن بلوکها به دست آید، فاینالیتی (Finality) بیشتری برای آن بلوکها برقرار میشود. به عبارت دیگر، هرچه بلوکی عمیقتر در زنجیره قرار بگیرد، فاینالیتی بیشتری خواهد داشت.
معمولاً در بلاکچینهای PoW، برای اطمینان از فاینالیتی (Finality) بلوک، توافق میانی به عنوان یک تعداد مشخص از تأییدهای تکراری (معمولاً برحسب تعداد بلوکهای جدید) تعریف میشود. به عنوان مثال، ممکن است تعیین شود که یک بلوک بعد از دریافت 6 یا 10 بلوک جدید، به عنوان قطعی تأیید شود و فاینالیتی (Finality) برقرار میشود. این به این معنی است که بعد از گذشت تعداد مشخصی از بلوکها، قطعیت بلوکها به طور رسمی تأیید شده و تغییری در آنها صورت نمیگیرد.
استفاده از الگوریتم PoW در شبکههای بلاکچین به علت سختی و هزینهبر بودن حل مسئله ریاضی مرتبط با تولید بلوکها، امنیت بالا و قابلیت اعتماد را فراهم میکند. با این حال، یکی از مشکلات PoW این است که مصرف انرژی بالا و هزینههای سختافزاری مورد نیاز برای استخراج بلوک، میتواند منجر به مشکلات محیطی و محدودیت دسترسی برخی از افراد به فعالیت در شبکه شود.
برخی از شبکههای بلاکچین معروفی که از PoW استفاده میکنند، شبکه بیتکوین (Bitcoin) و شبکه اتریوم (Ethereum) هستند. هر یک از این شبکهها دارای الگوریتم و قوانین خاص خود برای فعالیت در شبکه PoW هستند، اما مبتنی بر اصول کلی که در این پاسخ توضیح داده شدهاند.
فاینالیتی (Finality) در لایه دوها
لایه دوم (Layer 2) در شبکههای بلاکچینی به عنوان یک لایه مجزا و روشی برای مقابله با محدودیتهای موجود در لایه اصلی (Layer 1) مانند بیتکوین، اتریوم و غیره، استفاده میشود. هدف اصلی لایه دوم افزایش قابلیت اطمینان، سرعت و قابلیت هزینهایتی در انجام تراکنشها است.
در شبکههای لایه دوم، معمولاً از روشهایی مانند "State Channels" و "Sidechains" استفاده میشود. این روشها اجازه میدهند تا تعداد زیادی تراکنش را خارج از زنجیره اصلی انجام داده و فقط نتایج نهایی را به زنجیره اصلی گزارش کنند. به این ترتیب، تعداد تراکنشهای قابل پردازش در لایه دوم افزایش مییابد و سرعت بالاتری در انجام تراکنشها حاصل میشود.
فاینفاینالیتی (Finality) الیتی در لایه دوم به صورت متفاوتی نسبت به لایه اصلی عمل میکند. به جای استفاده از الگوریتم اثبات کار (PoW) که در لایه اصلی استفاده میشود، لایه دوم از روشهای مختلفی مانند امضای متقابل (Mutual Signature)، امضای کوانتومی (Quantum Signature) یا قراردادهای هوشمند (Smart Contracts) برای اطمینان از اعتبار تراکنشها و فاینالیتی استفاده میکند.
برای مثال، در یک شبکه مبتنی بر لایه دوم، میتوان یک کانال معاملاتی (transaction channel) بین دو طرف ایجاد کرد. در این کانال، تراکنشها بین طرفین انجام میشوند و فقط نتیجه نهایی به زنجیره اصلی گزارش میشود. هنگامی که طرفین تمامی تراکنشهای خود را انجام داده و میخواهند کانال را ببندند، از امضای متقابل برای تأیید نهایی تمامی تراکنشها استفاده میشود. در این حالت، فاینالیتی تراکنشها در لایه دوم برقرار میشود.
از آنجا که لایه دوم معمولاً به طور مستقل از لایه اصلی عمل میکند و استفاده از تکنولوژیهای مختلفی ممکن است، روشها و مکانیزمهای فاینالیتی (Finality) در لایه دوم میتوانند متفاوت باشناین روشهای فاینالیتی در لایه دوم میتوانند بر اساس نوع شبکه بلاکچینی و پروتکل مورد استفاده متغیر باشند. همچنین، در حال حاضر تحقیقات فراوانی در زمینه لایه دوم انجام میشود و روشهای جدیدی برای فاینالیتی تراکنشها در این لایه در حال توسعه است.
به طور کلی، هدف از استفاده از لایه دوم و روشهای فاینالیتی (Finality) در آن، بهبود امکانات شبکه بلاکچینی اصلی است. با استفاده از لایه دوم، میتوان تراکنشهای بلاکچین را سریعتر، با هزینه کمتر و با قابلیت اطمینان بیشتری انجام داد. همچنین، با افزایش قابلیت همکاری و تعامل بین لایهها، امکاناتی مانند قراردادهای هوشمند پیشرفتهتر و کاربردهای چندبعدی برای بلاکچین فراهم میشود.
در بلاکچین نیز فاینالیتی (Finality) مدتزمانی است که باید طی شود تا مطمئن شویم تراکنش برگشتناپذیر و غیرقابل حذف شدن است. در سیستمهای گواه اثبات کار، باید تعدادی بلاک تایید شوند تا مطمئن شویم که تراکنش روی طولانیترین زنجیره قرار گرفته و دیگر برگشت نمیخورد. در شبکههای اثبات سهام مثل اتریوم نیز باید ۶۶ درصد ولیدیتورها بلاک را تایید کنند تا فاینالیتی حاصل شود. در بلاکچینهای لایه دو فاینالیتی بیشتر به زمانی اشاره دارد که دادهها از لایه دو به لایه پایه منتقل میشوند.
ثبت دیدگاه
0دیدگاه
دیدگاهی ثبت نشده است.
اولین نفری باشید که دیدگاهتان ثبت میشود.