برنامه غیرمتمرکز
برنامههای غیرمتمرکز (dApps) برنامهها یا برنامههای دیجیتالی هستند که بهجای یک رایانه واحد، روی یک شبکه بلاکچین یا همتا به همتا (P2P) از سری رایانهها وجود دارند و اجرا میشوند. برنامههای غیرمتمرکز که (dapps) نیز نامیده میشوند، خارج از حوزه اختیار و کنترل یک مقام واحد هستند. برنامههای غیرمتمرکز، که اغلب بر روی پلتفرم اتریوم ساخته میشوند، میتوانند برای اهداف مختلفی از جمله بازی، امور مالی و رسانههای اجتماعی توسعه یابند.
یک برنامه وب استاندارد، مانند اینستاگرام، بر روی یک سیستم رایانهای اجرا میشود که متعلق به یک سازمان است و توسط آن اداره میشود و به آن برنامه اختیارات کامل و عملکرد مناسب را میدهد. ممکن است چندین کاربر در یک سمت وجود داشته باشد، اما بکاند (backend) یا انتهای دامنه توسط یک سازمان کنترل میشود.
برنامههای غیرمتمرکز میتوانند روی یک شبکه همتا به همتا یا یک شبکه بلاک چین اجرا شوند. به عنوان مثال، بیت تورنت (BitTorrent)، تور (Tor) و پاپکورن تایم (Popcorn Time) برنامههایی هستند که روی رایانههایی اجرا میشوند که بخشی از یک شبکه همتا به همتا هستند، به موجب آن چندین شرکتکننده محتوا را مصرف میکنند، محتوا را تغذیه میکنند یا محتوا را میفروشند، یا هر دو عملکرد را به طور همزمان انجام میدهند.
در زمینه ارزهای دیجیتال، برنامههای غیرمتمرکز در یک شبکه بلاک چین در یک محیط عمومی، منبع باز و غیرمتمرکز اجرا میشود و از کنترل و تداخل هیچ مرجعی عاری است. برای مثال، یک توسعهدهنده میتواند یک برنامه غیرمتمرکز مانند اینستاگرام ایجاد کند و آن را روی یک بلاک چین قرار دهد که در آن هر کاربری میتواند پیامهایی را منتشر کند. پس از ارسال، هیچ کس، حتی سازندگان برنامه، نمیتواند پیامها را حذف کند.
ساختار کلی برنامههای غیرمتمرکز
برای اینکه به درک معقولی از چگونگی شکلگیری برنامههای غیرمتمرکز برسید، برنامههای تحت وب معمولی را با برنامههای غیرمتمرکز مقایسه میکنیم.
تمام برنامههای تحت وب معمولی شامل دو جزء اصلی هستند: فرانتاند (FrontEnd) و بکاند (BackEnd).
به بخشی از برنامه که کاربر آن را درک میکند فرانتاند گفته میشود. این بخش میتواند ظاهر برنامه، روشهای وارد کردن ورودی به برنامه، صداها و ویدیوها و یا هر چیز دیگر قابل درک دیگری برای کاربر باشد. به بخشی که در پشت زمینه قرار میگیرد و انجام محاسبات و وظایف را نسبت به فرانتاند بر عهده دارد، بکاند میگویند.
اگر به عنوان مثال قصد خرید یک بلیت از وب سایتی را داشته باشید، معمولا سایت را باز میکنید و با فرانت اند «Frontend» تعامل میکنید. زمانی که اطلاعات را وارد کردید، برنامه آن اطلاعات را در بکاند که شامل پایگاه دادهها سرور میشود، ذخیره میکند.
مفهوم دیگری هم به نام میدلاند (MiddleEnd) وجود دارد که وظیفه ارتباط بین فرانتاند و بکاند را بر عهده دارد. در یک برنامه غیر متمرکز هم به همین صورت یک فرانتاند و بکاند وجود دارد. فرانتاند در برنامههای غیرمتمرکز مانند برنامههای معمولی تحت وب است.
اما در مورد بکاند با شبکه بلاک چین و مفهومی به نام قردادهای هوشمند طرف هستیم. کدها روی قراردادهای هوشمند نوشته میشوند و در شبکه بلاک چین قرار میگیرند. به جای استفاده از سرورهای مرکزی برای کدهای برنامه در اینجا از بلاک چین غیرمتمرکز استفاده میشود.
مزایا و معایب برنامههای غیرمتمرکز
مزایا
بسیاری از مزایای برنامههای غیرمتمرکز حول توانایی برنامه برای محافظت از حریم خصوصی کاربر است. با برنامههای غیرمتمرکز، کاربران برای استفاده از عملکردی که برنامه ارائه میکند نیازی به ارسال اطلاعات شخصی خود ندارند. در حقیقت برنامههای غیرمتمرکز از قراردادهای هوشمند برای تکمیل تراکنش بین دو طرف ناشناس بدون نیاز به اتکا به یک مرجع مرکزی استفاده میکنند.
طرفداران علاقه مند به آزادی بیان اشاره میکنند که برنامههای غیرمتمرکز را میتوان به عنوان پلتفرم رسانههای اجتماعی جایگزین توسعه داد. یک پلتفرم غیرمتمرکز رسانه اجتماعی در برابر سانسور مقاوم است زیرا هیچ شرکت کنندهای در بلاک چین نمیتواند پیامها را حذف کند یا پیامهای ارسالی را مسدود کند.
اتریوم یک پلتفرم منعطف برای ایجاد برنامههای غیرمتمرکز جدید است که زیرساخت مورد نیاز توسعه دهندگان را فراهم میکند تا تلاشهای خود را برای یافتن کاربردهای نوآورانه برای برنامههای دیجیتال متمرکز کنند. این میتواند استقرار سریع برنامههای غیرمتمرکز را در صنایع مختلف از جمله بانکداری و امور مالی، بازی، رسانههای اجتماعی و خرید آنلاین امکان پذیر کند.
معایب
استفاده از برنامههای غیرمتمرکز هنوز در مراحل اولیه است و بنابراین آزمایشی و مستعد مشکلات ناشناخته خاص خود است. سؤالاتی وجود دارد که آیا برنامهها میتوانند به طور مؤثر مقیاس شوند، به ویژه در مواردی که یک برنامه به محاسبات قابل توجهی نیاز دارد و این محاسبات شبکه را بیش از حد بارگذاری میکند و باعث تراکم شبکه میشود.
توانایی توسعه یک رابط کاربر پسند یکی دیگر از نگرانیها است. اکثر کاربران برنامههای توسعه یافته توسط مؤسسات متمرکز سنتی، انتظار سهولت استفاده دارند که آنها را تشویق به استفاده و تعامل با برنامه میکند. برای انتقال افراد به برنامههای غیرمتمرکز، توسعهدهندگان باید تجربهای برای کاربران جدید و سطح عملکردی بالایی ایجاد کنند تا بتوانند رقیب برنامههای محبوب و تاسیس شده از قبل باشد.
چالش دیگر این برنامهها، اصلاحات کد میباشد که از محدودیتهای برنامههای غیرمتمرکز نیز میباشد. پس از استقرار، یک برنامه غیرمتمرکز احتمالاً به منظور ایجاد پیشرفتها یا اصلاح باگها یا خطرات امنیتی به تغییرات مداوم نیاز دارد. طبق گفته اتریوم، انجام بهروزرسانیهای مورد نیاز در برنامههای غیرمتمرکز برای توسعهدهندگان چالش برانگیز است، زیرا تغییر دادهها و کدهای منتشر شده در بلاک چین سخت است.