برنامه غیرمتمرکز یا DApp چیست؟

0

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

DApps کوتاه شده عبارت Decentralized Applications به  معنی اپلیکیشن ها و یا برنامه های غیرمتمرکز می باشد. قبل از پرداختن به اپلیکیشن های غیرمتمرکز بیایید نگاهی به اپلیکیشن های سنتی و متمرکز (Apps) بیندازیم.


مقایسه برنامه های متمرکز و غیرمتمرکز


در حال حاضر متداول ترین برنامه هایی که مردم از آن ها استفاده می کنند متمرکز هستند. این برنامه ها همانطور که از نامشان پیداست توسط یک نهاد مرکزی ایجاد و کنترل می شود. این نهاد مرکزی یا مالک اپلیکیشن، اختیار نهایی عملکرد و داده های موجود در برنامه را دارد. یکی از مهمترین مسائل برنامه های متمرکز، مالکیت داده ها و اطلاعات است.

برای مثال، بعنوان یک برنامه متمرکز، کاربران در فیس بوک داده ها و محتوای خود را بارگذاری می کنند، همچنین تمام فعالیت هایی که آن ها در برنامه انجام می دهند مانند دنبال کردن صفحات مختلف و یا لایک کردن یک پست، به داده های جمع آوری شده توسط فیس بوک اضافه می شود. پس از ارائه این اطلاعات به برنامه، فیس بوک آن ها را در اختیار دارد.

اما فیس بوک با این اطلاعات چه کار می کند؟ این اطلاعات شخصی را به شرکت هایی که می خواهند بر اساس شناخت کاربران تبلیغات خود را انجام دهند، می فروشد. بنابراین مالک اصلی اطلاعات یعنی کاربر، مالکیت آن اطلاعات را پس از ارسال به یک برنامه متمرکز از دست می دهد.

همچنین نهاد مرکزی مالکیت کامل برنامه را در اختیار دارد. این نهاد می تواند هرگونه محتوای ارسال شده در برنامه را حذف کند.

فیس بوک، یوتیوب و توییتر می توانند هر محتوایی را در برنامه شان سانسور کنند.

اینجاست که DApps یا همان برنامه های غیرمتمرکز وارد می شوند. DApp ها مالکیت اطلاعات را به کاربران برنامه باز می گردانند. از آنجا که اطلاعات در این برنامه ها به جای ذخیره بر روی یک سرور مرکزی بر روی دفترکل توزیع شده بلاک چین ذخیره می شوند، هیچ شخصی امکان دسترسی به اطلاعات شخصی کاربران را نخواهد داشت.

برنامه های غیر متمرکز چهار ویژگی اصلی دارند:

  • منبع باز: کد برنامه باید برای نظارت عمومی در دسترس باشد. این برنامه باید با هر گونه تغییر در پروتکل که با رضایت و توافق عمومی تصمیم گرفته می شود، اداره شود.
  • غیرمتمرکز: برنامه باید بر روی یک شبکه غیر متمرکز مانند بلاک چین کار کند، که این امکان را می دهد تا اطلاعات به صورت رمزنگاری شده در دفترکل توزیع شده، ذخیره شود.
  • ایجاد انگیزه برای اعتبار سنج ها: برنامه های غیرمتمرکز باید دارای یک توکن دیجیتالی (رمزارز) باشند که برای امور اپلیکیشن استفاده می شود. همچنین این توکن ها بعنوان پاداش برای ایجاد انگیزه به اعتبارسنج ها (نودها) در ازای امن کردن شبکه، داده می شود.
  • پروتکل : برنامه باید دارای یک پروتکل باشد. تمام کسانی که از این برنامه ها استفاده می کنند باید پروتکل را بپذیرند. همچنین این برنامه ها دارای یک سازوکار و یا الگوریتم اجماع می باشند که طبق آن برای جلوگیری از دستکاری داده ها، تمامی اعضای (نودها) شبکه سالم بودن اطلاعات را تأیید می کنند.

در زیر می توانید لیستی از برنامه های غیرمتمرکز در مقایسه با برنامه های متمرکز را مشاهده کنید.


اتریوم و DApp ها


بر اساس ویژگی هایی که در بالا ذکر کردیم، از نظر فنی می توان گفت که بیت کوین اولین برنامه غیر متمرکز و یا DApp می باشد. بیت کوین یک راهکار اجرایی بلاک چین است که در پاسخ به مشکل “متمرکز بودن” ایجاد شده و بدون نیاز به واسطه امکان مبادله ارز را فراهم می کند. همین فقدان قدرت مرکزیست که بیت کوین را به یک اپلیکیشن غیر متمرکز تبدیل کرده است. در واقع کارایی این نرم افزار، انجام معاملات غیرمتمرکز بین افراد می باشد.

با وجود اینکه می توان بیت کوین و اتریوم را بعنوان DApps تعریف کرد، اما به نظر می رسد که اتریوم چیزی فراتر از یک DApp بوده و نقشه­ های بزرگتری دارد. می توان گفت که اتریوم به نوعی یک مجموعه بزرگ از DAppها است و به توسعه دهندگان این اجازه را می دهد که برنامه هایی تحت عنوان قراردادهای هوشمند بنویسند و بر روی بلاک چین اتریوم ذخیره و اجرا کنند. و همین امر آن را به مجموعه ای از اپلیکیشن های غیرمتمرکز تبدیل می کند چرا که دیگر برای هر اپلیکیشن نیازی به تولید یک بلاک چین جدید نیست. اتریوم یک پلتفرم امن برای تولید و توسعه DAppها خلق کرده است.

در واقع هدف اصلی اتریوم ایجاد یک پروتکل برای ساخت اپلیکیشن های غیرمتمرکز بر روی آن می باشد. به واسطه این امکان، DAppهایی که بر روی شبکه اتریوم در حال کار کردن هستند خیالشان راحت است که بر روی یک بلاک چین امن و قدرتمند که قبلاً امتحانش را پس داده است مشغول فعالیت هستند. این موضوع همچنین می تواند باعث کاهش زمان توسعه یک برنامه غیر متمرکز شود، زیرا ساخت یک بلاک چین اختصاصی برای آن برنامه به مراتب پیچیده تر است و زمان بیشتری نیاز دارد و همینطور می تواند چالش های خود را داشته باشد.

اتریوم از زبان برنامه نویسی Solidity برای نوشتن قراردادهای هوشمند و DAppها استفاده می کند. شبکه به کاربران این امکان را می دهد تا قراردادهای هوشمند خود را ایجاد کنند و این قراردادهای هوشمند براساس دستورالعمل های خاصی که در کد آن نوشته شده است، بصورت خودکار اجرا می شوند.

اکنون بسیاری از برنامه های غیرمتمرکز بازار بر روی اتریوم وجود دارند که ارزش بازار برخی از آن ها به میلیون ها دلار می رسد مانند Golem ،Augur ،uPort و EtherTweet.

بیایید نگاهی به آن ها بیندازیم.

Golem

Golem یک ابرکامپیوتر جهانی است که قدرت محاسباتی هر کامپیوتر موجود در شبکه خود را با بقیه جمع کرده و به اشتراک می گذارد. شبکه گولم شما را قادر می سازد تا قدرت محاسباتی مازاد سیستم خود را در صورت عدم نیاز با افراد دیگری که به آن نیاز دارند، به اشتراک بگذارید و در ازای آن پول (توکن Gnt) دریافت کنید.

گولم این امکان اقتصادی را ایجاد می کند که در هر جایی قدرت محاسباتی کامپیوترها را به اشتراک گذاشته شود حتی اگر قابل استفاده نباشد. از این طریق، هر کس می تواند بابت کامپیوتر شخصی خود اجاره بگیرد. به عبارت دیگر این DApp می تواند یک بازار جهانی برای قدرت محاسباتی سیستم ها ایجاد کند.

Augur

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

uPort

 uPort یک برنامه کاربرپسند و منبع باز، متناسب برای ایجاد یک سیستم جهانی یکپارچه و مستقل و سیستمی برای شناسایی هویت افراد، مشاغل، سازمان ها، دستگاه ها و ربات ها است. یکی از موارد استفاده آن به طور مثال، دریافت بسته از طریق یک هواپیمای بدون سرنشین می باشد که یک بسته را در زمان مشخص شده به شما تحویل می دهد و هویت شما را با uPort تأیید می کند.

EtherTweet

EtherTweet یک بستر بلاگ نویسی غیرمتمرکز شبیه به توییتر است. اما از آنجا که اترتوییت یک DApp است، محتوای پست شده برای آن قابل حدف کردن نیست. این موضوع آن را به یک بستر بدون سانسور و غیر قابل تغییر در انتشار مقاله از طریق فناوری بلاک چین تبدیل می کند.


ساختار برنامه های غیرمتمرکز


ساختار برنامه های غیرمتمرکز به اجزاء یک برنامه غیرمتمرکز و نحوه تعامل آن ها با یکدیگر اشاره دارد. بیایید ببینیم که چگونه یک DApp با یک برنامه متمرکز معمولی تفاوت دارد.

در این قسمت به متداول ترین اجزاء یک برنامه وب معمولی و نحوه کار DAppها بر روی هر یک از آن ها می پردازیم.

  • Frontend  (به عنوان مثال رابط کاربری در برنامه مرورگر وب)
  • Backend (به عنوان مثال سرور هاست برنامه وب)
  • ذخیره سازی داده ها (به عنوان مثال سروری که داده ها در آن ذخیره می شوند)
  • وضوح نام گذاری (به عنوان مثال DNS)

Frontend 

فرانت اند یک برنامه غیر متمرکز (یا یک برنامه معمولی) به قسمت های طرف کاربر یا همان قسمت هایی که کاربران با آن در ارتباط هستند، اشاره دارد که برای ایجاد رابط بین کاربر و قراردادهای هوشمند استفاده می شود. فرانت اند شبیه ترین بخش یک برنامه غیرمتمرکز و متمرکز است.

Backend

در حالت سنتی، بک اند نرم افزار، سمت سرور یک برنامه است و شامل مواردی که کلیه درخواست های مشتری پردازش و بازگردانده می شود، است که درحالت عادی متمرکز می باشد. به این معنی که مرحله پردازش درخواست های کلیه مشتریان در یک نقطه بصورت متمرکز انجام می شود. در مورد برنامه های غیرمتمرکز، قراردادهای هوشمند بک اند برنامه هستند.

نکته دیگر اندازه DApp است. یک قرارداد هوشمند بزرگ یکپارچه می تواند برای اجرا پر هزینه باشد. بنابراین بیشتر DAppها مجموعه ای از قراردادهای هوشمند کوچک را تنظیم می کنند که عملکردهای مختلفی دارند. این یک روش عالی در زمینه توسعه نرم افزار است، زیرا ذخیره و اجرای قراردادهای هوشمند کوچکتر آسانتر است.

ذخیره سازی داده های برنامه

ذخیره داده ها در سرورهای فیزیکی یا مجازی است که در DAppها این ذخیره سازی در یک دفترکل توزیع شده مانند بلاک چین انجام می شود. همانطور که قبلاً توضیح داده شد این ذخیره سازی داده در یک دفترکل توزیع شده، مزیت اصلی برنامه غیرمتمرکز نسبت به برنامه های متمرکز معمولی است.

وضوح نام گذاری

در یک شبکه هر نود دارای یک آدرس IP منحصر به فرد است. وضوح نامگذاری به سیستمی اطلاق می شود که آدرس IP منحصر به فرد را به یک نام قابل خواندن توسط انسان تبدیل می کند (همان نامی که ما برای دسترسی به یک وب سایت در مرورگر تایپ می کنیم). در اینترنت فرآیند ترجمه آدرس های IP به نام های دامنه، (DNS (Domain Name System  نام دارد.

در اتریوم این سیستم نامگذاری (ENS (Ethereum Naming System نام دارد که همین کار را انجام می دهد اما به روش غیر متمرکز. ENS در چهارم ماه می 2017 راه اندازی شد که خود یک DApp با تنظیم چند قرارداد هوشمند بر روی اتریوم است.


وضعیت فعلی برنامه های غیرمتمرکز


اگرچه میزان استفاده از DAppها هنوز به اندازه استفاده از نرم افزارهای متمرکز نیست، با این حال توسعه و راه اندازی DAppها در حال رشد است. توسعه و افزایش استفاده از DAppها به افزایش آگاهی نسبت به فناوری بلاک چین و رمزارزها نیازمند است. این فناوری هر روز نظر توسعه دهندگان، سرمایه گذاران و کاربران بیشتری را به خود جلب می کند و پروسه تکامل DAppها هر روز بهتر و بهتر می شود.

در نمودار زیر می توانیم تعداد DAppهای جدید ایجاد شده در هر ماه را مشاهده کنیم که از دسامبر 2018 کندتر شده است اما هنوز بالاتر از 1000 DApp در ماه به وجود می آید.

امکان نظردهی غیر فعال شده.