برنامههای غیرمتمرکز (Decentralized applications) برنامههای دیجیتالی هستند که مبتنی بر بلاکچین و متفاوت از برنامههای معمولی هستند. برخلاف اپلیکیشنهای معمولی که بر روی سرورهای متمرکز متعلق به شرکتی که آنها را در اختیار دارد اجرا میشوند، برنامههای غیرمتمرکز یا Dapp روی یک شبکه غیرمتمرکز همتا به همتا (P2P) که مبتنی بر بلاکچین است اجرا میشوند.
برنامههای غیرمتمرکز یا Dapp چیست؟
Dappها که مخفف برنامههای غیرمتمرکز هستند، برنامههای دیجیتالی هستند که بر روی بلاکچین یا شبکههای همتا به همتا رایانههای اجرا میشوند.
Dappها که مخفف برنامههای غیرمتمرکز هستند، برنامههای دیجیتالی هستند که بر روی بلاکچین یا شبکههای همتا به همتا رایانههای اجرا میشوند. dappها از نظر ظاهری شبیه سایر برنامههای نرم افزاری هستند که در یک وب سایت یا دستگاه تلفن همراه پشتیبانی میشوند اما از طریق P2P پشتیبانی میشوند.
ماهیت غیرمتمرکز DAPP به این معنا است که وقتی یک توسعه دهنده پایگاه داده کد DAPP را منتشر میکند، دیگران بر روی آن میتوانند کدهای خود را توسعه دهند. یک dapp برای ایجاد انواع برنامهها، از جمله برنامههای مالی غیرمتمرکز، مرور وب، بازی و رسانههای اجتماعی توسعه یافته است.
Dapp روی یک شبکه غیرمتمرکز ساخته شده است که توسط دفتر کل توزیع شده بلاکچین پشتیبانی میشود. استفاده از بلاکچین، dapp را قادر میسازد تا دادهها را از طریق شبکههای توزیع شده پردازش کنند و تراکنشها را اجرا کند. dappها اغلب توسط پلتفرم اتریوم ساخته میشوند.
Dappها چگونه کار میکنند؟
Decentralized appها یا همان dapp دارای سه ویژگی مشترک کلیدی زیر هستند:
- متن باز هستند. همه تغییرات مورد نیاز با اجماع اکثریت کاربران تصمیمگیری میشود. و این مورد مستلزم آن است که کدهای پایگاه داده برای ارزیابی در دسترس همه کاربران قرار بگیرد.
- آنها دارای ذخیره سازی غیرمتمرکز هستند. دادهها در بلوکهای غیرمتمرکز ذخیره میشوند.
- Dapp ها دارای بلوکهای غیرمتمرکز رمزنگاری شده معتبری هستند و ایمن بودن و اعتبار آنها اثبات شده است.
Dappها در یک سیستم بلاکچین ذخیره و اجرا میشوند. این برنامهها با استفاده از توکنها رمزنگاری که برای دسترسی به برنامه مورد نیاز است تأیید میشوند.
کدهای فرانتاند برنامههای غیرمتمرکز یا Dapp شبیه برنامههای معمولی هستند، اما کدهای بکاند dapp متفاوت هستند چرا که روی شبکه غیرمتمرکز P2P اجرا میشوند.
در حالی که برنامههای سنتی توسط سرورها و پایگاه داده متمرکز پشتیبانی میشود، یک DAPP توسط یک قرارداد هوشمند که در یک زنجیره بلوکی ذخیره میشود پشتیبانی میشود. اتریوم محبوبترین بلاکچین برای اجرای قراردادهای هوشمند است.
قراردادهای هوشمند قوانین تعریف شده در کد را اجرا و تراکنشها را واسطهگری میکنند. از آنجا که یک قرارداد هوشمند فقط از بک اند تشکیل شده است، در اغلب موارد فقط بخش کوچکی از کل برنامههای غیرمتمرکز یا Dapp است، ایجاد یک برنامه متمرکز در یک سیستم قرارداد هوشمند مستلزم ترکیب چندین قرارداد هوشمند و استفاده از سیستمهای شخص ثالث برای فرانت اند است.
زنجیره بلوکی که قراردادهای هوشمند روی آنها اجرا میشود، دفتری از سوابق داده است که در بلوکها ذخیره میشود، بلوکهای داده در مکانهای توزیع شده پراکنده میشوند. همه بلوکهای داده از طریق رمزنگاری با یکدیگر لینکدهی و کنترل میشوند.
چرا از dapp استفاده کنیم؟
دلایل متعددی برای استفاده از dappها در مقایسه با سایر برنامههای معمولی وجود دارد. یکی از این دلایل عدم تمرکز آنها است. تمرکززدایی از واگذاری کنترل کامل به یک مقام واحد جلوگیری میکند، در عوض هر یک از ذینفعان در فرآیند تصمیم گیری مشارکت میکنند.
همچنین، dappها این توانایی را دارند که فرآیندهای مختلف را بدون پیچیدگی انجام دهند. به عنوان نمونه، برنامههایی که برای انتقال وجه استفاده میشوند ممکن است مبلغ مشخصی را به عنوان کارمزد دریافت کنند، همچنین فرآیند انتقال وجه ممکن است چند روز نیز طول بکشد. با این حال، وقتی شما از طریق یک برنامه غیرمتمرکز پول انتقال میدهید، هزینه بسیار کمی را متحمل خواهید شد. بعلاوه سرعت انتقال در این روش نیز سریعتر است.
به دلیل ماهیت غیرمتمرکز بودن، Dappها در معرض تهدیدات و حملات سایبری نیستند زیرا از یک دستگاه فیزیکی برای عملکرد استفاده نمیکنند. بنابراین، این شبکهها از امنیت بیشتری برخوردار هستند و دچار خرابی نمیشوند.
از dappها برای طیف وسیعی از صنایع مانند بازیها، امورمالی، پزشکی و حتی ذخیره فایلها استفاده میشود. در نتیجه، استفاده از dappها تقریباً هیچ تفاوتی با برنامههای کاربردی سنتی ندارند. در حالی که کاربران از تمامی تغییرات در بک اند سود خواهند برد، تجربه کاربری یکسانی را مانند اپلیکیشنها خواهند داشت.
ویژگیهای کلیدی برنامههای غیرمتمرکز یا Dapp
یکی از مسائل کلیدی که بهتر است در مورد dappها بدانید ویژگیهای آنها است. اکنون که تصویر واضحی از اصول اولیه برنامههای غیرمتمرکز دارید، بهتر است نگاهی به ویژگیهای آنها داشته باشیم.
1- متن باز: از مهمترین ویژگیهای یک برنامه غیرمتمرکز ماهیت متن باز بودن آنها است. کد برنامه باید مستقل و به راحتی برای ارزیابی در دسترس سایر افراد باشد.
2- توکنها: برنامههای غیرمتمرکز باید قابلیت تولید توکنهای بومی را در کنار توزیع توکنها به عنوان پاداش داشته باشند.
3- عدم تمرکز: برنامههای غیرمتمرکز با برنامههای سنتی تفاوت دارند زیرا بکاند آنها روی یک بلاکچین غیرمتمرکز اجرا میشود. انجمن بلاکچین نیاز به ذخیره تمام رکوردهای یک APP در بلاکچین دارد.
4- انطباق با پروتکل: همه ذینفعان در یک برنامه غیرمتمرکز باید موافقت خود را برای یک الگوریتم رمزنگاری برای تأیید اثبات ارزش بیان کنند.
کاربردهای dappها چیست؟
Dappها برای فعال کردن رأیگیری و حکمرانی ایمن و مبتنی بر بلاکچین توسعه یافتهاند. حتی میتوان dappها را در مرورگرهای وب ادغام کرد تا به عنوان افزونههایی بتوانند به ردیابی رفتار کاربر، ارائه تبلیغات کمک کنند. چند نمونه از کاربردهای عملی dappها عبارتند از:
- خدمات مالی: از dappها میتوان برای تسهیل تراکنشهای مالی P2P، مانند مبادله ارز یا انتقال داراییها استفاده کرد.
- مدیریت زنجیره تأمین: از DAPPها میتوان برای ردیابی کالا از طریق زنجیره تأمین استفاده کرد و شفافیت و پاسخگویی را تضمین کرد.
- تأیید هویت: از DAPPها میتوان برای ذخیره ایمن اطلاعات هویتی مانند اپلیکیشنهای گذرنامه استفاده کرد.
کلاهبرداریهای برنامههای غیرمتمرکز یا Dapp
در چند سال اخبر کلاهبرداریهایی از طریق DAPPها ایجاد شده است. طرحهای پانزی که در آن سرمایهگذاران پیشنهاد سودهای کلان را با استفاده از سرمایهگذاری به افراد میدهند در DAPPها رخ میدهد.
علاوه بر طرح پانزی، پیشنهاد سکههای جعلی (ICO) به منظور جمع آوری سرمایه برای توسعه یک ارز دیجیتال جدید یا DAPP استفاده شده است و افرادی که سرمایه را جمع آوری کردهاند چنین قصدی را ندارند.
از دیگر کلاهبرداریهایی که از طریق DAPPها انجام شده، حملات فیشینگ است که از وب سایتها یا ایمیلهای جعلی برای فریب دادن افراد به منظور افشای اطلاعات حساس استفاده شده است.
همچنین برخی از DAPPها برای توزیع بدافزار یا ویروسها استفاده شدهاند که میتوانند دستگاههای کاربران را به خطر بیندازند.
به همین جهت، کاربران در هنگام استفاده از DAPPها باید محتاط باشند و دقتهای لازم را به کار ببرند، چرا که ماهیت غیرمتمرکز این برنامهها میتواند ردیابی کلاهبرداران را دشوار کند.
معماری dappها چیست؟
معماری یک DAPP به گونهای است که در آن همه چیز به یکدیگر وصل است ولی هیچ فردی بر آن کنترلی ندارد. بنابراین، در یک DAPP هیچ مرجع و مرکزی برای کنترل برنامه وجود ندارد. در عوض، آن توسط شبکهای از رایانهها که به عنوان گره (NODE) شناخته میشود، اجرا میشوند.
یک DAPP دارای سه جزء اصلی است که عبارتند از:
1- رابط کاربری فرانتاند: فرانتاند بخشی از برنامه است که کاربران با آن تعامل دارند. بخش فرانتاند میتواند با زبانهایی مانند HTML، CSS و جاوا اسکریپت ایجاد شود.
2- قراردادهای هوشمند: قراردادهای هوشمند در بلاکچین ذخیره میشوند و حاوی قوانین و مقررات حاکم بر برنامه هستند.
3- بکاند: بکاند روی یک شبکه غیر متمرکز اجرا میشود که به عنوان گره شناخته میشود. بکاند وظیفه ذخیره داده، اجرای قراردادهای هوشمند و تأیید تراکنشها را بر عهده دارد.
مزایا و معایب برنامههای غیرمتمرکز یا Dapp
برخی از مزایای dapp عبارتند از:
1- تحمل خطا: از آنجا که dappها روی پلتفرم غیرمتمرکز کار میکنند، اگر یک گره نتواند خوب کار کند کل شبکه در دسترس خواهد اما عملکرد به شدت کاهش مییابد.
2- حریم خصوصی: کاربران برای استفاده از عملکردهای خاص نیازی به ارائه هویت واقعی یا اطلاعات شخصی نخاوهند داشت.
3- یکپارچگی داده: دادههای ذخیره شده در بلاکچین به دلیل استفاده از الگوریتمهای اجماع، تغییرناپذیر هستند و هکرها نمیتوانند تراکنشها را جعل کنند.
4- انعطاف پذیری: پلتفرم اتریوم محیطی انعطاف پذیر برای توسعه آسان dappها فراهم میکنند.
5- رفتار قابل تأیید: قراردادهای هوشمند را میتوان تجزیهوتحلیل کرد و بدون نیاز به نظارت یا دخالت یک نهاد مرکزی اجرا میشوند.
معایب برنامههای غیرمتمرکز یا Dapp
برخی از معایب dappها به شرح زیر است:
1- سربار عملکرد: برای دستیابی به امنیت، شفافیت و یکپارچگی هزینههای زیادی برای عملکرد باید پرداخت شود.
2- تعمیر و نگهداری: نگهداری، اشکالزدایی و به روزرسانی dappها سخت و هزینهبر است و دادههای منتشر شده در بلاکچین به سختی قابل تغییر هستند.
3- مقیاس پذیری: مقیاسبندی شبکههای غیرمتمرکز نسبت به شبکههای متمرکز سختتر است.
4- تجربه کاربری: طراحی یک dapp کاربرپسند برای کاربران مشکل است. چرا که کاربران نیاز دارند که از کلیدهای عمومی و خصوصی برای ورود به سیستم به جای نام کاربری و رمز عبور که در برنامههای متمرکز به کار میرود استفاده کنند.
5- تمرکز: توسعه برنامه کاربر پسند در بالای اتریوم ممکن است منجر به توسعه یک سرویس متمرکز شود. و این تمرکز میتواند مزایای یک خوب بلاکچین را نسبت به مدل سنتی از بین ببرد.
چالشهای برنامههای غیرمتمرکز Dapp
برنامههای غیرمتمرکز یا Dapp به عنوان یک نیروی متحول کننده در بخش بلاکچین ظاهر شدهاند و نحوه تعامل مردم با اکوسیستمهای دیجیتالی را تغییر دادهاند. محبوبیت و گسترش پذیرش dappها بدون مشکلات همراه نبوده است و از جمله چالشهایی که dapp با آن مواجه بوده است عبارتند از:
1- فقدان مقیاس پذیری: بسته به اینکه dapp روی کدم بلاکچین توسعه داده شده است به دلیل تواناییهای محدود در پردازش تراکنش که منجر به عملکرد کندتر و کارمزدهای بالاتر میشود، بر پتانسیل رشد آن تأثیرگذار خواهد بود.
2- رابط کاربری پیچیده: برخی از برنامههای کاربردی به اندازه برنامههای سنتی بصری و کاربر پسند نیستند و همین عامل میتواند مسیریابی برای استفاده کامل از تمام قابلیتهای dapp را برای افراد مبتدی با مشکل مواجه کند.
3- به طور کامل متمرکز نیست: بسیاری از dappها بنا بر ضرورت دارای عناصر متمرکز و غیرمتمرکز هستند. در حالی که رابط کاربری حالت متمرکز دارد، اما قراردادهای هوشمند کاملاً غیرمتمرکز هستند.
آینده dapp
با وجود اینکه dappها به تازگی وارد دنیای بلاکچین شدهاند اما رشد و توسعه خوبی را داشتهاند. از جمله مواردی که برای آینده dappها پیش بینی میشود شامل:
1- پذیرش: با افزایش آگاهی و درک فناوری بلاکچین، برنامههای غیرمتمرکز یا Dapp به دلیل روشهایی که امکان کنترل بیشتری را بر داراییها و دادههای دیجیتال فراهم میآورد، کاربران را به صورت آنلاین توانمند میکنند.
2- قابلیت همکاری: در حال حاضر تلاشهای زیادی برای فعال سازی قابلیت همکاری بین شبکههای مختلف بلاکچین در حال انجام است و به dappها این اجازه را میدهد تا به طور یکپارچه در بین پلتفرمهای مختلف ارتباط برقرار کرده و با آنها تعامل داشته باشند.
3- تجربه کاربری: با بهبود ابزارهای توسعه و رابطهای کاربری برای کاربران dapp، انتظار میرود تجربه کاربری بصریتر و کاربر پسندتر شود.
نتیجهگیری
Dappها دارای ماهیت غیرمتمرکز، ایمن و شفاف هستند و انقلابی را در نحوه استفاده ما از برنامهها و تعامل با اینترنت ایجاد میکنند. از امور مالی گرفته تا مراقبتهای بهداشتی، برنامههای غیرمتمرکز یا Dapp پتانسیل تأثیرگذاری بر صنایع مختلف را دارند و شیوه زندگی ما را تغییر دادهاند. Dappها شفافیت و کنترل بیشتری را ارائه میدهند و آنها را به راهحلی عالی برای برنامههایی که به سطح بالایی از اعتماد نیاز دارند تبدیل خواهد کرد.