تراکنشها در اتریوم
در این بخش میخواهیم به بررسی نحوه ایجاد تراکنش در شبکه اتریوم بپردازیم. با توجه به اینکه در شبکه اتریوم علاوه بر حساب شخصی، حسابهای قرارد هوشمند نیز وجود دارند، انجام تراکنش در این شبکه میتواند به سه حالت مختلف انجام شود. تراکنش در اصل یک پیام است که از حساب شخصی به یک حساب شخصی دیگر یا قرارداد هوشمند ارسال میشود. ارسال تراکنش به شبکه باعث تغییر در حالت آن میشود. حسابهای شخصی با استفاده از کلید خصوصی تراکنشها را امضا میکنند تا از این طریق امکان بررسی اطلاعات ارسال کننده تراکنش وجود داشته باشد. تراکنشها زمانی در شبکه ثبت میشوند که توسط ماینرها تایید شوند و داخل یک بلاک قرار گیرند.
حسابهای قرارداد هوشمند بر خلاف حسابهای شخصی قادر به ارسال تراکنش نیستند چراکه قرارداد هوشمند کلید خصوصی ندارد. قرارداد هوشمند شامل کدهای از پیش تعیین شده است که میتواند یک پیام به یک حساب شخصی یا قرارداد هوشمند دیگر ارسال کند. این پیام میتواند شامل توکنهای اتریوم باشد یا اینکه تنها حاوی اطلاعات مورد نیاز قراردادهای مختلف باشد. بنابراین، اگر دادهای به یک قرارداد هوشمند ارسال شود، قرارداد با آن مثل یک ورودی رفتار میکند و اگر ورودی با توجه به کدهای نوشته شده معتبر باشد، در این صورت پیام خروجی متناظر ارسال میشود.
تراکنش نوع اول
سادهترین نوع تراکنش مربوط به تراکنشهای همتا به همتا است که در آن یک شخص با استفاده از کیف پول خود مقادیر معینی اتریوم به کیف پول یک شخص دیگر ارسال میکند. در این حالت، تراکنش مورد نظر پس از تایید توسط ماینرها و قرار گرفتن در بلاک، انجام شده و انتقال اتریوم صورت میگیرد و شبکه با اطلاعات جدید بهروزرسانی میشود. این تراکنش مشابه همان تراکنشی است که در نسل اول ارزهای دیجیتال قابل مشاهده است.
تراکنش نوع دوم
نوع دوم تراکنشها در اتریوم، مربوط به ساخت قرارداد هوشمند است. ساخت قرارداد هوشمند در شبکه اتریوم به وسیله ایجاد یک تراکنش انجام میشود. در این حالت نیاز است که شما از طریق کیف پول خود یک تراکنش برای آدرس مشخص شده برای ساخت قراردادهای هوشمند ارسال کنید. با این کار، قرارداد مورد نظر با کدها و اطلاعاتی که نوشته شده در شبکه اتریوم ذخیره میشود و نتیجه این اتفاق در بلاک ذخیره شده و به بلاک چین اضافه میشود. پس از آن، میتوان از قرارداد هوشمند برای مقاصد تعریف شده استفاده کرد.
کلیه قراردادهای هوشمندی که بر بستر اتریوم فعالیت میکنند با استفاده از این نوع تراکنش به شبکه اضافه شدهاند. در واقع توکنهای مختلفی که در شبکه اتریوم وجود دارند هر کدام مقادیر توکنهای هر فرد را داخل قرارداد هوشمند خود ذخیره دارند و خرج کردن آنها به صورت مستقیم در شبکه قابل انجام نیست چراکه سوخت شبکه توکن اصلی آن یعنی اتریوم است و نمیتوان از سایر توکنها برای این منظور استفاده کرد. برای خرج توکنهای ساخته شده در قرادادهای هوشمند، کاربران به نوع سوم تراکنشها نیاز دارند.
تراکنش نوع سوم
این تراکنش ترکیبی از دو حالت قبلی است. در این حالت کاربر از یک قرارداد هوشمند برای انجام فعالیت تعریف شده برای آن استفاده میکند. بنابراین، ابتدا یک تراکنش از کیف پول شخص به یک قرارداد هوشمند ارسال میشود. بسته به توابع نوشته شده برای قرارداد هوشمند مورد نظر نتیجه این تراکنش میتواند فراحوانی یک قرارداد هوشمند دیگر یا ارسال اتر توسط قرارداد به حساب شخص دیگر باشد. در نهایت، تراکنش پس از تایید و ثبت در یک بلاک توسط ماینرها، نهایی شده و اطلاعات حسابهای شخصی و قراردادهای هوشمند بهروزرسانی میشود.
برای درک این نوع تراکنش بررسی انتقال توکنهای ساخته شده در شبکه اتریوم میتواند مفید باشد. فرض کنید می خواهید مقداری از توکنهای ارز دیجیتال تتر خود را در شبکه اتریوم به کاربر دیگری ارسال کنید. شما با ایجاد پیام درخواست در کیف پول خود تراکنش مورد نظر را در شبکه ثبت میکنید. این تراکنش به قرارداد هوشمند مربوط به تتر ارجاع داده میشود و این قراداد با بررسی کیف پول شما مقدار توکنهای تتر درخواستی را به حساب کاربر مورد نظر در آن قرارداد ارسال میکند.
هزینه Gas در اتریوم چیست ؟
برای ثبت هر تراکنش در شبکه اتریوم کاربر باید کارمزد ثبت آن را پرداخت کند. این هزینه با عنوان هزینه گاز (Gas Fee) در شبکه اتریوم مشخص میشود. الگوریتم شبکه به گونهای است که علاوه بر هزینه گاز میتوان محدودیت آن را نیز مشخص کرد. این مساله معادل پرداخت هزینه بنزین برای یک ماشین باربری است. شما میتوانید هزینه ۱۰ لیتر بنزین را با لیتری ۳ هزار تومان به راننده پرداخت کنید. در شبکه اتریوم ماینرها تراکنشهایی را که هزینه گاز زیادی دارند زودتر از دیگر تراکنشها در بلاک قرار میدهند چراکه هزینه کارمزدها بخش از درآمد آنها است.
بنابراین، میتوان گفت مقدار هزینه تراکنش در این شبکه مقدار ثابتی نیست و کاربران میتوانند مقادیری متفاوتی را برای آن در نظر بگیرند. اما تراکنشهایی در اولویت هستند که هزینه تراکنش در آنها بالا است. به همین دلیل در روزهایی که فعالیت در شبکه اتریوم بالا است، هزینه تراکنشها بسیار بالا میروند و اگر هزینه کمتری برای تراکنش در نظر گرفته شود تراکنش ثبت نمیشود تا اینکه در زمان مناسب که هزینه تراکنش پایین است بتوان آن را ثبت کرد. بدون وجود هزینه تراکنش احتمال ایجاد تراکنشهای تقلبی در شبکه زیاد است که ممکن است کارایی شبکه را به خطر بیاندازد.
Gwei در اتریوم چیست ؟
در بخش هزینه Gas در اتریوم چیست گفته شد که برای ثبت تراکنشها در شبکه اتریوم نیاز به پرداخت کارمزد تراکنش است اما یک اتریوم برای این کار واحد بزرگی است. برای اتریوم واحدهای مختلفی وجود دارد که معروفترین آنها «وی» (wei) است. هر وی برابر با ۱۰ به توان منفی ۱۸ اتریوم است که نشاندهنده کوچکترین واحد برای اتریوم است. این واحد برای هزینه کارمزدهای اتریوم بسیار کوچک است از طرفی خود اتریوم نیز واحد بزرگی برای این هزینه حساب میشود.
به همین دلیل از «Gwei» یا همان «گیگاوی» که برابر با ۱۰ به توان ۹ وی است برای هزینه Gas در اتریوم استفاده میشود. بنابراین هر اتریوم معادل یک میلیارد جیوی است و از این مقدار میتوان برای تبدیل مقادیر اتریوم به یکدیگر استفاده کرد. این اسم به افتخار Wei Dai دانشمند حوزه کامپیوتر که مفاهیم رمزارزهای مدرن را فرمولبندی کرده، انتخاب شده است.