برنامه غیر متمرکز (Dapp) چیست؟ یک اپلکیشین غیر متمرکز چگونه کار میکند؟ برنامههای غیرمتمرکز چه کاربردها و ویژگیهایی دارند؟ محبوب ترین Dappها کدامند؟
دنیای بلاکچین در تلاش است تا با استفاده از الگوریتمها و تکنولوژیهای مختلف جهان غیرمتمرکزی را ایجاد کند. جهان غیرمتمرکز یعنی جاییکه دیگر تراکنشهای بانکی، تبلیغات، جستجو در وب، بازیها، سرگرمیهای روزمره و سایر امور به صورت متمرکز و با نظارت نهاد ثالث انجام نمیشود و کنترل تمامی امور بر عهده کاربران است.
اپلیکیشنها و برنامهها نیز جزو اهداف مهم دنیای بلاک چین هستند تا بتواند آنها را از حالت متمرکز خارج کند. برنامه های غیرمتمرکز یا decentralized applications که به اختصار Dapp نام دارند، بر روی یک شبکه همتا به همتا اجرا میشوند و هیچ نهاد یا سازمانی بر روی آنها نظارت نمیکند. در ادامه به بررسی کامل برنامه های غیر متمرکز یا dapps، انواع و کاربردهای آن میپردازیم.
برنامه غیر متمرکز DApp چیست؟
DApp مخفف decentralized applications و به معنای برنامههای غیرمتمرکز است. به طور خلاصه به برنامههایی که از نظارت و کنترل یک مرجع واحد جدا باشند و کاربران آن کنترل و نظارت برنامه را برعهده بگیرند، برنامه غیر متمرکز گفته میشود. ساختار برنامهها همانند برنامههای وب از دو بخش اصلی فرانت اِند (Front-End) و بک اِند (Back-End) تشکیل شده است.
فرانت اِند بخش ظاهری وبسایت یا اپلیکیشن است که کاربر آن را مشاهده میکنند و با آن تعامل دارند. طراحی رابط کاربری، منوهای صفحه، روشهای وارد کردن اطلاعات ورودی و غیره جزو بخش فرانت اِند اپلیکیشن محسوب میشود. در بخش بک اِند انجام محاسبات و پردازش اطلاعات اتفاق میافتد و در آن اطلاعات کاربران ذخیره میشود.
در برنامههای غیر متمرکز، بخش اصلی برای غیرمتمرکز بودن برنامه، بخش بک اِند است. در واقع هنگامی که صحبت از غیرمتمرکز بودن یک اپلیکیشن میکنیم، منظور غیرمتمرکز بودن بخش بک اِند اپلیکیشن است که اطلاعات کاربران تنها در یک سرور ذخیره نمیشود. به عنوان مثال برنامههایی مانند فیسبوک یا اینستاگرام دارای سرورهای متمرکز هستند و بخش بک اند اپلیکیشن توسط یک نهاد یا سازمان کنترل میشود.
برنامه های غیرمتمرکز (decentralized applications) توسط شبکه بلاکچین همتا به همتا اجرا میشوند و در یک محیط عمومی، منبع باز و غیر متمرکز برنامه کار خود را انجام میدهد. کدهای اپلیکیشن غیر متمرکز در قرارداد هوشمند نوشته میشوند. این قراردادهای هوشمند در شبکههای بلاک چینی ذخیره میشوند و قوانین مشخص شده در کدها را اجرا میکنند. بخش فرانت اِند یک اپلیکیشن غیرمتمرکز همانند برنامه متمرکز است؛ بنابراین قراردادهای هوشمند تنها برای بخش بک اند نوشته میشوند. معمولا اپلیکیشن غیر متمرکز از چندین قرارداد هوشمند تشکیل میشود تا بتواند شرایط مناسبی برای کاربران خود فراهم کند.
تاریخچه برنامههای غیر متمرکز (dapp)
پیدایش برنامه های غیرمتمرکز (decentralized applications) را میتوان همزمان با پیدایش اتریوم دانست. ویتالیک بوترین در سال 2013 ایده ایجاد اتریوم را مطرح کرد. اتریوم نوعی شبکه بلاکچین است که کاربران میتوانند علاوه بر تراکنشهای مالی، کارهایی دیگری همچون سرگرمی، برنامههای آب و هوا و سایر امور روزمره خود را به صورت غیرمتمرکز انجام دهند.
در واقع ویتالیک بوترین به دنبال ایجاد اینترنت برمبنای شبکه بلاک چین است که در آن کاربران در شبکهای همتا به همتا امور روزمره خود را به صورت غیرمتمرکز انجام میدهند. پیدایش شبکه اتریوم و کاربردهای منحصر به فرد آن باعث خلق قراردادهای هوشمند شد. قرارداد هوشمند با حذف نهاد ثالث و قوانین مشخص، زمینه مناسب را برای انجام هرگونه فعالیتهای غیرمتمرکز ایجاد کردند. قراردادهای هوشمند اصلیترین قدم برای شروع برنامههای غیرمتمرکز بودند؛ به طوریکه در سال 2014 تئوری ایجاد برنامه های غیر متمرکز یا dappها توسط توسعهدهندگان و پژوهشگران حوزه بلاک چین مطرح شد. در این مقاله برنامه های غیرمتمرکز اینطور تعریف شده است :
“برنامه های غیرمتمرکز دارای شروط خاصی هستند که آنها را نسبت به برنامههای متمرکز متمایز میسازد. کدهای یک برنامه غیر متمرکز متن باز (open-source) هستند و ذخیره سازی اطلاعات در آن به وسیله شبکه بلاکچین انجام میشود. همچنین در برنامه های غیر متمرکز از الگوریتمهای اجماع برای ایجاد توکنهای رمزنگاری شده استفاده میشود.” در حال حاضر برنامههای غیرمتمرکز زیادی در شبکه اتریوم در حال توسعه هستند و پیش بینی میشود با افزایش مقیاس پذیری اتریوم، تعداد این برنامهها افزایش پیدا کند.
تفاوت برنامه های غیرمتمرکز و متمرکز
همانطور که اشاره شد، برنامه های غیرمتمرکز از سمت فرانت اند مشابه برنامه های متمرکز عمل میکنند، اما در بخش نگهداری اطلاعات و بک اند رفتاری کاملا متفاوت دارند. اصلیترین تفاوتهای بین برنامه های متمرکز و غیر متمرکز شامل موارد زیر هستند:
- حریم خصوصی در برنامه های غیرمتمرکز بیشتر است.
در واقع یکی از انگیزههای اصلی برای ایجاد برنامههای غیر متمرکز، افزایش حریم خصوصی کاربران است. در برنامههای غیرمتمرکز یا dapp کاربران میتوانند به طور مستقیم با یکدیگر تعامل کنند؛ اما هویت خود را فاش نکنند و حریم خصوصی خود را حفظ نمایند. موضوعی که در برنامههای متمرکز بسیار کمتر پیش میآید و سازمانها و نهادها در تلاش هستند تا اطلاعات هویت شما را در سرورهای خود ذخیره کنند. - ذخیره اطلاعات به صورت غیر متمرکز انجام میشود.
از دیگر تفاوتهای مهم بین برنامههای متمرکز و غیرمتمرکز، نحوه ذخیره اطلاعات کاربران است. در برنامههای متمرکز اطلاعات کاربران در سرورهای وب ذخیره میشوند و دستگاهها به وسیله پروتکل http با یکدیگر ارتباط میگیرند. در برنامه های غیرمتمرکز یا dapp این موضوع کاملا متفاوت است و اطلاعات بر روی خود دستگاههای کاربران ذخیره میشوند و دیگر سرور مرکزی وجود ندارد. کاربران از دیگر شبکه های بلاک چین به صورت همتا به همتا میتوانند با یکدیگر ارتباط برقرار کنند. - dappها متن باز هستند و محدودیتی ندارند.
برنامه های غیر متمرکز نیاز به دریافت مجوزی توسط نهادهای متمرکز ندارند؛ بنابراین محدودیتی برای آنها تعریف نشده و کاربران میتوانند به سادگی از آنها استفاده کنند. علاوه بر این، خاصیت متن باز بودن (open-source) در کدهای برنامه نویسی برنامههای غیرمتمرکز باعث میشود تا کاربران بتوانند تغییرات دلخواه خود را براساس رای گیری دیگر کاربران اعمال کنند. - برنامه های غیر متمرکز امنیت بالاتری نسبت به برنامههای متمرکز دارند.
برنامه های غیرمتمرکز به دلیل استفاده مکانیزم های اجماع مانند الگوریتم اثبات کار (PoW) یا الگوریتم اثبات سهام (PoS) انگیزه مناسب را برای فعالیت کاربران در برنامه خود ایجاد میکنند تا علاوه بر افزایش عملکرد برنامه، امنیت آن نیز بالا رود. همچنین به دلیل وجود شبکه بلاک چین و ماهیت غیرمتمرکز آن، هکرها و اسپمها به سادگی نمیتوانند به اطلاعات کاربران دسترسی داشته باشند. - dapp ها مقیاس پذیری کمتری نسبت به برنامههای متمرکز دارند.
در حال حاضر یکی از ایرادات مهم برنامههای غیرمتمرکز یا dapp، مقیاس پذیری پایین آنهاست. شبکههای بلاک چین در حال حاضر به اندازه کافی مقیاس پذیر نیستند و زمانی که کاربران زیادی وارد شبکه میشوند، سرعت پردازش و هزینه آنها افزایش پیدا میکند. در واقع با ازدحام در شبکه بلاک چین، سرعت شبکه کم میشود و هزینههای نقل و انتقالات و تراکنشهای آن افزایش پیدا میکند.
شبکه اتریوم یکی از شبکههای بزرگ بلاک چینی محسوب میشود که با افزایش تعداد کاربران خود، با مشکلات مقیاس پذیری مواجه شده است. در سال 2017 بازی کریپتوکیتیز (cryptokitties) بسیار محبوب شد و طرفداران زیادی پیدا کرد. این بازی بر روی شبکه بلاک چین اتریوم اجرا شد. بعد از هجوم کاربران به این بازی، سرعت شبکه اتریوم به شدت کند شد و هزینه شبکه به شدت افزایش پیدا کرد.
ویژگیهای برنامه غیر متمرکز dapp
برنامههای غیر متمرکز یا dapp دارای 3 ویژگی اصلی هستند که شامل موارد زیر میشوند:
- متن باز (open-source)
برنامههای غیر متمرکز متن باز هستند و کاربران دیگر به کدهای اپلیکیشن دسترسی دارند. اگر قرار بر تغییری در کدهای برنامه باشد با تصمیم اکثریت تغییرات در برنامه اعمال میشود. متن باز بودن یک برنامه بدین معناست که پایگاه کد (code base) برنامهای در دسترس عموم کاربران است و کنترل و تغییرات برنامه توسط کاربران انجام میشود. - غیر متمرکز (Decentralized)
از مهمترین ویژگیها برنامه های dapp، غیر متمرکز بودن آنهاست. دادههای برنامههای غیر متمرکز روی شبکه بلاک چین ذخیره میشوند. شبکه بلاکچین به عنوان دفتر کل توزیع شده برای دادههای برنامه غیر متمرکز dapp عمل میکند. بنابراین دیگر سرور مرکزی وجود ندارد. این موضوع امنیت برنامه را افزایش میدهد و باعث میشود تا نودها در شرایط برابری به توسعه برنامه بپردازند. - سیستم پاداش دهی
برنامه های غیر متمرکز (dapp) برای مشارکت بیشتر نودها در توسعه شبکه با استفاده از پروتکلهای شبکه بلاک چین، پاداش تعریف میکنند. پروتکلهای متنوعی همچون PoW و PoS وجود دارد که انگیزه کافی را در کاربران ایجاد میکنند. کاربرانی که در توسعه و امنیت برنامه غیر متمرکز سهیم باشند، میتوانند از برنامه پاداش دریافت نمایند.
انواع برنامههای غیر متمرکز (dapp) کدامند؟
یک اپلیکیشین غیر متمرکز براساس نوع بلاک چین، کارایی متفاوتی دارد. به صورت کلی اپلیکیشن های غیرمتمرکز به 3 دسته تقسیم میشوند:
نوع اول: برنامههای غیر متمرکزی که دارای بلاکچین اختصاصی هستند. بیت کوین را میتوانیم اولین برنامه غیر متمرکز در نظر بگیریم، زیرا به کمک شبکه بلاک چین در تلاش است تا یک برنامه همتا به همتا برای تبادلات غیر متمرکز داراییها ایجاد کند. شبکههای دیگری مانند اتریوم، ترون، ایاس و غیره نیز جزو برنامههای غیر متمرکز نوع اول محسوب میشوند.
نوع دوم: برنامههای غیر متمرکزی که از شبکه بلاک چین برنامههای نوع اول استفاده میکنند. کاربران برای دسترسی به این برنامهها، باید توکن مخصوص و بومی آن برنامه را تهیه کنند. یکی از بهترین مثالها برای برنامه های غیر متمرکز نوع دوم، پروتکل OMNI است. پروتکل OMNI یک پلتفرم معاملاتی توزیع شده روی شبکه بلاک چین بیت کوین است. کاربران به کمک این پلتفرم میتوانند داراییهای خود را به سادگی جابجا کنند.
نوع سوم: به برنامههای غیرمتمرکزی که از پروتکلهای برنامههای نوع دوم استفاده میکنند، برنامه های غیرمتمرکز نوع سوم گفته میشود. شبکه سیف (SAFE) یکی از برنامههای غیر متمرکز نوع سوم است که برای ذخیره سازی دادههای وبسایتها استفاده میشود که در برابر فیلترینگ مقاوم است. شبکه SAFE به کمک پروتکل OMNI توکن بومی خود را با نام safecoin ایجاد کرده تا کاربران بتوانند از خدمات این اپلیکیشن استفاده کنند.
کاربردهای برنامه غیرمتمرکز (dapp)
همانطور که اشاره شد، برنامههای غیرمتمرکز با داشتن ویژگیهای منحصر به فرد نسبت به برنامههای متمرکز، مورد توجه کاربران دنیای تکنولوژی قرار گرفتهاند. یک اپلیکشن غیرمتمرکز با اتصال به شبکه بلاک چین اطلاعات کاربران را در شبکه همتا به همتا ذخیره میکند و حریم خصوصی بالایی برای آنها فراهم میسازد.
همچنین با وجود مکانیزمهای اجماع کاربران تمایل دارند تا در توسعه شبکه مشارکت داشته باشند. تمامی این ویژگیها باعث میشود تا برنامههای غیرمتمرکز در طیف وسیعی از صنایع مورد استفاده قرار گیرند. مهمترین کاربرد این برنامهها شامل موارد زیر هستند:
1. امور مالی غیرمتمرکز (Defi)
یکی از اصلیترین کاربردهای برنامه های غیرمتمرکز، استفاده از امور مالی غیر متمرکز یا دیفای (DeFi) است. بازار دیفای یکی از بازارهای آیندهدار در حوزه فناوری بلاک چین است که به کمک برنامههای غیر متمرکز و قراردادهای هوشمند توانسته پیشرفتهای بسیار خوبی داشته باشد. dapp به وسیله ارائه راهکارهای خلاقانه و غیر متمرکز نظیر استخرهای نقدینگی، وام دهی و سپرده گذاری غیرمتمرکز و سایر امور مالی در تلاش است تا جایگزینی بهتر برای ابزارها و روشهای سنتی و متمرکز شود و توجه عموم مردم را به خود جلب نماید.
2. صرافی های غیر متمرکز (DEX)
در سالهای اخیر صرافی های غیرمتمرکز (DEX) مورد استقبال کاربران قرار گرفتهاند. این صرافیها به کمک برنامههای غیرمتمرکز توانستهاند تا معاملات سریع و آسان را به کاربران خود ارائه دهند. همچنین صرافی های DEX به کمک برنامههای غیر متمرکز میتوانند خدماتی نظیر استخرهای نقدینگی را برای کاربران خود فراهم کنند. از جمله این صرافی های غیرمتمرکز میتوانیم به صرافی یونی سواپ (Uniswap)، دی وای دی ایکس (dydx)، پنکیک سواپ (PancakeSwap) و غیره اشاره کنیم.
3. بازی های غیر متمرکز
صنعت گیم به تازگی با استفاده از قراردادهای هوشمند و برنامههای غیرمتمرکز توانسته اکثر امور مربوط به بازیها را بر عهده خود کاربران قرار دهد. دیسنترالند (Decentraland)، اسپلینترلندز (Splinterlands)، اکسی اینفینیتی (Axie infinity) و مای دیفای پت (My DeFi pet) از جمله بازیهای مشهور دنیای کریپتوکارنسی هستند که به کمک برنامه های غیرمتمرکز توانستهاند موفقیتهای خوبی کسب نمایند.
4. شبکههای اجتماعی و سرگرمی
در دنیای امروز، استفاده از شبکههای اجتماعی و سرگرمی یک عادت روزمره برای بسیاری از کاربران اینترنت محسوب میشود. شبکههای اجتماعی متمرکز مانند فیسبوک یا اینستاگرام بیشتر اطلاعات کاربران را در اختیار دارند و ممکن است از آن سوء استفاده کنند. برنامههای غیرمتمرکز در این زمینه نیز کارایی خوبی دارند و با ایجاد حریم خصوصی مناسب از اطلاعات کاربران محاظت میکنند. به عنوان مثال پلتفرم odysee در تلاش است تا امکانات و عملکرد بهتری نسبت به پلتفرم یوتیوب (Youtube) ارائه دهد.
5. مدیریت سازمانها
برنامههای غیرمتمرکز (dapp) در سالهای اخیر توانسته راهکارهای مناسبی برای پیشرفت سازمانها ارائه کنند. این راهکارها در حوزه زنجیره تامین برای شناسایی و ردیابی کالاها، سیستمهای رای گیری و غیره بوده است. به عنوان مثال برنامههای غیرمتمرکز در تلاش هستند در اینترنت اشیا (IOT) یک شبکه بلاک چین غیرمتمرکز را ایجاد کنند تا وسایل ثبت شده در اینترنت غیرمتمرکز دارای حریم خصوصی مناسب باشند و مورد سوء استفاده کلاهبرداران قرار نگیرند.
محبوب ترین برنامههای غیر متمرکز (dapp)
تعداد برنامههای غیرمتمرکز بسیار زیاد بوده و هر لحظه در حال افزایش هستند. اکثر این برنامهها با زبان برنامه نویسی جاوا اسکریپت (javascript) و پایتون (python) نوشته شده است. برخی از محبوبترین برنامه های غیرمتمرکز شامل موارد زیر هستند:
- یونی سواپ (uniswap)
صرافی غیر متمرکز یونی سواپ نوعی برنامه غیرمتمرکز (decentralized applications) محسوب میشود که بر روی شبکه بلاک چین اتریوم ساخته شده است. کاربران در این صرافی میتوانند توکنهای شبکه اتریوم با استاندارد ERC-20 را جابجا کنند. - آوه (Aave)
آوه یکی از محبوبترین برنامه های غیرمتمرکز است و در حوزه دیفای فعالیت میکند. آوه پروتکل نقدینگی متن باز است که به صورت غیر متمرکز برای وام دهی، وامهای فوری و سهام گذاری ارزهای دیجیتال مورد استفاده قرار میگیرد. - استیمیت (steemit)
استیمیت یک پلتفرم غیرمتمرکز است که برای تولید محتوا و وبلاگ نویسی مورد استفاده قرار میگیرد. کاربران در این برنامه غیر متمرکز DApp میتوانند محتوای خود را ارسال کنند و از طریق بازخورد سایر کاربران، درآمد کسب نمایند. - آپ لند (upland)
آپ لند بازی غیرمتمرکزیست که بر روی بلاک چین ایاس اجرا شده است. این بازی همانند سایر بازیهای بلاکچینی دارای مدل کسب درآمد است. - کاردانو (cardano)
کاردانو یکی از مشهورترین برنامههای غیر متمرکز و یکی از پروژههای بلاکچینی متن باز است. کاردانو در تلاش است تا بستری مناسب برای ایجاد قراردادهای هوشمند را فراهم کند.
سخن پایانی
«برنامه غیر متمرکز Dapp چیست؟» اپلیکیشنهای غیر متمرکز، برنامههایی هستند که توسط یک نهاد یا سازمان توسعه و مدیریت نمیشوند، بلکه به کمک کاربران خود توسعه پیدا میکنند. برنامههای غیر متمرکز به کمک شبکههای بلاک چین اطلاعات کاربران را به صورت غیرمتمرکز ذخیره سازی میکنند و برای کاربران خود حریم خصوصی مناسبی ایجاد مینمایند.
در حال حاضر برنامه های غیر متمرکز ویژگیها و شرایط بهتری نسبت به برنامههای متمرکز دارند؛ اما دارای مشکلاتی همچون مقیاس پذیری پایین نیز هستند. اگر در سالهای آتی مشکلات اپلیکیشن های غیرمتمرکز برطرف شود، میتوان گفت که این برنامهها به سادگی جایگزین برنامههای متمرکز خواهند شد.
سوالات متداول
دی اپ یا DApp چیست؟
DApp مخفف Decentralized Application یا برنامه غیرمتمرکز است. این نوع برنامهها بر بستر بلاکچین یا تکنولوژیهای مشابه که خارج از نظارت و کنترل نهاد یا سازمانی واحد هستند، اجرا میشوند.
DApp و برنامه متمرکز چه تفاوتی با یکدیگر دارند؟
در برنامههای متمرکز، کلیه اطلاعات و تراکنشها از یک نقطه مرکزی کنترل میشوند. اما در DApp، اطلاعات و تراکنشها بین چندین نقطه توزیع شده و مدیریت میشوند.
چرا اپلیکیشن های غیرمتمرکز محبوب هستند؟
این اپلیکیشنها به دلیل ویژگیهایی مانند امنیت بالا، شفافیت، کاهش هزینهها و عدم وابستگی به یک سازمان یا نهاد مرکزی، محبوبیت یافتهاند.
چگونه میتوان یک DApp را ایجاد کرد؟
برای ایجاد یک DApp، نیاز به دانش برنامه نویسی بلاکچین، زبانهای برنامه نویسی مانند Solidity (برای اتریوم) و دسترسی به یک شبکه بلاک چین دارید.
برنامه های غیر متمرکز در چه زمینههایی کاربرد دارند؟
برنامه های غیرمتمرکز در زمینههای متنوعی مانند امور مالی، حقوقی، سلامت، توکنها و حتی بازیها کاربرد دارند.
همه جوره حساب کنیم برنامه های غیرمتمرکز بهتر از برنامه های متمرکزن فقط همون مقیاس پذیریشونه که کمه بده مشکل دیگه ای که ندارن؟
سلام سپاس از همراهی شما
بله در حال حاضر همینطوره