رمز ۱۱۲مرحلهٔ پایه، درس ۱۲ از ۲۲ مبانی کریپتو
اتریوم چیست و چه فرقی با بیتکوین دارد
اتریوم چیست، اتر چه نقشی در شبکه دارد و این بلاکچین برنامهپذیر از نظر هدف، عرضه و سازوکار اجماع چه فرقی با بیتکوین دارد؛ به زبان ساده.
اتریوم (Ethereum) یک بلاکچین عمومی است که پیشنهاددهندهٔ اصلیاش ویتالیک بوترین بود و در ۳۰ ژوئیهٔ ۲۰۱۵ رسماً راهاندازی شد [۱]. تفاوت اصلی آن با بیتکوین در هدف طراحی است؛ بیتکوین عمداً ساده ساخته شد تا ارزش را بیواسطه جابهجا کند، اما اتریوم بلاکچین را برنامهپذیر کرد تا هر کسی بتواند برنامههای خوداجرایی به نام قرارداد هوشمند بنویسد و منتشر کند [۲]. «اتر» (ETH) هم نام واحد پول بومی همین شبکه است که کارمزدها با آن پرداخت میشود.
اتریوم در یک جمله؛ یک رایانهٔ جهانی مشترک
برای فهم اتریوم، رایانهٔ بزرگی را تصور کنید که مالک واحدی ندارد و نسخهای از آن روی هزاران رایانهٔ مستقل در سراسر جهان اجرا میشود. هر کسی میتواند برنامهای روی آن بگذارد، هر کسی میتواند آن برنامه را فراخوانی کند و همهٔ رایانهها نتیجه را یکسان محاسبه و ثبت میکنند. این تصویر سادهسازیشده است، اما روح اصلی اتریوم را نشان میدهد؛ بلاکچینی که فقط دفتر ثبت موجودیها نیست، بلکه کد برنامهها و وضعیت آنها را هم نگه میدارد.
در بلاکچین بیتکوین، پرسش اصلی شبکه این است که «چه کسی چه مقدار بیتکوین دارد و چه کسی به چه کسی پول فرستاد». در اتریوم، علاوه بر این پرسش، شبکه باید بداند «وضعیت هر برنامه اکنون چیست و اگر کسی آن را با این ورودی فراخوانی کند، نتیجه چه میشود». همین لایهٔ اضافه، اتریوم را از یک دفتر کل ساده به بستری برای ساختن برنامه تبدیل میکند.
اگر هنوز با مفهوم دفتر کل مشترک، بلوک و گره (نود) آشنا نیستید، بهتر است پیش از ادامه راهنمای جامع کریپتو برای مبتدی را بخوانید؛ این درس فرض میکند این مفاهیم پایه را میشناسید.
از ایده تا راهاندازی
ایدهٔ اتریوم نخست در وایتپیپر آن مطرح شد که در نوامبر ۲۰۱۳ منتشر شد؛ پس از آن در تابستان ۲۰۱۴ یک تأمین مالی جمعی برگزار شد و شبکه سرانجام در ۳۰ ژوئیهٔ ۲۰۱۵ به کار افتاد [۱]. پیشنهاددهندهٔ اصلی این طرح ویتالیک بوترین بود، اما امروز شبکه را یک نفر یا یک شرکت اجرا نمیکند؛ اجرای آن در دست گرههای مستقلی است که همه از قواعد یکسانی پیروی میکنند و تغییر این قواعد به همراهی گستردهٔ همین گرهها نیاز دارد.
اتر و نقش آن در شبکه
یکی از رایجترین سردرگمیهای مبتدیان، یکیگرفتن «اتریوم» و «اتر» است. اتریوم نام شبکه و پروتکل است و اتر نام دارایی بومی آن. وقتی در یک کیف پول یا فهرست رمزارزها عبارت ETH را میبینید، منظور اتر است، نه خود شبکه.
اتر در شبکه چند نقش مشخص دارد:
- پرداخت کارمزد: هر تراکنش یا فراخوانی برنامه به مقداری محاسبه نیاز دارد و هزینهٔ آن با اتر پرداخت میشود. همین کارمزد مانع میشود که کسی با ارسال انبوه دستورهای بیفایده، شبکه را از کار بیندازد.
- پاداش اعتبارسنجها: اتر تازه بهعنوان پاداش به اعتبارسنجها (ولیدیتورها) داده میشود؛ یعنی کسانی که بلوکها را پیشنهاد و تأیید میکنند [۲].
- وثیقهٔ امنیت شبکه: در سازوکار فعلی اتریوم، اعتبارسنجها باید مقداری اتر را بهعنوان وثیقه قفل کنند؛ این موضوع را در بخش «ادغام» توضیح میدهیم.
منطق عرضهٔ اتر هم با بیتکوین فرق دارد. بر پایهٔ توضیح سایت رسمی اتریوم، عرضهٔ بیتکوین سقف ثابت ۲۱ میلیون واحد دارد، اما عرضهٔ اتر پویاست؛ از یک سو اتر تازه به اعتبارسنجها پرداخت میشود و از سوی دیگر بخشی از کارمزد هر تراکنش برای همیشه سوزانده میشود [۲]. در نتیجه، کل اتر موجود بسته به میزان فعالیت شبکه ممکن است در دورهای بیشتر و در دورهای کمتر شود. این ویژگی بهخودیخود خوب یا بد نیست؛ فقط یعنی قاعدهٔ عرضهٔ این دو دارایی یکی نیست و نباید آنها را با یک معیار سنجید.
روی شبکهٔ اتریوم داراییهای دیگری هم ساخته میشود که به آنها توکن میگویند. توکنها با قرارداد هوشمند تعریف میشوند و برخی استیبلکوینها هم نسخهای روی همین شبکه دارند. نکتهٔ کاربردی این است که توکن، اتر نیست؛ حتی برای جابهجاکردن یک توکن روی شبکهٔ اصلی اتریوم، کارمزد را باید با اتر پرداخت کرد.
اتریوم، اتر، ETH
«اتریوم» نام شبکه است، «اتر» نام دارایی بومی آن و ETH نماد اختصاری همان اتر. در بسیاری از متنهای فارسی و انگلیسی، «اتریوم» بهجای «اتر» هم به کار میرود؛ در این درس، برای دقت، این دو را جدا نگه میداریم.
ماشین مجازی و قرارداد هوشمند
قلب برنامهپذیری اتریوم «ماشین مجازی اتریوم» یا EVM (Ethereum Virtual Machine) است. طبق مستندات رسمی اتریوم، EVM محیط اجرایی غیرمتمرکزی است که کد را روی همهٔ نودهای اتریوم بهطور یکسان و امن اجرا میکند [۳]. «یکسان» کلیدیترین واژهٔ این تعریف است؛ اگر یک برنامه روی گرهای در آسیا و گرهای در اروپا اجرا شود، هر دو باید دقیقاً به یک نتیجه برسند، وگرنه شبکه دربارهٔ وضعیت مشترک به توافق نمیرسد.
نودها قراردادهای هوشمند را با EVM اجرا میکنند و مقدار محاسبهای که هر عملیات لازم دارد با واحدی به نام «گس» (Gas) سنجیده میشود [۳]. هرچه کار پیچیدهتر باشد، گس بیشتری مصرف میکند. چون ظرفیت هر بلوک محدود است، وقتی تقاضا زیاد میشود کارمزد هر واحد گس هم بالا میرود و وقتی شبکه خلوت است پایین میآید. توضیح کامل این سازوکار در درس کارمزد شبکه (Gas Fee) و دلیل تغییر آن آمده است.
از نظر فنی، EVM یک ماشین پشتهای با عمق ۱۰۲۴ آیتم است و هر آیتم یک واژهٔ ۲۵۶ بیتی است [۳]. حفظکردن این جزئیات لازم نیست؛ فقط نشان میدهد EVM محیطی با قواعد دقیق و محدودیتهای مشخص است که به گرههای مستقل اجازه میدهد به یک نتیجهٔ واحد برسند.
قرارداد هوشمند در یک نگاه
گزارش NISTIR ۸۲۰۲ مؤسسهٔ ملی استاندارد و فناوری آمریکا (NIST)، قرارداد هوشمند را مجموعهای از کد و داده تعریف میکند که گاهی «توابع» و «وضعیت» نامیده میشوند و روی بلاکچینی مانند اتریوم مستقر میشود؛ تراکنشهای بعدی میتوانند به توابع عمومی آن داده بفرستند [۴].
به زبان سادهتر، قرارداد هوشمند شبیه دستگاه فروش خودکار است؛ قواعد از پیش در آن نوشته شده و اگر ورودی درست را بدهید، خروجی مشخص را بدون دخالت فروشنده تحویل میدهد. تفاوت مهم این است که کد قرارداد برای همه قابل مشاهده است و پس از استقرار معمولاً بهسادگی قابل تغییر نیست. این ویژگی هم مزیت است و هم خطر؛ مزیت، چون کسی نمیتواند قواعد را پنهانی عوض کند، و خطر، چون اگر در کد اشتباهی باشد، آن اشتباه هم به همان اندازه ماندگار است.
نکته
این درس فقط قرارداد هوشمند را معرفی میکند. در درس بعدی مسیر یادگیری، سازوکار آن، کاربردها و خطاهای رایجش را جداگانه بررسی میکنیم.
تفاوتهای اصلی با بیتکوین
بیتکوین و اتریوم هر دو بلاکچین عمومیاند، هر دو واحد پول بومی دارند و در هر دو، تراکنش پس از تأیید در دفتری مشترک ثبت میشود که هیچ نهاد واحدی آن را کنترل نمیکند. اما در طراحی، چند تفاوت پایهای دارند که جدول زیر بر پایهٔ مقایسهٔ سایت رسمی اتریوم خلاصه کرده است [۲].
| موضوع | بیتکوین | اتریوم |
|---|---|---|
| هدف اصلی طراحی | جابهجایی بیواسطهٔ ارزش با طراحی عمداً ساده | بستری برنامهپذیر برای اجرای قراردادهای هوشمند |
| واحد پول بومی | بیتکوین (BTC) | اتر (ETH) |
| منطق عرضه | سقف ثابت | پویا؛ صدور پاداش و سوزاندن بخشی از کارمزد |
| سازوکار اجماع | اثبات کار | اثبات سهام، پس از «ادغام» |
| آنچه شبکه نگه میدارد | موجودیها و تاریخچهٔ تراکنشها | موجودیها، کد قراردادها و وضعیت آنها |
هر یک از این تفاوتها نتیجهٔ یک انتخاب آگاهانه است. سادگی بیتکوین یعنی بخشهای کمتری که ممکن است خطا کنند و قواعدی که کمتر تغییر میکنند. در مقابل، برنامهپذیری اتریوم امکان ساختن انواع برنامه را فراهم میکند و در عوض پیچیدگی بیشتری به سامانه میافزاید؛ هم برای کسانی که شبکه را توسعه میدهند و هم برای کاربری که باید بفهمد با چه قراردادی سروکار دارد.
تفاوت به معنای برتری نیست
این جدول نمیگوید کدام شبکه بهتر است و نباید مبنای هیچ تصمیم مالی شود. هر کدام از این دو شبکه چیزی را در اولویت گذاشته و بهای آن را هم پرداخته است؛ شناختن این انتخابها کمک میکند ادعاهای اغراقآمیز دربارهٔ هر دو را بهتر تشخیص دهید.
ادغام و تغییر سازوکار اجماع
در سالهای نخست، اتریوم هم مانند بیتکوین از اثبات کار استفاده میکرد؛ یعنی ماینرها با صرف توان محاسباتی و برق برای ساختن بلوک بعدی رقابت میکردند. در ۱۵ سپتامبر ۲۰۲۲، شبکه با بهروزرسانیای به نام «ادغام» (The Merge) سازوکار اجماع خود را از اثبات کار به اثبات سهام تغییر داد [۵].
نام «ادغام» از آنجا آمده که لایهٔ اجماع تازهٔ مبتنی بر اثبات سهام، که مدتی بهطور جداگانه اجرا میشد، با شبکهٔ اصلی یکی شد. از آن پس، بهجای ماینرها، اعتبارسنجها بلوکها را پیشنهاد و تأیید میکنند و بهجای صرف برق، اتر را بهعنوان وثیقه قفل میکنند؛ کاری که به آن «استیکینگ» (Staking) میگویند. اگر اعتبارسنجی قواعد را زیر پا بگذارد، بخشی از وثیقهاش ممکن است از دست برود و همین خطر مالی، انگیزهٔ رفتار درست را میسازد. برای مقایسهٔ دقیق این دو روش، درس تفاوت اثبات کار و اثبات سهام را ببینید.
برای کاربر عادی، ادغام تغییری در موجودی یا تاریخچهٔ تراکنشها ایجاد نکرد؛ همان حسابها و همان اتر پس از تغییر سازوکار اجماع سر جای خود ماند. آنچه عوض شد، شیوهٔ توافق شبکه بر سر بلوک بعدی و منطق صدور اتر تازه بود.
هشدار
بهروزرسانیهای بزرگ شبکه معمولاً بهانهٔ کلاهبرداری میشوند. اگر پیامی از شما خواست به دلیل «ارتقای شبکه» اتر خود را به نشانی خاصی بفرستید، آن را «تبدیل» کنید یا عبارت بازیابی کیف پولتان را وارد کنید، آن را نشانهٔ جدی کلاهبرداری بدانید. در ادغام، دارندگان اتر برای حفظ موجودی خود لازم نبود کاری انجام دهند.
ریسکها و محدودیتهایی که باید دانست
برنامهپذیری همان چیزی است که اتریوم را متفاوت میکند، اما همین ویژگی ریسکهایی میآورد که در یک شبکهٔ سادهتر کمتر دیده میشود.
باگ در کد قرارداد
مشهورترین نمونه، ماجرای The DAO است. این صندوق سرمایهگذاری جمعی که حدود ۱۵۰ میلیون دلار اتر جمع کرده بود، چند هفته بعد هدف حمله قرار گرفت؛ در ۱۷ ژوئن ۲۰۱۶ مهاجم با سوءاستفاده از باگی به نام «ریانترنسی» (reentrancy) در کد قرارداد، نزدیک ۳٫۶ میلیون اتر، یعنی حدود یکسوم صندوق، را خارج کرد [۶]. نکتهٔ آموزنده این است که مشکل در خود شبکهٔ اتریوم نبود، بلکه در کد یک قرارداد بود؛ شبکه دقیقاً همان کاری را کرد که کد اجازه میداد.
این رویداد به تصمیمی بحثبرانگیز در جامعهٔ اتریوم و انشعاب شبکه (Hard Fork) انجامید و اثرش تا سالها باقی ماند. ده سال بعد، بیش از ۷۵٬۰۰۰ اتر بازیابیشده و مطالبهنشده از همان ماجرا به صندوقی برای امنیت اتریوم اختصاص یافت [۶].
کارمزد متغیر و ظرفیت محدود
ظرفیت هر بلوک محدود است و در ساعتهای شلوغ، کارمزد بالا میرود. برای کاربری که مبلغ کمی جابهجا میکند، کارمزد ممکن است نسبت به خود مبلغ قابل توجه باشد. شبکههای لایهٔ دوم برای کاهش همین هزینه ساخته شدهاند؛ آنها تراکنشها را بیرون از شبکهٔ اصلی پردازش میکنند و نتیجه را روی اتریوم ثبت میکنند، اما پیچیدگی و ریسکهای خاص خودشان را هم دارند.
پیچیدگی، توکنهای جعلی و تراکنش برگشتناپذیر
روی اتریوم هر کسی میتواند توکن بسازد و نام و نشان هر پروژهٔ دیگری را برای آن انتخاب کند. به همین دلیل، دیدن یک نام آشنا در کیف پول به معنای اصلبودن آن نیست؛ راههای تشخیص را در درس تشخیص توکنهای جعلی و پروژههای اسکم ببینید. از سوی دیگر، تراکنش تأییدشده برگشتپذیر نیست و هیچ مرجعی نمیتواند اتر ارسالشده به نشانی اشتباه را پس بگیرد.
پیش از هر تعامل با یک قرارداد
- تراکنش تأییدشده در اتریوم برگشتپذیر نیست؛ نشانی و شبکهٔ مقصد را پیش از ارسال دوباره بررسی کنید.
- «مجوز خرج» (Approve) دادن به یک قرارداد ناشناس ممکن است به آن اجازه دهد توکنهای شما را جابهجا کند.
- عمومیبودن کد قرارداد به این معنا نیست که کسی آن را بررسی کرده یا خالی از باگ است.
- هر پروژهای که روی اتریوم وعدهٔ بازده ثابت یا «سود تضمینی» میدهد، نشانهٔ هشدار است، نه دلیل اعتماد.
جمعبندی و قدم بعدی
اتریوم را میتوان بلاکچینی دانست که بهجای تمرکز فقط بر جابهجایی ارزش، برای اجرای برنامه ساخته شده است. اتر سوخت این سامانه است، EVM موتور اجرای آن و قرارداد هوشمند برنامههایی که روی آن اجرا میشوند. تفاوتهایش با بیتکوین از هدف طراحی میآید، نه از برتری یکی بر دیگری، و ریسکهایش هم بیشتر از همان پیچیدگیای سرچشمه میگیرد که امکاناتش را ممکن کرده است.
اگر این درس را خواندید، شناختی پایه از دو شبکهٔ مهم کریپتو دارید. برای دیدن بقیهٔ درسهای این مرحله به صفحهٔ مبانی کریپتو برگردید، و اگر هنوز مسیر مشخصی برای یادگیری ندارید، راهنمای شروع یادگیری کریپتو ترتیب پیشنهادی درسها را نشان میدهد.
خودتان را بسنجید
اتریوم و اتر یک چیزند؟
نه. اتریوم نام شبکه و پروتکل است و اتر (ETH) واحد پول بومی آن. کارمزد تراکنشها و اجرای قراردادهای هوشمند با اتر پرداخت میشود. در گفتوگوی روزمره گاهی این دو را به جای هم به کار میبرند، اما در متن دقیق بهتر است از هم جدا شوند.
عرضهٔ اتر مثل بیتکوین محدود است؟
نه. بر پایهٔ سایت رسمی اتریوم، عرضهٔ بیتکوین سقف ثابت ۲۱ میلیون واحد دارد، اما عرضهٔ اتر پویاست. اتر تازه بهعنوان پاداش به اعتبارسنجها داده میشود و بخشی از کارمزد هر تراکنش برای همیشه سوزانده میشود؛ بنابراین کل عرضه بسته به میزان فعالیت شبکه تغییر میکند.
چرا تراکنش در اتریوم کارمزد متغیر دارد؟
هر عملیات در اتریوم مقداری محاسبه لازم دارد که با واحدی به نام «گس» سنجیده میشود. جای هر بلوک محدود است و وقتی کاربران بیشتری همزمان تراکنش میفرستند، رقابت برای ثبتشدن، کارمزد هر واحد گس را بالا میبرد. کار پیچیدهتر، مثل فراخوانی یک قرارداد هوشمند، هم گس بیشتری از یک انتقال ساده مصرف میکند.
اتریوم جایگزین بیتکوین است؟
این دو برای هدفهای متفاوتی طراحی شدهاند؛ بیتکوین عمداً ساده است تا ارزش را بیواسطه جابهجا کند و اتریوم بستری برنامهپذیر برای قراردادهای هوشمند است. به همین دلیل مقایسهٔ آنها بیشتر مقایسهٔ دو طراحی است تا رقابت برای یک جایگاه. رمزکلاس دربارهٔ اینکه کدام بهتر است یا کدام را باید نگه داشت نظری نمیدهد.
منابع
- ethereum.org: تاریخچه، بنیانگذار و مالکیت اتریوم مشاهدهٔ منبع ethereum.org: تاریخچه، بنیانگذار و مالکیت اتریوم
- Ethereum vs Bitcoin: what is the difference? | ethereum.org مشاهدهٔ منبع Ethereum vs Bitcoin: what is the difference? | ethereum.org
- Ethereum Virtual Machine (EVM) | ethereum.org مشاهدهٔ منبع Ethereum Virtual Machine (EVM) | ethereum.org
- NISTIR 8202 Blockchain Technology Overview Dylan Yaga Peter Mell Nik Roby مشاهدهٔ منبع NISTIR 8202 Blockchain Technology Overview Dylan Yaga Peter Mell Nik Roby
- ethereum.org: ادغام (The Merge) مشاهدهٔ منبع ethereum.org: ادغام (The Merge)
- The DAO hack at 10: From $50 million exploit to a $130 million Ethereum security fund | The Block مشاهدهٔ منبع The DAO hack at 10: From $50 million exploit to a $130 million Ethereum security fund | The Block