دپ، دی اپ یا برنامه غیرمتمرکز DApp
دَپ، دی اَپ یا برنامه غیرمتمرکز (Decentralized Application DApp) چیست؟

اگر با اتریوم آشنایی داشته باشید حتما نام برنامههای غیرمتمرکز یا dapp را شنیدهاید. برنامه غیرمتمرکز به عنوان دستاورد مستقیم پیدایش بلاکچین در نظر گرفته می شود.برنامههای غیرمتمرکز (dApps) همانطور که از اسم آن مشخص است برنامههایی است که به صورت غیرمتمرکز فعالیت میکنند یعنی شخص ثالت و متمرکزی آنها را کنترل نمیکند. برای اینکه بتوان برنامه غیرمتمرکزی ایجاد کرد حتما باید این برنامهها را بر روی بلاکچین اجرا کرد و بلاکچین اتریوم اولین مرجع برای ایجاد برنامههای غیرمتمرکز است. پس dapps برنامههای دیجیتالی هستند که در شبکههای بلاک چین همتا به همتا (P2P) و توزیع شده اجرا میشوند و تحت اختیار واسطه و هیچ شخصی قرار ندارند.
حال به بررسی انواع Dapp میپردازیم.
۱. دسترسی به بلاک چین از طریق نود خودشان ؛ حتی با وجود بلاک چینهای کوچک جدید ، اینکار یک بار سنگین بر دوش کاربر Dapp است زیرا مجبور هستند نود را بدون وقفه اجرا کنند و همگام سازی خود را ادامه دهند.
۲. دسترسی به بلاک چین از طریق یک گره قابل مشاهده در وب به صورت عمومی ؛ این گره باید به چندین کاربر خدمات ارائه کند. اما کاربران آن از دانلود و ذخیره مداوم دادههای بلاکچین راحت میشوند.
چشم انداز برنامه غیرمتمرکز به سرعت در حال تکامل است. در حالی که اتریوم بستر انتخابی محبوب برای توسعهدهندگان DAPP است، اما کاردانو، ترون، لیسک، کیوتام و نئو نیز برای توسعه DAPP محبوب هستند. همچنین تلاشهای بیشماری برای ساخت سایر سیستم عاملهای DAPP در مقیاس بزرگ در حال انجام است.
ویژگی های برنامههای غیرمتمرکز
غیرمتمرکز بودن
برنامه غیرمتمرکز (DApp) باید غیرمتمرکز باشد؛ این بدان معناست که تمام ثبتهای عملکرد، اقدامات و تراکنشهای برنامه در دفترکل عمومی ذخیره شود. بنابراین برنامههای غیرمتمرکز بر روی بلاک چین یا شبکههای کریپتوگرافیک شبه بلاک چینی اجرا میشوند که هیچ سرور مرکزی یا شبکه سلسله مراتبی در آن وجود ندارد و تمام نودها (گرهها) با یکدیگر برابر هستند. این دفتر کل عمومی غیرمتمرکز باید برای تمام نودهای حاضر در برنامه غیرمتمرکز در دسترس باشد.
متنباز(Open Source)
بهتر است که یک برنامه غیر متمرکز، بهصورت خودمختار مدیریت شده و تمام تغییرات آن بعد از توافق جمعی، یا کسب آرای اکثریت کاربران، اعمال شود. همچنین برای شفافیت لازم است که کد پایهی آنها در دسترس همه باشد.
طرح های تشویقی
ویژگی تشویقی برنامه غیرمتمرکز براساس نیاز به ایجاد یک سیستم جایزه دهی است که نودهای شبکه را به حضور در برنامه غیر متمرکز تشویق میکند. پس از حذف ویژگی متمرکزسازی در شبکه، این وظیفه به عهده نودها است تا به صورت انفرادی یا جمعی وظایف سرور مرکزی را انجام دهند. برنامههای غیرمتمرکز دارای توکنهایی هستند که مخصوص همان برنامه است و برای انجام تراکنشها و تایید بلاک چین برنامه مورد استفاده قرار میگیرند. این توکنها ارزشی را ذخیره میکنند تا به جایزه مناسبی برای حضور در شبکه برنامه غیرمتمرکز تبدیل شوند.
پروتکل
جامعهی کاربران لازم است روی یک الگوریتم رمزنگاری توافق کنند تا اثبات ارزش آن را نشان دهند. برای مثال، بیت کوین از اثبات کار (PoW) استفاده میکند و اتریوم نیز در حال حاضر از همین گواهی کار بهره میگیرد اما برنامههایی برای ایجاد یک گواهی دوگانه گواهی-کار (PoW)/گواهی-سهام (PoS) نیز در آینده دارد.
ساختار کلی برنامه غیر متمرکز(Structure Of DApp)
برنامه ی غیر متمرکز برنامهای است که به جای قرارگیری روی یک سرور متمرکز، روی بلاکچین عرضه میشود. این برنامهها قادر به تعامل با بلاک چین هستند که وضعیت تمام کاربران شبکه را مدیریت میکند. رابط کاربری برنامههای غیر متمرکز هیچ تفاوت ظاهری با وبسایتها یا برنامههای موبایل ندارند. «قراردادهای هوشمند» (Smart Contracts) در واقع منطق بنیادیِ برنامههای غیر متمرکز را به خوبی نشان میدهند.
قرارداد هوشمند کدی است که در بلاکچین اتریوم استفاده میشود و دقیقاً مطابق با برنامهریزی که شده، اجرا میشود. و پس از استقرار در شبکه، دیگر نمیتوانید آن را تغییر دهید. Dappها به صورت غیرمتمرکز هستند زیرا توسط منطق مندرج در قرارداد و نه توسط یک شخص یا شرکت کنترل میشوند. این همچنین بدان معنی است که شما باید قراردادهای خود را بسیار دقیق طراحی کرده و آنها را قبل از اجرا کاملاً آزمایش کنید.
برای آن که ساختار برنامه های غیرمتمرکز را توضیح دهیم، ابتدا بهتر است به ساختار برنامه های وب امروزی بپردازیم. برنامه هایی که بر بستر وب اجرا میشوند در واقع از دو قسمت تشکیل شدهاند:
فرانتاند (FrontEnd)
بکاند (BackEnd)
فرانتاند در واقع به بخشی از برنامههای تحت وب اشاره دارد که کاربر با آن تعامل میکند. مانند برنامه رابط کاربری یا UI. بکاند در واقع آن قسمتی از نرمافزار است که آن را نمیبینیم و عملیاتهای مهم از جمله دخیره و تغییر دادهها در این بخش صورت میگیرد. معمولا این بخش از برنامه در سرورهای متمرکز اجرا میشوند و این همان بخشی است که برنامههای غیرمتمرکز نشانه رفتهاند.
برنامههای غیرمتمرکز در قسمت فرانتاند تفاوت چندانی با برنامههای معمولی تحت وب ندارند. آنچه که آنها را متمایز میکند، در واقع بخش بکاند است. بخش بکاند برنامههای غیرمتمرکز بر بستر بلاکچین قرار دارد و آنجا عملیات خود را انجام میدهد. بنابراین همه عملیات و تغییرات برنامههای غیرمتمرکز برای همگان آشکار است و با تایید اکثریت شبکه بلاکچین انجام میشود.
DAPPها اغلب دارای مشخصات زیر هستند:
- آنها روی بلاک چین اجرا میشوند
- کد آنها طوری نوشته شده که به صورت منبع باز و به طور مستقل عمل میکند بدون اینکه هیچ شخص یا گروهی آن را کنترل کند
- آنها توکنهای DAPP را تولید میکنند تا به نودهای فعال خود پاداش دهند.
- با دریافت توکن به کاربران اجازه دسترسی به آنها داده میشود
- هنگامی که ماینرها با موفقیت به اکوسیستم آنها کمک کردند، پاداش دریافت میکنند
قبل از معرفی انواع dapp، ما باید قراردادهای هوشمند را معرفی کنیم. زیرا بدون قرارداد هوشمند، برنامه غیرمتمرکز هم وجود نخواهد داشت.
انواع برنامه غیر متمرکز براساس روش دسترسی به بلاکچین
- این برنامههای غیر متمرکز روی بلاک چین خودشان قرار میگیرند. همچنین تمام ارزهای دیجیتال دیگری که با بلاک چین خاص خودشان عرضه میشوند در همین دسته قرار میگیرند. اینکار یک بار سنگین بر دوش کاربر Dapp است زیرا مجبور هستند نود را بدون وقفه اجرا کنند و همگام سازی خود را ادامه دهند.
- این نوع از برنامههای غیر متمرکز از بلاک چین برنامههای نوع ۱ استفاده میکنند. این برنامههای غیر متمرکز پروتکلهایی هستند که برای کار، به توکن مخصوص خود نیاز دارند تا تبادل ارزهای دیجیتال یا داراییهای دیگر را بین افراد و بدون درگیر شدن با اشخاص ثالث تسهیل کنند. «پروتکل امنی» (Omni Protocol) بهترین نمونه از برنامههای نوع ۲ محسوب میشود. امنی یک پلتفرم معاملاتی توزیعیافته است که به عنوان یک «لایه» روی بلاک چین بیت کوین توسعه یافته است.
- برنامههای غیر متمرکز نوع ۳ از پروتکل برنامههای نوع ۲ استفاده میکنند. یک نمونه از این برنامههای نوع ۳ «سیف نتورک» (SAFE Network) است که مخفف «دسترسی امن برای همه» است. این برنامه یک شبکهی ذخیرهی داده و ارتباطات غیر متمرکز است که مراکز داده و سرورها را با منابع محاسباتی اضافی کاربران جایگزین میسازد. این برنامه یک شبکهی دادهی خودکار است که به کاربران اجازهی ساخت وبسایتها و برنامههای مقاوم در برابر سانسور را میدهد. این برنامه از پروتکل امنی برای صدور «سیف کوین» (SafeCoin) استفاده میکند، که برای استفاده از خدمات کاربردی آن لازم است.
اتریوم پتلفرمی است که برای توسعه برنامه غیر متمرکز طراحی و عرضه شده است. در حال حاضر حجم قابل توجهی از برنامههای غیر متمرکز بر روی بلاکچین اتریوم توسعه یافته شده یا در حال توسعه است. برای استفاده از این برنامهها کاربران لازم است از توکنهای «اتر» (Ether) استفاده کنند که با نام ارز دیجیتال اتریوم هم آن را میشناسیم.اتریوم سه دسته اصلی برای DAPP را مشخص کرده است:
برنامه های مالی
برنامه هایی که امور و تراکنش های مالی را پشتیبانی می کنند. برنامه های مالی به عنوان برنامه های DeFi که مخفف decentralized finance یا امور مالی غیر متمرکز نیز شناخته می شوند. ایده استفاده از بلاکچین در این برنامه ها برای بهبود کاربردهای مالی پیچیده – مانند وام ، وصیت نامه و بیمه – و استیبل کوین ها با هدف تثبیت قیمت ارزهای رمزنگاری صورت گرفته است.
برنامه های نیمه مالی
برنامه های غیرمتمرکز که شامل امور مالی می شوند ، اما همچنین به داده های دیگری مانند داده های خارج از بلاک چین اتریوم نیز نیاز دارند.نوع دوم برنامه ها مشابه نوع اول است ، اما همانطور که بوترین در وایت پیپر اتریوم آورده است، این دسته از برنامه ها ترکیبی از امور مالی و غیر مالی هستند. به عنوان مثال توسعه دهندگان پاداش هایی را تنظیم در نظر می گیرند که فقط در صورت انجام یک کار خاص به کاربر اهدا می شود. مثلا در فیلم های وسترن ، پاداش هایی برای افرادی که بتوانند فرد یا مجرمی را دستگیر کنند تعیین می شود. در این برنامه ها کاربران ممکن است برای حل یک مسئله محاسباتی دشوار پاداش بگیرند. نکته مهم در اینجا این است که قراردادهای هوشمند قادر به تشخیص صحت شروط و اعمال صورت گرفته توسط کاربر خواهند بود و بر اساس این تشخیص پاداش کاربر اهدا می شود. مثال دیگر این برنامه ها بیمه است. مثلا فرض کنید که یک کشاورز بیمه ای را خریداری می کند که اگر خشکسالی محصولاتش را از بین برد ، به طور خودکار هزینه اش را پرداخت می کند.
سازمانهای مستقل غیرمتمرکز DAO
در این نوع برنامهها، تمامی قوانین مشخص و برنامه ریزی شده برای مثال در مورد اینکه در نهادها چه کسانی میتوانند عضو شوند، چگونه اعضا میتوانند رأی دهند، چه مشاغل یا فعالیتهایی میتوانند انجام دهند و نحوه تعویض توکنها، یا ارزش آنها چگونه انجام میشود. پس از اجرای آنها، DAPPها طبق قوانین خود به طور مستقل عمل میکنند. اعضای آنها میتوانند از نظر جغرافیایی در هر مکانی باشند.
اکثر DAPP های دسته ۲ و دسته ۳ از سیستم عامل اتریوم استفاده میکنند. از پرکاربردترین DAPPها که بر روی اتریوم فعال هستند میتوان به یونیسواپ، کامپوند، Cryptokitties و بسیاری دیگر اشاره کرد. با اینکه بیشتر برنامههای غیرمتمرکز بر روی اتریوم فعالیت میکنند اما در بلاک چینهای دیگر نیز برنامههای غیرمتمرکز مانند IPSE در ایاس و WINk در بلاک چین ترون اجرا میشوند.