فناوری بلاک چین نوآوری بزرگی در زمینه ذخیره و انتقال داده به ارمغان آورده است. در این سیستم، دادهها به صورت غیرمتمرکز و به صورت همتا به همتا منتقل و در بسترِ توزیعشده بلاکچین ذخیره میشوند. ساختار این فناوری میتواند بر اساس لایههای مختلفی تقسیمبندی شود. به طور کلی، دو نوع روش برای طبقهبندی اجزای مختلف بلاکچین مطرح میشود. در این مقاله، این طبقهبندی را از منظر زیرساخت فنی و همچنین کارکرد لایههای یک بلاکچین توضیح خواهیم داد.
معماری بلاکچین شامل پنج لایه مختلف میباشد. همه لایههایی که در این قسمت نام برده میشوند، مربوط به ساختار معماری شبکه اصلی بلاکچین یا همان لایه یک میباشند.
این لایه همانطور که از نامش مشخص است، به تجهیزات و سختافزارهای مورد نیاز اشاره میکند. عوامل بسیار پایهای همچون دستگاههای ماینر، ماشینهای مجازی، پروتکلهای ارتباطی و مسیجینگ (messaging) در این لایه قرار میگیرند.
پس از لایه سختافزار به لایه داده میرسیم. لایه داده به همان جایی اشاره میکند که دادهها ذخیره میشوند. دادهها به صورت تراکنش در بلاکهای یک بلاکچین ذخیره میشوند. این لایه ساختار دادهها و بلاکها را تعیین میکند. در واقع، لایه سختافزار به عنوان بستری برای ثبت و ذخیره دادهها عمل میکند.
لایه شبکه سومین لایه در معماری بلاکچین است. لایه شبکه درواقع به شبکهای از نودها، ایجاد و انتشار بلاک در میان آنها اشاره میکند. ارتباطات بین نودها در این لایه به صورت همتا به همتا یا P2P شکل میگیرند.
مسئولیت لایه اجماع، «تایید بلاکها» در معماری بلاکچین میباشد. این لایه براساس الگوریتمها و پروتکلهای خاصی عمل و تضمین میکند که تمام نودهای شبکه بر صحت و ثبت دادهها به توافق میرسند. ممکن است پروتکلهای مختلفی برای بلاکچینها وجود داشته باشند؛ از جمله اثبات کار (PoW)، اثبات سهام (PoS)، اثبات سهام نمایندگیشده (DPoS) و اثبات زمان سپریشده (PoET). الگوریتمهای اثبات کار و اثبات سهام از پرکاربردترین پروتکلهای اجماع میباشند که به ترتیب در شبکههای بیتکوین و اتریوم استفاده میشوند.
بیشتر بخوانید: الگوریتم اجماع در بلاک چین
لایه برنامه که پنجمین لایه در معماری بلاکچین است متشکل از قراردادهای هوشمند، برنامههای غیرمتمرکز و روابط کاربری میباشد که قابلیت تعامل کاربران با شبکه را فراهم میکنند. معمولا کاربران مستقیما با قرارداد هوشمند تعامل ندارند. درعوض، آنها به فرانت اند یک برنامه Web3 یا یک API متکی هستند. وبسایت صرافی یونیسواپ (Uniswap) نمونهای از یک برنامه غیرمتمرکز است که رابط کاربری و قراردادهای هوشمند را ترکیب میکند.
روش دیگری برای طبقهبندی ساختار بلاکچین وجود دارد که بر حسب عملکرد لایههای مختلف آن صورت میگیرد. در این روش، لایههای مختلفی از 0 تا 3 وجود دارند. هرچند این نوع لایهبندی تعریف مشخص و واضحی ندارد. اما مفاهیم آن با تعاریف متفاوت، کلیشهای و گاهی متناقض در منابع مختلف منتشر میشود که در ادامه به بررسی آنها میپردازیم. اما پیش از آن که به معرفی این لایهها بپردازیم، لازم است تا با مفهوم چالشهای سهگانه بلاکچین آشنا شویم.
در دنیای بلاکچین، سه ویژگی تمرکززدایی، امنیت و مقیاسپذیری اهمیت فراوانی دارند.
تمرکززدایی به این معناست که کنترل شبکه در دستان یک شخص یا گروه خاصی نیست، بلکه کنترل و قدرت میان تک تک نودهای شبکه توزیع میشود.
امنیت به تغییرناپذیری و غیرقابل دستکاری بودن یک شبکه اشاره میکند. نودهای شبکه وظیفه تامین امنیت را برعهده دارند. آنها دادهها را تایید و در شبکه توزیع میکنند. ویژگی امنیت سبب میشود تا شبکه از خود در برابر نودهای مخرب، حملات و آسیبپذیریها محافظت کند. میتوان گفت، هرچه شبکه غیرمتمرکزتر باشد؛ امنتر نیز خواهد بود.
مقیاسپذیری به توانایی شبکه در ثبت تراکنشها در واحد زمان اشاره میکند. به عبارتی، هرچه بلاکچین بتواند تراکنشهای بیشتری را در مدت زمان کمتری تایید و ثبت کند، مقیاسپذیرتر است.
اما چالش اصلی اینجاست که نمیتوان هر سه این ویژگیها را در حد بسیار بالا و بهطور همزمان برای یک بلاکچین ایجاد نمود. حال که این معضل سهگانه بلاکچین را درک کردید، به تقسیمبندی لایههای بلاکچین از لحاظ عملکرد آنها میپردازیم.
لایههای معماری بلاکچین که پیشتر درمورد آن صحبت کردیم، مربوط به اجزای تشکیلدهنده شبکه اصلی (لایه 1) بودند. اما در این قسمت قرار است تا با نوع دیگری از طبقهبندی لایههای بلاکچین آشنا شویم. این لایهها سلسله مراتبی هستند که به صورت لایههای 0، 1، 2 و 3 نامیده میشوند و بسترهای متفاوتی از یک بلاکچین را معرفی میکنند. هر کدام از این لایهها عملکرد یا هدف خاص خودشان را دارند. در واقع بهینهسازی چالشهای سهگانه بلاکچین سبب شد تا استاندارد جدیدی برای طبقهبندی ساختار بلاکچین و نامگذاری بر اساس لایههای متفاوت صورت بگیرد. البته همانطور که بیان کردیم، مفاهیم و مطالب این قسمت عموما بهصورت کلیشهای و نادرست منتشر شده است. لذا سعی میکنیم آنها را مورد نقد قرار داده و مطالب صحیح را به شما منتقل کنیم.
لایه صفر به زیرساختهای لازم برای ایجاد و بنای یک شبکه بلاکچین اطلاق میشود. این زیرساختها میتوانند شامل مواردی همچون سختافزارهای موردنیاز، جریان برق، اینترنت و غیره باشند. پروژههای بسیاری نیز وجود دارند که خود را به عنوان لایه صفر معرفی میکنند. بهعنوان مثال، پولکادات (Polkadot) به دلیل اینکه مدعی است میتواند ارتباط بین بلاکچینهای مختلف را ایجاد کند، خود را به عنوان یک پروژه لایه صفر معرفی میکند.
اما نکته مهمی که وجود دارد، این است که هیچکدام از موارد ذکرشده نمیتوانند لایه صفر یک بلاکچین نامیده شوند.
درواقع مفهوم لایه صفر به معنای بستری ویژه برای بلاکچینها است که بر روی آن پایهگذاری میشوند. اما مواردی همچون دستگاههای سختافزاری، برق، اینترنت، زبانهای برنامهنویسی و علوم رمزنگاری، به هیچ عنوان بهطور ویژه، برای بلاکچین ایجاد نشدهاند و پیش از ایجاد بلاکچین نیز وجود داشتهاند. همچنین پروژههایی همچون پولکادات برخلاف ادعاهای خود بستری پایهای برای یک بلاکچین ایجاد نمیکند؛ بلکه میتوان گفت صرفا پلی میان شبکهها بهوجود میآورد که با چنین هدفی، این شبکه نمیتواند به عنوان لایه صفر قلمداد شود.
زمانیکه بستری تحت عنوان لایه صفر معرفی میشود، به این معناست که چنین مفهومی پیش از ایجاد شبکه اصلی وجود داشته است. درحالیکه مفهوم لایه صفر بعدها بهصورت کلیشهای و بدون تعریف مشخص منتشر شد. بنابراین میتوان گفت در حقیقت مفهوم مشخصی بهنام لایه صفر وجود ندارد و اگر روزی بستری خاص ایجاد شود که شبکه اصلی بلاکچینها بر روی آن اجرا شوند، آن بستر باید لایه یک نامیده شود.
لایه یک همان شبکه اصلی بلاکچین است. برنامه اصلی بلاکچین شامل تمام کدها، پروتکلها و اجزای اصلی شبکه در این لایه قرار میگیرد. بیتکوین و اتریوم مثالهایی از لایه یک بلاکچین هستند که تمام معاملات و تراکنشها در بستر آن انجام و تسویه خواهند شد.
همانگونه که پیشتر بیان کردیم، یک بلاکچین نمیتواند سه ویژگی امنیت، تمرکززدایی و مقیاسپذیری را بهطور همزمان ارائه کند. معمولا لایههای یک بلاکچین، مانند بیتکوین و اتریوم، در دو زمینه امنیت و تمرکززدایی کیفیت بالایی ارائه میکنند، اما در خصوص مقیاسپذیری با چالش مواجه هستند. برای افزایش مقیاسپذیری یک بلاکچین، نیاز است حداقل یکی از دو ویژگی دیگر تا حدی قربانی شود. اما در این صورت، ممکن است اساس و هدف اصلی ایجاد بلاکچین زیر سوال برود. برای حل این چالش راهحلهای لایه دو به وجود آمدند.
برای حل چالش مقیاسپذیری بلاکچین بدون کاهش امنیت و تمرکزگرایی در شبکه، راهحلهای لایه دو ایجاد شدند. معمولا راهحلهای لایه دو با انجام و اجرای تراکنشها خارج از بلاکچین لایه یک، از سنگینی و شلوغی این بلاکچین کاسته و حاصل چندین تراکنش را در قالب یک تراکنش تجمیع کرده و سپس در شبکه لایه یک ثبت میکنند. انواع مختلفی برای لایه دو وجود دارد؛ از جمله رولآپها (rollup)، کانالهای وضعیت (state channel)، زنجیرههای جانبی (sidechain) و پلاسما (plasma).
فعلا چنین راهحلهایی که مقیاسپذیری را افزایش میدهند میتوانند تا حدی تمرکز و گاهی عدم امنیت در شبکه به وجود آورند که این مساله منجر به وقوع مشکلات جدیدی میشود.
مفهوم لایه سه نیز همانند لایه صفر یک مفهوم نامشخص میباشد که به اشتباه رواج یافته است. اگر مفهوم لایه سه بلاکچین را در فضای اینترنت جستجو کنید، عموما با این تعریف مواجه میشوید: لایه سه شامل قراردادهای هوشمند، اپلیکیشنهای غیرمتمرکز (dApp) و روابط کاربری میباشد که ارتباط کاربران با بلاکچین را تسهیل کرده و همچنین در کارایی و مقیاسپذیری شبکه موثر هستند و بر بستر لایه دو ایجاد میشوند.
اما این تعریف کاملا اشتباه است. با وجود این تعریف، لایه سه یک بستر مجزا که بر لایه دو استوار و فعال باشد، نیست. قراردادهای هوشمند و اپلیکیشنهای غیرمتمرکز صرفا یک برنامه بر روی یک بستر، دارای موتورهای مجازی اجرا میشوند. حال این بستر میتواند لایه یک مانند اتریوم و یا یک راهحل لایه دو دارای موتور مجازی باشد. میتوان صرافیهای غیرمتمرکز، اپلیکیشنهای استیکینگ یا وامدهی را به عنوان مثال نام برد.
بهطور کلی، مفهوم لایههای بلاکچین یک مفهوم مشخص و مستند نیست، اما در این مقاله سعی کردیم برخلاف بسیاری از منابع، بهجای تکرار و انتشار مطالب نادرست، این مفاهیم را بهنحوی مورد نقد و بررسی نیز قرار دهیم و یک دیدگاه صحیح را در این حوزه به شما منتقل کنیم.
در واقع، موضوع لایههای بلاکچین از ابتدای خلق بلاکچین بیتکوین مطرح نبود. لذا وجود لایه صفر که به بستری برای شبکه اصلی اشاره دارد و در مجموع وجود سلسلهمراتب این لایهها بیمعناست.
تقریبا در سال 98 با ارزهای دیجیتال آشنا شدم و تنها چیزی که ازش میدونستم فقط ترید بود؛ تقریبا مثل همه کسایی که برای اولین بار با این حوزه آشنا میشن. اما هرچه بیشتر تو ...