آموزش جامع برنامه غیرمتمرکز یا dApp بیاموزید چگونه dApps میتوانند معاملات شما را متحول کنند و بدون واسطه، امن و شفاف عمل کنید.
برنامه غیرمتمرکز یا dApp
همانطور که در درس قبلی در مورد قراردادهای هوشمند اشاره کردیم، اتریوم یک پلتفرم محاسباتی است که به شما امکان ایجاد و اجرای قراردادهای هوشمند را می دهد.
قرارداد هوشمند یک قطعه کد نرم افزاری از پیش برنامه ریزی شده است که پس از برآورده شدن شرایط مشخص شده، کد به طور خودکار اجرا می شود.
اکثر توسعه دهندگانی که قراردادهای هوشمند ایجاد می کنند، در واقع این کار را به عنوان بخشی از یک برنامه غیرمتمرکز یا “dApp” که در حال ساخت هستند، انجام می دهند. اما dApps چیست؟ و چرا اهمیت دارند؟
dApp چیست؟
یک برنامه غیرمتمرکز یا dApp، همچنین به عنوان “dApp”، “Dapp” یا “dapp” شناخته می شود، برنامه نرم افزاری است که به طور مستقل با استفاده از قراردادهای هوشمند عمل می کند.
از آنجایی که قراردادهای هوشمند فقط برنامههای رایانهای هستند که طبق شرایط از پیش تعیینشده و به صراحت در کد نوشته شده اجرا میشوند، همان چیزی است که به dApps اجازه میدهد تا به طور مستقل و بدون دخالت انسانی کار کنند.
dApps بسیار شبیه به برنامه های وب یا تلفن همراه است با این تفاوت که dApps با استفاده از قراردادهای هوشمند ساخته شده و بر روی بلاک چینی اجرا می شود. در ساده ترین مفهوم، برنامه غیرمتمرکز یا dApp یک قرارداد هوشمند و یک رابط کاربری وب (UI) است.
به عبارت دیگر، یک رابط کاربری frontend (UI) که دقیقاً شبیه گوشی هوشمند یا برنامه وب خوب شما است را، با عملکرد قراردادهای هوشمند در حال اجرا در backend ترکیب می کند.
قسمت یک برنامه Frontend به بخشی از برنامه اشاره دارد که بر روی صفحه نمایش کاربر یا رابط گرافیکی کاربر (GUI) نمایش داده می شود Bakend .یک برنامه به بخشی از برنامه اشاره دارد که در صفحه کاربر نمایش داده نمی شود .
dApps دو طرف را قادر میسازد تا یک معامله یا توافق نامه را بدون نیاز به یک واسطه یا مرجع مرکزی برای پیگیری انجام دهند. آنها می توانند به سادگی به کد اعتماد کنند تا از اجرای قرارداد اطمینان حاصل کنند.
dApps نیز منبع باز هستند، به این معنی که کد منبع برای همه قابل مشاهده است. این امر باعث میشود که به dAppها راحتتر اعتماد کنید زیرا کد منبع قابل بازرسی است و هر گونه قصد خرابی قابل شناسایی است.
از آنجایی که شرکتهای فناوری کد خود را قفل نگه میدارند، ما واقعاً نمیدانیم الگوریتم جستجوی محرمانه گوگل چگونه کار میکند یا الکسا واقعاً به مکالمات ما گوش میدهد یا خیر.
با قراردادهای هوشمند و dApps، ما می توانیم ببینیم که آیا همه چیز چک می شود یا خیر.
dApp ها نیز در برابر سانسور مقاوم هستند. بدان معنی که دولت ها یا شرکت های بزرگ هیچ راهی برای مسدود کردن هر محتوا یا ممنوعیت کاربران ندارند.
اکنون، dApp ها بسته به نحوه استفاده (یا سوء استفاده) می توانند خوب و بد بنظر برسند. به عنوان مثال، سانسور در شبکه های اجتماعی موضوع بحث است زیرا پلتفرم هایی مانند فیس بوک می توانند کاربران را به دلیل دیدگاه های سیاسی خود ممنوع کنند یا اخبار جعلی را منتشر کنند.
اگر یک dApp برای انجام کاری برنامه ریزی شده باشد و قرارداد هوشمند اجرا شود، هیچ کس نمی تواند برای متوقف کردن یا معکوس کردن کد کاری انجام دهد.
در نهایت، یکی از مزایای بزرگ dApps این است که آفلاین کردن آنها دشوار است.
dAppها بر روی شبکه ای از کامپیوترهای غیرمتمرکز (که بسته به بلاک چین ممکن است صدها یا هزاران باشد) در سراسر جهان اجرا می شوند.
حتی اگر تعداد کمی (یا چند صد نفر) به حالت آفلاین باشند، بقیه شبکه به اجرای بلاک چین ادامه میدهد تا تقریباً نداشتن هیچگونه خرابی را تضمین کند.
این امکان بسیار خوب است، اما شایان ذکر است که هنوز برخی از اشکالات dApps به ویژه در مورد توسعه دهندگان وجود دارد.
از آنجایی که اصلاح کد و دادههای منتشر شده در بلاک چین سختتر است، ایجاد بهروزرسانیهای dApp پس از استقرار برای توسعهدهندگان چالشبرانگیزتر است. یعنی رفع اشکالات در نسخههای قدیمیتر یا معرفی ویژگیهای جدید میتواند دردسرساز باشد.
همچنین، مزایای اجرا بر روی شبکه اتریوم (یعنی امنیت، شفافیت، عدم تمرکز و قابلیت اطمینان) هزینه بالایی دارد.
مکانیسم اجماع فعلی اتریوم (PoW) مدتی طول می کشد به علاوه هر گره باید هر تراکنش را اجرا و ذخیره کند، که باعث افزایش تقاضای محاسباتی می شود.
حتی اگر dAppها اساساً کاملاً آفلاین نباشند، همچنان تراکم شبکه ممکن است رخ دهد و باعث کند شدن زمان اجرا شود. این معاوضهها، مقیاسپذیری dApps را سخت میکند، اما بهروزرسانیهای آتی به اتریوم نوید رفع برخی از این مسائل مانند تغییر مکانیسم اجماع اثبات سهام (PoS) را میدهد.
نمونه ای از برنامه غیرمتمرکز یا dApp چیست؟
برای داشتن ایده بهتر از نحوه عملکرد dApps در دنیای واقعی، اجازه دهید به عنوان مثال به Uniswap نگاه کنیم.
Uniswap که بر روی بلاک چین اتریوم ساخته شده است، یک صرافی غیرمتمرکز (DEX) است.
این برنامه برنامه ای را ارائه می دهد که به کاربران امکان می دهد به راحتی دارایی های رمز ارز خود را مبادله کنند.
برخلاف صرافیهای سنتی که از دفتر سفارش متمرکز برای مدیریت نقدینگی و تعیین قیمتها استفاده میکنند، Uniswap DEX بر اساس فناوری AMM اجرا میشود.
“AMM” مخفف بازارساز خودکار است، که تنها اصطلاحی برای یک قرارداد هوشمند است که به جای دفتر سفارش، به استخر نقدینگی متکی است و از یک فرمول ریاضی برای تعیین قیمتهای خرید و فروش استفاده میکند.
در واقع، Uniswap هیچ یک از دارایی های دیجیتالی را در صرافی نگه نمی دارد و به منظور ایجاد نقدینگی، طرف مقابل معاملات را در نظر نمی گیرد.
در عوض، معاملات بین شما و یک قرارداد هوشمند اتفاق می افتد. در قرارداد هوشمند، فرمول ریاضی وجود دارد که تعیین میکند با چه قیمتی میتوانید کریپتو بخرید یا بفروشید.
دارایی های کریپتو از کجا می آیند؟ به عنوان مثال، اگر شما بخواهید مقداری از ETH خود را با BAT عوض کنم، اگر AMM تراکنش را انجام دهد، BAT را از چه کسی دریافت خواهید کرد؟
اینجاست که استخرهای نقدینگی وارد بازی می شوند. سایر کاربران ارزهای دیجیتال خود را برای تامین نقدینگی سپرده گذاری می کنند و سهمی از کارمزد معاملات را جبران می کنند.
از آنجایی که Uniswap DEX بر روی نرمافزار متنباز اجرا میشود، کاربران میتوانند در صورت بروز مشکلی، کد منبع را بررسی کنند.
این پروتکل عمومی و بدون مجوز است، به این معنی که هر کسی میتواند در صورت تمایل به خرید یا فروش داراییهای کریپتو از dApp استفاده کند. نیازی به ثبت حساب یا درخواست دسترسی نیست. تنها کاری که باید انجام دهید این است که کیف پول ارز دیجیتال خود را متصل کنید.
اتر (ETH) چیست؟
اتر (ETH) ارز داخلی مورد استفاده در شبکه اتریوم است.
مانند بیت کوین (BTC)، می توان آن را به عنوان یک دارایی دیجیتال مورد استفاده برای ذخیره و/یا انتقال ارزش در بلاک چین دید.
اما کاربرد اصلی اتر، تسهیل محاسبه قراردادهای هوشمند و برنامههای غیرمتمرکز (dApps) در شبکه اتریوم است.
هرکسی که به دنبال ساخت نرم افزار بر روی اتریوم است، باید برای قدرت محاسباتی با اتر (ETH) هزینه بپردازد.
یک گره اتریوم باید تراکنشی را در شبکه اجرا کند و قرار نیست آن را به صورت رایگان انجام دهد. بدون اتر، شما به سادگی نمی توانید کاری روی اتریوم انجام دهید. و طراحی شد تا یکی از بزرگترین مشکلات ماشین کامل یعنی مشکل توقف تورینگ حل شود.
در حالی که یک ماشین کامل تورینگ از این نظر بسیار عالی است که می تواند تقریباً هر محاسبات قابل تصوری را که روی آن انجام می دهید پردازش کند، نمی داند اگر به آن نگویید چه زمانی باید محاسبه را متوقف کند.
بنابراین، اگر برنامه ای برای اجرا در چرخه بی نهایتی برنامه ریزی شده باشد، آن برنامه برای همیشه اجرا خواهد شد. چنین سناریویی باعث ایجاد مشکلات بزرگ یا حتی توقف شبکه اتریوم می شود.
برای کمک به توقف بازیگران بد از اجرای کد با لوپهای بینهایت یا ارسال اسپم به شبکه با قراردادهای محاسباتی سنگین، اتریوم برای اجرای قراردادهای هوشمند، هزینههای تراکنش با پرداخت اتر را اعمال میکند.
این الزام اتر را به مکانیزمی کلیدی در کنترل تقاضا برای منابع محاسباتی در شبکه اتریوم تبدیل میکند.
تقریباً شبیه بنزین در ماشین مسابقه است. بدون بنزین، ماشین روشن نمی شود. و هر چه ماشین بزرگتر باشد یا ماشین را برای حرکت بیشتر فشار دهید، سوخت بیشتری برای حفظ سرعت و رسیدن به خط پایان مورد نیاز است.
اگر بنزین تمام شود، ماشین فقط می ایستد، درست مانند یک برنامه زمانی که اتر آن تمام می شود.
گاز چیست؟
اصطلاح گاز برای تمایز بین ارزش اتر (ETH) و هزینه محاسباتی استفاده از ماشین مجازی اتریوم (EVM) ایجاد شد.
گاز نحوه اندازهگیری تلاش محاسباتی مورد نیاز برای اجرای تراکنشها توسط شبکه اتریوم است.
گاز نامیده می شود زیرا مشابه آنچه خودروها برای کار به بنزین نیاز دارند، شبکه اتریوم برای ادامه کار به گاز نیاز دارد.
به عنوان مثال، ارسال یک ETH از شخص A به شخص B ممکن است به 21000 واحد گاز نیاز داشته باشد. معاملات پیچیده تر، مانند ضرب یک NFT، می تواند 2,000,000 گاز یا بیشتر را طلب کند.
این بدان معناست که خود گاز کارمزد تراکنش شما نیست. گاز واحدی است که برای اندازه گیری تلاش محاسباتی لازم برای انجام اقدامات خاص در بلاک چین اتریوم استفاده می شود. کارمزد معامله شامل عوامل دیگری مانند کارمزد پایه و کارمزد مشوقی یا Priority Fee است. بنابراین گاز نیز ETH نیست.
قیمت 1 واحد گاز هنگامی که شبکه اتریوم مشغول است افزایش می یابد و در ساعات غیر اوج مصرف کاهش می یابد.
مقدار «گاز» مورد نیاز بر اساس عرضه ظرفیت استخراج و تقاضا برای معاملات مورد نیاز برای پردازش تعیین میشود. از آنجایی که ماینرها می توانند در صورت پایین بودن قیمت گاز از پردازش تراکنش خودداری کنند، قیمت گاز باید به اندازه ای بالا باشد که بر هزینه توان محاسباتی مورد نیاز برای پردازش این تراکنش ها بیشتر باشد.
به عنوان مثال، قیمت یک ETH زمانی افزایش مییابد که بسیاری از مردم ناگهان NFT میخواهند و زمانی که شخصی توییتی بحثبرانگیز ایجاد میکند که به سودمندی اتریوم حمله میکند، کاهش مییابد.
اما قیمت گاز بر حسب اتریوم است. قیمت گاز مقدار ETH است که برای پرداخت یک واحد گاز لازم است.
اگر قیمت یک واحد گاز 0.000000015 ETH باشد، تراکنش شما که به 21000 واحد نیاز دارد، حداقل به 0.000315 ETH نیاز دارد تا انجام شود.
ظاهرا این اعداد اعشاری بسیار زیاد و ETH بسیار کم است. Giga-wei یا Gwei را وارد کنید.
Gwei نشان دهنده کسری از یک ETH است.
مانند سنت به دلار، Wei کوچکترین واحد اتریوم است Gigawei به wei1,000,000,000 یا 0.000000001 اتر ترجمه می شود. راههای دیگری برای تعیین اتر وجود دارد، اما gwei در میان کاربران ETH رایجتر است.
در مثال بالا، به جای اینکه بگویید قیمت گاز 0.000000015 اتر است، می توانید فقط بگویید که قیمت گاز 15 Gweiاست.
هزینه گاز چگونه محاسبه می شود؟
البته کارمزد تراکنش فقط شامل گاز و قیمت آن نمی شود. همچنین شامل کارمزد پایه یا BASE FEE است، که قیمت مورد نیاز برای قرار دادن یک واحد گاز در بلوک اتریوم است.
کارمزد های پایه توسط بلوک های قبل از آن تعیین می شود. در صورتی که تراکنش های بلوک قبلی گاز بیشتری نسبت به اندازه بلوک هدف اختصاص داده شده مصرف کرده باشد، کارمزد پایه می تواند تا 12.5 درصد در هر بلوک افزایش یابد. اما شما فقط کارمزد خدمات را پرداخت نمی کنید. شما باید نکته دیگری نیز اضافه کنید.
به یاد داشته باشید که ماینرها بدون توجه به آنچه در داخل یک بلوک اتریوم وجود دارد، پاداش بلوک دریافت می کنند.
برای تشویق آنها به محاسبه تراکنش شما و افزودن آن به بلاک چین، می توانید هنگام وارد کردن جزئیات تراکنش خود، کارمزد تشویقی (PRIORITY FEE or TIP) را برای هر واحد گاز اضافه کنید.
اما اگر تراکنش غیرمعمولی را انجام دهید که به گاز بیشتر از آنچه فکر میکردید نیاز داشت چه؟
در نهایت بیشتر از آنچه در ابتدا فکر می کردید پرداخت خواهید کر.
به همین دلیل است که کاربران معمولاً محدودیت گاز به ورودی خود اضافه می کنند.
در مثال سوخت ما، بودجه بندی برای سفر جاده ای (اجرای معامله) به معنای فکر کردن به قیمت سوخت (قیمت گاز) و همچنین حداکثر گالن هایی است که فکر می کنید سفر جاده ای به آن نیاز دارد (محدودیت بنزین).
محدودیت گاز حداکثر تعداد واحدهای گازی است که میخواهید برای انجام معامله خود بپردازید.
استفاده از محدودیت بنزین تضمین می کند که به طور تصادفی بیش از بودجه خود خرج نمی کنید. شما در برابر کد قرارداد معیوب که به طور ناگهانی به گاز بیشتری نیاز دارد، محافظت میشوید.
از طرف دیگر، کاربران این گزینه را دارند که حداکثر محدودیت کارمزد را تعیین کنند تا به شبکه بگویند حداکثر مقدار Gwei که مایلید برای تراکنش خود خرج کنید.
با این حال، نسبت به محدودیت گاز خود خیلی خسیس نباشید. ماینرها فقط از گاز و gwei کافی برای انجام تراکنش استفاده می کنند و بقیه را به شما بازپرداخت می کنند.
اما اگر یک تراکنش به Gas یا Max Limit خود برسد و قبل از اجرا بنزینش تمام شود، تراکنش شکست خواهد خورد و شما گازی را که ماینرها قبلاً مصرف کرده بودند از دست خواهید داد.
با فاکتورگیری در محدودیت های گاز، فرمول جدید حداقل کارمزد تراکنش ما به این صورت خواهد بود:
Tx Fee = (Gas Limit) * (Base fee + Tip)
فرض کنید که شخص A در حال ارسال یک ETH برای شخص B است.
تراکنش ساده فقط به 21000 گاز نیاز دارد، اما بسیاری از مردم در حال مبادله توکن های ERC-20 هستند، بنابراین کارمزد پایه فعلی 300 Gwei است. شخص A تصمیم می گیرد 20 Gwei انعام دهد تا اطمینان حاصل شود که 2 اتر منتقل شده است.
با استفاده از فرمول بالا، کارمزد تراکنش شخص الف عبارت است از:
(21,000) x (300 + 20) = 6,720,000 gwei or 0.00672 ETH
و حدود 18.84 دلار برای انتقال 1 ETH (~ 3000 دلار) است.
18.84 دلار ممکن است هنوز برای برخی کمی تند باشد. خوشبختانه، تلاش هایی برای کاهش کارمزد تراکنش ها وجود دارد.
برای مثال، تغییر اتریوم به الگوریتم اجماع اثبات سهام (PoS) نیازمندیهای محاسباتی هر تراکنش را کاهش میدهد.
دستهای از راهحلهای مقیاسپذیری لایه ۲ نیز با انجام محاسبات سنگین خارج از بلاک چین، بار شبکه را کاهش میدهند.
اکثر کیف پول ها و پلتفرم ها می توانند به طور خودکار قیمت گاز را برای تراکنش های شما تخمین بزنند.
- پشتیبانی مناسب در تحلیل، استراتژی های معاملاتی و مدیریت ریسک و سرمایه خود را در خدمات ما از جمله درخواست تحلیل سهم، اکسپرت مدیریت سرمایه و سفارش اکسپرت انتخاب کنید.