نرم افزار غیرمتمرکز چیست؟
یکی از مشکلات ساختار غالب اینترنت این است که اطلاعات کاربران به صورت متمرکز در سرورهایی ذخیره میشود. در نتیجه، مدیران شرکتهای صاحب این سرورها (از جمله شبکههای اجتماعی) نیز به این اطلاعات دسترسی دارند. در این میان، نرم افزار غیرمتمرکز میتواند راهحلی برای این مساله باشد. نرم افزار غیرمتمرکز (Distributed Application) را به صورت اختصاری dApp مینامند. این دسته از برنامهها بر بستر بلاک چین اجرا میشوند و نیاز به سرور مرکزی ندارند.
نرم افزار غیرمتمرکز چیست؟
به طور کلی میتوان گفت که نرم افزار غیرمتمرکز دارای چهار ویژگی است. اگر یک نرم افزار همه این ویژگیها را همزمان نداشته باشد، نمیتواند در دسته بندی نرم افزار غیرمتمرکز جای گیرد. این چهار ویژگی به شرح زیر است:
۱.متن باز (اپن سورس): کدهای منبع باید برای همه کاربران در دسترس باشد.
۲. غیرمتمرکز: از فناوری رمزگذاری مشابه بلاک چین استفاده کند.
۳. دارای جنبه تراکنش مالی: نرم افزار دارای توکن و یا دارایی دیجیتال باشد.
۴. الگوریتم/پروتکل: توکنهایی ایجاد کند و دارای سازوکار درونی برای توافق عمومی کاربران باشد.
کارکرد یک نرم افزار غیرمتمرکز به چه شکل است؟
یک نرم افزار غیرمتمرکز با چهار معیار ذکر شده در بالا کار میکند. به کلامی دیگر، یک نرم افزار غیرمتمرکز یک پلتفرم متن باز است که بر روی بلاک چین غیرمتمرکز عمل میکند. همچنین توکنهایی خاص را مورد استفاده قرار میدهد که توسط یک پروتکل/الگوریتم مشخص تولید شده است.
متن باز بودن نرم افزار غیرمتمرکز موجب میشود همه بتوانند کدهای آن را مشاهده کرده و در توسعه آن مشارکت کنند. این امر فرآیند مقیاسپذیری توسعه محصول را نیز تسریع میکند. گام بعدی نیز قرار دادن نرم افزار مورد نظر بر روی بلاک چین است. بلاک چین به عنوان یک دفتر کل دایمی عمل میکند و همه اطلاعات و تراکنشها را برای همیشه در خود ثبت میکند.
برای ثبت دادهها یا تراکنشها بر روی بلاک چین باید پاداشی به گرههای شبکه پرداخت شود. برای این کار از توکنها استفاده میشود. توکنها نیز توسط الگوریتم یا پروتکلهایی مشخص استخراج میشوند. دو پروتکل معروف برای استخراج ارزهای دیجیتال به ترتیب الگوریتم گواه اثبات کار (که توسط بیت کوین استفاده میشود) و نیز الگوریتم گواه اثبات سهام (که توسط دش استفاده میشود) هستند.
اتریوم: بستری برای نرم افزار غیرمتمرکز
اتریوم پروتکلی است که امکان ساخت انواع نرم افزار غیرمتمرکز را به کاربران میدهد. اتریوم در واقع یک شبکه بلاک چین را در اختیار کاربارن قرار میدهد. هر کاربری میتواند بر اساس این بستر، نرم افزار غیرمتمرکز و یا قراردادهای هوشمند خود را بنویسد. تعریف مقررات و شرایط انجام تراکنش و نیز عملیاتی که باید در تراکنش به انجام برسد نیز در اختیار کاربر قرار دارد. در مجموع، سه نوع نرم افزار غیرمتمرکز در اتریوم وجود دارد.
آشنایی با سه شکل اصلی نرم افزارهای غیرمتمرکز
شاید بسیاری از طرفداران الگوی غیرمتمرکز مبتنی بر بلاک چین (به ویژه اتریوم) با خود فکر کنند که میتوان همه چیز را بر اساس این الگو ایجاد کرد. اما واقعیت این است که چند دسته اصلی از کاربردها را میتوان برای این فناوری متصور شد. سپیدنامه (وایت پیپر) اتریوم، نرم افزارهای غیرمتمرکز را به سه دسته اصلی تقسیم میکند. دسته اول برای مدیریت پول، دسته دوم برای مواردی که به نوعی با پول ارتباط دارد (ولی پول تنها مولفه نیست) و دسته سوم نیز سایر انواع نرم افزار غیرمتمرکز است. کاربردهایی نظیر انتخابات و یا سامانههای مدیریتی در دسته سوم قرار میگیرد.
1.نرم افزار غیرمتمرکز مالی (financial application)
این دسته از نرمافزارها، ابزارهایی قدرتمند را برای مدیریت قراردادهای هوشمند و استفاده از ارز دیجیتال در اختیار کاربر قرار میدهند. کاربر باید مبلغی را در قالب اتر (ارز دیجیتال اتریوم) به کاربری دیگر انتقال دهد. این تراکنش در راستای اجرای یک قرارداد با کاربری دیگر صورت میگیرد. شبکهای از گرههای مختلف در شبکه اتریوم این تبادل اطلاعات را انجام میدهند.
2.نرم افزار غیرمتمرکز نیمه مالی (semi-financial application)
در این نرم افزارها، پول وجود دارد ولی جنبه غیر پولی عملکرد نیز قابل توجه است. در واقع، دومین دسته از نرم افزار غیرمتمرکز ترکیبی از پول و دادههای خارج از بلاک چین را در خود دارد. برای نمونه، نرم افزار بیمه محصولات کشاورزی که نیازمند دریافت اطلاعات آب و هواست. فرض کنید یک کشاورز بیمه نامهای را که یک نرم افزار غیرمتمرکز است خریداری میکند. در صورت بروز خشکسالی یا طوفان، بیمه به صورت خودکار خسارت وارده را به حساب کشاورز واریز میکند. قراردادهای هوشمند برای اجرایی شدن نیاز به مولفهای دارند که در اصطلاح «اوراکل» (oracle) نامیده میشوند. اوراکل در واقع اطلاعات بهروز دنیای واقعی را به قرارداد هوشمند اعلام میکند. گفتنی است برخی توسعهدهندگان تردید دارند که بتوان این اطلاعات بیرونی را به شکلی غیرمتمرکز به بلاک چین اعلام کرد.
۳. نرم افزار غیرمتمرکز مدیریتی (governance application)
نرم افزارهایی نظیر اخذ رای (انتخابات) و نیز سازمان غیرمتمرکز از جمله مثلهای این دسته هستند. یک شکل از نرم افزار غیرمتمرکز نیز به سازمانهای غیرمتمرکز مستقل (DAO) مربوط میشود. یک سازمان غیرمتمرکز مستقل در واقع سازمانی بدون رهبر است که مقررات آن برای اعضا مشخص شده است. اعضا میتوانند با رای دادن در تصمیمگیریها مشارکت کنند.
نرم افزار غیرمتمرکز : ارتباط مستقیم کاربران با فراهمکنندگان خدمت
یکی از کاربردهای نرم افزار غیرمتمرکز را میتوان برای طراحی یک شبکه اجتماعی نظیر توییتر، اما به شکل غیرمتمرکز دانست. این شبکه میتواند در برابر سانسور ایستادگی کند. به محض اینکه پیامی را بر روی چنین شبکهای که بر بستر بلاک چین قرار دارد منتشر کردیم، دیگر کسی نمیتواند آن را پاک کند. حتی شرکت عرضه کننده این سامانه میکروبلاگ نیز نمیتواند پیامهای کاربران را حذف کند.