آشنایی با ساختار و کاربرد لایههای بلاکچین
یک دفترکل توزیع شده که میتواند اطلاعات را به صورت ایمن، شفاف و غیرقابل تغییردر خود ذخیره کند، فناوری است که این روزها به اسم بلاکچین میشناسیم. این فناوری که انقلابی در نحوه انتقال و ذخیرهسازی دادهها ایجاد کرده یکی از بزرگترین پیشرفتهای قرن بیست و یکم محسوب میشود. این فناوری برای کارایی بیشتر به صورت لایه لایه ساخته شده است. اگرچه به دلیل پیچیدگیهای بلاکچین، برخی از کاربران از ساختار اساسی آن بیاطلاع هستند، اما ما در این مقاله قصد داریم به زبان ساده معماری و کاربرد لایههای بلاک چین را توضیح دهیم.
بلاکچین چیست؟
بلاکچین، که به عنوان زنجیره بلوکی نیز شناخته میشود، یک دفتر کل توزیع شده و غیرقابل تغییر است که برای ثبت اطلاعات تراکنشها به روشی امن و شفاف استفاده میشود. این فناوری در واقع زنجیرهای از بلوکها است که هر بلوک شامل اطلاعات تراکنشها، یک مهر زمانی و هش منحصر به فرد بلوک قبلی است.
احتمالا اکثر شما نیز بلاکچین را بیشتر به دلیل نقش حیاتی آن در سیستمهای ارزهای دیجیتال برای حفظ یک رکورد امن و غیرمتمرکز از تراکنشها میشناسید، اما کاربردهای این دفتر کل به استفاده از ارزهای دیجیتال محدود نمیشوند. در واقع، فناری بلاک چین را می توان برای تغییرناپذیر کردن دادهها در هر صنعتی مورد استفاده قرار داد. از آنجا که هیچ راهی برای تغییر یک بلوک وجود ندارد، اطلاعات درست همانطور که توسط کاربر وارد شده باقی میماند.
از زمان معرفی بیت کوین در سال ۲۰۰۹، کاربردهای بلاک چین روز به روز چه از طریق ایجاد ارزهای دیجیتال مختلف و چه برنامههای کاربردی مالی غیرمتمرکز (DeFi)، توکن های غیرقابل تعویض (NFT) و قراردادهای هوشمند افزایش یافته است.
ساختار لایههای بلاک چین چیست؟
لایههای بلاکچین از اجزای مختلفی تشکیل شده که در کنار هم یک شبکه بزرگ و کارآمد را تشکیل میدهند. این اجزا با هم کار میکنند تا یک سیستم امن، شفاف و غیرمتمرکز برای ثبت و تایید اطلاعات ایجاد کنند. بدین ترتیب، ساختار لایههای بلاک چین عبارت است از:
- نود یا گرهها: منظور از نود شبکه، کامپیوترهای متصل به اینترنتی هستند که در شبکه بلاکچین اجرا میشوند. تایید تراکنش، انتشار بلاک جدید و ذخیره اطلاعات برخی از کارهای نودها است.
- الگوریتم اجماع: الگوریتم اجماع مکانیزمی است که برای رسیدن به توافق در مورد وضعیت شبکه بین نودها استفاده میشود. الگوریتمها ضروریترین بخش برای کارکرد درست بلاکچین هستند. الگوریتمهای اجماع مختلفی مانند اثبات کار (PoW) و اثبات سهام (PoS) وجود دارند.
- شبکه همتا به همتا: شبکه همتا به همتا به گرهها این امکان را میدهد تا بدون سرور مرکزی به یکدیگر متصل شوند. این شبکه ارتباط را ساده میکند و مانع حذف اطلاعات میشود.
- ماشین مجازی: ماشین مجازی بخشی از بلاکچین است که امکان حل محاسبات پیچیده را به شبکه میدهد. به کمک ماشین مجازی هر سیستمی به یک ماشین محاسباتی پیشرفته تبدیل میشود.
نقش لایهها در سهگانه بلاکچین
سهگانه بلاکچین در واقع به سه پایه و هدف اصلی بلاکچین یعنی امنیت، مقیاسپذیری و تمرکززدایی اشاره دارد. در حالت ایدهآل یک شبکه باید هر سه ویژگی را داشته باشد اما با توجه به محدودیتهای تکنولوژی هماکنون شبکههای غیرمتمرکز تنها قادر به اجرای دو مورد از آنها هستند و یک مزیت دیگر ناچار به حذف شدن است.
برای نمونه، بلاکچین اتریوم یک بلاکچین امن و غیرمتمرکز است که پس از افزایش کاربران با مشکل مقیاسپذیری روبهرو شد. این موضوع زمان تایید تراکنش و البته کارمزدها را به شدت در شبکه اتریوم افزایش داد و باعث شد تا بسیاری از معاملهگران به سراغ بلاکچینهای دیگر بروند. بدین ترتیب بود که اتریوم لایه دوم بلاکچین خود را با هدف افزایش مقیاسپذیری راهاندازی کرد.
بنابراین، میتوانیم بگوییم لایههای بلاکچین، کمک میکنند تا توان عملیاتی شبکهها افزایش یابد و بتوانند سهگانه بلاکچین را تجربه کنند.
معماری بلاکچین (blockchain architecture)
مجموعهای از بلوکها با تراکنشها در یک ترتیب خاص، ساختار یا همان معماری فناوری بلاکچین را نشان میدهد. در واقع، شبکههای بلاک چین از لایههای مختلفی تشکیل شدهاند که هر کدام وظایف و کارکردهای خاص خود را دارند. به طور کلی، معماری بلاکچین به 5 زیرشاخه کلی تقسیم میشود:
-
لایه زیرساخت سختافزاری (Hardware Infrastructure Layer)
اگر بلاکچین را یک کره در نظر بگیریم، لایه زیرساخت یا سختافزاری سروری است که در مرکز کره قرار دارد و تمامی اطلاعات بر روی آن ذخیره میشوند. هر زمان که فردی در استفاده از مرورگر بلاکچین برای دریافت این اطلاعات درخواستی را ارائه دهد اطلاعات از این سرور در اختیار او قرار میگیرد. بدین ترتیب کاربران میتوانند با یکدیگر ارتباط برقرار کنند و یک شبکه همتا به همتا از تمام کامپیوترهای جهان ایجاد میشود.
این سرور همچنین کمک میکند تا بلاکچین تراکنشها را به صورت منظم در یک دفتر کل مشترک محاسبه، تایید و ثبت کند. در نتیجه، یک پایگاه داده توزیع شده ایجاد میشود که تمام دادهها، تراکنشها و سایر دادههای مربوطه در آن ذخیره شده است.
-
لایه داده (Data layer)
پس از لایه سختافزاری، لایهای به نام داده وجود دارد که وظیفه ثبت جزئیات تراکنش و تشکیل بلاکها را بر عهده دارد. در لایه داده، پس از تکمیل تعداد تراکنشها یک بلوک ساخته و بر روی شبکه آپلود میشود. سپس هر بلوک به بلوک قبلی خود متصل میشود و یک زنجیره را میسازد. در بلاکچین، تنها اولین بلاک ایجاد شده که به آن بلاک پیدایش میگویند دنبالهای از قبل ندارد.
در بلاکچین همچنین به منظور حفظ امنیت و یکپارچگی دادهها، تراکنشها به صورت دیجیتالی امضا میشوند. این امضاها به وسیله کلیدهای خصوصی صورت میگیرد و هر کسی که کلیدهای عمومی مربوطه را داشته باشد میتواند تراکنش را تایید کند. بدین ترتیب، به کمک امضای دیجیتالی دادهها از طریق کلید خصوصی و کلیدعمومی، رمزگذاری میشود و احتمال دستکاری آنها به حداقل میرسد.
-
لایه شبکه (Network Layer)
لایه شبکه که به آن لایه P2P نیز گفته میشود، ارتباط بین گرههای بلاک چین را مدیریت میکند. این لایه گرهها را به هم متصل میکند، تراکنشها را منتشر میکند و دادهها را در سراسر شبکه توزیع میکند. از آنجایی که بلاکچین یک سیستم باز است، هر گره باید از اعتبارسنجی تراکنشها توسط گرههای دیگر آگاه باشد تا تداخل و تکرار در تایید تراکنشها رخ ندهد. این لایه کمک میکند تا گرهها از کار هم خبر داشته باشند و اینگونه یک تراکنش دوبار تایید نشود.
-
لایه اجماع (Consensus layer)
لایه اجماع مهمترین لایه هر بلاکچین بهشمار میرود. این لایه تضمین میکند که تراکنش با قوانین همه گرهها همخوان است. لایه اجماع معمولا از یک الگوریتم اجماع اثبات کار (PoW) یا اثبات سهام (PoS) و یا سایر انواع برای اعتبارسنجی و افزودن تراکنشها به شبکه استفاده میکند.
-
لایه اپلیکیشن (Application layer)
لایه Application یکی از لایه های بلاک چین است که برنامهها بر روی آن ساخته میشود. اپلیکشن، قرارداد هوشمند، برنامه غیرمتمرکز (Dapps)، بازیها، کیف پولها و هر نرمافزاری که بر روی شبکه بلاکچین اجرا شود، در این لایه قرار میگیرد. در واقع، این لایه به توسعهدهندگان این امکان را میدهد تا برنامهها و خدمات جدیدی ایجاد کنند که امنیت و شفافیت بلاکچین را افزایش میدهد. شبکه بلاکچین به عنوان فناوری back-end برای برنامهها عمل میکند و این اپلیکشنها نیز از طریق API با آن ارتباط برقرار میکنند.
پروتکل بلاکچین (لایههای بلاکچین بر اساس پروتکل)
علاوه بر تقسیمبندی لایه های بلاک چین، نوع دیگری از تقسیمبندی بلاکچین نیز وجود دارد که بر اساس مقیاسپذیری یا پروتکل انجام میشود. در بلاک چین مقیاسپذیری به توانایی تایید تراکنش در ثانیه یا همان توان عملیاتی شبکه است. در تقسیمبندی لایه های بلاک چین بر اساس مقیاسپذیری هرچه از لایه صفر به جلو برویم توان عملیاتی بیشتر میشود.
-
لایه صفر (Layer zero)
لایه صفر ابتداییترین لایه بلاکچین است و کارکرد آن در مجموع باعث تحقق بلاکچین میشود. پولکادات، کازماس، اولانچ و کاردانو نمونههایی از بلاکچین لایه صفر هستند. اجزای لایه 0 شامل اینترنت، سختافزار و اتصالاتی است که لایه یک را قادر میسازد تا به خوبی اجرا شود. در این لایه همچنین پروتکلهایی وجود دارد که میتوان کل زنجیرههای بلوکی را از آنها ساخت و مرتبط کرد.
-
لایه اول بلاکچین (Layer one)
لایه یک یا لایه پایه، بخشی است که حفظ امنیت شبکه را با تغییرناپذیر بودن بر عهده دارد. اتریوم و بیت کوین دو نمونه از مشهورترین بلاکچینهای لایه اول هستند. این لایه در واقع تضمین میکند که پروتکلهای بلاکچین به خوبی دنبال و پیادهسازی میشوند. لایه اول همچنین مکانیزمهای اجماع، زبانهای برنامه نویسی و سایر فرآیندهای فنی را برای نهایی کردن تراکنشها در شبکه اجرا میکند.
لایه اول مسئولیت ایجاد و افزودن بلاکهای جدید به شبکه را نیز انجام میدهد. اما اگرچه امنیت در این لایه بسیار بالا است، مقیاسپذیری یک محدودیت بزرگ در بلاکچین لایه یک بهشمار میرود. L1 از مکانیسم اجماع اثبات کار (PoW) استفاده میکند و ماینرها باید هربار تراکنشها را حل و تایید کنند. این یعنی، با افزایش تعداد کاربران توان عملیاتی این بلاکچینها کاهش و کارمزدهای آن افزایش مییابد.
-
لایه دوم بلاکچین (Layer two)
لایه 2 بر مقیاسپذیری تمرکز دارد و جایی است که برنامهها در آن اجرا میشوند. لایه دوم برای حل مشکلات مقیاسپذیری لایه پایه ایجاد شد و با حذف برخی از تعاملات به اجرای برنامهها سرعت میبخشد. بنابراین، میتوانیم لایه دوم را به عنوان یک شخص ثالث در نظر بگیریم که تمام احراز هویت تراکنشها را کنترل میکند، در بالای L1 ساخته شده و به طور مداوم با آن در ارتباط است. این موضوع باعث میشود تا گرههای بیشتری اضافه شوند و توان عملیاتی بلاکچین افزایش یابد.
Polygon نمونهای از شبکه لایه 2 است که برای کمک به مقیاسبندی بلاک چین اتریوم ایجاد شده است. این پلتفرم، در کنار اتریوم اجرا میشود و پس از بستهبندی کردن چندین تراکنش، آنها را به L1 ارسال میکند. بدین ترتیب امکان انجام تراکنشهای سریعتر فراهم شده و در نهایت هزینه تراکنش کاهش مییابد.
-
لایه سوم بلاکچین (Layer three)
در نهایت، لایه سه یک رابط کاربری میان بلاکچین و کاربران است. این لایه میزبان برنامههایی است که امکان استفاده در دنیای واقعی خارج از بلاکچین، مانند بازی، دیفای و ذخیرهسازی را فراهم می کنند. بسیاری از این برنامهها دارای قابلیتهای زنجیرهای متقابل هستند که به کاربران چندین بلاک چین اجازه میدهد از آنها استفاده کنند.
نمونهای از بلاک چین لایه 3 Uniswap است که یک صرافی رمزنگاری خودکار و غیرمتمرکز (همچنین به عنوان DEx شناخته میشود) مبتنی بر اتریوم بهشمار میرود.
بلاکچین، تکنولوژی بی انتها
بلاکچین یک فناوری همهجانبه است که کار خود را با پشتیبانی و اجرای ارزهای دیجیتال آغاز کرد و این روزها کاربردهای آن در حال گسترش است. این شبکه از لایههای متعددی تشکیل شده که هر کدام دارای ویژگیها و اللبته محدودیتهایی بودهاند. به همین دلیل بسیاری از شرکتها و افراد به طور مداوم در تلاش بودهاند تا لایه های بلاک چین را ایمنتر، مقیاسپذیرتر و غیرمتمرکزتر کنند.