سه استاندارد برجسته در شبکه اتریوم که سنگ بنای بسیاری از پروژههای موفق بودهاند، ERC-20، ERC-721 و ERC-1155 هستند. هر یک از این استانداردها با هدف خاصی طراحی شده و قابلیتهای منحصربهفردی را ارائه میدهند که آنها را برای کاربردهای متفاوتی مناسب میسازد. این مقاله به صورت عمیق و جامع به بررسی و مقایسه این سه استاندارد کلیدی میپردازد. ما با تحلیل نیت کاربر از جستجوی این موضوع، که همانا درک تفاوتهای بنیادین، موارد استفاده و مزایا و معایب هر استاندارد است، تلاش میکنیم تا پاسخی کامل و دقیق ارائه دهیم. هدف ما این است که پس از مطالعه این مطلب، شما دیدگاهی شفاف و تخصصی نسبت به دنیای توکنهای اتریوم پیدا کرده و نیازی به جستجوی بیشتر نداشته باشید.

ERC-20 چیست؟ سنگ بنای توکنهای مثلی (Fungible)
استاندارد ERC-20 (Ethereum Request for Comment 20) اولین و شناختهشدهترین استاندارد برای ایجاد توکن در بلاکچین اتریوم است. این استاندارد در سال ۲۰۱۵ توسط فابیان وگلستلار پیشنهاد شد و به سرعت به یک چارچوب جهانی برای ساخت ارزهای دیجیتال قابل تعویض (Fungible) تبدیل شد.
ویژگی اصلی: قابلیت تعویض (Fungibility)
مهمترین ویژگی توکنهای ERC-20، مثلی یا قابل تعویض بودن آنهاست. این مفهوم به این معناست که هر واحد از یک توکن با واحد دیگر از همان توکن کاملاً یکسان، دارای ارزش برابر و قابل جایگزینی است. این ویژگی دقیقاً مشابه پول فیات است؛ به عنوان مثال، یک اسکناس ۱۰ دلاری با هر اسکناس ۱۰ دلاری دیگری ارزش یکسانی دارد و میتوان آنها را با هم معاوضه کرد بدون آنکه ماهیت ارزش آنها تغییر کند.
-
هویت یکسان: تمام توکنهای مبتنی بر ERC-20 هویت و ارزش یکسانی دارند. هیچ تفاوتی بین یک توکن USDT و توکن USDT دیگر وجود ندارد.
-
قابلیت تقسیمپذیری: این توکنها میتوانند به واحدهای کوچکتر تقسیم شوند (مثلاً تا ۱۸ رقم اعشار)، که این ویژگی آنها را برای استفاده در تراکنشهای روزمره و به عنوان ارز دیجیتال ایدهآل میسازد.
توابع و قوانین کلیدی در ERC-20
هر قرارداد هوشمند مبتنی بر ERC-20 باید مجموعهای از توابع (Functions) و رویدادها (Events) را پیادهسازی کند تا با سایر قراردادها و کیف پولها سازگار باشد. این توابع هسته اصلی استاندارد را تشکیل میدهند:
-
totalSupply(): تعداد کل توکنهای موجود را برمیگرداند. -
balanceOf(address _owner): موجودی توکن یک آدرس خاص را نشان میدهد. -
transfer(address _to, uint256 _value): تعدادی توکن را از حساب فرستنده به یک آدرس دیگر منتقل میکند. -
approve(address _spender, uint256 _value): به یک آدرس دیگر (معمولاً یک قرارداد هوشمند) اجازه میدهد تا از حساب مالک، توکن برداشت کند. -
allowance(address _owner, address _spender): میزان توکنی که یک آدرس مجاز به برداشت از آدرس دیگر است را مشخص میکند. -
transferFrom(address _from, address _to, uint256 _value): تابعی که توسط_spenderبرای انتقال توکن از حساب_ownerبه یک حساب دیگر استفاده میشود.
این توابع استانداردسازی شده تضمین میکنند که توکنهای ERC-20 به راحتی در صرافیهای غیرمتمرکز (DEXs)، کیف پولها و سایر برنامههای غیرمتمرکز (DApps) قابل استفاده باشند.
کاربردهای رایج ERC-20
-
ارزهای دیجیتال و استیبلکوینها: بسیاری از ارزهای دیجیتال معروف مانند Shiba Inu (SHIB) و استیبلکوینهایی مانند Tether (USDT) و USD Coin (USDC) از این استاندارد استفاده میکنند.
-
توکنهای حاکمیتی (Governance Tokens): پروژههای دیفای (DeFi) از این توکنها برای اعطای حق رأی به کاربران در تصمیمگیریهای پروتکل استفاده میکنند (مانند توکن UNI از صرافی Uniswap).
-
توکنهای کاربردی (Utility Tokens): برای دسترسی به خدمات یک پلتفرم خاص یا پرداخت هزینه در یک اکوسیستم استفاده میشوند.

ERC-721 چیست؟ انقلابی در دنیای داراییهای غیرقابل تعویض (NFT)
با رشد اکوسیستم اتریوم، نیاز به نمایش داراییهای دیجیتال منحصربهفرد و غیرقابل جایگزین احساس شد. استاندارد ERC-721 در سال ۲۰۱۸ به عنوان اولین استاندارد رسمی برای توکنهای غیرقابل تعویض (Non-Fungible Tokens - NFTs) معرفی شد و انقلابی در دنیای هنر دیجیتال، بازی و کلکسیونهای دیجیتال ایجاد کرد.
ویژگی اصلی: عدم قابلیت تعویض (Non-Fungibility)
برخلاف ERC-20، هر توکن ERC-721 منحصربهفرد و غیرقابل جایگزین است. هر توکن دارای یک شناسه یکتا (Token ID) است که آن را از سایر توکنها، حتی در همان قرارداد هوشمند، متمایز میکند. این ویژگی باعث میشود که هر توکن بتواند نماینده یک دارایی خاص و بیهمتا باشد.
-
هویت منحصربهفرد: هر NFT دارای یک
tokenIdمنحصر به فرد است. این شناسه به فراداده (Metadata) آن توکن لینک میشود که شامل اطلاعاتی مانند نام، تصویر، توضیحات و سایر ویژگیهای خاص آن دارایی است. -
عدم قابلیت تقسیم: توکنهای ERC-721 معمولاً قابل تقسیم نیستند. شما نمیتوانید بخشی از یک اثر هنری دیجیتال را بفروشید، مگر اینکه خود پروژه این قابلیت را به صورت خاص پیادهسازی کرده باشد.
توابع و قوانین کلیدی در ERC-721
این استاندارد نیز مجموعهای از توابع الزامی دارد که مالکیت و انتقال این داراییهای یکتا را مدیریت میکند:
-
ownerOf(uint256 _tokenId): مالک یک توکن با شناسه مشخص را برمیگرداند. -
safeTransferFrom(address _from, address _to, uint256 _tokenId): روش اصلی و امن برای انتقال مالکیت یک NFT از یک آدرس به آدرس دیگر است. -
approve(address _approved, uint256 _tokenId): به یک آدرس دیگر اجازه میدهد تا مالکیت یک NFT خاص را منتقل کند. -
tokenURI(uint256 _tokenId): یک لینک (URI) به فراداده (Metadata) توکن برمیگرداند که اطلاعات و جزئیات آن دارایی دیجیتال را در خود جای داده است.
کاربردهای رایج ERC-721
-
هنر دیجیتال و کلکسیونها: پروژههای معروفی مانند CryptoPunks و Bored Ape Yacht Club (BAYC) از این استاندارد برای ایجاد آثار هنری و کلکسیونی دیجیتال استفاده کردهاند.
-
آیتمهای بازی: در بازیهای بلاکچینی، از NFTها برای نمایش داراییهای درون بازی مانند شخصیتها، سلاحها و زمینهای مجازی استفاده میشود (مانند بازی Axie Infinity).
-
املاک و مستغلات مجازی: پلتفرمهایی مانند Decentraland از ERC-721 برای توکنیزه کردن قطعات زمین مجازی استفاده میکنند.
-
هویت دیجیتال و گواهینامهها: برای صدور گواهینامههای آموزشی یا مدارک هویتی که باید منحصربهفرد و غیرقابل جعل باشند.

ERC-1155 چیست؟ ترکیبی هوشمند از دو جهان (استاندارد چند توکنی)
با گسترش کاربردهای بلاکچین، بهویژه در صنعت بازی، محدودیتهای استانداردهای قبلی آشکار شد. مدیریت هزاران نوع آیتم مختلف (برخی قابل تعویض و برخی غیرقابل تعویض) با استفاده از قراردادهای مجزای ERC-20 و ERC-721 بسیار پرهزینه و ناکارآمد بود. در اینجا بود که استاندارد ERC-1155 که توسط تیم پروژه Enjin توسعه داده شد، به عنوان یک استاندارد چند توکنی (Multi-Token Standard) معرفی شد.
ویژگی اصلی: پشتیبانی همزمان از توکنهای مثلی و غیرمثلی
بزرگترین نوآوری ERC-1155، قابلیت مدیریت انواع مختلف توکن (هم Fungible و هم Non-Fungible) در یک قرارداد هوشمند واحد است. این استاندارد به جای ردیابی مالکیت هر توکن به صورت جداگانه، مالکیت را بر اساس ID و مقدار ردیابی میکند.
-
انعطافپذیری بالا: یک قرارداد ERC-1155 میتواند شامل شناسهای برای یک شمشیر جادویی منحصربهفرد (NFT) و شناسهای دیگر برای ۱۰۰۰ سکه طلا (توکن Fungible) باشد.
-
کارایی و بهینگی: این استاندارد با معرفی قابلیت انتقال دستهای (Batch Transfers)، به کاربران اجازه میدهد تا چندین نوع توکن مختلف را در یک تراکنش واحد ارسال کنند. این ویژگی به شدت هزینههای گس (Gas Fee) را کاهش داده و کارایی شبکه را افزایش میدهد.
توابع و قوانین کلیدی در ERC-1155
توابع اصلی این استاندارد برای مدیریت چندین توکن به صورت همزمان طراحی شدهاند:
-
balanceOf(address _owner, uint256 _id): موجودی یک توکن باIDمشخص را برای یک آدرس خاص برمیگرداند. -
balanceOfBatch(address[] _owners, uint256[] _ids): موجودی چندین توکن مختلف را برای چندین آدرس به صورت دستهای باز میگرداند. -
safeTransferFrom(address _from, address _to, uint256 _id, uint256 _amount, bytes data): یک نوع توکن خاص (با مقدار مشخص) را منتقل میکند. -
safeBatchTransferFrom(address _from, address _to, uint256[] _ids, uint256[] _amounts, bytes data): چندین نوع توکن را در یک تراکنش واحد منتقل میکند، که این مهمترین مزیت این استاندارد است.
کاربردهای رایج ERC-1155
-
صنعت بازی: این استاندارد برای بازیهایی که دارای صدها یا هزاران آیتم مختلف هستند (مانند معجونها، سکهها، سلاحها و زرههای منحصربهفرد) ایدهآل است. پلتفرم Enjin پیشگام استفاده از این استاندارد در بازیهای بلاکچینی است.
-
صنعت بلیتفروشی: یک رویداد میتواند انواع مختلفی از بلیتها را (مانند عادی، VIP، پشت صحنه) در یک قرارداد واحد مدیریت کند.
-
پلتفرمهای دیفای (DeFi): برای مدیریت سبدهای سرمایهگذاری که شامل انواع مختلفی از داراییهای توکنیزه شده هستند.

جدول مقایسه جامع: ERC-20 در مقابل ERC-721 در مقابل ERC-1155
برای درک بهتر تفاوتهای اساسی میان این سه استاندارد، جدول زیر به صورت خلاصه ویژگیهای کلیدی آنها را مقایسه میکند:
| ویژگی | ERC-20 | ERC-721 | ERC-1155 |
| نوع توکن | قابل تعویض (Fungible) | غیرقابل تعویض (Non-Fungible) | هر دو (Multi-Token) |
| قابلیت تعویض | بله، هر توکن با دیگری یکسان است | خیر، هر توکن منحصربهفرد است | بسته به نوع ID توکن |
| شناسه توکن | ندارد (همه یکسان هستند) | tokenId منحصربهفرد برای هر توکن |
id برای هر کلاس از توکن |
| قابلیت تقسیم | بله (معمولاً تا ۱۸ رقم اعشار) | خیر (معمولاً) | برای توکنهای Fungible بله، برای NFT خیر |
| انتقال | یک نوع توکن در هر تراکنش | یک توکن در هر تراکنش | انتقال دستهای (چندین نوع توکن) |
| کارایی (هزینه گس) | متوسط | بالا (برای هر NFT یک قرارداد لازم است) | بسیار بهینه (به دلیل انتقال دستهای) |
| پیچیدگی قرارداد | ساده | متوسط | پیچیده |
| مورد استفاده اصلی | ارزهای دیجیتال، استیبلکوینها | هنر دیجیتال، کلکسیونها، آیتمهای بازی | بازیهای پیچیده، اکوسیستمهای چند دارایی |
| مثال معروف | USDT, SHIB, UNI | CryptoPunks, BAYC, Decentraland LAND | Enjin Coin (ENJ), Horizon Worlds |
کدام استاندارد برای پروژه شما مناسب است؟
انتخاب استاندارد مناسب کاملاً به نیاز و هدف پروژه شما بستگی دارد.
-
اگر به دنبال ایجاد یک ارز دیجیتال، یک توکن حاکمیتی یا هر نوع دارایی قابل تعویض دیگری هستید، ERC-20 بهترین و سادهترین انتخاب است. این استاندارد به طور گسترده پشتیبانی میشود و ابزارهای توسعه فراوانی برای آن وجود دارد.
-
اگر قصد دارید داراییهای دیجیتال منحصربهفرد و یکتا مانند آثار هنری، آیتمهای کلکسیونی یا املاک مجازی ایجاد کنید، ERC-721 استاندارد طلایی برای شماست. این استاندارد به طور خاص برای اثبات مالکیت دیجیتال داراییهای بیهمتا طراحی شده است.
-
اگر در حال ساخت یک پروژه پیچیده، بهویژه یک بازی بلاکچینی با صدها نوع آیتم مختلف (که برخی قابل تعویض و برخی دیگر غیرقابل تعویض هستند) هستید، ERC-1155 به دلیل انعطافپذیری و کارایی بالا در کاهش هزینههای گس، انتخاب هوشمندانهتری خواهد بود.
نتیجهگیری نهایی
استانداردهای توکن ERC-20، ERC-721 و ERC-1155 هر یک تکاملی مهم در اکوسیستم اتریوم بودهاند. ERC-20 با معرفی توکنهای قابل تعویض، راه را برای انقلاب دیفای هموار کرد. ERC-721 با مفهوم مالکیت دیجیتال منحصربهفرد، دنیای هنر و کلکسیونها را متحول ساخت. و در نهایت، ERC-1155 با ترکیب هوشمندانه قابلیتهای دو استاندارد قبلی، راهکاری بهینه و کارآمد برای نسل جدید برنامههای غیرمتمرکز، بهویژه در صنعت بازی، ارائه داد. درک عمیق این استانداردها به شما کمک میکند تا با آگاهی بیشتری در این فضای نوآورانه حرکت کرده و تصمیمات بهتری برای پروژهها و سرمایهگذاریهای خود بگیرید.
سوالات متداول (FAQ)
آیا میتوان یک توکن ERC-20 را به ERC-721 تبدیل کرد؟
خیر، تبدیل مستقیم یک استاندارد به دیگری ممکن نیست زیرا ساختار و منطق آنها کاملاً متفاوت است. ERC-20 برای مقادیر قابل تعویض و ERC-721 برای آیتمهای منحصربهفرد طراحی شده است. با این حال، میتوان از طریق یک قرارداد هوشمند "پل" یا "wrapper"، یک توکن ERC-20 را قفل کرده و در ازای آن یک NFT (ERC-721) صادر کرد، اما این یک تبدیل واقعی نیست.
چرا هزینه گس در استاندارد ERC-1155 کمتر است؟
ویژگی اصلی ERC-1155 که باعث کاهش هزینه گس میشود، انتقال دستهای (Batch Transfer) است. به جای انجام چندین تراکنش مجزا برای انتقال آیتمهای مختلف (همانطور که در ERC-20 و ERC-721 لازم است)، شما میتوانید صدها نوع توکن مختلف را به یک یا چند گیرنده تنها در یک تراکنش ارسال کنید. این کار به طور چشمگیری محاسبات و در نتیجه هزینه گس را کاهش میدهد.
آیا استاندارد جدیدتری پس از ERC-1155 معرفی شده است؟
بله، اکوسیستم اتریوم دائماً در حال تکامل است و استانداردهای جدیدی برای رفع نیازهای خاص پیشنهاد میشوند. به عنوان مثال، ERC-4626 (Tokenized Vaults) برای استانداردسازی صندوقهای سرمایهگذاری مولد سود (Yield-Bearing Vaults) در دیفای طراحی شده است. با این حال، سه استاندارد ERC-20، ERC-721 و ERC-1155 همچنان پایهایترین و پرکاربردترین استانداردها باقی ماندهاند.
آیا این استانداردها فقط روی شبکه اتریوم کار میکنند؟
این استانداردها در ابتدا برای شبکه اتریوم طراحی شدند، اما به دلیل سازگاری ماشین مجازی اتریوم (EVM)، بسیاری از بلاکچینهای دیگر مانند Polygon، Binance Smart Chain (BSC) و Avalanche نیز از این استانداردها پشتیبانی میکنند. این به توسعهدهندگان اجازه میدهد تا برنامههای خود را به راحتی بین این شبکهها منتقل کنند.