Dapp چیست؟ یک اپلکیشین غیر متمرکز چگونه کار میکند؟ کاربران چگونه میتوانند از برنامههای غیر متمرکز استفاده کنند؟ دنیای بلاک چین در تلاش است تا با استفاده از الگوریتمها و تکنولوژیهای مختلف جهان غیرمتمرکز را ایجاد کند. جهان غیرمتمرکز یعنی جایی که دیگر تراکنشهای بانکی، تبلیغات، جستجو در وب، بازیها، سرگرمیهای روزمره و سایر امور به صورت متمرکز و با نظارت نهاد ثالث انجام نمیشود و کنترل تمامی امور بر عهده کاربران است.
اپلیکیشنها و برنامهها نیز جزو اهداف مهم دنیای بلاک چین است تا بتواند آنها را از حالت متمرکز خارج کند. برنامههای غیر متمرکز یا decentralized applications برنامههایی هستند که بر روی یک شبکه همتا به همتا اجرا میشوند و هیچ نهاد یا سازمانی بر روی آنها نظارت نمیکند. در این مقاله سعی داریم تا با برنامههای غیر متمرکز یا dapps و انواع آن آشنا شویم.
برنامه غیر متمرکز (DApp) چیست؟
DApp مخفف decentralized applications است و به معنای برنامههای غیرمتمرکز میباشد. به طور خلاصه به برنامههایی که از نظارت و کنترل یک مرجع واحد جدا باشد و کاربران آن کنترل و نظارت برنامه را بر عهده بگیرند، برنامه غیر متمرکز گفته میشود. ساختار برنامهها همانند برنامههای وب از دو بخش اصلی فرانت اِند (Front-End) و بک اِند (Back-End) تشکیل شده است.
فرانت اِند بخش ظاهری وب سایت یا اپلیکیشن است که کاربر آن را مشاهده میکنند و با آن تعامل دارند. طراحی رابط کابری، منوهای صفحه، روشهای وارد کردن اطلاعات ورودی و غیره جزو بخش فرانت اِند اپلیکیشن محسوب میشود. در بخش بک اِند انجام محاسبات و پردازش اطلاعات اتفاق میافتد و در آن اطلاعات کاربران ذخیره میشود.
در برنامههای غیر متمرکز، بخش اصلی برای غیرمتمرکز بودن برنامه، بخش بک اِند است. در واقع هنگامی که صحبت از غیرمتمرکز بودن یک اپلیکشین میکنیم، منظور غیرمتمرکز بودن بخش بک اِند اپلیکیشن است که اطلاعات کاربران تنها در یک سرور ذخیره نمیشود. به عنوان مثال برنامههایی مانند فیسبوک یا اینستاگرام دارای سرورهای متمرکز هستند و بخش بک اند اپلیکیشن توسط یک نهاد یا سازمان کنترل میشود.

برنامههای غیرمتمرکز یا decentralized applications توسط شبکه بلاکچین همتا به همتا اجرا میشوند و در یک محیط عمومی، منبع باز و غیر متمرکز برنامه کار خود را انجام میدهد. کدهای اپلیکیشن غیر متمرکز در قرارداد هوشمند نوشته میشود. این قراردادهای هوشمند در شبکههای بلاک چینی ذخیره میشوند و قوانین مشخص شده در کدها را اجرا میکنند.
بخش فرانت اِند یک اپلیکیشن غیرمتمرکز همانند برنامه متمرکز است؛ بنابراین قراردادهای هوشمند تنها برای بخش بک اند نوشته میشود. معمولا اپلیکیشن غیر متمرکز از چندین قرارداد هوشمند تشکیل میشود تا بتواند شرایط مناسبی برای کاربران خود فراهم کند.

تاریخچه برنامههای غیر متمرکز dapp
پیدایش برنامههای غیرمتمرکز یا decentralized applications را میتوان با پیدایش اتریوم دانست. در سال 2013 ویتالیک بوترین ایده ایجاد اتریوم را مطرح کرد. اتریوم نوعی شبکه بلاک چین است که کاربران میتوانند علاوه بر تراکنشهای مالی، کارهایی دیگری همچون سرگرمی، برنامههای آب و هوا و سایر امور روزمره خود را به صورت غیرمتمرکز انجام دهند.
در واقع ویتالیک بوترین به دنبال ایجاد اینترنت برمبنای شبکه بلاک چین است که در آن کاربران در شبکهای همتا به همتا امور روزمره خود را به صورت غیرمتمرکز انجام میدهند. پیدایش شبکه اتریوم و کاربردهای منحصر به فرد آن باعث خلق قراردادهای هوشمند شد. قرارداد هوشمند با حذف نهاد ثالث و قوانین مشخص، زمینه مناسب را برای انجام هرگونه فعالیتهای غیرمتمرکز ایجاد کرد.
قراردادهای هوشمند اصلیترین قدم برای شروع برنامههای غیرمتمرکز بود؛ به طوری که در سال 2014 تئوری ایجاد برنامههای غیر متمرکز یا dapp ها توسط توسعهدهندگان و پژوهشگران حوزه بلاک چین مطرح شد. در این مقاله برنامههای غیرمتمرکز اینطور تعریف شد:
“برنامههای غیرمتمرکز دارای شروط خاصی هستند که آنها را نسبت به برنامههای متمرکز متمایز میکند. کدهای یک برنامه غیرمتمرکز متن باز یا open-source است و ذخیره سازی اطلاعات در آن به وسیله شبکه بلاک چین انجام میشود. همچنین در برنامههای غیر متمرکز از الگوریتم های اجماع برای ایجاد توکنهای رمزنگاری شده استفاده میشود.”
در حال حاضر برنامههای غیرمتمرکز زیادی در شبکه اتریوم در حال توسعه هستند و پیش بینی میشود که با افزایش مقیاس پذیری اتریوم، تعداد این برنامهها افزایش پیدا کند.

تفاوت برنامههای متمرکز و غیر متمرکز
همان طور که اشاره شد، برنامههای غیرمتمرکز از سمت فرانت اند مشابه برنامههای متمرکز عمل میکنند، اما در بخش نگهداری اطلاعات و بک اند رفتاری کاملا متفاوت دارند. اصلیترین تفاوتهای بین برنامههای متمرکز و غیر متمرکز شامل موارد زیر است:
1. حریم خصوصی در برنامههای غیرمتمرکز بیشتر است.
در واقع یکی از انگیزههای اصلی برای ایجاد برنامههای غیر متمرکز، افزایش حریم خصوصی کاربران است. در برنامههای غیرمتمرکز یا dapp کاربران میتوانند به طور مستقیم با یکدیگر تعامل کنند؛ اما هویت خود را فاش نکنند و حریم خصوصی خود را حفظ کنند. موضوعی که در برنامههای متمرکز بسیار کمتر پیش میآید و سازمانها و نهادها در تلاشاند تا اطلاعات هویت شما را در سرورهای خود ذخیره کنند.
2. ذخیره اطلاعات به صورت غیر متمرکز انجام میشود.
از دیگر تفاوتهای مهم بین برنامههای متمرکز و غیرمتمرکز، نحوه ذخیره اطلاعات کاربران است. در برنامههای متمرکز اطلاعات کاربران در سرورهای وب ذخیره میشود و دستگاهها به وسیله پروتکل http با یکدیگر ارتباط میگیرند. در برنامههای غیرمتمرکز یا dapp این موضوع کاملا متفاوت است و اطلاعات کاربران بر روی خود دستگاههای کاربران ذخیره میشود و دیگر سرور مرکزی وجود ندارد و کاربران از دیگر شبکه بلاک چین به صورت همتا به همتا میتوانند با یکدیگر ارتباط برقرار کنند.
3. dapp ها متن باز هستند و محدودیتی ندارند.
برنامههای غیرمتمرکز یا decentralized applications نیازی به دریافت مجوزی توسط نهادهای متمرکز ندارند؛ بنابراین محدودیتی برای آنها تعریف نشده و کاربران میتوانند به سادگی از آنها استفاده کنند. علاوه بر این، خاصیت متن باز بودن یا open-source در کدهای برنامهنویسی برنامههای غیرمتمرکز باعث میشود تا کاربران بتوانند تغییرات دلخواه خود را براساس رای گیری دیگر کاربران اعمال کنند.
4. برنامههای غیر متمرکز امنیت بالاتری نسبت به برنامههای متمرکز دارند.
برنامههای غیرمتمرکز به دلیل استفاده مکانیزمهای اجماع مانند اثبات کار (PoW) یا اثبات سهام (PoS) انگیزه مناسب را برای فعالیت کاربران در برنامه خود ایجاد میکنند تا علاوه بر افزایش عملکرد برنامه، امنیت آن نیز بالا رود. همچنین به دلیل وجود شبکه بلاک چین و ماهیت غیرمتمرکز آن، هکرها و اسپمها به سادگی نمیتوانند به اطلاعات کاربران دسترسی داشته باشند.
5. dapp ها مقیاس پذیری کمتری نسبت به برنامههای متمرکز دارند.
در حال حاضر یکی از ایرادات مهم برنامههای غیرمتمرکز یا dapp، مقیاس پذیری پایین آنها است. شبکههای بلاک چین در حال حاضر به اندازه کافی مقیاس پذیر نیستند و وقتی که کاربران زیادی وارد شبکه میشوند، سرعت پردازش و هزینه آنها افزایش پیدا میکند. در واقع با ازدحام در شبکه بلاک چین، سرعت شبکه کم میشود و هزینههای نقل و انتقالات و تراکنشهای آن افزایش پیدا میکند.
شبکه اتریوم یکی از شبکههای بزرگ بلاک چینی است که با افزایش تعداد کاربران خود، با مشکلات مقیاس پذیری مواجه شده است. در سال 2017 بازی کریپتوکیتیز (cryptokitties) بسیار محبوب شد و طرفداران زیادی پیدا کرد. این بازی بر روی شبکه بلاک چین اتریوم اجرا شد. بعد از هجوم کاربران به این بازی، شبکه اتریوم به شدت کند شد و هزینه شبکه به شدت افزایش پیدا کرد.

ویژگیهای برنامههای غیر متمرکز dapp
برنامههای غیر متمرکز یا dapp دارای 3 ویژگی اصلی هستند که در همه آنها وجود دارد. این ویژگی شامل موارد زیر است:
1. متن باز یا open-source
برنامههای غیر متمرکز متن باز هستند و کاربران دیگر به کدهای اپلیکیشن دسترسی دارند. اگر قرار بر تغییری در کدهای برنامه باشد با تصمیم اکثریت تغییرات در برنامه اعمال میشود. متن باز بودن یک برنامه بدین معناست که پایگاه کد یا code base برنامه در دسترس عموم کاربران است و کنترل و تغییرات برنامه توسط کاربران انجام میشود.
2. غیر متمرکز
از مهمترین ویژگیها برنامههای dapp، غیر متمرکز بودن آنهاست. دادههای برنامههای غیر متمرکز روی شبکه بلاک چین ذخیره میشود. شبکه بلاک چین به عنوان دفتر کل توزیع شده برای دادههای برنامههای غیر متمرکز یا dapp عمل میکند. بنابراین دیگر سرور مرکزی وجود ندارد. این موضوع امنیت برنامه را افزایش میدهد و باعث میشود تا نودها در شرایط برابری به توسعه برنامه بپردازند.
3. سیستم پاداش دهی
برنامههای غیر متمرکز یا dapp برای مشارکت بیشتر نودها در توسعه شبکه با استفاده از پروتکلهای شبکه بلاک چین، پاداش تعریف میکنند. پروتکلهای متنوعی همچون PoW و PoS وجود دارد که انگیزه کافی را در کاربران ایجاد میکند. کاربرانی که در توسعه و امنیت برنامه غیر متمرکز سهیم باشند، میتوانند از برنامه پاداش دریافت کنند.

انواع dapp
یک اپلیکیشین غیر متمرکز براساس نوع بلاک چین، کارایی متفاوتی دارند. به صورت کلی اپلیکیشنهای غیرمتمرکز به 3 دسته تقسیم میشوند:
نوع اول: برنامههای غیر متمرکزی که دارای بلاک چین اختصاصی هستند. بیت کوین را میتوانیم اولین برنامه غیر متمرکز در نظر بیگریم، زیرا به کمک شبکه بلاک چین در تلاش است تا یک برنامه همتا به همتا برای تبادلات غیر متمرکز داراییها ایجاد کند. شبکههای دیگری مانند اتریوم، ترون، ایاس و غیره نیز جزو برنامههای غیر متمرکز نوع اول محسوب میشوند.
نوع دوم: برنامههای غیر متمرکزی که از شبکه بلاک چین برنامههای نوع اول استفاده میکنند. کاربران برای دسترسی به این برنامهها، باید توکن مخصوص و بومی آن برنامه را تهیه کنند. یکی از بهترین مثالها برای برنامههای غیر متمرکز نوع دوم، پروتکل OMNI است. پروتکل OMNI یک پلتفرم معاملاتی توزیع شده روی شبکه بلاک چین بیت کوین است. کاربران به کمک این پلتفرم میتوانند داراییهای خود را به سادگی جابجا کنند.
نوع سوم: به برنامههای غیرمتمرکزی که از پروتکلهای برنامههای نوع دوم استفاده میکنند، برنامههای غیرمتمرکز نوع سوم گفته میشود. شبکه سیف (SAFE) یکی از برنامههای غیر متمرکز نوع سوم است که برای ذخیره سازی دادههای وب سایتها استفاده میشود که در برابر فیلترینگ مقاوم است. شبکه SAFE به کمک پروتکل OMNI توکن بومی خود را (safecoin) ایجاد کرده است تا کاربران بتوانند از خدمات این اپلیکیشن استفاده کنند.

کاربردهای dapp یا برنامههای غیر متمرکز
همان طور که اشاره شد، برنامههای غیرمتمرکز با داشتن ویژگیهای منحصر به فرد نسبت به برنامههای متمرکز، مورد توجه کاربران دنیای تکنولوژی قرار گرفته است. یک اپلیکشن غیرمتمرکز با اتصال به شبکه بلاک چین اطلاعات کاربران را در شبکه همتا به همتا ذخیره میکند و حریم خصوصی بالایی برای آنها فراهم میکند.
همچنین با وجود مکانیزمهای اجماع کاربران تمایل دارند تا در توسعه شبکه مشارکت داشته باشند. تمامی این ویژگیها باعث میشود تا برنامههای غیرمتمرکز در طیف وسیعی از صنایع مورد استفاده قرار گیرد. مهمترین کاربرد این برنامهها شامل موارد زیر است:
1. امور مالی
یکی از اصلیترین کاربردهای برنامههای غیرمتمرکز، استفاده از امور مالی غیرمتمرکز یا دیفای (DeFi) است. بازار دیفای یکی از بازارهای آیندهدار در حوزه بلاک چین است که به کمک برنامههای غیر متمرکز و قراردادهای هوشمند توانسته است پیشرفتهای بسیار خوبی داشته باشد. برنامههای غیرمتمرکز به وسیله ارائه راهکارهای خلاقانه و غیرمتمرکز نظیر استخر های نقدینگی، وام دهی و سپرده گذاری غیرمتمرکز و سایر امور مال در تلاش است تا جایگزینی بهتر برای ابزارها و روشهای سنتی و متمرکز شود و توجه عموم مردم را به خود جلب کند.
2. صرافیهای غیر متمرکز
در سالهای اخیر صرافیهای غیرمتمرکز یا DEX مورد استقبال کاربران قرار گرفته است. این صرافیها به کمک برنامههای غیرمتمرکز توانسته اند تا معاملات سریع و آسان را برای کاربران خود ارایه دهند. همچنین صرافیهای DEX به کمک برنامههای غیرمتمرکز میتوانند خدماتی نظیر استخرهای نقدینگی را برای کاربران خود فراهم کنند.
3. بازیهای غیرمتمرکز
صنعت گیم به تازگی با استفاده از قراردادهای هوشمند و برنامههای غیرمتمرکز توانسته است اکثر امور مربوط به بازیها را بر عهده خود کاربران قرار دهد. بازیهای محبوبی همچنون دیسنترالند (Decentraland)، اسپلینترلندر (Splinterlands)، اکسی اینفینیتی (Axie infinity) و مای دیفای پت (My DeFi pet) از جمله بازیهای مشهور دنیای کریپتوکارنسی هستند که به کمک برنامههای غیرمتمرکز توانستهاند موفقیتهای خوبی کسب کنند.
4. شبکههای اجتماعی و سرگرمی
در دنیای امروز، استفاده از شبکههای اجتماعی و سرگرمی یک عادت روزمره برای بسیاری از کاربران اینترنت محسوب میشود. شبکههای اجتماعی متمرکز مانند فیسبوک یا اینستاگرام بیشتر اطلاعات کاربران را در اختیار دارند و ممکن است از آن سوء استفاده کنند. برنامههای غیرمتمرکز در این زمینه نیز کارایی خوبی دارد و با ایجاد حریم خصوصی مناسب از اطلاعات کاربران محاظت میکنند. به عنوان مثال پلتفرم odysee در تلاش است تا امکانات و عملکرد بهتری نسبت به پلتفرم یوتیوب (Youtube) ارائه دهد.
5. مدیریت سازمانها
برنامههای غیرمتمرکز dapp در سالهای اخیر توانسته است راهکارهای مناسبی برای پیشرت سازمانها ارائه کنند. این راهکارها در حوزه زنجیره تامین برای شناسایی و ردیابی کالاها، سیستمهای رای گیری و غیره بوده است. به عنوان مثال برنامههای غیرمتمرکز در تلاش اند تا در اینترنت اشیا (IOT) یک شبکه بلاک چین غیرمتمرکز را ایجاد کنند تا وسایل ثبت شده در اینترنت غیرمتمرکز دارای حریم خصوصی مناسب باشند تا مورد سوء استفاده کلاهبرداران قرار نگیرد.

محبوبترین dapp ها
در حال حاضر تعداد برنامههای غیرمتمرکز بسیار زیاد است و هر لحظه در حال افزایش است. اکثر این برنامهها با زبان برنامه نویسی جاوا اسکریپت (javascript) و پایتون (python) نوشته شده است. برخی از محبوبترین برنامههای غیرمتمرکز شامل موارد زیر است:
1. یونی سواپ
صرافی غیرمتمرکز یونی سواپ یا uniswap در واقع نوعی برنامه غیرمتمرکز یا decentralized applications است که بر روی شبکه بلاک چین اتریوم ساخته شده است. کاربران در این صرافی میتوانند توکنهای شبکه اتریوم با استاندارد ERC-20 را جابجا کنند.
2. آوه
آوه یا Aave یکی از محبوبترین برنامههای غیرمتمرکز است که در حوزه دیفای فعالیت میکند. آوه پروتکل نقدینگی متن باز است که به صورت غیر متمرکز برای وام دهی، وامهای فوری و سهام گذاری رمزارزها مورد استفاده قرار میگیرد.
3. استیمیت
استیمیت یا steemit یک پلتفرم غیرمتمرکز است که برای تولید محتوا و وبلاک نویسی مورد استفاده قرار میگیرد. کاربران در این برنامه غیر متمرکز میتوانند محتوای خود را ارسال کنند و از طریق بازخورد سایر کاربران، کسب درآمد کنند.
4. آپ لند
آپ لند یا upland یک بازی غیرمتمرکز است که بر روی بلاک چین ایاس اجرا شده است. این بازی همانند سایر بازیهای بلاک چینی دارای مدل کسب درآمد است.
5. کاردانو
کاردانو یا cardano یکی از مشهورترین برنامههای غیر متمرکز است. کاردانو یک پروژه بلاک چینی متن بازی است که در تلاش است تا بستری مناسب برای ایجاد قراردادهای هوشمند را فراهم کند.

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