صفحه اصلی / بلاگ / همه چیز در مورد لایه‌های بلاکچین

همه چیز در مورد لایه‌های بلاکچین

۳۱ اردیبهشت ۱۴۰۱

همه چیز در مورد لایه‌های بلاکچین

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

شناخت لایه‌های بلاکچین

فناوری بلاکچین ترکیبی بی نظیر از چندین فناوری فعلی (رمزنگاری، نظریه بازی و غیره) با طیف گسترده‌ای از کاربردهای ممکن مانند ارزهای دیجیتال است. رمزگذاری و رمزگشایی داده‌ها یک رشته ریاضی و محاسباتی است که به رمزنگاری (Cryptography) معروف است. مطالعه مدل‌های ریاضی تعامل استراتژیک بین تصمیم گیرندگان منطقی، به عنوان نظریه بازی شناخته می‌شود. بلاکچین واسطه‌ها را حذف می‌کند، هزینه‌ها را کاهش می‌دهد و با ایجاد شفافیت و امنیت، کارایی را بهبود می‌بخشد.

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

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

مقیاس پذیری بلاکچین چیست؟

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

تعداد تراکنش‌هایی که توسط یک سیستم در هر ثانیه انجام می‌شود تحت عنوان throughput یا توان عملیاتی شناخته می‌شوند. در حالی که شبکه پرداخت الکترونیکی ویزا، می‌تواند بیش از 20 هزار تراکنش در ثانیه را پردازش کند، زنجیره اصلی بیت کوین (BTC) نمی‌تواند بیش از هفت تراکنش را در ثانیه انجام دهد.

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

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

همه چیز در مورد لایه‌های بلاکچین

سه راه بلاکچین

سه راه بلاکچین به این مفهوم رایج اشاره دارد که از نظر تمرکززدایی، امنیت و مقیاس پذیری، شبکه‌های غیرمتمکز فقط می‌توانند دو مورد از سه مزیت را در هر زمان ارائه دهند.

متخصصان حوزه کامپیوتر، قضیه سازگاری، در دسترس بودن و تلرانس پارتیشن (CAP) را در دهه 1980 ابداع کردند تا احتمالاً مهمترین مشکلات را بیان کنند. قضیه CAP بیان می‌کند که ذخیره سازی غیرمتمرکز داده، مانند بلاکچین، تنها می‌تواند دو مورد از سه تضمین ذکر شده در بالا را به طور همزمان برآورده کند.

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

قبل از پرداختن به پویایی‌های سه گانه، اجازه دهید مقیاس پذیری، امنیت و عدم تمرکز را به طور کلی تعریف کنیم:

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

تعامل بین مقیاس پذیری، امنیت و عدم تمرکز

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

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

در نتیجه یک بلاکچین نمی‌تواند برای هر سه ویژگی مورد نظر به طور همزمان بهینه شود. اتریوم جدیدترین نمونه از سه راه است. پلتفرم اتریوم به دلیل رشد برنامه‌های مالی غیرمتمرکز (DeFi) در 2021، شاهد رونق چشمگیری بود. اما اتریوم فقط تا یک نقطه‌ی خاص می‌تواند رشد کند.

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

تمرکز اتریوم روی تمرکززدایی و امنیت بود در نتیجه تعداد تراکنش‌ها در ثانیه (مقیاس پذیری) محدود می‌شد. برای تشویق ماینرها به اولویت بندی تراکنش‌های خود، کاربران هزینه‌های بیشتری پرداخت کردند. به طور مشابه، تمرکززدایی و امنیت بر مقیاس پذیری در بیت کوین نیز اولویت دارد.

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

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

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

همه چیز در مورد لایه‌های بلاکچین

ساختار لایه‌ای از معماری بلاکچین

در مورد معماری شبکه توزیع شده بلاکچین، هر یک از شرکت کنندگان شبکه، ورودی‌های جدید را نگهداری و به روز نگه داشته و مجوز می‌دهند. مجموعه‌ای از بلوک‌ها با تراکنش‌ها در یک ترتیب خاص، ساختار فناوری بلاکچین را نشان می‌دهند. این لیست‌ها را می‌توان به عنوان یک فایل (در فرمت txt) یا یک پایگاه داده ساده ذخیره کرد. معماری بلاکچین می‌تواند به اشکال عمومی، خصوصی یا کنسرسیومی باشد.

معماری لایه‌ای بلاکچین به شش لایه طبقه بندی می‌شود:

لایه زیر ساخت سخت افزاری

محتوای بلاکچین در سروری در یک مرکز داده در نقطه‌ای از زمین، ذخیره می‌شود. مشتریان هنگام مرور وب یا استفاده از هر برنامه‌ای، محتوا یا داده‌ها را از سرورهای برنامه درخواست می‌کنند که به معماری سرویس گیرنده-سرور (client-server) معروف است.

کلاینت‌ها اکنون می‌توانند با هم ارتباط برقرار کنند و داده‌ها را به اشتراک بگذارند. شبکه‌ی همتا به همتا (P2P) گروه بزرگی از کامپیوترها هستند که داده‌ها را به اشتراک می‌گذارند. بلاکچین، یک شبکه همتا به همتا از رایانه‌ها است که تراکنش‌ها را به شیوه‌ای منظم در یک دفتر مشترک محاسبه، تأیید و ثبت می‌کند. در نتیجه، یک پایگاه داده توزیع شده ایجاد می‌شود که تمام داده‌ها، تراکنشات و سایر داده‌های مربوطه را ذخیره می‌کند. گره، یک کامپیوتر در یک شبکه p2p است.

لایه داده

ساختار داده یک بلاکچین به صورت لیست پیوندی از بلوک‌هایی که تراکنش‌ها در آن سفارش داده می‌شوند، بیان می‌شود. ساختار داده بلاکچین از دو عنصر اساسی تشکیل شده است: اشاره‌ گرها و لیست پیوندی (pointers and a linked list). لیست پیوندی، لیستی از بلوک‌های زنجیره‌ای با داده‌ها و نشانگرهای بلوک قبلی است. اشاره گرها متغیرهایی هستند که به موقعیت یک متغیر دیگر اشاره می‌کنند. درخت مرکل یک درخت باینری از هش است. هر بلوک حاوی هش ریشه درخت Merkle و اطلاعاتی مانند هش بلوک قبلی، مهر زمانی، نانس و شماره نسخه بلوک است.

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

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

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

لایه شبکه

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

لایه اجماع

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

لایه اپلیکیشن

قراردادهای هوشمند، کدهای زنجیره‌ای و برنامه‌های غیرمتمرکز (DApps) لایه برنامه را تشکیل می‌دهند. پروتکل‌های لایه برنامه بیشتر به لایه‌های برنامه و اجرا تقسیم می‌شوند. لایه برنامه شامل برنامه‌هایی است که کاربران نهایی برای برقراری ارتباط با شبکه بلاکچین از آنها استفاده می‌کنند. اسکریپت‌ها، رابط‌های برنامه نویسی کاربردی (API)، رابط‌های کاربری و فریم ورک‌ها، همه بخشی از لایه‌ی اپلیکیشن هستند.

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

اگرچه یک تراکنش از لایه برنامه، به لایه‌ی اجرا منتقل می‌شود، اما در لایه معنایی (semantic)، اعتبارسنجی و اجرا می‌شود. برنامه‌ها دستورالعمل‌هایی را به لایه اجرا می‌دهند که تراکنش‌ها را اجرا می‌کند و ماهیت قطعی بلاکچین را تضمین می‌کند.

همه چیز در مورد لایه‌های بلاکچین

لایه‌های بلاکچین

لایه صفر

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

لایه یک

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

مشکلات لایه یک

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

راه حل‌های امکان پذیر

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

لایه دو

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

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

لایه سه

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

نتیجه گیری

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

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