اتریوم و قرارداد هوشمند

اتریوم اولین پلتفرم از نسل دوم شبکه‌های بلاکچین است، که محدودیت‌های موجود در شبکه‌های نسل اول، همانند بیت کوین را ندارد. هدف اتریوم ساخت یک پروتکل جایگزین، برای توسعه برنامه‌های غیرمتمرکز با استفاده از یک سری از تبادلات که برای کلاس‌های بزرگ برنامه مفید است، می‌باشد. با تأکید بر توسعه سریع و امن برنامه‌های کوچک و کم استفاده، اتریوم تمام این کار‌ها را با استفاده از یک ماشین تورینگ کامل تعبیه‌شده داخلی انجام می‌دهد، که به دیگران اجازه ایجاد قوانین خودشان را می‌دهد. اتریوم به دلیل داشتن ویژگی‌های متفاوتی نظیر سادگی، همگانی بودن، ماژولار بودن، چابکی، عدم تبعیض و عدم سانسور مورد توجه قرار گرفته است.

        قراردادهای هوشمند، برنامه‌هایی هستند که برای جهت دهی به تراکنش‌ها، توسط کاربرها طراحی می‌شوند. این قراردادها از یک‌سری شرط “اگر-در غیر این صورت- سپس” تشکیل شده‌اند و همانند دیگر کاربرهای درون شبکه، دارای آدرس هستند و توانایی انجام تراکنش‌های مالی را دارند. قراردادهای هوشمند زمانی که درشبکه مستقر می‌شوند، تغییر دادن آن‌ها غیر ممکن خواهد بود ولی قابلیت ردیابی را توسط دیگر کاربران خواهند داشت . برنامه نویس قرارداد در صورت اشتباه در نوشتن قرارداد، ممکن است باعث از دست رفتن سرمایه زیادی از جانب استفاده‌کننده‌های قرارداد شود، پس باید دقت لازم برای عادلانه بودن شرط‌ها برای دو طرف قرارداد و ساخت برنامه بدون ایراد به کار برده شود.

ساختار تراکنش در اتریوم

        اطلاعات تمامی تراکنش‌های اتریوم به صورت رسمی دریافت می‌شود. همچنین تمامی اجزای مختلفی که در ساختار تراکنش اتریوم موجود است به شرح زیر می‌باشد:

  • Transaction Hash: هش تراکنش، که یک رشته درهم ریخته شده از تراکنش با طول ثابت است؛ که هر تراکنش یک رشته منحصر بفرد دارد و با تغییر هریک از اجزای تراکنش این رشته نیز تغییر پیدا می‌کند.
  • Status: وضعیت کنونی تراکنش را نشان می‌دهد؛ که شامل سه حالت موفق، درحال انتظار و ناموفق است.
  • Block: شماره بلاکی که تراکنش داخل آن ثبت شده را نشان می‌دهد.
  • Timestamp: مهر زمانی تراکنش، که نشان دهنده زمان ماین شدن تراکنش است.
  • From: فرستنده تراکنش را نشان می‌دهد، که می‌تواند کاربر معمولی و یا قرارداد هوشمند باشد.
  • To: گیرنده تراکنش را نشان می‌دهد، که می‌تواند کاربر معمولی و یا قرارداد هوشمند باشد.
  • Value: مقدار فرستاده شده توسط تراکنش را به Ether و ارزش آن به پول فیات را نشان می‌دهد.
  • Transaction Fee: مقدار دستمزد پرداخت شده به ماینر برای انجام پردازش را نشان می‌دهد.
  • Gas: یک روش برای محاسبه تعداد گام‌های پردازشی مورد نیاز تراکنش و یا قرارداد است.
  • Gas Limit: بیشترین مقدار gas فراهم شده برای تراکنش؛ که برای تراکنش‌های معمولی 21000 است و برای قراداد‌ها این مقدار بیشتر است و بستگی به محدودیت gas در بلاک دارد.
  • Gas Used by Transaction: مقدار دقیق gas استفاده شده توسط تراکنش را نشان می‌دهد.
  • Gas Price: قیمتی که به ازای هر واحد gas در تراکنش به Ether و یا Gwei تعیین شده است.
  • Nonce: عدد ترتیبی، که برای نشان دادن توالی تراکنش‌های ارسال شده توسط یک آدرس، استفاده می‌شود که مقدار آن از 0 شروع می‌شود.
  • Input Data: نشان دهنده اطلاعات اضافی مورد نیاز برای تراکنش است.

        اصطلاح Ether (ETH) به واحد پولی در شبکه اتریوم نسبت داده می‌شود و هر ETH شامل 109 واحد Gwei است.

شکل زیر نشان دهنده مثالی از یک تراکنش ثبت شده موفق در اتریوم است.تراکنش اتریوم

منابع

Buterin and Others. (2014). A next-generation smart contract and decentralized application platform [Online] https://github.com/ethereum/wiki/wiki/White-Paper

K. Delmolino, M. Arnett, A. Kosba, A. Miller, and E. Shi, “Step by step towards creating a safe smart contract: Lessons and insights from a cryptocurrency lab,” in International conference on financial cryptography and data security: Springer, 2016, pp. 79-94. DOI: https://doi.org/10.1007/978-3-662-53357-4_6

Ethereum Transactions Information  [Online]  https://etherscan.io/txs