ایتھیریم کا تکنیکی تعارف
بلاک چین کیا ہے؟
بلاک چین ایک عوامی ڈیٹا بیس ہے جسے ایک نیٹ ورک میں موجود بہت سے کمپیوٹرز کے درمیان اپ ڈیٹ اور شیئر کیا جاتا ہے۔
"بلاک" سے مراد وہ ڈیٹا اور حالت ہے جو لگاتار گروپس میں محفوظ کی جاتی ہے جنہیں "بلاکس" کہا جاتا ہے۔ اگر آپ کسی اور کو ETH بھیجتے ہیں، تو کامیاب ہونے کے لیے ٹرانزیکشن کے ڈیٹا کو ایک بلاک میں شامل کرنا ضروری ہے۔
"چین" اس حقیقت کی طرف اشارہ کرتی ہے کہ ہر بلاک کرپٹوگرافک طور پر اپنے پیرنٹ (parent) کا حوالہ دیتا ہے۔ دوسرے الفاظ میں، بلاکس ایک دوسرے کے ساتھ جڑ کر ایک زنجیر بناتے ہیں۔ کسی بلاک کا ڈیٹا اس کے بعد آنے والے تمام بلاکس کو تبدیل کیے بغیر تبدیل نہیں کیا جا سکتا، جس کے لیے پورے نیٹ ورک کے اتفاق رائے کی ضرورت ہوگی۔
نیٹ ورک میں موجود ہر کمپیوٹر کا ہر نئے بلاک اور مجموعی طور پر چین پر متفق ہونا ضروری ہے۔ ان کمپیوٹرز کو "نوڈز" کہا جاتا ہے۔ نوڈز اس بات کو یقینی بناتے ہیں کہ بلاک چین کے ساتھ تعامل کرنے والے ہر فرد کے پاس ایک جیسا ڈیٹا ہو۔ اس تقسیم شدہ معاہدے کو مکمل کرنے کے لیے، بلاک چینز کو ایک اتفاق رائے کا طریقہ کار درکار ہوتا ہے۔
ایتھیریم ایک حصہ داری کا ثبوت (PoS) پر مبنی اتفاق رائے کا طریقہ کار استعمال کرتا ہے۔ جو بھی شخص چین میں نئے بلاکس شامل کرنا چاہتا ہے اسے ضمانت کے طور پر ETH - جو کہ ایتھیریم کی مقامی کرنسی ہے - کو اسٹیک کرنا ہوگا اور توثیق کار سافٹ ویئر چلانا ہوگا۔ پھر ان "توثیق کاروں" کو تصادفی طور پر بلاکس تجویز کرنے کے لیے منتخب کیا جا سکتا ہے جنہیں دوسرے توثیق کار چیک کرتے ہیں اور بلاک چین میں شامل کرتے ہیں۔ انعامات اور جرمانوں کا ایک نظام موجود ہے جو شرکاء کو ایماندار رہنے اور زیادہ سے زیادہ آن لائن دستیاب رہنے کی بھرپور ترغیب دیتا ہے۔
اگر آپ یہ دیکھنا چاہتے ہیں کہ بلاک چین کے ڈیٹا کو کس طرح ہیش کیا جاتا ہے اور بعد میں بلاک کے حوالوں کی تاریخ میں شامل کیا جاتا ہے، تو Anders Brownworth کا یہ ڈیمو (opens in a new tab) ضرور دیکھیں اور نیچے دی گئی متعلقہ ویڈیو دیکھیں۔
دیکھیں Anders بلاک چینز میں ہیشز کی وضاحت کیسے کرتے ہیں:
ایتھیریم کیا ہے؟
ایتھیریم ایک بلاک چین ہے جس میں ایک کمپیوٹر سرایت شدہ ہے۔ یہ لامركزی، بلا اجازت، اور سنسرشپ کے خلاف مزاحمت کرنے والے طریقے سے ایپس اور تنظیمیں بنانے کی بنیاد ہے۔
ایتھیریم کی دنیا میں، ایک واحد، مستند کمپیوٹر ہے (جسے ایتھیریم ورچوئل مشین، یا EVM کہا جاتا ہے) جس کی حالت پر ایتھیریم نیٹ ورک پر موجود ہر شخص متفق ہوتا ہے۔ ایتھیریم نیٹ ورک میں حصہ لینے والا ہر شخص (ہر ایتھیریم نوڈ) اس کمپیوٹر کی حالت کی ایک کاپی اپنے پاس رکھتا ہے۔ مزید برآں، کوئی بھی شریک اس کمپیوٹر سے صوابدیدی کمپیوٹیشن انجام دینے کی درخواست نشر کر سکتا ہے۔ جب بھی ایسی کوئی درخواست نشر کی جاتی ہے، نیٹ ورک پر موجود دیگر شرکاء اس کی تصدیق کرتے ہیں، اسے درست قرار دیتے ہیں، اور کمپیوٹیشن کو انجام دیتے ہیں ("ایگزیکیوٹ" کرتے ہیں)۔ اس ایگزیکیوشن کی وجہ سے EVM کی حالت میں تبدیلی آتی ہے، جسے کمٹمنٹ کے ذریعے پورے نیٹ ورک میں پھیلا دیا جاتا ہے۔
کمپیوٹیشن کی درخواستوں کو ٹرانزیکشن کی درخواستیں کہا جاتا ہے؛ تمام ٹرانزیکشنز کا ریکارڈ اور EVM کی موجودہ حالت بلاک چین پر محفوظ ہو جاتی ہے، جسے بدلے میں تمام نوڈز کے ذریعے محفوظ کیا جاتا ہے اور اس پر اتفاق رائے کیا جاتا ہے۔
کرپٹوگرافک میکانزم اس بات کو یقینی بناتے ہیں کہ ایک بار جب ٹرانزیکشنز کی درستگی کی تصدیق ہو جائے اور انہیں بلاک چین میں شامل کر دیا جائے، تو بعد میں ان کے ساتھ چھیڑ چھاڑ نہیں کی جا سکتی۔ یہی میکانزم اس بات کو بھی یقینی بناتے ہیں کہ تمام ٹرانزیکشنز پر دستخط کیے جائیں اور انہیں مناسب "اجازتوں" کے ساتھ انجام دیا جائے (کوئی بھی ایلس (Alice) کے اکاؤنٹ سے ڈیجیٹل اثاثہ نہیں بھیج سکتا، سوائے خود ایلس کے)۔
ایتھر کیا ہے؟
ایتھر (ETH) ایتھیریم کی مقامی کرپٹو کرنسی ہے۔ ETH کا مقصد کمپیوٹیشن کے لیے ایک مارکیٹ کی اجازت دینا ہے۔ ایسی مارکیٹ شرکاء کو ٹرانزیکشن کی درخواستوں کی تصدیق اور ان پر عمل درآمد کرنے اور نیٹ ورک کو کمپیوٹیشنل وسائل فراہم کرنے کے لیے ایک معاشی ترغیب فراہم کرتی ہے۔
کوئی بھی شریک جو ٹرانزیکشن کی درخواست نشر کرتا ہے اسے انعام کے طور پر نیٹ ورک کو کچھ مقدار میں ETH بھی پیش کرنا ہوگا۔ نیٹ ورک انعام کا کچھ حصہ جلا دے گا اور باقی حصہ اس شخص کو دے گا جو بالآخر ٹرانزیکشن کی تصدیق کرنے، اس پر عمل درآمد کرنے، اسے بلاک چین میں کمٹ کرنے، اور اسے نیٹ ورک پر نشر کرنے کا کام کرتا ہے۔
ادا کی گئی ETH کی مقدار کمپیوٹیشن کرنے کے لیے درکار وسائل کے مساوی ہوتی ہے۔ یہ انعامات بدنیتی پر مبنی شرکاء کو لامحدود کمپیوٹیشن یا دیگر وسائل طلب اسکرپٹس پر عمل درآمد کی درخواست کر کے جان بوجھ کر نیٹ ورک کو جام کرنے سے بھی روکتے ہیں، کیونکہ ان شرکاء کو کمپیوٹیشن کے وسائل کے لیے ادائیگی کرنی پڑتی ہے۔
ETH کا استعمال نیٹ ورک کو تین اہم طریقوں سے کرپٹو-اقتصادی تحفظ فراہم کرنے کے لیے بھی کیا جاتا ہے: 1) اسے ان توثیق کاروں کو انعام دینے کے ذریعہ کے طور پر استعمال کیا جاتا ہے جو بلاکس تجویز کرتے ہیں یا دوسرے توثیق کاروں کے بے ایمان رویے کی نشاندہی کرتے ہیں؛ 2) اسے توثیق کاروں کے ذریعے اسٹیک کیا جاتا ہے، جو بے ایمان رویے کے خلاف ضمانت کے طور پر کام کرتا ہے—اگر توثیق کار غلط برتاؤ کرنے کی کوشش کرتے ہیں تو ان کا ETH تباہ کیا جا سکتا ہے؛ 3) اسے نئے تجویز کردہ بلاکس کے لیے 'ووٹوں' کا وزن کرنے کے لیے استعمال کیا جاتا ہے، جو اتفاق رائے کے طریقہ کار کے فورک کے انتخاب والے حصے میں شامل ہوتا ہے۔
سمارٹ کنٹریکٹس کیا ہیں؟
عملی طور پر، شرکاء جب بھی EVM پر کمپیوٹیشن کی درخواست کرنا چاہتے ہیں تو وہ ہر بار نیا کوڈ نہیں لکھتے۔ اس کے بجائے، ایپلیکیشن ڈیولپرز پروگرامز (کوڈ کے دوبارہ استعمال کے قابل ٹکڑے) کو EVM کی حالت میں اپ لوڈ کرتے ہیں، اور صارفین مختلف پیرامیٹرز کے ساتھ ان کوڈ کے ٹکڑوں پر عمل درآمد کرنے کی درخواستیں کرتے ہیں۔ ہم نیٹ ورک پر اپ لوڈ کیے گئے اور اس کے ذریعے چلائے جانے والے پروگراموں کو "سمارٹ کنٹریکٹس" کہتے ہیں۔
انتہائی بنیادی سطح پر، آپ ایک سمارٹ کنٹریکٹ کو ایک قسم کی وینڈنگ مشین کی طرح سمجھ سکتے ہیں: ایک اسکرپٹ جو، جب مخصوص پیرامیٹرز کے ساتھ کال کیا جاتا ہے، تو کچھ شرائط پوری ہونے پر کچھ اعمال یا کمپیوٹیشن انجام دیتا ہے۔ مثال کے طور پر، ایک سادہ وینڈر سمارٹ کنٹریکٹ ایک ڈیجیٹل اثاثہ بنا سکتا ہے اور اس کی ملکیت تفویض کر سکتا ہے اگر کال کرنے والا کسی مخصوص وصول کنندہ کو ETH بھیجتا ہے۔
کوئی بھی ڈیولپر ایک سمارٹ کنٹریکٹ بنا سکتا ہے اور نیٹ ورک کو ادا کی جانے والی فیس کے عوض، بلاک چین کو اس کی ڈیٹا لیئر کے طور پر استعمال کرتے ہوئے اسے نیٹ ورک پر عوامی بنا سکتا ہے۔ پھر کوئی بھی صارف سمارٹ کنٹریکٹ کو اس کا کوڈ چلانے کے لیے کال کر سکتا ہے، جس کے لیے دوبارہ نیٹ ورک کو فیس ادا کرنی پڑتی ہے۔
اس طرح، سمارٹ کنٹریکٹس کے ساتھ، ڈیولپرز صوابدیدی طور پر پیچیدہ صارف کا سامنا کرنے والی ایپس اور خدمات بنا سکتے ہیں اور انہیں تعینات کر سکتے ہیں جیسے: مارکیٹ پلیسز، مالیاتی آلات، گیمز، وغیرہ۔
اصطلاحات
بلاک چین
ان تمام بلاکس کی ترتیب جو نیٹ ورک کی تاریخ میں ایتھیریم نیٹ ورک پر کمٹ کیے گئے ہیں۔ اس کا نام اس لیے رکھا گیا ہے کیونکہ ہر بلاک میں پچھلے بلاک کا حوالہ ہوتا ہے، جو ہمیں تمام بلاکس (اور اس طرح درست تاریخ پر) ایک ترتیب برقرار رکھنے میں مدد کرتا ہے۔
ETH
ایتھر (ETH) ایتھیریم کی مقامی کرپٹو کرنسی ہے۔ صارفین اپنے کوڈ پر عمل درآمد کی درخواستوں کو پورا کرنے کے لیے دوسرے صارفین کو ETH ادا کرتے ہیں۔
EVM
ایتھیریم ورچوئل مشین وہ عالمی ورچوئل کمپیوٹر ہے جس کی حالت کو ایتھیریم نیٹ ورک کا ہر شریک محفوظ کرتا ہے اور اس پر متفق ہوتا ہے۔ کوئی بھی شریک EVM پر صوابدیدی کوڈ پر عمل درآمد کی درخواست کر سکتا ہے؛ کوڈ پر عمل درآمد EVM کی حالت کو تبدیل کر دیتا ہے۔
نوڈز
حقیقی زندگی کی مشینیں جو EVM کی حالت کو محفوظ کر رہی ہیں۔ نوڈز EVM کی حالت اور نئی حالت کی تبدیلیوں کے بارے میں معلومات پھیلانے کے لیے ایک دوسرے کے ساتھ بات چیت کرتے ہیں۔ کوئی بھی صارف کسی نوڈ سے کوڈ پر عمل درآمد کی درخواست نشر کر کے کوڈ پر عمل درآمد کی درخواست بھی کر سکتا ہے۔ ایتھیریم نیٹ ورک بذات خود تمام ایتھیریم نوڈز اور ان کے مواصلات کا مجموعہ ہے۔
اکاؤنٹس
جہاں ETH محفوظ کیا جاتا ہے۔ صارفین اکاؤنٹس شروع کر سکتے ہیں، اکاؤنٹس میں ETH جمع کر سکتے ہیں، اور اپنے اکاؤنٹس سے دوسرے صارفین کو ETH کی منتقلی کر سکتے ہیں۔ اکاؤنٹس اور اکاؤنٹ کے بیلنس EVM میں ایک بڑی ٹیبل میں محفوظ کیے جاتے ہیں؛ وہ مجموعی EVM حالت کا حصہ ہیں۔
ٹرانزیکشنز
ایک "ٹرانزیکشن کی درخواست" EVM پر کوڈ پر عمل درآمد کی درخواست کے لیے رسمی اصطلاح ہے، اور ایک "ٹرانزیکشن" ایک مکمل شدہ ٹرانزیکشن کی درخواست اور EVM کی حالت میں متعلقہ تبدیلی ہے۔ کوئی بھی صارف کسی نوڈ سے نیٹ ورک پر ٹرانزیکشن کی درخواست نشر کر سکتا ہے۔ ٹرانزیکشن کی درخواست کو متفقہ EVM حالت پر اثر انداز ہونے کے لیے، اسے کسی دوسرے نوڈ کے ذریعے درست قرار دیا جانا، اس پر عمل درآمد کیا جانا، اور "نیٹ ورک پر کمٹ" کیا جانا چاہیے۔ کسی بھی کوڈ پر عمل درآمد EVM میں حالت کی تبدیلی کا سبب بنتا ہے؛ کمٹمنٹ پر، یہ حالت کی تبدیلی نیٹ ورک کے تمام نوڈز پر نشر کی جاتی ہے۔ ٹرانزیکشنز کی کچھ مثالیں:
- میرے اکاؤنٹ سے ایلس (Alice) کے اکاؤنٹ میں X ETH بھیجیں۔
- کچھ سمارٹ کنٹریکٹ کوڈ کو EVM کی حالت میں شائع کریں۔
- EVM میں پتہ X پر سمارٹ کنٹریکٹ کے کوڈ کو دلائل (arguments) Y کے ساتھ چلائیں۔
بلاکس
ٹرانزیکشنز کا حجم بہت زیادہ ہوتا ہے، اس لیے ٹرانزیکشنز کو بیچز (batches)، یا بلاکس میں "کمٹ" کیا جاتا ہے۔ بلاکس میں عام طور پر درجنوں سے لے کر سینکڑوں ٹرانزیکشنز شامل ہوتی ہیں۔
سمارٹ کنٹریکٹس
کوڈ کا ایک دوبارہ استعمال کے قابل ٹکڑا (ایک پروگرام) جسے ایک ڈیولپر EVM کی حالت میں شائع کرتا ہے۔ کوئی بھی ٹرانزیکشن کی درخواست کر کے سمارٹ کنٹریکٹ کوڈ پر عمل درآمد کی درخواست کر سکتا ہے۔ چونکہ ڈیولپرز سمارٹ کنٹریکٹس شائع کر کے EVM میں صوابدیدی قابل عمل ایپلی کیشنز (گیمز، مارکیٹ پلیسز، مالیاتی آلات، وغیرہ) لکھ سکتے ہیں، اس لیے انہیں اکثر غیر مرکزی ایپلی کیشنز (dapps) بھی کہا جاتا ہے۔
سمارٹ کنٹریکٹس کے بارے میں مزید
آگے کہاں جائیں
زیادہ تر قارئین دستاویزات کو ترتیب سے پڑھتے ہیں، لیکن سب سے مختصر راستہ اس بات پر منحصر ہے کہ آپ کیا بنانے کی کوشش کر رہے ہیں:
- غیر مرکزی ایپلی کیشنز (dapps) جو ایتھیریم کے ساتھ تعامل کرتی ہیں: اکاؤنٹس اور ٹرانزیکشنز، پھر ایک فریم ورک منتخب کریں۔
- سمارٹ کنٹریکٹ ڈیولپمنٹ: سمارٹ کنٹریکٹس اور پروگرامنگ زبانیں۔
- نوڈز اور اسٹیکنگ: نوڈز اور کلائنٹس، پھر اتفاق رائے کا طریقہ کار۔
مزید مطالعہ
- ایتھیریم وائٹ پیپر
- آخر ایتھیریم کیسے کام کرتا ہے؟ (opens in a new tab) - Preethi Kasireddy (نوٹ یہ وسیلہ اب بھی قیمتی ہے لیکن آگاہ رہیں کہ یہ دی مرج سے پہلے کا ہے اور اس لیے اب بھی ایتھیریم کے ثبوتِ کار (PoW) کے طریقہ کار کا حوالہ دیتا ہے - ایتھیریم دراصل اب حصہ داری کا ثبوت (PoS) کا استعمال کرتے ہوئے محفوظ ہے)
کیا آپ بصری طور پر سیکھنا پسند کرتے ہیں؟
یہ ویڈیو سیریز بنیادی موضوعات کی تفصیلی کھوج پیش کرتی ہے:
ایتھیریم کی بنیادی باتوں کی پلے لسٹ (opens in a new tab)
کیا آپ کسی ایسے کمیونٹی وسیلے کو جانتے ہیں جس نے آپ کی مدد کی ہو؟ اس صفحے میں ترمیم کریں اور اسے شامل کریں!
متعلقہ ٹیوٹوریلز
- ایتھیریم کے لیے ایک ڈیولپر کی گائیڈ، حصہ 1 – Python اور web3.py کا استعمال کرتے ہوئے ایتھیریم کی ایک انتہائی ابتدائی سطح کی کھوج