تصور کنید وقتی که در خانه هستید ماشین شما در حال کارکردن و جابهجایی مسافران باشد. تصور کنید که کامپیوتر شما ظرفیت اضافی خود را برای خدمت به مردم سراسر جهان اختصاص میدهد. تصور کنید که هنگام وبگردی در اینترنت به دلیل استفاده از توجه ارزشمندتان مبلغی به شما پرداخت شود. تصور کنید چنین جهانی را که فاصله زیادی با آن نداریم.
بیت کوین اولین کاربرد از فناوری نامحدود بلاک چین بود. چیزی که میتواند سیستم مالی غیرمتمرکز بسازد، توانایی تمرکززدایی در سیستمهای دیگر هم دارد. بلاک چین قادر است جهانی را بسازد که تماما با برنامههای غیرمتمرکز کار میکند. برنامههایی توزیع شده، انعطاف پذیر، شفاف و انگیزشی که هیچکس به غیر از کاربرانش نمیتواند کوچکترین دخالتی در آنها کند.
مختصری از بلاک چین
قبل از واکاوی برنامههای غیرمتمرکز ابتدا خلاصهای از ماهیت بلاک چین را شرح می دهیم. به زبان ساده یک بلاک چین یک دفتر دیجیتالی است که اطلاعات روی آن ثبت میشوند. این اطلاعات در بستههایی به نام بلاک ذخیره میشوند که با استفاده از رمزنگاری به هم مرتبط و وابسته هستند. برخلاف پایگاههای داده متمرکز اطلاعات ثبت شده روی بلاک چین در یک یا چند محل مخصوص نگهداری نمیشوند بلکه این اطلاعات بین افرادی که به بلاک چین متصل میشوند، به اشتراک درمیآید. در بلاک چین حذف و دستکاری اطلاعات ثبت شده غیرممکن است و هیچکس قادر به کنترل آن نیست به جز اکثریت کاربران متصل شده به آن. به برنامههایی که روی بلاک چین ساخته میشوند برنامه غیرمتمرکز یا دیاپ (Dapp) میگویند.
ویژگیهای اصلی برنامههای غیرمتمرکز یا همان دیاپها
این مفهوم هنوز در ابتدای راه قراردارد. با این حال، ویژگی مشترک تمام دیاپها به شرح زیر است:
متن باز. کدهای برنامه غیرمتمرکز باید در اختیار همه قرار گیرد تا از درستی آن اطمینان حاصل شود. همچنین همه تغییرات باید با تصمیم گیری جامعه و اکثریت باشد.
تمرکززدایی شده. تمام موارد عملیاتی برنامه باید بلاک چین عمومی و غیرمتمرکز ذخیره شود تا از آسیب های تمرکزی جلوگیری به عمل آید.
انگیزشی. کسانی که امنیت و فعالیت بلاک چین را برقرار میکنند باید انگیزه داشته باشند که می توان آن را با دادن واحدهای ارز دیجیتال به آنها تامین کرد.
پروتکل. برنامه نویس برای فعالیت درست برنامه پروتکلی تعیین میکند که همه کسانی که درآینده از برنامه استفاده خواهند کرد باید پروتکل را بپذیرند. مثلا برنامه نویس برای اینکه بتواند از برنامه ای که ساخته پول بدست آورد، در پروتکل تعیین میکند که ۰.۱ درصد از پاداش هر بلاک به او تعلق بگیرد.
ساختار کلی برنامههای غیرمتمرکز
برای اینکه به درک معقولی از چگونگی شکلگیری برنامههای غیرمتمرکز برسید، برنامههای تحت وب معمولی را با برنامههای غیرمتمرکز مقایسه میکنیم.
تمام برنامههای تحت وب معمولی شامل دو جزء اصلی هستند: فرانتاند (FrontEnd) و بکاند (BackEnd)
به بخشی از برنامه که کاربر آن را درک می کند فرانتاند گفته می شود. این بخش میتواند ظاهر برنامه، روشهای وارد کردن ورودی به برنامه، صداها و ویدیوها و یا هر چیز دیگر قابل درک برای کاربر باشد.
به بخشی که در پشت زمینه قرار میگیرد و انجام محاسبات و وظایف را نسبت به فرانت اند بر عهده دارد، بکاند میگویند.
اگر به عنوان مثال قصد خرید یک بلیت از وب سایتی را داشته باشید، معمولا سایت را باز میکنید و با فرانت اند «Frontend» تعامل میکنید. زمانی که اطلاعات را وارد کردید، برنامه آن اطلاعات را در بکاند که شامل پایگاه داده ها سرور میشود، ذخیره میکند.
مفهوم دیگری هم به نام میدلاند (MiddleEnd) وجود دارد که وظیفه ارتباط بین فرانتاند و بکاند را بر عهده دارد.
در یک برنامه غیر متمرکز هم به همین صورت یک فرانتاند و بکاند وجود دارد. فرانتاند در برنامههای غیرمتمرکز مانند برنامههای معمولی تحت وب است.
اما در مورد بکاند با شبکه بلاک چین و مفهومی به نام قردادهای هوشمند طرف هستیم. کدها رویقراردادهای هوشمند نوشته میشوند و در شبکه بلاک چین قرار میگیرند. به جای استفاده از سرورهای مرکزی برای کدهای برنامه در اینجا از بلاک چین غیرمتمرکز استفاده میشود.
برنامههای غیرمتمرکز اتریوم
با وجود پلتفرمهایی مانند اتریوم، نئو و در آینده ایاس و کاردانو دیگر نیاز نیست که برای ساخت برنامه غیرمتمرکز، یک بلاک چین جداگانه بسازید. با استفاده از پلتفرم هایی که از قردادهای هوشمند پشتیبانی میکنند توسعه دهندگان میتوانند برنامههای غیرمتمرکز خود را خلق کنند.
اتریوم این روزها پرکاربردترین بلاک چین برای توسعه برنامههای غیرمتمرکز است. با ایجاد قرارداد هوشمندمیتوانید برنامه غیرمتمرکز خود را روی این پلتفرم پیاده سازی کنید.
سه نوع برنامه
به دلیل سروصدای زیاد این فناوری، طرفداران اتریوم شاید فکر کنند که قابلیت تمرکززدایی همه چیز را خواهند داشت اما در حال حاضر دامنه برنامههایی که میتوان با این پلتفرم محاسباتی ساخت، تنگ تر از چیزیست که بقیه فکر میکنند.
وایت پیپر اتریوم برنامههای غیرمتمرکز را به سه دسته کلی تقسیمبندی میکند: برنامه هایی که پول را مدیریت می کنند، برنامههایی که با پول ارتباط دارد (ولی پول تنها معیار نیست) و برنامه هایی در رده دیگر که شامل سیستم های رأی گیری و حاکمیتی میشوند.
در نوع اول، کاربر میتواند برای حل و فصل یک قرارداد اتر (ارز دیجیتال اتریوم) دریافت یا ارسال کند، شبکهای توزیع شده از نود (Node)های کامپیوتری در شبکه اتریوم توزیع اطلاعات را در شبکه تسهیل میکنند.
برنامههای نوع دوم پول ترکیبی از پول و اطلاعات خارج از برنامه هستند.
به عنوان مثال، یک برنامه بیمه محصولات کشاورزی را در نظر بگیرید که نیازمند دریافت اطلاعات آب و هواست. فرض کنید که کشاورزی بیمهای را خریداری میکند که طی آن اگر وضعیت خشکسالی رخ بدهد، خسارتهایش به صورت خودکار پرداخت خواهد شد.
برای اجرای این برنامه، قراردادهای هوشمند باید به چیزی که اصطلاحا اوراکل نام دارد اعتماد کنند. اوراکل هر چیزی است که اطلاعات بیرونی و به روزرسانی شده را به برنامه بدهد. گفتنیست که تمرکززدایی اوراکلها یکی از چالش های اصلی برنامههای غیرمتمرکز است.
وقتی بیت کوین توانسته اختیار سازمان های مالی را کم کند، آیا روی شرکت ها و سایر سازمان ها هم همین کار را می توان انجام داد؟
سازمان های خودگردان غیرمتمرکز (DAO) یکی از اهداف بلندپروازانه و محبوب هستند. در این برنامههای هیچ فرد تعیین کننده ای وجود ندارد، و قوانین و اختیارات هر شخص توسط برنامهها مشخص میشود و اعضا می توانند رای دهند که چه قوانینی حکمفرما باشد. تصورش را بکنید: حکومت بلاک چین بر مردم!
برنامه غیرمتمرکز (Dapp) چیست؟
- ۹۷/۱۲/۰۷