برنامه غیرمتمرکز DApp چیست؟ + کاربرد آن در بلاک چین
دسترسی سریع به محتوای این مقاله
ظهور برنامه های غیر متمرکز یا DApps در سال 2020 یکی از پدیده هایی است که تغییرات زیادی را در دنیای رمزنگاری به وجود آورده و تاثیرات آن روز به روز چشم انداز بیشتری پیدا می کند.
تکنولوژی ارزهای دیجیتال که بر پایه بلاک چین استوار بوده با سرعت تمام در حال رشد است. در این مسیر هر بار پروتکلهای جدیدی پدیدار می شوند که پیش از آن غیرممکن به نظر می آمدند. پدیده هایی مانند هوش مصنوعی و اینترنت اشیا مثال هایی از این موارد می باشند.
تکنولوژی بلاک چین امکانات زیادی را برای دنیای اقتصاد به ارمغان آورده است. بیت کوین که از درون فناوری نامحدود بلاک چین تولید و انتشار یافت، اولین فرآورده این فناوری در سیستم های مالی بود. بلاک چین قادر است نه تنها سیستم های مالی غیر متمرکز ایجاد کند بلکه قابلیت حذف تمرکز از سیستم های دیگر را هم دارد. بلاک چین می تواند دنیایی را ایجاد نماید که تمامی عناصر آن با برنامه های نرم افزاری توزیع شده، کار کنند. این برنامه های نرم افزاری غیر متمرکز، قابل انعطاف، کاملا واضح و قابل استفاده هستند و به جز کاربران این نرم افزارها نهاد یا شخصی نمیتواند دخالتی در آنها داشته باشد.
مشخصه اصلی برنامه های غیر متمرکز یا dApps آن است که فعالیت آن به صورت غیر متمرکز می باشد به این معنی که کنترل و مدیریت آن را هیچ نهاد متمرکز یا شخص ثالثی بر عهده ندارد. ایجاد و اجرای برنامه های غیر متمرکز فقط بر روی شبکه های بلاک چین نظیر به نظیر یا P2P امکان پذیر است.
ارتباط برنامه غیرمتمرکز با بلاک چین چیست؟
پیش از آنکه با ویژگی های برنامه های غیر متمرکز آشنا شویم، لازم است ماهیت و مشخصات بلاک چین را بشناسیم. اساس یک بلاک چین مشابه یک دفتر کل یا Ledger دیجیتالی است که امکان ثبت اطلاعات روی آن وجود دارد.
اطلاعات و داده های موجود در بلاک چین در باکس هایی به نام بلاک نگه داری می شوند. این بلاک ها با استفاده از الگوریتم های رمزنگاری به هم ارتباط داده می شوند. در دیتابیس های متمرکز اطلاعات در یک یا چند محل مخصوص ذخیره می شوند ولی در سیستم بلاک چین اطلاعات به صورت اشتراکی در اختیار کاربران قرار می گیرد. امکان حذف و دستکاری داده هایی که در بلاک چین ذخیره شده اند وجود ندارد. تنها کاربرانی که به بلاک چین متصل هستند، امکان مدیریت و کنترل برنامه های نرم افزاری که روی بلاک چین ایجاد میشوند، را دارند. به این برنامه های نرم افزاری غیر متمرکز DApp یا دی اَپ گفته می شود.
برنامه غیرمتمرکز یا DApp چه ویژگی هایی دارد؟
خصوصیات مشترک برنامه های غیر متمرکز عبارتند از:
- متن کدهای برنامه های غیر متمرکز به صورت Open source یا متن باز می باشد. کاربران این برنامه ها می توانند به منابع کد دسترسی داشته و با بررسی آنها از صحت برنامه ها اطمینان پیدا کنند.
- اگر نیاز به تغییراتی باشد لازم است اکثریت جامعه در مورد این تغییرات، تصمیم گیری نمایند.
- تمام موارد کاربردی برنامه بایستی در بلاک چین عمومی و غیر متمرکز یا Decentralized نگهداری شوند تا از آسیب هایی که ممکن است مکانیزم های متمرکز بر آن وارد آورند، جلوگیری کنند. جهت پیشگیری از تغییر داده ها بایستی تمامی سوابق و کارکردهای برنامه به فرم عمومی و غیر متمرکز در اختیار عموم کاربران قرار داده شود.
- افرادی که وظیفه برقراری امنیت و فعالیت بلاک چین را دارند لازم است انگیزه ای برای انجام این کار داشته باشند. این انگیزه را می توان از طریق Incentivized یا تشویق کردن یعنی با دادن پاداش هایی از جنس ارزهای رمزنگاری به این افراد تامین نمود.
- تیم برنامه نویسی DApp یا همان برنامه های غیر متمرکز برای آنکه بتوانند اجرای صحیح برنامه ها را پشتیبانی نمایند لازم است از Protocol معینی پیروی کنند. تمام افرادی که بخواهند در آینده از این برنامه ها استفاده نمایند بایستی آن پروتکل را قبول کنند. زیرا جهت اعتبارسنجی تراکنش ها بایستی با همدیگر توافق داشته باشند، تا تراکنش های جدید تایید شده و به شبکه افزوده شوند. به طور مثال برنامه نویس جهت کسب درآمد از برنامه ای که تهیه کرده می تواند در پروتکلی تعیین کند که یک دهم درصد از پاداش هر بلاک متعلق به او می باشد و تمامی اعضا در شبکه بلاک چین باید بر آن توافق داشته باشند.
ساختار کلی برنامه های غیر متمرکز چگونه است؟
ساختار برنامه های غیر متمرکز با ساختار برنامه های تحت وب مشابهت هایی دارد. برنامه های تحت وب از دو بخش اصلی Front-End و Back-End و یک بخش ارتباطی Middle-End تشکیل شده است.
- آن قسمت از برنامه که کاربر با آن سروکار دارد قسمت Front-End است که به آن Presentation گفته می شود. در این بخش کاربر میتواند برنامه را با سلیقه خود منطبق کند، داده های ورودی را به برنامه وارد نماید، فایل های صوتی و ویدیویی را بشنوند و ببینند و به طور خلاصه هر آن چه برای کاربران قابل فهم باشد.
- به قسمتی از برنامه که در پشت زمینه قرار دارد و به آن Storage گفته می شود. این قسمت برنامه وظیفه انجام محاسبات و ذخیره سازی را دارد.
- بخش دیگری به نام Middle-End جهت ایجاد ارتباط بین دو قسمت دیگر لازم است که به آن Application گفته می شود.
این قسمت ها را در قالب یک مثال می توان توضیح داد. فرض کنید می خواهید از یک برنامه فروشگاهی تحت وب خرید کنید، با ورود به وب سایت با Front-End روبرو می شوید. پس از آن که اطلاعات مورد نیاز را در فرم ارتباطی تایپ کردید، نرم افزار آن اطلاعات را در Back-End که شامل سرور دیتابیس می باشد، ذخیره می سازد. مکانیزم ارتباطی کاربر با فضای ذخیره سازی اپلیکیشن می باشد.
در ساختار یک برنامه غیرمتمرکز این دو قسمت وجود دارد. ولی در قسمت Back-End با هم تفاوت هایی دارند. قراردادهای هوشمند در برنامه های غیر متمرکز عملیات این قسمت را بر عهده دارند. کدهای نرم افزاری روی قراردادهای هوشمند نوشته میشوند و از بلاک چین غیر متمرکز به جای سرورهای مرکزی استفاده می گردد.
برنامه های غیر متمرکز بر روی چه شبکه هایی پیاده سازی شده اند؟
در حال حاضر بلاک چین هایی از قبیل اتریوم، نئو، ایاس و کاردانو وجود دارند که برنامه های غیر متمرکز بر روی آنها پیاده سازی می شوند و بنابراین لازم نیست که برای ایجاد هر یک از برنامه های غیر متمرکز، یک بلاک چین جداگانه ساخته شود. متخصصین نرم افزاری می توانند برای توسعه برنامه های غیر متمرکز پلتفرم هایی را به کار گیرند که از قردادهای هوشمند پشتیبانی میکنند.
گرچه بیت کوین پیشگام ایجاد ارزهای رمزنگاری از طریق شبکه های بلاک چین بود ولی شبکه اتریوم توانایی بالقوه و کاربردی فناوری بلاک چین را به ظهور رساند. اتریوم اولین شبکه بلاکچین است که به برنامه نویسان اجازه پیاده سازی و اجرای DApp ها را در قالب قرارداد هوشمند Smart Contract داد. هدف اساسی اتریوم که در اساسنامه آن آمده است، ایجاد تسهیلاتی جهت ساخت برنامه های غیر متمرکز با برخورداری از امنیت کامل و مقیاس پذیری می باشد.
بلاک چین اتریوم اولین و پرمصرف ترین بلاک چین برای ایجاد برنامه های غیر متمرکز بر پایه قراردادهای هوشمند می باشد. اتریوم با زبان پیشرو و سطح بالای سالیدیتی Solidity که مبتنی بر قراردادها یا Contract Oriented می باشد به برنامه نویسان امکان ایجاد و اجرای قراردادهای هوشمند را از طریق ماشین مجازی اتریوم EVM فراهم می نماید.
طرفداران اتریوم بر این باور بودند که بلاک چین اتریوم توانایی تمرکززدایی از همه عناصر در دنیای واقعی را داراست ولی در عمل در آن حد وسیع امکان کار ندارد.
بلاک چین اتریوم به عنوان پیشرو برای پلتفرم های مختلف قرارداد های هوشمند عمل کرد ولی در قیاس با آنها تعداد کاربران کمتری دارد. در حال حاضر بلاک چین های EOS و ترون TRON دو پلتفرم پرطرفدار در تولید برنامه های غیر متمرکز می باشند و تعداد زیادی از برنامه نویسان بر روی این شبکه ها مشغول فعالیت هستند.
بلاک چین EOS که توسط دان لایمر پیاده سازی شد، بر آن است تا شرایطی را برای توسعه دهندگان به وجود آورد که بلاک چین اتریوم نتوانست آنها را فراهم نماید.
جاستین سان بنیانگذار شبکه ترون Tron در حال حاضر توانسته نظر طرفداران زیادی را به این شبکه جلب نموده و به تعداد کاربران آن بیفزاید.
انواع برنامه های غیر متمرکز کدامند؟
در اهداف بلاک چین اتریوم آمده است که برنامه های غیر متمرکز را می توان به سه بخش عمده تقسیم بندی نمود.
- بخش اول برنامه هایی که مدیریت پول را بر عهده دارند،
از طریق این برنامه ها، کاربر قادر است جهت انعقاد یک قرارداد در بلاک چین اتریوم، مقداری ارز اتریوم ارسال نماید یا دریافت کند. در شبکه بلاک چین اتریوم، رایانه هایی که به صورت گره یا Node در شبکه توزیع شده اند، کار نقل و انتقال اطلاعات در بلاک چین را آسان می سازند. - بخش دوم برنامه هایی که در ارتباط با پول هستند ولی موارد حاشیه ای دیگری را نیز در نظر دارند،
نقش این برنامه ها مدیریت عملیاتی است که مدیریت داده های شامل پول و دیگر اطلاعات حاشیه ای را برعهده دارند. نمونه آن خرید بیمه خودرو می باشد که اگر از طریق سیستم بیمه داده هایی دریافت شود مبنی براینکه برای این خودرو حادثه ای رخ داده است، خسارت ها به صورت اتوماتیک از طرف بیمه پرداخت می گردد. - بخش سوم برنامه هایی که مکانیزم های رأی گیری و حاکمیتی را برعهده دارند،
توسط برنامه های نوع سوم مکانیزم های ایمن و واضحی برای رای گیری یا Voting، و نظارت بر آرا امکانپذیر می باشد. مکانیزم تولید داده ها در بلاک چین ترکیبی از توابع هش و رمزنگاری می باشد که در یک ساختار توزیع شده ایجاد می شود. به همین دلیل سیستم حفاظت از هویت افراد رای دهنده و تایید رای های ورودی به سیستم، توسط بلاک چین فراهم می گردد.
برنامه های غیر متمرکز چگونه بر روی شبکه اتریوم اجرا می شوند؟
جهت اجرای برنامه های غیر متمرکز، قراردادهای هوشمند از سیستمی به نام اوراکل بهره مند می باشند. اوراکل مکانیزمی است که اطلاعات حاشیه ای که مورد نیاز برنامه است را پس از به روزرسانی شدن به برنامه ارسال می کند. برنامه های غیر متمرکز به دنبال آن هستند که از مکانیزم اوراکل ها تمرکززدایی نمایند.
تاریخ بیت کوین نشان داده که ارزهای رمزنگاری توانسته اند اختیارات سازمان های اقتصادی و مالی را کاهش دهند. آینده نشان می دهد که آیا امکان کاهش اختیارات دیگر نهادها و سازمان ها نیز امکان پذیر است.
یکی از اهداف مهم برنامه های غیر متمرکز مدیریت Decentralized Autonomous Organization یا سازمان های خودگردان غیر متمرکز می باشد که به اختصار به آنها DAO گفته می شود. در اینگونه سازمان ها هیچ شخصی به عنوان کنترل کننده حاکم نیست. در واقع اختیارات هر شخص از طریق قوانین برنامه های غیر متمرکز تعیین می گردد. اعضایی که در این سیستم ها ذی نفع هستند، می توانند رای دهند که چه قوانینی در حاکمیت این برنامه ها دخیل باشند.
تفاوت برنامه های تحت وب و DApp چیست؟
برنامه های نرم افزاری استاندارد، که تحت وب هستند از جمله برنامه های تاکسی اینترنتی و یا پیام رسان های شبکه های اجتماعی بر روی یک سرور کامپیوتری اجرا می شوند که به وسیله یک نهاد مرکزی اداره می گردند. این نهاد متمرکز اختیار کامل برنامه را بر عهده داشته و تمامی عملکرد آن را تحت نظر دارد. از این برنامه ها احتمال دارد چندین کاربر استفاده نمایند ولی مرکزیت اصلی آن به وسیله یک نهاد متمرکز کنترل می گردد.
برنامه های غیر متمرکز تنها باید در شبکه های نظیر به نظیر P2P یا شبکه های بلاک چین اجرا گردند. نمونه هایی از برنامه های غیر متمرکزBitTorrent ، Tor و Popcorn Time می باشند. این برنامه ها بر روی کامپیوترهایی که نودهایی از یک شبکه P2P می باشند، اجرا می گردند.
در این برنامه ها چندین کاربر در همان حال که از اجرای برنامه استفاده می کنند، می توانند تولید محتوا را نیز به طور همزمان به انجام رسانند. نکته مهم آن است که در این سیستم هیچ شخص خاصی مدیریت کامل بر روی عملکرد سایر افراد ندارد.
در حوزه ارزهای رمزنگاری نیز برنامه های غیر متمرکز اپن سورس در یک شبکه بلاک چین اجرا می شوند و یک نهاد متمرکز و واحد بر اجرای آنها کنترل ندارد.
این موضوع برای برنامه های تحت وب قابل تامل است، زیرا به عنوان مثال اگر یک برنامه پیام رسان در بلاک چین اجرا شود، بنابراین هر کاربر قادر است پیام های خود را ارسال کند ولی هیچکس دیگر حتی برنامه نویسان نیز نمی توانند پیام های آنها را حذف نمایند.
مشخصات برنامه های غیر متمرکز رمزنگاری کدامند؟
برنامه های غیر متمرکزی که در حوزه ارزهای رمزنگاری کار می کنند با توجه به ماهیت غیر متمرکز خود مزایایی دارند که عبارتند از:
- در تراکنش های پرداخت نیازی به استفاده از ارزهای فیات نیست، چون معامله گران می توانند برای انجام این کار از ارزهای رمزنگاری استفاده نمایند.
- با برخورداری از کلید عمومی و خصوصی، امکان ارسال ناشناس و سریع داده های معامله گران وجود دارد و احتیاجی به طی کردن مراحل طولانی ثبت نام نیست.
- کدهای برنامه های غیر متمرکز اپن سورس می باشد و فقط معامله گرانی که دانش فنی مناسب دارند به آن دسترسی دارند که باعث برخورداری از ایمنی و شفافیت داده ها می گردد.
- از آنجا که قراردادهای هوشمند در هسته مرکزی یک برنامه غیرمتمرکز و در درون بلاک چین قرار گرفته، در نتیجه اشخاصی که قصد خرابکاری دارند، قادر به ایجاد هیچ تغییری در آن نیستند. بنابراین هیچگونه خرابی در برنامه حاصل نخواهد شد.
- حریم خصوصی معامله گران حفظ می گردد چون نیازی به نمایش هویت واقعی خود ندارند.
- امکان سانسور اطلاعات وجود ندارد، چون هیچ کس نمی تواند مانع نقل و انتقال مبادلات و یا مانع خواندن اطلاعات از بلاک چین گردد.
- اطلاعات از یکپارچگی کامل برخوردارند و امکان تغییر و ویرایش ندارند، بنابراین افراد خرابکار قادر به جعل تراکنش ها یا اطلاعات نیستند.
برای آشنایی با سرفصل های آموزش های رایگان ارز دیجیتال می توانید به لینک زیر مراجعه کنید:
چرا سایت لینگ ایکس باز نمیشه چطوری باید برای دریافت پاداش 5000& اقدام کنم
سلام، با آی پی خارجی وارد صرافی بشید درست میشه.