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

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

تخمین زمان مطالعه

۹ دقیقه
پنجشنبه 30 اردیبهشت 1400
برنامه غیرمتمرکز یا dApps چیست؟

اگر مباحث مرتبط با ارزهای دیجیتال را دنبال کرده باشید، حتماً اصطلاح «برنامه‌های غیر متمرکز» (Decentralized applications) یا dApps را شنیده‌اید. تصور کنید وقتی که سر کار هستید، اتومبیل شما خودش مسافرکشی کند. تصویر کنید وقتی خانه نیستید کامپیوتر شما از منابع خودش برای خدمت به کسب‌و‌کارها و افراد در سراسر جهان استفاده کند. فرض کنید بابت مرور کردن وب و صفحات مجازی و توجهی که به خرج می‌دهید، پول دریافت کنید. چنین جهانی دیگر زیاد هم دور از دسترس نیست.

یک تغییر پارادایم در نگاه ما نسبت به مدل‌های نرم‌افزاری در راه است. وقتی بیت کوین (اولین ارز دیجیتال) باعث شد تعریف ما از «ذخیره ارزش» (Store of Value) یا SoV تغییر کند، تصوری از آینده نیز ارائه داد: جهانی که توسط برنامه‌های غیر متمرکز اداره می‌شود. این برنامه‌های توزیع یافته، شفاف و چابک با تغییر و تحول دنیای فناوری، خودشان را به اثبات خواهند رساند. در ادامه این مطلب، به زبانی ساده و با جزئیات سعی می‌کنیم dApps یا برنامه‌های غیر متمرکز را معرفی کنیم.


بلاک‌ چین و برنامه غیر متمرکز

پیش از آشنایی با برنامه‌ غیر متمرکز، لازم است با تکنولوژی زیرین آن، یعنی بلاک چین آشنا باشیم. بلاک‌ چین (Blockchain) در یک تعریف کوتاه، دفتری از ردیف‌های داده است که در «بلاک‌»هایی (Block) که از طریق رمزنگاری به هم متصل شده‌اند، سازماندهی می‌شود.

بلاک ‌چین به نوعی راه‌کاری دیجیتال برای نگهداریِ داده محسوب می‌شود که همه‌ی طرفین روی درستی آن اتفاق نظر دارند. این دفتر یا «لجر» (Ledger) نه در یک فضای متمرکز ذخیره می‌شود نه توسط یک فرد یا موجودیت واحد مدیریت می‌شود، به همین دلیل هم به آن «توزیع‌یافته» می‌گویند. سیستم معتبرسازی بلاک منجر به اضافه شدن تراکنش‌های جدید غیرقابل‌بازگشت می‌شود و تراکنش‌های قدیمی نیز برای همیشه در معرض دید عموم قرار می‌گیرند و این همان شفافیت آن‌ها محسوب می‌شود. به عبارت دیگر، به نرم‌افزارهای «متن باز» (Open Source) که روی تکنولوژی بلاک ‌چین ایجاد شده‌اند، برنامه‌ غیر متمرکز می‌گوییم.

بیشتر بدانید: بلاک چین چیست

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


ویژگی‌ های برنامه غیر متمرکز یا dApp

از آنجا که این مفهوم اولین قدم‌های خود را برمی‌دارد، می‌توانیم بگوییم هنوز تعریف جامعی از آن صورت نگرفته است. اما به هر ترتیب، بعضی ویژگی‌های مشترک در بین این برنامه‌ها وجود دارد که در ادامه آن‌ها را معرفی می‌کنیم:

  • متن‌باز: بهتر است که یک برنامه غیر متمرکز، به‌صورت خودمختار مدیریت شده و تمام تغییرات آن بعد از توافق جمعی، یا کسب آرای اکثریت کاربران، اعمال شود. همچنین برای شفافیت لازم است که کد پایه‌ی آن‌ها در دسترس همه باشد.
  • غیر متمرکز: لازم است که تمام داده‌ها و اطلاعات این برنامه‌ها برای پیشگیری از مشکلات متمرکزسازی، روی یک بلاک‌ چین عمومی و غیر متمرکز ذخیره شوند.
  • داشتن مشوق: کاربرانی که بلاک‌های بلاک ‌چین را تایید می‌کنند، لازم است که با پاداش گرفتن توکن‌های رمزنگاری تشویق شوند.
  •  پروتکل: جامعه‌ی کاربران لازم است روی یک الگوریتم رمزنگاری توافق کنند تا اثبات ارزش آن را نشان دهند. برای مثال، بیت کوین از اثبات کار (PoW) استفاده می‌کند و اتریوم نیز در حال حاضر از همین گواهی کار بهره می‌گیرد اما برنامه‌هایی برای ایجاد یک گواهی دوگانه گواهی-کار (PoW)/گواهی-سهام (PoS) نیز در آینده دارد.

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


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

این روز‌ها وقتی صحبت از یک «اپلیکیشن» (Application) می‌شود، همه‌ی ما به یک نرم‌افزار فکر می‌کنیم. در واقع اپلیکیشن، نرم‌افزاری است که یک هدف مشخص را دنبال می‌کند. در حال حاضر چندین میلیون اپلیکیشن نرم‌افزاری وجود دارد که از مدل متمرکز سرور-کلاینت یا خدمت‌دهنده-خدمت‌گیرنده استفاده می‌کنند. بعضی از آن‌ها توزیع یافته بوده و چند مورد معدود دیگر غیر متمرکز هستند. در تصویر زیر تفاوت این سه مدل برنامه را مشاهده می‌کنید.

dapp چیست

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

در مقابل، برنامه‌ غیر متمرکز برنامه‌ای است که به جای قرارگیری روی یک سرور متمرکز، روی بلاک‌ چین عرضه می‌شود. این برنامه‌ها قادر به تعامل با بلاک ‌چین هستند که وضعیت تمام کاربران شبکه را مدیریت می‌کند. رابط کاربری برنامه‌های غیر متمرکز هیچ تفاوت ظاهری با وبسایت‌ها یا برنامه‌های موبایل ندارند. «قراردادهای هوشمند» (Smart Contracts) در واقع منطق بنیادیِ برنامه‌های غیر متمرکز را به خوبی نشان می‌دهند. قراردادهای هوشمند، بخش یکپارچه‌ای از ساختمان بلاک‌ چین محسوب می‌شوند که اطلاعات را از حس‌گرهای خارجی یا «ایونت‌ها» (Events) دریافت کرده و به بلاک ‌چین کمک می‌کنند تا وضعیت کاربران شبکه را مدیریت کند.

در برنامه‌های غیر متمرکز به همان چیزی که شما می‌بینید (ظاهر برنامه) «فرانت-اند» (Front End) گفته می‌شود. «بک‌-اند» (Back End) نیز قوانین و منطق کل برنامه را مشخص می‌کند. این قوانین، توسط یک یا چند قرارداد هوشمند که در تعامل با بلاک‌ چین زیرین هستند، اعمال می‌شود. بخش فرانت-اند یا ظاهر برنامه به همراه فایل‌هایی مثل عکس، ویدئو و صدا را می‌توان روی شبکه‌های ذخیره‌سازی غیر متمرکزی مثل «اسوارم» (Swarm) یا «آی‌پی‌اف‌اس» (IPFS) میزبانی کرد. برنامه‌های تحت‌وب معمولی از زبان‌های برنامه‌نویسی «اچ‌تی‌ام‌ال» (HTML)، «سی‌اس‌اس» (CSS)، جاوااسکریپت و... برای نمایش یک صفحه وب استفاده می‌کنند. این صفحه تمام اطلاعات خود را از یک پایگاه داده‌ی متمرکز می‌گیرد. سایت‌هایی مثل «فیس بوک» (Facebook) از جمله‌ی این برنامه‌های تحت‌وب هستند که برای دریافت اطلاعات مورد نیاز خود، با استفاده از «ای‌پی‌آی» (API) با پایگاه داده ارتباط برقرار می‌کنند.

برنامه‌های غیر متمرکز هم شبیه این برنامه‌های تحت‌وب معمولی (سایت‌های اینترنتی) هستند. در فرانت‌-اندِ آن‌ها دقیقاً از همین تکنولوژی استفاده می‌شود. آن‌ها حاوی یک «کیف پول» هستند که با بلاک‌ چین ارتباط برقرار می‌کند. این کیف پول کلیدهای رمزنگارانه و آدرس بلاک‌ چین را مدیریت می‌کند. زیرساخت کلید عمومی برای شناسایی کاربران و احراز هویت آن‌ها مورد استفاده قرار می‌گیرد. در برنامه‌های غیر متمرکز، به جای اینکه یک ای‌پی‌آی به یک پایگاه داده متصل شود، یک کیف پول باعث اجرای وظایف تعریف شده در قرارداد هوشمند و تعامل با بلاک ‌چین می‌شود.


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

همان‌طور که پیشتر اشاره شد، بیت کوین اولین برنامه غیر متمرکز در جهان محسوب می‌شود. با‌این‌حال شبکه‌ی این ارز دیجیتال به منظور جایگزینی برای پول سنتی طراحی شده و به این علت برای میزبانی از برنامه‌های غیر متمرکز دیگر چندان مناسب نیست. در مقابل، اتریوم پتلفرمی است که برای توسعه برنامه غیر متمرکز طراحی و عرضه شده است. در حال حاضر حجم قابل توجهی از برنامه‌های غیر متمرکز بر روی بلاک‌ چین اتریوم توسعه‌ یافته شده یا در حال توسعه است. برای استفاده از این برنامه‌ها کاربران لازم است از توکن‌های «اتر» (Ether) استفاده کنند که با نام ارز دیجیتال اتریوم هم آن را می‌شناسیم.

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

  • نوع ۱: این برنامه‌های غیر متمرکز روی بلاک‌ چین خودشان قرار می‌گیرند. برای مثال خود بیت کوین، یا اتریوم در این دسته قرار دارند. همچنین تمام ارزهای دیجیتال دیگری که با بلاک ‌چین خاص خودشان عرضه می‌شوند در همین دسته قرار می‌گیرند.
  • نوع ۲: این نوع از برنامه‌های غیر متمرکز از بلاک‌ چین برنامه‌های نوع ۱ استفاده می‌کنند. این برنامه‌های غیر متمرکز پروتکل‌هایی هستند که برای کار، به توکن مخصوص خود نیاز دارند. «پروتکل امنی» (Omni Protocol) بهترین نمونه از برنامه‌های نوع ۲ محسوب می‌شود. امنی یک پلتفرم معاملاتی توزیع‌یافته است که به عنوان یک «لایه» روی بلاک ‌چین بیت کوین توسعه یافته تا تبادل ارزهای دیجیتال یا دارایی‌های دیگر را بین افراد و بدون درگیر شدن با اشخاص ثالث تسهیل کند.
  • نوع ۳: برنامه‌های غیر متمرکز نوع ۳ از پروتکل برنامه‌های نوع ۲ استفاده می‌کنند. یک نمونه از این برنامه‌های نوع ۳ «سیف نت‌ورک» (SAFE Network) است که مخفف «دسترسی امن برای همه» است. این برنامه یک شبکه‌ی ذخیره‌ی داده و ارتباطات غیر متمرکز است که مراکز داده و سرورها را با منابع محاسباتی اضافی کاربران جایگزین می‌سازد. این برنامه یک شبکه‌ی داده‌ی خودکار است که به کاربران اجازه‌ی ساخت وبسایت‌ها و برنامه‌های مقاوم در برابر سانسور را می‌دهد. این برنامه از پروتکل امنی برای صدور «سیف ‌کوین‌» (SafeCoin) استفاده می‌کند، که برای استفاده از خدمات کاربردی آن لازم است.

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


سخن پایانی

بسیاری از کارشناسان معتقدند که برنامه‌های غیر متمرکز تغییری عمده و ساختاری در تولید برنامه ایجاد می‌کنند. برنامه‌های غیر متمرکز در عمل می‌توانند تمام وظایف برنامه‌های متمرکز را انجام دهند. تفاوت اصلی آن‌ها با برنامه‌های متمرکز در این است که به‌جای سرورهای متمرکز، بک‌-اند آن‌ها روی بلاک‌ چین قرار می‌گیرد. این موضوع باعث می‌شود این نرم‌افزارها غیر قابل دستکاری باشند و بتوان از آن‌ها در کاربردهای مختلف استفاده کرد.

برنامه‌های غیر متمرکز انواع گوناگونی دارند. به صورت کلی تمام ارزهای دیجیتال برنامه‌های غیر متمرکزی هستند که روی بستر بلاک ‌چین خودشان قرار گرفته‌اند. نوع بعدی برنامه‌های غیر متمرکز از بلاک‌ چین‌ دیگران برای بک-اند خود استفاده می‌کنند. نوع سوم آن‌ها نیز از پروتکل برنامه‌های غیر متمرکز نوع ۲ برای بک-اند خود بهره می‌برند. این برنامه‌ها به‌ویژه برای تولید برنامه‌هایی که در مقابل سانسور و دستکاری لازم است مقاوم باشند کاربرد دارند.

2.8 از 5
تگ ها:

درباره نویسنده

مازیار هنرخواه

مازیار هنرخواه هستم و چند سالی هست که ترجمه می‌کنم. ویژگی‌های ارزهای دیجیتال، مثل غیرمتمرکز و توزیع یافته بودن، و البته راه‌کارهای همتا-به-همتا در آنها برای من جذابیت زیادی دارد. برای همین سعی می‌کنم بیشتر در مورد آنها بخوانم و به زبانی ساده و قابل فهم مطالب را منتقل کنم.

نظر شما

نظرات کاربران
  • avatar ج ش و 21 مرداد 00
    0

    شاد و سلامت باشید