برنامه غیرمتمرکز (DApps) چیست؟ برنامه غیرمتمرکز چطور ساخته میشود؟
به گزارش اکسران : پروتکلهای ساختهشده روی بلاک چین همواره در حال توسعه قابلیتها و کاربردهای جدید هستند تا رؤیای رسیدن به جهانی غیرمتمرکز را تحقق ببخشند. در این جهان، تراکنشهای بانکی، بازیها، جستوجو در وب و حتی جمعآوری آثار هنری و کلکسیونی، در کنترل کامل کاربران انجام خواهد شد. چنین سبک زندگی غیرمتمرکزی به برنامههای غیرمتمرکز یا DAppها نیاز دارد که یکی از نوآوریهای مهم ارائهشده در سالهای اخیر است؛ اما برنامه غیرمتمرکز چیست؟
بهطورخلاصه، برنامههای غیرمتمرکز برخلاف ظاهر و عملکردشان که کاملاً مشابه نرمافزارهای سنتی است، برنامههایی هستند که روی شبکهای توزیعشده از کامپیوترها قرار میگیرند و هیچ نهاد یا سازمانی بر آنها نظارت نمیکند. برای اینکه بهتر بدانیم DApp چیست، در این مقاله میخواهیم ساختار برنامه غیرمتمرکز و تفاوتهای آن با برنامههای متمرکز و کاربردهای آن در زندگی واقعی را بررسی کنیم. اگر میخواهید بدانید برنامه غیرمتمرکز چیست و چطور کار میکند، تا پایان مقاله همراه ما باشید.
برنامه غیرمتمرکز یا DApp چیست؟
قبل از واکاوی برنامههای غیرمتمرکز، میخواهیم مفهوم بلاک چین را مرور کنیم. بلاک چین از این نظر در بحث حاضر مهم است که زیرساخت برنامه غیرمتمرکز را تشکیل میدهد.
بهزبان ساده، بلاک چین دفترکل توزیعشده دیجیتالی است که اطلاعات مختلف روی آن در بخشهایی به نام بلاک ثبت میشوند. این بلاکها بهشکل زنجیره بههم متصل هستند. اطلاعات ثبتشده در بلاک چین روی پایگاه داده مشخصی ذخیره نمیشوند؛ بلکه روی شبکهای از کامپیوترها قرار میگیرند که هرکدامشان نسخهای بهروزشده از بلاک چین را در خود ذخیره میکنند. بنابراین، امکان حذف یا دستکاری اطلاعات روی بلاک چین غیرممکن است و هیچکس بهجز خودِ کاربران بر آنها نظارت نمیکند.
بیشتر بخوانید: بلاک چین چیست؟ توضیح ساده با مثال + ویدئو
به برنامههای کاربردی که روی بلاک چین ساخته میشوند، برنامه غیرمتمرکز یا DApp میگویند. این برنامهها ممکن است برای اهداف مختلفی ازجمله امور مالی، بازی، جمعآوری آثار هنری، موسیقی و سرگرمی یا رسانههای اجتماعی طراحی شوند.
برنامه غیرمتمرکز چگونه کار میکند؟
برای آشنایی با نحوه عملکرد برنامه غیرمتمرکز، ابتدا باید با ساختار آن آشنا شویم. ساختار برنامههای غیرمتمرکز درست مانند برنامههای وب معمولی، از دو بخش اصلی فرانتاند (Front-End) و بکاند (Back-End) تشکیل شده است. فرانتاند بخشی از برنامه یا وبسایت است که کاربر آن را میبیند و با آن تعامل برقرار میکند. رابط کاربری گرافیکی، طراحی ظاهر برنامه، منوهای پیمایش، روشهای واردکردن ورودی، متن، تصاویر و ویدیوها همگی جزو بخش فرانتاند هستند.
درمقابل، بکاند بخشی از برنامه یا وبسایت است که در پسزمینه قرار دارد و انجام محاسبات یا سایر وظایف مربوط به فرانتاند برعهده آن است. درواقع، برنامه اطلاعات دریافتی از کاربر را در بکاند ذخیره میکند. بخش غیرمتمرکز DAppها هم همین بکاند آنهاست.
برنامههای غیرمتمرکز ساختاری مانند برنامههای معمولی وب دارند که از دو بخش فرانتاند (Front-End) و بکاند (Back-End) تشکیل شده است. بخش غیرمتمرکز DAppها بکاند آنهاست.
کد برنامههای غیرمتمرکز در قرارداد هوشمند نوشته میشود. این قراردادهای هوشمند در سیستم بلاک چین ذخیره میشوند و قوانین تعریفشده در کد را اجرا میکنند. ازآنجاکه بخش فرانتاند در برنامههای غیرمتمرکز کاملاً مشابه برنامههای متمرکز است، قرارداد هوشمند فقط شامل بکاند است و اغلب بخش کوچکی از کل برنامه غیرمتمرکز را تشکیل میدهد؛ بنابراین، ساخت برنامه غیرمتمرکز مستلزم ترکیب چند قرارداد هوشمند برای بکاند و بهکارگیری سیستمهای ثالث برای اجرای فرانتاند است.
انواع برنامه غیرمتمرکز چیست؟
برنامههای غیرمتمرکز را براساس نوع بلاک چین آنها میتوان به سه دسته تقسیم کرد:
نوع اول: برنامههایی هستند که بلاک چین مخصوص به خود را دارند. بیت کوین از این دسته است و میتوان آن را اولین برنامه غیرمتمرکز دانست.
نوع دوم: پروتکلهایی هستند که از بلاک چین برنامههای نوع اول استفاده میکنند. برای دسترسی به این برنامهها و تعامل با آنها، باید توکن مخصوص خودشان را داشته باشید. یکی از بهترین نمونههای برنامههای غیرمتمرکز نوع دوم، پروتکل اومنی (Omni) است. اومنی بهعنوان پلتفرم معاملاتی توزیعشده روی بلاک چین بیت کوین ایجاد شده است و با کمک آن میتوانید انواع داراییها را بهسهولت و بیواسطه و بدون نیاز به اعتماد به شخص ثالث معامله کنید.
نوع سوم: برنامههایی هستند که از پروتکلهای برنامههای نوع دوم استفاده میکنند. برای مثال، شبکه SAFE در این دسته قرار میگیرد. شبکه SAFE شبکهای غیرمتمرکز برای ذخیرهسازی داده است که امکان ایجاد وبسایتها و برنامههای کاربردی مقاوم دربرابر سانسور را فراهم میکند. این شبکه از پروتکل اومنی برای ایجاد توکن مخصوص خود، سیف کوین (SafeCoin)، استفاده میکند.
برای روشنترشدن موضوع، نوع اول را میتوانید مانند سیستمعامل ویندوز و نوع دوم را مانند مرورگر کروم و نوع سوم را مانند افزونه کروم در نظر بگیرید.
ویژگیهای برنامه غیرمتمرکز چیست؟
همه برنامههای غیرمتمرکز سه ویژگی بنیادی دارند که در همه آنها مشترک است. این ویژگیهای اصلی عبارتاند از:
۱. منبعباز هستند؛ یعنی پایگاه کد یا کدبیس برنامه دردسترس همه قرار دارد. هر تغییری در کد برنامه باید با اجماع کاربران اِعمال شود؛ بنابراین، کنترل برنامه دست هیچ نهاد یا سازمان مرکزی نیست.
۲. غیرمتمرکز هستند؛ یعنی دادههای آنها روی بلاک چین ذخیره میشود که دفترکلی توزیعشده است و امکان دستکاری یا تغییر دادهها در آن وجود ندارد. این ویژگی امنیت این برنامهها را دربرابر هک یا حملههای سایبری تضمین میکند.
۳. سیستم پاداشدهی دارند؛ یعنی مشوقهایی برای مشارکت فعال نودها در بلاک چین وجود دارند. این پاداشها در قالب توکنهای بومی هستند که فعالیت کاربران مانند خریدهای درونبرنامهای نیز با آنها انجام میشود.
نقش بلاک چین اتریوم
پرکاربردترین بلاک چین برای ساخت برنامههای غیرمتمرکز بلاک چین اتریوم است. این پلتفرم از قراردادهای هوشمند پشتیبانی میکند که برای توسعه و پیادهسازی برنامههای غیرمتمرکز ضروری است. برنامههای غیرمتمرکز روی اتریوم را میتوان در سه دسته زیر قرار داد:
- برنامههایی که برای مدیریت پول هستند؛ برای معامله ارزهای دیجیتال در شبکه بلاک چین.
- برنامههایی که پول را با رویدادهای خارجی و دنیای واقعی ادغام میکنند؛ برای سیستمهایی مانند سیستم لجستیک.
- سازمانهای خودگردان غیرمتمرکز یا دائو (DAO)؛ برای سیستمهای رأیدهی و اداره پروتکلها.
چرا از برنامههای غیرمتمرکز استفاده کنیم؟
برنامههای غیرمتمرکز مزیتها و کاربردهای زیادی دارند که باعث میشود درمقایسهبا برنامههای متمرکز مفیدتر باشند. یکی از مزایای مهم این برنامهها، غیرمتمرکزبودن آنهاست. تمرکززدایی از واگذاری کامل کنترل برنامه به نهادی واحد جلوگیری میکند و درعوض، همه ذینفعان میتوانند در تصمیمگیریها مشارکت کنند.
با برنامههای غیرمتمرکز در وقت و هزینه صرفهجویی میشود. هزینههای این برنامهها درمقایسهبا برنامههای متمرکز مانند اپلیکیشنهای بانکی بسیار کمتر است و معاملات بهطورآنی انجام میشوند. نکته مهم دیگر اینکه برنامههای غیرمتمرکز سرور مرکزی ندارند که اگر خراب شود، تا زمان درستشدن آن دسترسی به برنامه وجود نداشته باشد.
امروزه، برنامههای غیرمتمرکز در حوزههای بسیاری ادغام شدهاند و در صنایع مختلف از این برنامهها استفاده میشود. چند نمونه از کاربردهای مهم برنامههای غیرمتمرکز عبارتاند از:
امور مالی غیرمتمرکز یا دیفای
یکی از کاربردهای اصلی DAppها، امور مالی غیرمتمرکز یا دیفای است. بازار دیفای بیش از ۴۰میلیارد دلار ارزش دارد و فضای آن بهسرعت در حال رشد است. برنامههای غیرمتمرکز با معرفی روشهای جدید برای تسهیل تراکنشهای همتابههمتا و ایجاد خدمات مالی نوآورانه مانند استخراج نقدینگی و وامدهی، با امور مالی سنتی رقابت میکنند.
راهکارهای سازمانی
راهکارهای مبتنیبر بلاک چین قابلیتهای زیادی دارند که به کسبوکارها در رشد و بهبود کارایی عملیاتی آنها کمک کنند. در سالهای اخیر، این برنامهها نقش مهمی در مدیریت زنجیره تأمین برای ردیابی حرکت کالاها و ایجاد شفافیت در فرایند حملونقل، در سیستمهای رأیگیری برای ذخیره ایمن و تأیید اطلاعات هویتی و در بخش آموزش، بهداشت و سلامت ایفا کردهاند.
بازیها و اشیای کلکسیونی دیجیتال
اولین برنامه غیرمتمرکزی که به محبوبیت درخورتوجهی دست یافت، بازیای به نام کریپتوکیتیز (CryptoKitties) بود. از دیگر بازیهای محبوب غیرمتمرکز میتوان به بازیهایی مانند دیسنترالند (Decentraland)، اسپلینترلندز (Splinterlands)، اکسی اینفینیتی (Axie Infinity) و مای دیفای پت (My DeFi Pet) اشاره کرد.
صرافیهای غیرمتمرکز (DEX)
صرافیهای غیرمتمرکز امکاناتی نظیر استخرهای نقدینگی و بازارهای مبادلات ارزهای دیجیتال و خریدوفروش توکن غیر مثلی (NFT) را به شما ارائه میکنند.
بیشتر بخوانید: صرافی غیرمتمرکز چیست؟ + معرفی بهترینها (آپدیت ۲۰۲۲)
رسانههای اجتماعی
این رسانهها درست مانند یوتیوب و فیسبوک و اینستاگرام عمل میکنند، با این تفاوت که بهجای ذخیره دادههایتان و کسب درآمد از آن، برای مشارکت در شبکه به شما پاداش میدهند. نمونهای مناسب از این نوع برنامههای غیرمتمرکز استیمیت (Steemit) است.
تفاوت برنامه متمرکز و برنامه غیرمتمرکز چیست؟
برنامههای غیرمتمرکز ازنظر فرانتاند شبیه برنامههای معمولی هستند؛ اما بخش بکاند آنها متفاوت است. مهمترین تفاوتهای برنامههای متمرکز و غیرمتمرکز عبارتاند از:
منبعباز بودن
برنامههای غیرمتمرکز منبعباز و بدون نیاز به مجوز (Permissionless) هستند. بنابراین، هیچ راهی برای محدودکردن دسترسی به برنامه غیرمتمرکز وجود ندارد. این در حالی است که برنامههای متمرکز متعلق به نهاد مرکزی هستند که آن را کنترل میکند.
بیشتر بخوانید: اینترنت متمرکز در برابر اینترنت غیرمتمرکز
محل ذخیره اطلاعات
دیگر تفاوت مهم محل ذخیره اطلاعات است. برنامه متمرکز روی سرورهای وب متمرکز ذخیره میشود، نه سیستمعامل بومی هر دستگاه خاص. دستگاهها و سرورها ازطریق پیامهای کدگذاریشده بهواسطه پروتکل انتقال اَبَرمتن (HTTP) با یکدیگر ارتباط برقرار میکنند. برای مثال، وقتی توییتر را باز میکنید، فید برنامه از دادههایی دریافت میشود و در دستگاه شما بهنمایش درمیآید که در سرورهای شرکت نگهداری میشوند. این در حالی است که بلاک چین متشکل از صدها یا هزاران دستگاه است که اطلاعات را روی شبکه توزیعشدهای از کامپیوترها بهاشتراک میگذارند.
حفظ حریم خصوصی
سومین تفاوت به حریم خصوصی مربوط است. در برنامه غیرمتمرکز شما با سایر کاربران بهطورمستقیم تعامل برقرار میکنید؛ اما هویتتان برای هیچکس فاش نمیشود. درمقابل در برنامههای متمرکز، شرکت متصدی آن برنامه از هویت شما آگاه است و همه اطلاعاتتان دراختیار آن شرکت قرار دارد.
امنیت
تفاوت بعدی امنیت برنامههای غیرمتمرکز است. مکانیسم اجماع قوی در این برنامهها آنها را دربرابر حملههای مخرب مقاوم میکند. اطلاعات ذخیرهشده در چنین سیستمهایی تغییرپذیر یا دستکاریشدنی نیستند.
مهمترین تفاوتهای برنامههای متمرکز و غیرمتمرکز در نیاز کاربران به مجوز برای دسترسی، نوع ذخیره اطلاعات، حریم خصوصی کاربران، امنیت اطلاعات و مقیاسپذیری آنها است.
برنامههای غیرمتمرکز ممکن است در شبکه ازدحام ایجاد کنند و سرعت آن را کاهش دهند. یکی از نمونههای برجسته آن را خیلی از ما بهیاد داریم؛ بازی دیجیتالی کلکسیونی کریپتوکیتیز که مدت کوتاهی پس از انتشارش در سال ۲۰۱۷ آنقدر محبوب شد که شبکه اتریوم را با کُندی شدیدی مواجه کرد. معمولاً برنامههای متمرکز با این مشکل مواجه نمیشوند.
مقیاسپذیری
تفاوت مهم دیگر مقیاسپذیری است. بلاک چینها هنوز بهاندازه کافی مقیاسپذیر نیستند و اگر در شبکه ازدحام ایجاد شود، ناگزیر هزینهها افزایش مییابد. دلیل این مسئله آن است که زمان تأیید تراکنشها طولانی میشود و اگر کاربری بخواهد تراکنشهایش سریعتر بررسی شود، باید هزینه بیشتری بپردازد. اتریوم بهدلیل استفاده زیاد کاربران از شبکهاش سابقهای طولانی در افزایش نرخ گس دارد.
نمونههای برنامه غیرمتمرکز
درادامه، چند نمونه از برنامههای غیرمتمرکز محبوب را معرفی میکنیم.
یونیسواپ
یونی سواپ (Uniswap) صرافی غیرمتمرکزی است که روی بلاک چین اتریوم ساخته شده است و از آن برای مبادله توکنهای ERC-20 استفاده میکنند.
آوی
آوی (Aave) پروتکل نقدینگی منبعباز غیرمتمرکزی است که از آن برای وامدهی و وامهای سریع و سهامگذاری ارزهای دیجیتال استفاده میکنند.
آپلند
بازی غیرمتمرکز (Upland) مبتنیبر بلاک چین ایاس است. این بازی متاورس را با دنیای واقعی ترکیب میکند. آپلند نیز مانند اکثر بازیهای مبتنیبر بلاک چین از مدل بازی برای کسب درآمد استفاده میکند و به بازیکنان اجازه میدهد داراییهای درون بازی خود را با پول واقعی بفروشند.
استیمیت
پلتفرم غیرمتمرکز استیمیت برای وبلاگنویسی و تولید محتوای رسانههای اجتماعی است. کاربران این پلتفرم میتوانند از آن برای تولید و ارسال محتوا و دریافت بازخورد استفاده و از محتوای تولیدی خود درآمد کسب کنند.
اوپنسی
اوپن سی بازاری غیرمتمرکز است که ابتدا روی شبکه اتریوم ساخته و سپس با پالیگان ادغام شد. در این بازار، میتوانید انواع NFTها را معامله کنید.
میکردائو
میکردائو (MakerDAO) سرویس اعتباری مبتنیبر اتریوم است که امکان قفلکردن اتر (ETH) بهعنوان وثیقه و تبدیل آن به توکن دای (Dai) را فراهم میکند. دای استیبل کوینی مبتنیبر دلار آمریکاست.
بیشتر بخوانید: پرطرفدارترین اپلیکیشنهای غیرمتمرکز: از دیفای تا بازیهای ویدیویی
آینده برنامههای غیرمتمرکز
اگرچه میتوان بیت کوین را اولین برنامه غیرمتمرکز دانست، این اتریوم است که بهدلیل قراردادهای هوشمند و اثر شبکه و پایگاه کاربریاش اصلیترین محرک رشد این اکوسیستم بوده است. برنامههای غیرمتمرکز با استقرار رابطهای کاربری عالی که به قابلیتهای جدید بلاک چین دسترسی دارند و در حال رقابت با برنامههای متمرکز هستند و بازار دیفای که همچنان کاربردها و پذیرش خود را گسترش میدهد، امکانات بیشتری را در آینده به مردم سراسر جهان ارائه خواهند داد.
علاقه به این برنامهها بهسرعت در حال رشد است و این حرکت تازه شروع شده است. ازآنجاکه بلاک چین با سرعتی زیاد به رشد و توسعه خود ادامه میدهد، بعید نیست در آینده نزدیک همه برنامههای مربوط به امور مالی، بازی، بازارهای آنلاین و رسانههای اجتماعی روی بلاک چین ساخته شوند.
برنامه غیر متمرکز چیست؟
به برنامههایی که روی بلاک چین ساخته میشوند و هیچیک از نهادهای مرکزی بر آنها نظارت نمیکنند، برنامه غیرمتمرکز میگویند.
ساختار برنامه غیرمتمرکز چیست؟
ساختار برنامه غیرمتمرکز مانند برنامه متمرکز از فرانتاند و بکاند تشکیل شده است. فرانتاند این برنامهها مشابه برنامههای متمرکز است؛ اما در بکاندِ برنامههای غیرمتمرکز بهجای سرورهای مرکزی، قراردادهای هوشمند و اطلاعات ذخیرهشده روی بلاک چین قرار دارد.