آن ها تنها دستورالعمل هایی را که به آن ها داده شده را به طور خودکار اجرا می کنند.
اتریوم چیست؟ آیا اتریوم آینده ای بهتر از بیت کوین دارد؟
اتریوم چیست و چرا بعد از بیت کوین اینقدر محبوب و معروف است؟ شاید بتوان گفت که اتریوم کاربردی بسیار بیشتر و مهم تر نسبت به بیت کوین دارد. اگر به این موضوع شک دارید حتما این مقاله از مجله ارز دیجیتال را بخوانید. در مقاله قبلی مجله ارز دیجیتال درباره بیت کوین چیست ؟ توضیحات مهم و مفصلی را دادیم. اگر دوست دارید درباره بیت کوین بیشتر بدانید مقاله ی آن را میتوانید از لینک رو به رو دنبال و مطالعه کنید : بیت کوین چیست ؟
اولین پرسشی است که افراد نا آشنا با ارزهای دیجیتال از خودشان میپرسند. در واقع اتریوم یا (Ethereum)، نسل دوم ارزهای دیجیتال است. این ارز تازه نفس، با هدف هوشمندسازی فرایندها و ایجاد فضایی برای اجرای برنامههای غیر متمرکز و خودکار ایجاد شد. اتریوم در تاریخ ۳۰ جولای ۲۰۱۵ و به سرپرستی جوان ۲۳ ساله روسی، «ویتالیک بوترین» پا به عرصه ارزهای دیجیتال گذاشت.
اتریوم چیست؟
وبسایت رسمی اتریوم آن را اینگونه تعریف میکند:
اتریوم یک پلتفرم غیرمتمرکز است که قراردادهای هوشمند را اجرا میکند: هیچگونه احتمال از کارافتادگی، سانسور، تقلب یا دخالت افراد شخص ثالث برای برنامههایی که روی اتریوم اجرا میشوند، وجود ندارد.
میتوان به گونهای دیگر و زبانی سادهتر به پرسش «اتریوم چیست؟» پاسخ داد و آن را تعریف کرد. مثلا میتوانیم بگوییم: «اتریوم یک پلتفرم آزاد مبتنی بر فن آوری بلاک چین است که توسعه دهندگان را قادر میسازد تا برنامههای غیر متمرکز خود را روی آن پیاده سازی کنند.»
شاید این پرسش هم برایتان پیش بیاید که: «آیا اتریوم شبیه بیت کوین است؟» در پاسخ باید بگوییم که هم بله و هم نه. در واقع اتریوم هم مانند بیت کوین میتواند به عنوان ارز دستهبندی شود اما کاربردهای اتریوم بسیار متفاوتتر از بیت کوین است. بهتر است قبل اینکه بدانید اتریوم چیست درباره بلاک چین و بیت کوین بیشتر بدانید. ما در مقاله بلاک چین چیست درباره زنجیره بلوک صحبت کرده ایم و در مقاله بیت کوین چیست نیز درباره ارز مشهور دیجیتال یعنی بیت کوین صحبت های لازم را انجام داده ایم.
آیا بیت کوین و اتریوم، آینده مشترکی دارند؟
بیت کوین پیشگام ارزهای دیجیتال است؛ این شبکه نوعی نرم افزار روی یک بلاک چین است. با این حال، بیت کوین فقط یک نرم افزار است. مثلا ایمیل یکی از کاربردهای اینترنت است اما فقط یکی از هزاران کاربرد این فناوری است.
دکتر «گاوین وود» از بنیانگذاران اتریوم در این باره میگوید: «تصور کنید در خیابان هستید و میخواهید تاکسی بگیرید. از اسنپ درخواست خودرو میکنید و یک ماشین خودران – بدون راننده – شما را سوار میکند. تاکسی شما را به یک پمپ بنزین میبرد و هزینه سوخت را از پول مسافرهای قبلیاش پرداخت میکند.
سپس شما را به مقصدتان میرساند و کرایه سفرتان هم از کیف پول الکترونیکی شما پرداخت میشود. در زمانی که تاکسی در حال رساندن شما به مقصد است، به صورت خودکار هزینه بیمه سالیانه و بدهی ماهانه مالک خود را هم میپردازد.
بعد از پیاده کردن شما هم به یک تعمیرگاه میرود تا عیبهای احتمالی اتومبیل را تعمیر کند.» شاید ماشین مجازی اتریوم با خودتان فکر کنید که اینها صحنهای از یک فیلم علمی و تخیلی باشند، اما این آینده جهان است. قراردادهای هوشمند میتوانند آینده جهان را بسازند.
قرارداد هوشمند چیست؟
قرارداد هوشمند یا (smart contract) یک پروتکل است که از آن برای تنظیم قراردادها استفاده میشود. در واقع قرارداد هوشمند، یک پروتکل ویژه است که برای مشارکت، تأیید یا اجرای مفاد یک قرارداد خاص، فعال میشود.
قراردادهای هوشمند، معاملهها و فرایندها را به صورت کاملا تضمینی و بدون حضور اشخاص ثالث انجام میدهند. فعالیت و ثبتهای قرارداد هوشمند، قابل پیگیری و غیر قابل برگشت هستند. این قراردادها به طور خودکار، شامل تمام اطلاعات مربوط به شرایط قرارداد و اجرای تمام اقدامات هدف گذاری شده میشوند.
برای درک بهتر می توان اینگونه آن ها را توصیف کرد: آن ها مانند دستگاه های فروش خودکار فعالیت می کنند. وقتی شما قصد خرید یک نوشابه با استفاده از این دستگاه ها را دارید، پول را به دستگاه وارد می کنید و دستگاه به صورت خودکار پول شما را پردازش می کند و نوشابه را تحویل می دهد.
جدا از مسائل فنی، قرارداد های هوشمند هم تقریبا مانند دستگاه های فوقالذکر کار می کنند. بدون نیاز به افراد یا سازمان های واسطه فرایند پرداخت یا اجرای یک قرارداد را پردازش می کنند و در صورت صحیح بودن مفاد قرارداد مشخص شده، فعالیت را انجام می دهند.
آن ها تنها دستورالعمل هایی را که به آن ها داده شده را به طور خودکار اجرا می کنند.
اگر میخواهید بیشتر درباره قراردادهای هوشمند بدانید، مقاله قراردادهای هوشمند اتریوم چیست را مطالعه کنید که در آن به صورت کامل و جامع درباره آن صحبت کرده ایم.
دارایی ها و شرایط ها به چه صورت است؟
در ابتدا، دارایی ها و شرایط قرارداد، کد گذاری می شوند و در بلاک بلاک چین قرار می گیرند. این قرارداد بین نود های پلتفرم توزیع و چندین بار کپی شده است. بعد از پردازش انجام شد، قرارداد مطابق با شرایط مشخص شده اجرا می شود.
شاید بگویید که هوشمند سازی فرایند ها خیلی وقت است که انجام میشود اما تفاوت فرایند قرارداد های هوشمند با فرایند های معمولی در اینترنت، غیرمتمرکز بودن و عدم بازگشت آن است.
مثلا تراکنش های بانکی به صورت هوشمند انجام می گیرند اما مثلا بانک مرکزی میتواند از انجام یک تراکنش جلوگیری کنید. در قرارداد های هوشمند شخص یا نهادی قادر به کنترل یک قرارداد نیست و وقتی مفاد یک قرارداد صحیح باشد، این قرارداد به صورت کاملا خودکار اجرا می شود.
در حالی که تمام بلاک چین ها توانایی پردازش کد را دارند، بیشتر آن ها به شدت محدود هستند. اما بلاک چین اتریوم متفاوت است. اتریوم به جای ارائه مجموعه ای از عملیات های محدود، به توسعه دهندگان اجازه اجرای نرم افزارهای خودکار را روی بلاک چین خود می دهد. بلاک چین اتریوم برای همه کسانی که بتوانند برنامه غیرمتمرکزی ارائه دهند، قابل استفاده است.
قراردادهای هوشمند چگونه کار میکنند؟
اجازه بدهید برای درک بهتر قراردادهای هوشمند مثالی ساده بزنیم. قراردادهای هوشمند را میتوان مثل دستگاههای فروش خودکار در نظر گرفت. وقتی شما میخواهید از این دستگاهها یک نوشابه بخرید، اول پول را وارد دستگاه میکنید.
بعد از آن دستگاه به صورت خودکار پول شما را پردازش میکند و نوشابه را تحویل میدهد. اگر از مسائل فنی فاکتور بگیریم، قراردادهای هوشمند هم تقریبا مانند دستگاههای فروش خودکار کار میکنند.
قراردادهای هوشمند، بدون نیاز به افراد یا سازمانهای واسطه، فرایند پرداخت یا اجرای یک قرارداد را پردازش کرده و در صورت صحیح بودن مفاد قرارداد مشخص شده، فعالیت را انجام میدهند. در واقع تنها کاری که این دستگاهها انجام میدهند، اجرای خودکار دستورالعملهای داده شده به آنها است.
دستورالعمل های خودکار قراردادهای هوشمند، چگونه انجام میشوند؟
در ابتدا، داراییها و شرایط قرارداد کدگذاری میشوند و در بلاک چین قرار میگیرند. این قرارداد بین نودهای پلتفرم توزیع و چندین بار کپی شده است. بعد از اینکه پردازش انجام شد، قرارداد مطابق با شرایط مشخص شده اجرا میشود.
از زمان هوشمند سازی فرایندها زمان زیادی میگذرد با این وجود، بزرگترین تفاوت فرایند قراردادهای هوشمند با فرایندهای معمولی در اینترنت، غیرمتمرکز بودن و عدم بازگشت آن است.
مثلا تراکنشهای بانکی به صورت هوشمند انجام میگیرند اما بانک مرکزی میتواند از انجام یک تراکنش جلوگیری کند. در قراردادهای هوشمند، شخص یا نهادی قادر به کنترل یک قرارداد نیست و وقتی مفاد یک قرارداد صحیح باشد، این قرارداد به صورت کاملا خودکار اجرا میشود.
با وجود این که تمام بلاک چینها توانایی پردازش کد را دارند ولی بیشتر آنها به شدت محدود هستند. اما بلاک چین اتریوم متفاوت است. اتریوم به جای ارائه مجموعهای از عملیاتهای محدود، به توسعه دهندگان اجازه میدهد تا نرم افزارهای خودکار را روی بلاک چین خود اجرا کنند. بلاک چین اتریوم برای همه کسانی که بتوانند برنامه غیرمتمرکزی ارائه دهند، قابل استفاده است.
ماشین مجازی اتریوم چیست؟
ماشین مجازی اتریوم یا (EVM) یک نرم افزار کاملا تورینگ است و روی شبکه اتریوم اجرا میشود. این سیستم صرف نظر از زبان برنامه نویسی به هر میزان که کاربر بخواهد زمان و حافظه در اختیارش قرار میدهد.
ماشین مجازی اتریوم روند ایجاد برنامههای بلاک چینی را بسیار آسانتر و کارآمدتر از همیشه میکند. به جای اینکه برای هر برنامه یک بلاک چین ایجاد کنید میتوانید از بلاک چین اتریوم برای هزاران برنامه بهره بگیرید.
اتریوم چیست و در چه زمینه های کاربرد دارد؟
پلتفرم اتریوم، توسعه دهندگان را قادر میسازد تا برنامههای کاربردی غیر متمرکز را ایجاد و راه اندازی کنند. یک برنامه غیر متمرکز یا به اختصار «Dapp» میتواند بدون نیاز به واسطهها و با استفاده از توزیع جمعی یک عمل مخصوص را انجام دهد. برای مثال بیت کوین یک Dapp است که کاربران میتوانند توسط آن داراییهای دیجیتالی به اسم بیت کوین را به صورت همتا به همتا منتقل کنند.
مزایای پلتفرم غیرمتمرکز اتریوم چیست؟
چون برنامههای غیر متمرکز در بلاک چین اجرا میشوند، در نتیجه از تمام ویژگیهای بلاک چین نیز میتوانند استفاده کنند. مثلا:
- غیر قابل تغییر بودن : واسطهها و افراد ثالث نمیتواند هیچ تغییری در داده ها ایجاد کنند.
- غیرقابل دستکاری و نفوذ : برنامهها بر اساس اجماع شبکه فعالیت میکنند. بنابراین امکان سانسور، نفوذ به شبکه یا حذف دادهها وجود ندارد.
- امن : بدون نهاد مرکزی و تضمین شده توسط رمزنگاریها است.
- همیشه فعال : برنامهها هرگز متوقف نمیشوند و هیچ کس قادر به جلوگیری از فعالیت آنها نیست.
هر خدمت متمرکزی میتواند توسط اتریوم غیرمتمرکز شود. خدمات بزرگی مثل پرداختها، بیمه، رایگیری و بسیاری از خدماتی که اکنون توسط واسطهها انجام میشوند، با بلاک چین تمرکز زدایی خواهند شد.
ضعف برنامههای غیر متمرکز چیست؟
عامل انسانی
کد قراردادها توسط برنامه نویسان نوشته میشود. به همین دلیل، احتمال اشتباه وجود دارد. اگر قرارداد هوشمند در بلاک چین ثبت شود، دیگر نمیتوان آن را تغییر داد. مثال خوبی از خطای انسانی پروژه «DAO» است. اشتباههای برنامه نویسان در کدنویسی مشکلات زیادی را به وجود آورد؛ به طوری که برخی هکرها از اشتباههای برنامه نویسی سو استفاده ماشین مجازی اتریوم کردند و ۶۰ میلیون دلار را به سرقت بردند.
وضعیت قانونی
در حال حاضر، قراردادهای هوشمند توسط همه دولتها مورد قبول نیستند. بنابراین اگر نهادهای دولتی تصمیم به ایجاد یک چارچوب قانونی برای قراردادهای هوشمند داشته باشند، مسائل جدیدی به وجود خواهد آمد.
هزینههای پیاده سازی
قراردادهای هوشمند بدون برنامه نویسی قابل اجرا نیستند. باید یک یا چند برنامه نویس ماهر داشته باشید تا قراردادهای هوشمند به خوبی تنظیم شوند. البته چند ماه پیش سرویسهایی برای ایجاد قراردادهای هوشمند توسط کاربران عادی ایجاد شده است. به این ترتیب کاربران خواهند توانست با چند کلیک بعضی از قراردادهای هوشمندشان را تنظیم کنند. البته این سرویسها هنوز به صورت آزمایشی فعالیت میکنند.
داوو یا سازمان مستقل غیرمتمرکز چیست؟
سازمانهای مستقل غیرمتمرکز یا (Decentralized Autonomous Organizations) را نیز میتوان در اتریوم پیاده سازی کرد. این ویژگی به اختصار «DAO» خوانده میشود.
DAO یک سازمان کاملا مستقل، غیرمتمرکز و بدون رهبری واحد است که توسط کد برنامه نویسی روی مجموعهای از قراردادهای هوشمند نوشته شده و روی بلاک چین اتریوم اجرا میشود.
این کد برای جایگزینی قوانین و ساختار یک سازمان قدیمی طراحی شده است. یک شکاف DAO باعث شد که بلاک چین جدیدی به وجود بیاید و به دنبال آن «اتریوم کلاسیک» هم پدید آید. در واقع اتریوم قدیمی را اتریوم کلاسیک میگویند و اتریوم جدیدی که از DAO به وجود آمد را مورد استفاده قرار دادند.
در این مقاله از مجله ارز دیجیتال سعی کردیم تا شما را با اتریوم چیست صحبت کنیم. اگر به دنیای اتریوم علاقه دارید، میتوانید صفحه آموزش اتریوم را دنبال کنید. به نظر شما آیا اتریوم از بیت کوین بهتر است؟ اگر درباره اتریوم نظری دارید یا سوالی زیر همین پست بپرسید.
گس (Gas) اتریوم چیست ؟
Gas هزینه ی پردازش برای هر تراکنش انجام شده در شبکه ی اتریوم است،که برای اقدامات محاسباتی انجام یک ماشین مجازی اتریوم تراکنش،اجرای یک قرارداد هوشمند و یا عرضه ی برنامه های غیر متمرکز در بستر بلاکچین اتریوم باید پرداخت شود. واحد سنجش Gas با واحد کوچکتر اتریوم یعنی گیگا وی (Giga Wei) می باشد که در واقع پول خرد Ethereum است که با نام Gwei نیز شناخته می شود و ارزش آن 0.000000001 اتریوم است درست مانند واحد ساتوشی در بیت کوین.
هر عملیاتی که در اتریوم انجام شود، چه یک معامله ی ساده باشد یا یک قرارداد هوشمند یا حتی یک ICO نیاز به مقداری gas دارد که بعنوان سوخت ماشین مجازی اتریوم (EVM) استفاده می شود.اگر این مفهوم برایتان گنگ است عجله نکنید در ادامه به توضیح آن خواهیم پرداخت.
در این مقاله، ما می خواهیم درک کنیم که سوخت و یا gas اتریوم چگونه کار می کند. اما قبل از این کار، چندین مفهوم وجود دارد که باید یاد بگیریم. بنابراین، بدون مقدمه چینی بیشتر، بیایید بررسی سوخت (gas) اتریوم را آغاز کنیم.
چرا Gas در بیت کوین لازم نیست ؟؟
بیت کوین به دلایل زیر ساخته شد :
- چگونه یک ساختار می تواند وجود داشته باشد که دو شخص بتوانند تراکنش های خود را بدون واسطه انجام دهند .
- چگونه ساختار غیر مترمرکزی می تواند وجود داشته باشد که وابسته به سازمان و یا نهاد خاصی نباشد.
ساتوشی ناکاماتو با به وجود آوردن بیت کوین به این سوال ها پاسخ داد. در نهایت ساختاری ایجاد شد که انجام تراکنش ها بین دو شخص بدون هیچ واسطه ای امکان پذیر بود .اما یک مشکل در اولین نسل بلاکچین وجود داشت، آنها فقط برای مبادله ی پولی امکان پذیر بودند هیچ راهی برای اضافه کردن شرایط به آن معامله وجود نداشت.
بعنوان مثال آلیس می توانست به باب 5 بیت کوین ارسال کند،اما نمی توانست شرایط خاصی به آن معامله اضافه کند ماشین مجازی اتریوم ،بعنوان مثال نمی توانست به باب بگوید که فقط در صورت انجام برخی وظایف آن مقدار ارز را به دست می آورد. در اینجا بود که قرارداد هوشمند به وجود آمد و بلاکچین وارد نسل دوم خود شد.
قراداد های هوشمند قرارداد های خودکاری هستند،که با دستورالعمل های مشخصی که در کد آن ها نوشته شده است خود به اجرا در می آیند و در صورت ایجاد شرایطی خاص اجرا می شوند .
در واقع قرارداد های هوشمند نحوه انجام کارها در شبکه ی اتریوم هستند.وقتی شخصی کار خاصی را در اتریوم انجام می دهد با یک یا چند نفر قرارداد هوشمندی را آغاز کرده است.
هر معامله ای که از طریق قرداد های هوشمند انجام شود توسط شبکه پردازش و بروزرسانی می شود .در واقع gas سوخت لازم ماشین مجازی اتریوم برای پردازش قراردادهای هوشمند می باشد.
ماشین مجازی اتریوم (Ethereum Virtual Machine(EVM چیست؟
ماشین مجازی اتریوم (EVM) یک ماشین مجازی قدرتمند است که درون تمامی عضو های شبکه ی اتریوم تعبیه شده است و مسؤل اجرای کدهای قرادادهای هوشمند می باشد. قراردادها بطور معمول به زبان های برنامه نویسی مانند solidity نوشته می شوند و سپس به EVM برای پردازش و اجرا وارد می شوند. هر نود یا عضو در شبکه اتریوم یک نمونه EVM را اجرا می کند که به آن ها این توانایی را می دهد که برای اجرای دستورالمل های یک قرارداد به توافق برسند. می توان گفت EVM یا همان ماشین مجازی اتریوم یک Turing کامل است ،Turing به سیستمی اطلاق می شود که یک ماشین و یا دستگاه فرضی است و قادر است هر نوع محاسبات پیچیده ای را انجام دهد.
از دیگر امکانات EVM می توان به فراهم سازی بستری برای انجام شرط بندی(همان قرارداد های هوشمند) اشاره کرد که این قابلیت در راستای تحقق قرار دادهای بکارگیری افراد و استخدام انجام می پذیرد. ماشین مجازی اتریوم به عنوان یک فرد سوم مورد اعتماد دو طرف در انجام یک معامله عمل می کند، در این خصوص باید اشاره کرد، مادامی که طرفین قرارداد فرد سومی را امین خود می یابند،فرستنده مبلغ را ارسال می کند و به دست امین طرفین ( منظور ماشین مجازی اتریوم است ) می رسد و پس از تایید مبلغ مدنظر به طرف دوم فرستاده می شود. از این خاصیت برای انجام تراکنش هایی استفاده می شود که در آن ها موارد و اشیای گران قیمتی مبادله می گردد. تمام این خاصیت صرفا در راستای حفاظت از درست و قانونی اجرا شدن شرط بندی های غیر متمرکز استفاده می گردد.(منظور از شرط بندی در متن همان شرایط معامله است که در قرارداد های هوشمند مطرح می شوند)
این ها تنها چند نمونه ای بود که می توان با استفاده از قرارداد های هوشمند انجام داد. پتانسیل بسیار جذابی که با آن می توان تمامی قراردادهای قانونی، مالی و اجتماعی را انجام داد.
درک Gas به عنوان بخشی از اتریوم
همانطور که در مقدمه توضیح داده شد، gas سوخت ماشین مجازی اتریوم است. gas واحدی است که میزان تلاش محاسباتی را که برای اجرای برخی عملیات که انجام داده خواهند شد، اندازی گیری می کند.
اکثر قرارداد های هوشمند که درEVM اجرا می شوند با استفاده از زبان برنامه نویسی Solidity کدگذاری شده اند (اتریوم قصد دارد در آینده از Solidity به viper حرکت کند)هر خط کد در Solidity به مقدار مشخصی gas احتیاج دارد.
بیایید برای درک بهتر نحوه کار gas در اتریوم ، به بررسی مثالی بپردازیم .فرض کنید در حال رفتن به یک سفر جاده ای هستید. قبل از سفر مراحل زیر را چک می کنید :
- به پمپ بنزین مراجعه می کنید و مشخص می کنید که چه مقدار بنزین می خواهید در باک اتومبیل خود بزنید.
- سپس سوخت را در ماشین خود می ریزید.
- و در انتها به ازای مقدار سوخت استفاده شده به پمپ بنزین پول پرداخت می کنید.
حالا بیاید این مثال را با اتریوم تطبیق دهیم.
- رانندگی اتومبیل، عملیاتیست که شما می خواهید اجرا کنید. مانند اجرای یک قرارداد هوشمند.
- سوخت همان gas اتریوم است.
- کارکنان پمپ بنزین همان استخراج کنندگان یا ماینرهای شبکه هستند.
- و پول پرداختی شما به پمپ بنزین هزینه فی (fee) یا همان کارمزد ماینرهای شبکه است .
اکنون که اصول مقدماتی را شرح دادیم. به بررسی بیشتر آن می پردازیم.
چرا سیستم gas را داریم ؟
جواب ماشین مجازی اتریوم سوال ساده است… راه تشویقی برای ماینرها
مانند تمام سیسم های اثبات کار (proof-of-work) همتا به همتا، اتریوم به شدت به hash rate(توان محاسباتی) ماینرهایش وابسته است. هر چه ماینر بیشتر،هش ریت بیشتر و درنهایت، شبکه امن تر و سریع تر برای جذب بیشتر ماینرها به سیستم، باید سیستم تا حد امکان سودآور و جذاب باشد.
در اتریوم دو روش وجود دارد که ماینرها می توانند کسب درآمد کنند:
- با استخراج بلاک ها و دریافت پاداش استخراج.
- با فرمانروای موقت شدن بلاک های استخراج شده شان .
بیایید نکته دوم را بررسی کنیم.
ماینر ها مسؤل گذاشتن اطلاعات و تراکنش ها داخل بلاک ها هستند. برای اینکار آن ها باید از قدرت محاسباتی خود برای معتبر ساختن قراداد های هوشمند استفاده کنند.سیستم gas به آنها اجازه می دهد برای اینکار مبلغ مشخصی را دریافت کنند. این هزینه بعنوان fee و یا کارمزد ماینرها شناخته می شود که به اندازه ی کافی آنها را برای شرکت فعال در شبکه ترقیب می کند.
معامله ای که به شبکه اتریوم فرستاده می شود بسته به تعداد دستورالعمل هایی که در EVM باید اجرا شود، مقادیر مختلفی از gas (بعنوان مثال gas 100 )به همراه دارد.
قبل از اینکه جلوتر بریم، مهم است که مفهوم gas limit و gas price را بدانیم.
حد gas یا GAS LIMIT چیست ؟
حد gas یا gas limit به حداکثر میزان gas که مایلید در یک معامله هزینه کنید اشاره دارد.
در ماشین مجازی اتریوم اتریوم مقدار gas limit بصورت پیش فرض 21,000 واحد gas است.
هرچه شما بخواهید عملیات پیچیده تر و با محاسبات بیشتر اجرا کنید،gas بیشتری باید پرداخت کنید. شما می توانید این را هنگامی مشاهده کنید که می خواهید در یک ICO (عرضه ی اولیه یک رمز ارز) شرکت کنید یا زمانی که می خواهید ارزهای ICO خود را ماشین مجازی اتریوم از یک صرافی برداشت کنید. هزینه ی انتقال بسیار بالاتر از حد مجاز پیش فرض 21,000 gas است. این امر به این دلیل است که قراردادهای هوشمند یک ICO ، کد های بسیار پیچیده تری دارند و نیازمند محاسبات بسیار بیشتری نسبت به یک انتقال ساده ETH هستند.
در واقع gas limit به عنوان یک مکانیزم ایمنی عمل می کند تا از بودجه شما در برابر از بین رفتن به دلیل کد های ایراد دار یا یک خطا در قرارداد هوشمند محافظت کند.
هنگام مشخص کردن gas limit، نکات زیر باید رعایت شود:
- عملیات متفاوت، gas limit متفاوتی دارند(همانطور که در قبل توضیح دادیم).
- در صورت به آخر رسیدن gas و به پایان نرسیدن عملیات، ماینرها انجام عملیات را متوقف خواهند کرد.
- اگر مقداری gas باقی مانده باشد، بلافاصله به مالک قرارداد بازپرداخت می شود.
در اینجا دو سناریو مطرح می شود :
- سناریو 1: زمانی که مقدار gas، بسیار پایین تر از gas مصرفی در آن عملیات تعیین شود.
- سناریو 2: زمانی که مقدار gas، بیشتر از gas مصرفی در آن عملیات تعیین شود.
چه اتفاقی می افتد اگر شما مقدار gas limit را بسیار پایین مشخص کنید ؟
در ابتدا ماینر ها شروع به انجام تراکنش شما می کنند، اما زمانی که gas شما به اتمام برسد، کار خود را متوقف خواهند کرد. بلاکچین معامله را با عنوان تراکنش ناموفق ثبت می کند و ETH شما در wallet یا کیف پولتان خواهد ماند زیرا gas کافی برای اجرای کامل انتقال وجود ندارد. gas استفاده شده برای تراکنش ناموفق توسط ماینرها برای کاری که انجام دادند، نگه داشته می شود و به شما پس داده نخواهد شد.
اگر شما مقدار خیلی کمی gas مشخص کنید این اتفاق که در عکس پایین مشخص شده خواهد افتاد:
چه اتفاقی می افتد اگر شما مقدار gas limit را زیاد مشخص کنید ؟
در آن تراکنش مقدار gas مصرفی لازم برای محاسبات قرارداد استفاده می شود و مابقی آن به فرستنده پس داده می شود.
ماینر ها مجاز به دریافت مقدار gas مازاد نیستند .
اگر به مثال اتومبیل در حال سوخت گیری برگردیم، دو سناریوی تعیین gas limit درست همانند سوخت گیری اتومبیل شماست. اگر شما مقدار کمتری از مقدار مورد نیاز برای مسیر بنزین بزنید، بنزین شما تا نیمی از مسیر مصرف می شود و در صورت تمام شدن سوخت، اتومبیل قادر به اتمام مسیر نیست و بنزین مصرف شده برگردانده نمی شود و اگر بیشتر از حد نیاز برای سفر بنزین زده شود مقدار نیاز برای آن مسیر مصرف می شود و مابقی آن باقی می ماند.
البته نیازی نیست برای تنظیم gas limit نگران نباشید،زیرا MyEtherWallet(MEW) و Metamask به طور خودکار حد مجاز پیش فرض gas limit را برای انواع معاملات مورد نظر خود تعیین می کنند.
در زیر می توانید نمودار میانگین gas limit را مشاهده کنید:
قیمت gas یا GAS PRICE چیست ؟
قیمت gas یا gas price مقدار اتری است که شما برای هر واحد gas می پردازید، که معمولا با Gwei اندازه گیری می شود. Wei کوچکترین واحد اتر است، یک گیگا وی (Gwei) برابر یک میلیارد وی (wie) است .
gas limit مانند چند لیتر بنزینی است که برای طی کردن یک مسیر در باک اتومبیل خود پر میکنید و gas price مانند هزینه هر لیتر بنزینی است که برای پر کردن ماشین خود هزینه می کنید.
در نهایت هزینه کل تراکنش از gas limit*gas price به دست می آید.
اگر شما می خواهید برای یک معامله کمتر هزینه کنید، می توانید gas price را کاهش دهید، که در این صورت از سرعت انجام تراکنش شما کاسته می شود .
ماینر ها بعد از اینکه بلاکی به بلاکچین اضافه می کنند، درباره بلاک بعدی تصمیم می گیرند که کدام تراکنش را در اولویت قرار دهند، معمولا آن ها برای این انتخاب یک استراتژی ساده دارند، معاملات مختلف از بالاترین میزان gas price به پایین ترین آنها مرتب شده است و اولویت آنها با معاملاتیست که gas price بیشتری برای آن انتخاب شده است.
شما می توانید با مراجعه به سایت ethgasstation.info نرخ gas price اتریوم را مشاهده کنید.
نتیجه گیری
درست است که سیستم gas به خوبی ماینرها را برای انجام معاملات تحریک می کند اما اخیرا این سیتم مورد نقد قرار گرفته است که برای توسعه دهندگان و سازندگان قراردادهای هوشمند بسیار گران است .
بلاگ ارزفی
اخبار بیت کوین ، اتریوم ، بلاک چین ، ماینیگ ، قیمت ارزهای دیجیتال را اینجا بخوانید.
تفاوت شبکه bep2 و bep20 یا بایننس اسمارت چین (BSC)
شبکه اسمارت چین بایننس چیست؟ | BSC یا Bep20 چیست؟ توسعهدهندگان صرافی بایننس (Binance) در اوایل سال ۲۰۲۰ برای حل مشکلات مقیاسپذیری و افزایش سرعت انجام تراکنشهای ارز دیجیتال اقدام به راهاندازی یک زنجیره موازی با زنجیره اصلی
بایننس (bep2) کردند. این شبکه بایننس اسمارت چین (Binance Smart Chain یا BSC) یا زنجیره هوشمند بایننس نام گرفت که البته تحت عنوان شبکه bep20 نیز شناخته میشود.. توسعهدهندگان این شبکه بهخوبی دریافتند که برای حل مشکل مقیاسپذیری یک بلاکچین باید میزان غیرمتمرکز بودن آن کاهش پیدا کند، بنابراین با تغییراتی در سازوکار اجماع این زنجیره، نسبت به زنجیره اصلی بایننس یک شبکه نیمهمتمرکز راهاندازی کردند.
بایننس اسمارت چین (BSC)
با هدف تسریع و تسهیل تراکنشها و بهبود میزان مقیاس پذیری و با هدف رقابت با اتریوم راهاندازی شد. فرایند خرید و فروش ارزهای دیجیتال از طریق شبکه اسمارت چین برای کاربران سادهتر شده و آنها میتوانند با سرعت بیشتری تراکنشهای خود را انجام دهند.
تراکنشهای فروش یا خرید اسمارت چین به مراتب سریعتر و ارزانتر از شبکههای اتریوم و ترون انجام میشود. در کنار اینها، BSC امکان اجرای قراردادهای هوشمند، سازگاری با ماشین مجازی اتریوم و برنامههای غیرمتمرکز (DApp) را نیز فراهم کرده است.
بیت کوین و اتریوم – جلسه هجدهم (+ویدئو)
اکثر مطالبی که تاکنون درباره آنها بحث کردهایم اساساً حول موضوع بیت کوین بودهاند زیرا بیت کوین، طلیعه ظهور اولین بلاکچین های مشهور در سطح جهان بود.
اکنون قصد داریم بلاکچین نسل بعدی یعنی اتریوم را به شما معرفی کنیم.
بیت کوین در ابتدا به عنوان یک سیستم پول الکترونیکی همتا به همتا (peer-to-peer) ایجاد شد و نقش و وظیفه آن در آن زمان همین بود. در بیت کوین، هر ارز مابین آدرسها به صورت پیشرو و پسرو معامله میشود ولی چشمانداز اتریوم اینگونه نبود. ایده ایجاد اتریوم این نبود که یک سیستم پول همتا به همتا باشد بلکه یک پایگاه داده همتا به همتا و یک رایانه مجازی توزیعشده بود، رایانهای که چیزی به نام وضعیت (state) را مورد دستکاری قرار میداد.
یک «وضعیت»، بخشی از سایر بلاکچینها است ولی بیشتر به اتریوم مرتبط است. میتوان چنین تصور کرد که وضعیت، همان مقادیر کنونی تمام متغیرهای سیستم است، آنچنان که توسط همه گرهها از طریق توافق (Consensus) مورد پذیرش قرار گرفته است.
یک وضعیت در اتریوم، ماحصل تراکنشها و عملیات حاصل از ماشین مجازی اتریوم (EVM) میباشد. این یکی از ویژگیهای مهم اتریوم است.
وقتی بیت کوین به صحنه آمد همه از زبان برنامهنویسی نسبتاً ساده آن به عنوان مهمترین ویژگی فرعی آن صحبت میکردند ولی در مورد اتریوم چیزی که همه از آن صحبت میکردند همین EVM قدرتمند آن بود.
خصیصه مهم EVM از منظر فنی این است که یک ماشین Turing کامل میباشد، به این معنا که آنقدر پیچیده است که به لحاظ نظری میتواند هرکاری را که سایر رایانهها انجام میدهند انجام دهد.
تمام کدی که اتریوم اجرا میکند میتواند به عنوان بخشی از بلاکچین ذخیره شود.
شما میتوانید app های پیچیده را روی اتریوم برنامهنویسی کنید به طوری که منطق اصلی آنها روی بلاکچین اجرا گردد. به همین دلیل، جامعه توسعه دهندگان اتریوم بسیار وسیع است. آنها app تولید کرده و زیستبوم اتریوم را توسعه میدهند.
چرا اتریوم معضل مقیاس پذیری دارد؟
سیستم اتریوم در خصوص مقیاسپذیری دچار چالشهایی است! به عنوان مثال، کل سیستم در حال حاضر فقط میتواند حدود ۱۵ تراکنش را در هر ثانیه اجرا کند. کل شبکه باید هر محاسبات را روی تمام رایانهها اجرا کند. این بدین معنا است که کل سیستم دچار مشکل گلوگاه (Bottleneck) است یعنی سیستم اتریوم محدود به سرعت پردازش کندترین رایانه متصل به شبکه میباشد!
علاوه بر اینکه اندازه خود بلاکچین اتریوم در حال افزایش است مکانیزم توافق اثبات کار (Proof-of-work) نیز دچار نارسایی است.
روشهای رفع معضل مقیاس پذیری در اتریوم
جامعه اتریوم در حال تجویز راه حلهایی برای این مشکلات مقیاسپذیری است و روی سه روش اصلی تمرکز نموده است: روش توافق اثبات سهام (Proof-of-stake)، کانالهای وضعیت (State Channels) و تقسیمبندی (Sharding) که ما آن را شاردینگ میخوانیم.
راه حل اول: روش اثبات سهام
انتقال از روش توافق اثبات کار به روش اثبات سهام باعث مرتفع شدن بسیاری از مشکلات رایانشی شبکه خواهد شد. در این روش جدید، به جای اینکه بلوکها از طریق یافتن مقدار هش معتبر استخراج شوند، متناسب با سهم ارزی که توسط هر گره آورده شده است به آنها اجازه ایجاد داده میشود. این درحالی است که روش اثبات کار از مقدار قدرت محاسباتی هر گره به عنوان معیار ایجاد بلوک بهره میبرد.
راه حل دوم: کانالهای توزیع
کانالهای توزیع به نوعی خوشهبندی تراکنشها در یک مکان به صورت خارج از زنجیره (Off-chain) گفته میشود. با گشوده شدن کانال، بلوکها به صورت یک گروه به روی زنجیره بلاکچین منتقل میشوند. این کار سبب کاهش تعداد تراکنشهای منفرد میشود که شبکه باید به طور مستقل پردازش کند و در عوض، آنها را به صورت انبوه فراهم میکند.
راه حل سوم: شاردینگ
و بالاخره به روش شاردینگ میرسیم. در این روش، شبکه به بخشهای کوچکتری به نام شارد (Shard) تقسیم شده و هر یک به طور مستقل کار میکنند و بعداً به هم میپیوندند. موانع فنی زیادی بر سر راه شاردینگ وجود دارد ولی نویدهای بزرگی برای حل مشکل مقیاسپذیری در آینده ارائه میدهد.
فعلاً جامعه فنی اتریوم برای مقیاسپذیری آدرسدهی، از یک روش ابتکاری به نام Shasper استفاده میکند که تلفیقی از روشهای اثبات سهام و شاردینگ است.
اکنون که اتریوم را شناختید بیایید ببینیم چه چیزی اتریوم را اینقدر جالب کرده است: قراردادهای هوشمند و EVM
مقایسه بیت کوین در مقابل اتریوم
خیلیها اعتقاد دارند بیت کوین، خطشکن و جریانساز بوده و موقعیتی مشابه با آنچه شبکه اجتماعی MySpace داشت، البته این بار برای فناوری بلاکچین را دارد (توضیح ماشین مجازی اتریوم مترجم: MySpace یکی از شبکههای اجتماعی پیشرو بود و نقش جریانساز را برای شبکههای اجتماعی امروزی داشت. این شبکه در حقیقت پدر شبکههای اجتماعی امروزی است). البته ما باید Satoshi Nakamoto را که نام مستعار خالق پروتکل بیت کوین است تحسین کنیم و قدردان وی باشیم. او اساساً مشکل هزینه دوبرابری را حل کرد و علوم کامپیوتر و ریاضیات را یک گام به جلو هدایت کرد.
این جمله منسوب به او است که گفت: «من بیت کوین را به یک چرتکه عظیم تشبیه میکنم که میتوانم به صورت همتا به همتا و بدون نیاز به هیچ بانک واسطهای، مهرهها را بر روی این چرتکه ارسال کنم و ما میتوانیم توکنها یا مهرههای چرتکه را در سراسر این دفترحساب توزیع شده جهانی جابجا کنیم».
پس از حدود نه سال کار دانشگاهی و پژوهش بر روی الگوریتمهای توافق (Consensus)، شبکهسازی همتا به همتا، توکنهای رمزنگارانه و از همه مهمتر ماشین مجازی، اتریوم قصد دارد همان مفهوم همتا به همتا را گرفته و آن را بر روی انواع و اقسام برنامههای نرمافزاری اعمال نماید.
اتریوم و بیتکوین هر دو ویژگیهای یکسانی را، که قلب بلاکچین هستند، به اشتراک گذاشتهاند. این ویژگیها عبارتند از: دارا بودن یک پایگاه داده بلاکچینی، یک زیرساخت شبکهسازی و معماری همتا به همتا، توکنهای رمزنگاری شده به منظور ایجاد انگیزش برای ایمنسازی شبکه و نهایتاً یک الگوریتم توافق.
تفاوت بنیادین بلاکچین با بیت کوین در ماشین مجازی است. ما بر روی ماشین مجازی اتریوم میتوانیم app ها را برنامهنویسی کنیم. در اتریوم، یک زبان برنامهنویسی به نام Solidity وجود دارد که اساساً یک رایانه جهانی ایجاد میکند، حال آنکه بیت کوین به اذعان خالق آن، منحصراً هدفش ایجاد یک چرتکه جهانی است.
زبان Solidity از زبان Java مشتق شده است و ما میتوانیم با آن app ها را برنامهنویسی کنیم.
لازم به ذکر است که هم بیت کوین و هم اتریوم از مکانیزم توافق اثبات کار (proof-of-work) استفاده میکنند.
حرکت اتریوم به سوی چهار روش جامع مقیاس پذیری
اتریوم در حال حرکت به سوی چهار ارتقای عمده در راستای مقیاسپذیری (Scalability) است. نخستین ارتقای اتریوم در جهت مقیاسپذیری، استقرار کانالهای وضعیت (State Channels) است. برای روشن شدن این مفهوم، مثالی میزنیم. اگر من تمام افرادی که در این اتاق هستند را به کافه دعوت کرده و به مدیر کافه یک کارت اعتباری بدهم آنگاه یک «کانال وضعیت» باز کردهام. اگر من برای همه افرادی که اینجا هستند نوشیدنی Shirley Temple بخرم و سپس برای هرکس یک همبرگر و سپس برای هرکس یک دسر بخرم در این صورت ما دستههایی (batches) از آن تراکنشها خواهیم داشت که میتوانند خارج از زنجیره بلاکچین یعنی اصطلاحاً off-chain اتفاق بیفتند. نهایتاً وقتی من صورتحسابم را میبندم تمام آن «دسته تراکنشها» بر روی بلاکچین بسته خواهند شد.
با این شیوه میتوان هزاران ریزتراکنش (Micro-transactions) را به صورت off-chain داشت و سپس باز کردن و بستن کانال را به صورت on-chain انجام داد.
ارتقای عمده بعدی اتریوم در راستای مقیاسپذیری، حرکت از مکانیزم توافق «اثبات کار» به سوی مکانیزم توافق «اثبات سهام» است. در این صورت از شر استخراج (ماین کردن) سختافزاری که در مکانیزم اثبات کار وجود دارد و خیلی هم انرژی را اتلاف میکند خلاص خواهیم شد و به جای آن از سپردهها برای توافق بر روی وضعیت شبکه استفاده خواهیم کرد.
ارتقای عمده بعدی اتریوم، قطعهبندی یا اصطلاحاً شاردینگ (Sharding) است. در این روش، شاردهای پایگاه داده در خصوص وضعیت شبکه با یکدیگر توافق میکنند و دیگر لازم نیست همه بازیگران شبکه، درگیر فرآیند توافق بشوند.
و سرانجام، به آخرین ارتقای عمده اتریوم که نامش پلاسما است میرسیم. ایده پلاسما از یک مقاله وایت پیپر (White Paper) برگرفته شده است که توسط دو محقق به نامهای Vital Puterin و Joseph Pune به رشته تحریر درآمد. در روش پلاسما اتریوم به عنوان لایه زیستگاه (settlement layer) در نظر گرفته میشود و بلاکچینهای فرزند و نوه به صورت عمودی بر روی آن سوار میشوند.
با توجه به مطالب گفته شده نتیجه میگیریم نوع طراحی اتریوم به گونهای است که به عنوان بستری برای ایجاد برنامههای توزیع شده عمل میکند.
به عقیده من، اتریوم نسبت به بیت کوین دارای قابلیتهای نامحدودی برای ایجاد برنامههای app است. طبق شواهد، در بیت کوین همه افراد به فکر قیمت هستند ولی در جوامع اتریوم، هزاران و صدها هزار توسعهدهنده به دنبال ساختن نرمافزار هستند.
معتقد هستم که بیت کوین به منزله یک جایگزین برای طلا و ذخیره نمودن ارزشها بوده و یک ابزار ضدتورم به منظور کنترل داراییهای جامعه محسوب میشود. از سوی دیگر، آنچه در اتریوم شاهدش هستیم نویدبخش ظهور اینترنت نسل آینده خواهد بود.
اتریوم
اتریوم Ethereum یک بلاکچین غیرمتمرکز و منبع باز با قابلیت قرارداد هوشمند است. اتر (ETH) رمز ارز بومی این سیستم عامل است. بعد از بیت کوین، اتر دومین ارز دیجیتالی از نظر مارکت کپ و فعال ترین بلاک چین است.
اتریوم از این جهت به عنوان نسل دوم ارزهای دیجیتال شناخته میشود. تمرکز نسل اول ارزهای دیجیتال مانند بیت کوین بر روی پرداخت همتا به همتا است در حالی که نسل دوم ارزهای دیجیتال، به دنبال ایجاد بستری برای غیرمتمرکز کردن سایر فعالیتهای انسانی نیز هستند.
ویژگیهای اتریوم: خدمات مالی، حفظ حریم خصوصی، حذف واسطهها، مقاوم در برابر سانسور، توسعه دائمی
استانداردهای اتریوم: ERC-20، ERC-721، ERC-777، ERC-1155
قراردادهای هوشمند: قوانینی که تعیین می کند پول تحت چه شرایطی جا به جا شود.
ماشین مجازی (EVM): بخشی از اتریوم که قوانین را اجرا می کند و مطمئن می شود که یک معامله یا قرارداد هوشمند ارائه شده از قوانین پیروی می کند.
قابلیت استخراج: ندارد – الگوریتم اجماع اثبات سهام / استخراج ETHW (توکن اتر بر اساس الگوریتم اجماع اثبات کار)
اتریوم۲ یک ارتقاء گسترده در شبکه Ethereum است که باعث تغییر الگوریتم اجماع این بلاکچین از اثبات کار (PoW) به اثبات سهام (PoS) شد. عملیات مرج یا ادغام در تاریخ 15 سپتامبر یا 24 شهریور انجام شده است.
اتریوم یکی از پروژههای قوی در بازار ارزهای دیجیتال است. این ارز دیجیتال در سال 2015 توسط ویتالیک بوترین به عنوان پلتفرمی برای طراحی قراردادهای هوشمند و ایجاد اپلیکیشنهای غیرمتمرکز منتشر شد. توسعهدهندگان میتوانند با استفاده از زبانهای برنامهنویسی مختلف مانند «سالیدیتی»، قراردادهای هوشمند خود را ایجاد و در شبکه قرار دهند.
دیدگاه شما