تعارف
Ethereum کی سنگ بنیاد 2014 میں Vitalik Buterin کی جانب سے رکھی گئی تھی، جو غیر مرکزی ایپلیکیشنز (DApps) لانچ کرنے کے لیے خود کو ایک اوپن سورس پلیٹ فارم کے طور پر پوزیشن کرتا ہے۔ ایک نئی بلاک چین کی تخلیق کے لیے Buterin کی بہت سی ترغیبات نے Bitcoin پروٹوکول کی لچک میں کمی سے جڑ پکڑی۔
اپنے لانچ کے بعد سے، Ethereum کی بلاک چین نے ڈویلپرز، کاروباروں، اور کاروباری افراد کو اپنی طرف متوجہ کیا ہے، جس نے اسمارٹ معاہدات اور تقسیم کردہ ایپلیکیشنز لانچ کرنے والے صارفین کی بڑھتی ہوئی صنعت کو جنم دیا ہے۔
اس آرٹیکل میں، ہم ERC-20 معیار پر نظر ڈالیں گے، جو کہ ٹوکنز تخلیق کرنے کے لیے ایک اہم فریم ورک ہے۔ اگرچہ یہ Ethereum کے نیٹ ورک کے لیے مخصوص ہے، تاہم اس فریم ورک نے دیگر بلاک چین کے معیارات، جیسا کہ Binance چین کے BEP-2 کو بھی متاثر کیا ہے۔
ERC-20 کا معیار کیا ہوتا ہے؟
Vitalik Buterin اور Fabian Vogelsteller کی جانب سے 2015 میں تصنیف کردہ، ERC-20 Ethereum پر مبنی ٹوکنز کے لیے نسبتاََ آسان فارمیٹ کو تجویز کرتا ہے۔ خاکے پر عمل کرتے ہوئے، ڈویلپرز کو دوبارہ سے وہیل کو ایجاد کرنے کی ضرورت نہیں پڑتی۔ اس کی بجائے، وہ صنعت میں پہلے سے استعمال ہونے والی بنیاد پر ہی تعمیر کر سکتے ہیں۔
ایک دفعہ جب نئے ERC-20 ٹوکنز تخلیق کر لیے جاتے ہیں، تو وہ ERC-20 کے معیار کی معاونت کرنے والی سروسز اور سافٹ ویئرز (سافٹ ویئر والیٹس، ہارڈ ویئر والیٹس، ایکسچینجز، وغیرہ۔) کے ساتھ خودکار طور پر باہم عمل انجام دے سکتے ہیں۔
یہ بات ذہن نشین رہے کہ ERC-20 معیار ایک EIP (بالخصوص، EIP-20) میں ڈویلپ کیا گیا تھا۔ یہ وسیع پیمانے پر اپنے استعمال کی وجہ سے اصل تجویز کے چند سال بعد واقع ہوا۔ تاہم، سالوں بعد بھی، "ERC-20" کا نام باقی ہے۔
Ethereum ٹوکنز کا ایک فوری خلاصہ
ETH (Ethereum کی مقامی کرپٹو کرنسی) کے برعکس، ERC-20 ٹوکنز اکاؤنٹس کی جانب سے نہیں رکھے جاتے۔ ٹوکنز صرف معاہدے کے اندر وجود رکھتے ہیں، جوکہ ایک خود کفیل ڈیٹا بیس کی مانند ہے۔ یہ ٹوکنز کے لیے اصول (یعنی کہ، نام، علامت، تقسیم ہونے کی صلاحیت) واضح کرتا ہے اور ایسی فہرست کو برقرار رکھتا ہے جو صارفین کے Ethereum کے ایڈریسز کے لیے ان کے بیلنسز کا نقشہ کھینچتی ہے۔
ٹوکنز منتقل کرنے کے لیے، صارفین کو لازماً معاہدے کے لیے ایک ٹرانزیکشن بھیجنی چاہیئے جو اس سے اپنے بیلنس کا کچھ حصہ کہیں اور مختص کرنے کا کہے گا۔ مثلاً، اگر Alice Binance اکاڈیمی کے 5,000 ٹوکنز Bob کو بھیجنا چاہتی ہے، تو وہ ایسا کرنے کے لیے Binance اکاڈیمی ٹوکن کے اسمارٹ معاہدے کے اندر موجود فنکشن کو کال کرتی ہے۔

ظاہری طور پر اس کی کال Ethereum کی ایک باقاعدہ ٹرانزیکشن کے اندر موجود ہوتی ہے جو ٹوکن کے معاہدے کو 0 ETH کی ادائیگی کرتی ہے۔ یہ کال ٹرانزیکشن میں موجود ایک اضافی فیلڈ میں شامل ہوتی ہے، جو اس چیز کو واضح کرتی ہے کہ Alice کیا کرنا چاہتی ہے – ہماری صورتحال میں، Bob کو ٹوکنز ٹرانسفر کرنا چاہتی ہے۔
اگرچہ وہ Ether نہیں بھیج رہی، تاہم اسے پھر بھی بلاک میں اپنی ٹرانزیکشن شامل کرنے کے لیے اس میں متعین کردہ فیس لازماً ادا کرنی ہو گی۔ اگر اس کے پاس کوئی ETH نہیں ہیں، تو اسے ٹوکنز ٹرانسفر کرنے سے قبل کچھ ETH حاصل کرنے کی ضرورت ہے۔
مندرجہ بالا کی حقیقی دنیا کی ایک مثال یہاں Etherscan پر پیش ہے: کوئی شخص BUSD معاہدے کو کال کر رہا ہے۔ آپ ملاحظہ کر سکتے ہیں کہ ٹوکنز ٹرانسفر کیے گئے تھے، اور فیس بھی ادا کر دی گئی ہے، حالانکہ قدر کی جگہ ظاہر کرتی ہے کہ 0 ETH بھیجے گئے ہیں۔
اب جبکہ ہم رفتار پکڑ چکے ہیں، تو آئیں اب ERC-20 کے عمومی معاہدے کے ڈھانچے کو بہتر طریقے سے سمجھنے کے لیے اس کی گہرائی میں جاتے ہیں۔
ERC-20 ٹوکنز کس طرح سے تخلیق کیے جاتے ہیں؟

ذیل میں کچھ ایسے فنکشنز موجود ہیں جیسے کہ وہ Ethereum کی خاص مقصد کے لیے بنائی گئی سالیڈیٹی زبان میں ظاہر ہوتے ہیں۔
totalSupply
function totalSupply() public view returns (uint256)
balanceOf
function balanceOf(address _owner) public view returns (uint256 balance)
ٹرانسفر
function transfer(address _to, uint256 _value) public returns (bool success)
transferFrom
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
دیگر الفاظ میں، آپ کسی اور شخص – یا کسی اور معاہدے کو – اپنی طرف سے فنڈز کو ٹرانسفر کرنے کے لیے مجاز بنا سکتے ہیں۔ استعمال کی ممکنہ صورت میں سبسکرپشن پر مبنی سروسز کی ادائیگی شامل ہے، جہاں آپ ہر روز/ہفتے/مہینے دستی طور پر ادائیگی نہیں کرنا چاہتے۔ اس کی بجائے، آپ کسی پروگرام کو اپنے لیے یہ سب کرنے کی اجازت دیتے ہیں۔
منظوری
function approve(address _spender, uint256 _value) public returns (bool success)
ہماری سبسکرپشن ماڈل کی مثال کو ہی دوبارہ لے لیں۔ فرض کریں کہ آپ کے پاس Binance اکاڈیمی ٹوکنز کی ایک بڑی تعداد موجود ہے، اور آپ ایک اسٹریمنگ DApp کے لیے ہفتہ وار متواتر ادائیگیاں ترتیب دینا چاہتے ہیں۔ آپ دن اور رات Binance اکاڈیمی کے مواد کو پڑھنے میں مصروف رہتے ہیں، اس لیے آپ ہر ہفتے ٹرانزیکشن دستی طور پر تخلیق کرنے میں وقت صرف نہیں کرنا چاہتے۔
بد ترین صورت میں، اگر DApp آپ کے تمام فنڈز نکالنے کی کوشش کرتی ہے یا اگر کوئی بگ پایا جاتا ہے، تو آپ کو صرف بیس ٹوکنز کا ہی نقصان ہو گا۔ ہو سکتا ہے کہ یہ صورتحال مثالی نہ ہو، تاہم اپنے تمام فنڈز کھونے کی نسبت تو بہتر ہی ہے۔
الاؤنس
function allowance(address _owner, address _spender) public view returns (uint256 remaining)
اختیاری فنکشنز
ERC-20 ٹوکنز کیا کر سکتے ہیں؟

ERC-20 ٹوکنز کی اپیل کا ایک بڑا حصہ ان کی لچک پذیری ہے۔ طے شدہ رواج ڈویلپمنٹ کو محدود نہیں کرتے، لہذا فریقین اضافی خصوصیات لاگو کر سکتی ہیں اور اپنی ضروریات کے لیے موزوں ثابت ہونے والے مخصوص پیرا میٹرز سیٹ کر سکتی ہیں۔
اسٹیبل کوائنز
فیاٹ سے تقویت یافتہ ایک عمومی اسٹیبل کوائن کے لیے، جاری کنندہ اپنے پاس یوروز، ڈالرز، وغیرہ کے ذخائر رکھتا ہے۔ پھر، اپنے ذخیرے میں موجود ہر یونٹ کے بدلے، وہ ایک ٹوکن جاری کرتے ہیں۔ اس سے مراد یہ ہے کہ اگر والٹ میں $10,000 لاک کیے گئے تھے، تو جاری کنندہ 10,000 ٹوکنز کو تخلیق کر سکتا ہے، جس میں سے ہر ایک $1 کے بدلے ریڈیم کیا جا سکتا ہے۔
تکنیکی لحاظ سے بات کی جائے، تو Ethereum میں اس کا اطلاق کافی آسان ہے۔ جاری کنندہ بس 10,000 ٹوکنز کے ساتھ ایک معاہدہ کو لانچ کر دیتا ہے۔ پھر، وہ انہیں اس وعدے کے ساتھ صارفین کو تقسیم کریں گے کہ وہ بعد ازاں فیاٹ کرنسی کی ایک متناسب مقدار کے ساتھ ٹوکنز ریڈیم کر سکتے ہیں۔
صارفین اپنے ٹوکنز کے ساتھ بہت سے کام انجام دے سکتے ہیں – وہ اشیاء اور سروسز کو خرید سکتے ہیں یا انہیں DApps میں استعمال کر سکتے ہیں۔ متبادل طور پر، وہ درخواست کر سکتے ہیں کہ جاری کنندہ انہیں فوری طور پر ایکسچینج کرے۔ اس صورت میں، جاری کنندہ واپس آنے والے ٹوکنز (انہیں ناقابل استعمال بناتے ہوئے) ضائع کر دیتا ہے اور اپنے ذخائر سے فیاٹ کی درست رقم نکال لیتا ہے۔
جیسا کہ پہلے بیان کیا گیا ہے، کہ اس سسٹم کی نگرانی کرنے والا معاہدہ نسبتاً سادہ ہے۔ تاہم، اسٹیبل کوائن لانچ کرنے کے لیے بیرونی عوامل پر بہت سا کام کرنے کی ضرورت ہوتی ہے، جیسا کہ، لاجسٹکس، انضباطی تعمیل، وغیرہ۔
سکیورٹی ٹوکنز
سہولتی ٹوکنز
کیا آپ ERC-20 ٹوکنز کو مائن کر سکتے ہیں؟
ٹوکن کی تقسیم کو خودکار بننے کی ضرورت نہیں ہوتی۔ کراؤڈ فنڈنگ کے بہت سے ایونٹس صارفین کو مختلف ڈیجیٹل کرنسیز (جیسا کہ BNB، BTC، ETH، اور USDT) کی اقسام کے ساتھ ادائیگی کرنے کی اجازت دیتے ہیں۔ متعلقہ بیلنسز پھر صارفین کی جانب سے فراہم کردہ ایڈریسز کے لیے مختص کر دیے جاتے ہیں۔
ERC-20 ٹوکنز کے فوائد اور نقصانات
ERC-20 ٹوکنز کے فوائد
فنجیبل
اس وقت یہ صورتحال مثالی ثابت ہو گی، اگر آپ کا ٹوکن کسی قسم کی کرنسی بننے کا ارادہ رکھتا ہے۔ یقیناً آپ مختلف خصوصیات کے حامل ایسے انفرادی یونٹس تو نہیں چاہیں گے، جو انہیں نان فنجیبل بنا دیں گے۔ اس کے سبب کچھ ٹوکنز دوسروں کے مقابلے میں زیادہ – یا کم – مالیت کے حامل ہو سکتے ہیں، جس کی وجہ سے ان کے مقصد کو نقصان پہنچ سکتا ہے۔
لچک پذیر
جیسا کہ ہم نے پِچھلے سیکشن میں دریافت کیا، کہ ERC-20 ٹوکنز بہت حد تک حسب منشاء بنائے جا سکتے ہیں اور کئی مختلف ایپلیکیشنز کے لیے مختص کیے جا سکتے ہیں۔ مثال کے طور پر، یہ درون گیم کرنسی کے طور پر، وفاداری کے پوائنٹس کے پروگرامز میں، قابل جمع ڈیجیٹل اشیاء کے طور پر، یا حتیٰ کہ فائن آرٹ اور ملکیتی حقوق کی نمائندگی کے لیے بھی استعمال کیے جا سکتے ہیں۔
مقبول
کرپٹو کرنسی کی صنعت میں ERC-20 کی مقبولیت اس کو بلیو پرنٹ کے طور پر استعمال کرنے کی ایک انتہائی پرزور وجہ ہے۔ حال ہی میں لانچ کردہ ٹوکنز کے ساتھ پہلے سے مسابقت پذیر بے شمار ایکسچینجز،والیٹس، اور اسمارٹ معاہدات موجود ہیں۔ مزید یہ کہ، ڈویلپر کی معاونت اور دستاویز کاری کی کثرت ہے۔
ERC-20 ٹوکنز کے نقصانات
توسیع پذیری
کرپٹو کرنسی کے بہت سے نیٹ ورکس کی طرح، Ethereum بڑھتے ہوئے درد سے پاک نہیں ہے۔ اپنی موجودہ حالت میں، یہ صحیح طرح سے وسعت حاصل نہیں کر سکتے – مصروفیت کے اوقات میں ٹرانزیکشن بھیجنے کی کوشش کرنے کا نتیجہ زیادہ فیس اور تاخیر کی صورت میں نکل سکتا ہے۔ اگر آپ کوئی ERC-20 ٹوکن لانچ کرتے ہیں اور نیٹ ورک پر رش بڑھ جاتا ہے، تو اس کی قابل استعمال ہونے کی صلاحیت متاثر ہو سکتی ہے۔
جعلسازیاں
اگرچہ ٹیکنالوجی کے ساتھ بذات خود کوئی مسئلہ نہیں ہے، تاہم کچھ پہلوؤں سے اس آسانی کو ایک منفی پہلو سمجھا جا سکتا ہے، جس کے ساتھ ٹوکن لانچ کیا جا سکتا ہے۔ ایک سادہ سے ERC-20 ٹوکن کی تخلیق میں بہت کم کوشش درکار ہوتی ہے، یعنی کہ کوئی بھی ایسا کر سکتا ہے – اچھے کے لیے یا برے کے لیے۔
اسی لیے، آپ کو اس بارے میں محتاط رہنا چاہیئے کہ آپ کس چیز میں سرمایہ کاری کر رہے ہیں۔ بلاک چین پراجیکٹس کے بھیس میں متعدد Pyrami اور Ponzi اسکیمز موجود ہیں۔ اس حوالے سے کسی حتمی فیصلے پر پہنچنے کے لیے بذات خود تحقیق کر لیں کہ آیا کوئی موقع جائز ہے یا نہیں۔
ERC-20، ERC-1155، ERC-223، ERC-721 – فرق کیا ہے؟
ERC-20، Ethereum ٹوکن کا پہلا (اور، اب تک، مقبول ترین) معیار تھا، لیکن اس دوڑ میں یہ اکیلا ہی شامل نہیں۔ سالہا سال سے، بہت سے دوسرے معیارات ابھر کر سامنے آئے ہیں، جو یا تو ERC-20 پر بہتری کی تجویز پیش کرتے ہیں یا مکمل طور پر مختلف اہداف پورے کرنے کی کوشش کرتے ہیں۔
کچھ کم عام معیارات وہ ہیں جو نان فنجیبل ٹوکنز (NFTs) میں استعمال کیے جاتے ہیں۔ کبھی کبھار، آپ کے استعمال کی صورت دراصل مختلف خصوصیات کے حامل منفرد ٹوکنز کے حصول سے فائدہ اٹھاتی ہے۔ اگر آپ کسی منفرد فن پارے، یا درون گیم اثاثے، وغیرہ، کو ٹوکنائز کرنا چاہتے ہیں، تو معاہدات کی ان اقسام میں سے کوئی ایک دلچسپ ثابت ہو سکتی ہے۔
ERC-1155 معیار کو ERC-721 اور ERC-20 دونوں پر ایک بہتری کے طور پر دیکھا جا سکتا ہے۔ یہ ایسے معیار کا خاکہ پیش کرتا ہے جو اسمارٹ معاہدے میں فنجیبل اور نان فنجیبل دونوں ٹوکنز کی معاونت کرتا ہے۔
ERC-223 یا ERC-621 جیسے دوسرے آپشنز کا مقصد قابل استعمال ہونے کی صلاحیت کو بہتر بنانا ہے۔ ٹوکن کو حادثاتی ٹرانسفرز سے بچانے کے لیے اول الذکر حفاظتی اقدامات لاگو کرتا ہے۔ ثانی الذکر ٹوکن کی سپلائی میں اضافہ کرنے یا کمی لانے کے لیے اضافی فنکشنز کو شامل کرتا ہے۔
اختتامی خیالات
ERC-20 کا معیار سالوں سے کرپٹو کے اثاثے کی اسپیس پر غالب رہا ہے، اور یہ دیکھنا مشکل نہیں کہ آخر ایسا کیوں ہے۔ نسبتاََ آسانی کے ساتھ، کوئی بھی وسیع پیمانے پر استعمال کی صورتوں (سہولتی ٹوکنز، اسٹیبل کوائنز، وغیرہ۔) کو پورا کرنے کے لیے ایک سادہ سا معاہدہ وضع کر سکتا ہے۔ اس کے باوجود، ERC-20 میں، دوسرے معیارت کی جانب سے متعارف کروائی گئی کچھ خصوصیات کی کمی ہے۔ یہ دیکھنا باقی ہے کہ آیا معاہدے کی بعد میں آنے والی اقسام اس کی جگہ لیں گی یا نہیں۔