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

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

مزایای برنامههای غیرمتمرکز
مهمترین مزایای استفاده از برنامه های غیرمتمرکز شامل موارد زیر است:
- تحمل خطا: تا زمانی که یک نود واحد در اکوسیستم فعال باشد، یک شبکه غیرمتمرکز همچنان میتواند به فعالیت خود ادامه دهد. همچنین ممکن است عملکرد آن کاهش یابد. از آنجایی که یک شبکه متمرکزی وجود ندارد، یک هکر نمیتواند به شبکهای از گرهها حمله کند تا یک DApp را از بین ببرد.
- یکپارچگی داده: دادههایی که در بلاک چین ذخیره میشوند کاملا امن و تغییرناپذیر هستند. زیرا الگوریتم اجماع در بلاک چین بهگونهای طراحی شده که دادههای ذخیرهشده در برابر هرگونه تغییری مقاوم هستند.
به عنوان مثال پلتفرم اتریوم را در نظر بگیرید که اکوسیستم آن بهقدری انعطافپذیر است که توسعه سریع DAppها را در صنایع مختلف امکانپذیر میسازد.
معایب برنامه غیرمتمرکز dApp
برنامه های غیرمتمرکز DApp با وجود اینکه مزایای قابلتوجهی دارند اما دارای معایبی نیز هستند که برخی از آنها را در ادامه بازگو میکنیم.
- نگهداری: نگهداری، اشکالزدایی و بهروزرسانی آنها دشوار است، زیرا هر گونه تغییر باید به تایید اجماع مشارکتکنندگان در شبکه بلاک چین برسد.
- مقیاسپذیری دشوار: یکی از عمدهترین مشکلاتی که برنامه های غیرمتمرکز dApp با آن مواجه هستند مقیاسپذیری آنهاست.
- تجربه کاربری: از آنجایی که dAppها مانند برنامههای متمرکز عمل نمیکنند. ممکن است ایجاد یک محیط کاربر پسند توسط توسعهدهندگان سخت باشد. کاربران در نرمافزارهای غیرمتمرکز برای ورود به سیستم، کلید خصوصی و عمومی به همراه نام کاربری و رمز عبور نیاز دارند.
برنامههای غیرمتمرکز اتریوم
در حال حاضر با ظهور پلتفرمهای قدرتمندی مانند اتریوم، نئو، کاردانو و آیاس، دیگر نیازی به ایجاد بلاک چین مستقل برای ساخت برنامه های غیرمتمرکز نیست. توسعهدهندگان میتوانند برنامه های غیرمتمرکز خود را بر روی پلتفرمهایی که از قراردادهای هوشمند استفاده میکنند به سادگی پیادهسازی کنند.
یکی از پرکاربردترین و در عین حال محبوبترین بلاک چینهای حال حاضر اتریوم نام دارد که امکان توسعه برنامه های غیرمتمرکز را فراهم کرده است.
چند نوع برنامهای که امکان پیادهسازی در بلاکچین اتریوم وجود دارد؟
در حال حاضر و با توجه به پیشرفتهای فعلی این اکوسیستم میتوان سه نوع برنامه زیر را اجرایی کرد: برنامههایی که با پول ارتباط تنگاتنگی دارد (اما معیار اصلی آنها پول نیست)، برنامههایی که وظیفه مدیریت پول را انجام میدهند و در نهایت برنامههایی که در رأیگیری و سیستم حاکمیتی استفاده میشوند.
در نوع اول پول و اطلاعات مربوط به خارج از برنامه هستند. به عنوان مثال، یک برنامه مربوط به بیمه شخص ثالث است که با دریافت اطلاعات شخص و ذخیره آنها، در صورتی که هر گونه تصادفی رخ دهد خسارتهای ناشی از تصادف را به صورت خودکار پرداخت میکند.
در نوع دوم، کاربران برای اجرای یک قرارداد هوشمند ارز دیجیتال اتر را ارسال و یا دریافت میکنند. در این شبکه نودهای کامیپوتری وظیفه تسهیل ارسال اطلاعات را برعهده دارند.
نوع سوم برنامههایی هستند که در بخش رأیگیری اکوسیستمها و سیستمهای حاکمیتی مورد استفاده قرار میگیرند. چنین برنامههایی برای افزایش امنیت و پایداری یک شبکه امری حیاتی تلقی میشوند.
باید توجه داشت که برای اجرایی شدن DAppها، قراردادهای هوشمند باید به پروتکلی به نام اوراکل مراجعه کنند. اوراکلها خود نیز برنامههایی هستند که اطلاعات بیرونی را به صورت بروزرسانیشده دریافت میکنند.
یکی از مهمترین پروژههایی که در آن به صورت گسترده از برنامههای غیرمتمرکز استفاده شده است، سازمان خودگردان غیرمتمرکز (DAO) نام دارد. در این اکوسیستم هیچ فردی نمیتواند در آن دخالت کند و تمامی قوانین و مقررات موجود در آن توسط برنامهها مشخص شده است.