---
title: "کان کنی کے الگورتھم"
description: "ایتھیریم کی کان کنی کے لیے استعمال ہونے والے الگورتھمز کا تفصیلی جائزہ۔"
lang: ur
---

<Alert variant="update">
<AlertEmoji text=":wave:"/>
<AlertContent>
<AlertDescription>
ثبوتِ کار (PoW) اب ایتھیریم کے اتفاق رائے کا طریقہ کار کی بنیاد نہیں رہا، جس کا مطلب ہے کہ کان کنی بند کر دی گئی ہے۔ اس کے بجائے، ایتھیریم کو ان توثیق کاروں (validators) کے ذریعے محفوظ کیا جاتا ہے جو <span dir="ltr">ETH</span> اسٹیک کرتے ہیں۔ آپ آج ہی اپنا <span dir="ltr">ETH</span> اسٹیک کرنا شروع کر سکتے ہیں۔ <a href='/roadmap/merge/'>دی مرج</a>، <a href='/developers/docs/consensus-mechanisms/pos/'>حصہ داری کا ثبوت (PoS)</a>، اور <a href='/staking/'>اسٹیکنگ</a> کے بارے میں مزید پڑھیں۔ یہ صفحہ صرف تاریخی دلچسپی کے لیے ہے۔
</AlertDescription>
</AlertContent>
</Alert>

ایتھیریم کی کان کنی میں ایک الگورتھم استعمال ہوتا تھا جسے ایتھ ہیش کہا جاتا ہے۔ اس الگورتھم کا بنیادی خیال یہ ہے کہ ایک کان کن بروٹ فورس (brute force) کمپیوٹیشن کا استعمال کرتے ہوئے ایک نانس ان پٹ تلاش کرنے کی کوشش کرتا ہے تاکہ نتیجہ خیز ہیش حسابی دشواری کے ذریعے طے شدہ حد سے چھوٹا ہو۔ اس دشواری کی سطح کو متحرک طور پر ایڈجسٹ کیا جا سکتا ہے، جس سے بلاک کی پیداوار ایک باقاعدہ وقفے پر ہو سکتی ہے۔

## پیشگی شرائط {#prerequisites}

اس صفحے کو بہتر طور پر سمجھنے کے لیے، ہم تجویز کرتے ہیں کہ آپ پہلے [ثبوتِ کار (PoW) کے اتفاق رائے](/developers/docs/consensus-mechanisms/pow) اور [کان کنی](/developers/docs/consensus-mechanisms/pow/mining) کے بارے میں پڑھیں۔

## Dagger Hashimoto {#dagger-hashimoto}

<span dir="ltr">Dagger Hashimoto</span> ایتھیریم کی کان کنی کے لیے ایک ابتدائی تحقیقی الگورتھم تھا جس کی جگہ ایتھ ہیش نے لے لی۔ یہ دو مختلف الگورتھمز کا مجموعہ تھا: <span dir="ltr">Dagger</span> اور <span dir="ltr">Hashimoto</span>۔ یہ صرف ایک تحقیقی نفاذ تھا اور ایتھیریم مین نیٹ کے لانچ ہونے تک اس کی جگہ ایتھ ہیش نے لے لی تھی۔

[<span dir="ltr">Dagger</span>](http://www.hashcash.org/papers/dagger.html) میں ایک [<span dir="ltr">Directed Acyclic Graph (DAG)</span>](https://en.wikipedia.org/wiki/Directed_acyclic_graph) کی تخلیق شامل ہے، جس کے بے ترتیب حصوں کو ایک ساتھ ہیش کیا جاتا ہے۔ بنیادی اصول یہ ہے کہ ہر نانس کو ایک بڑے کل ڈیٹا ٹری (data tree) کے صرف ایک چھوٹے سے حصے کی ضرورت ہوتی ہے۔ ہر نانس کے لیے سب ٹری (subtree) کو دوبارہ کمپیوٹ کرنا کان کنی کے لیے انتہائی مشکل ہے - اس لیے ٹری کو اسٹور کرنے کی ضرورت ہوتی ہے - لیکن ایک نانس کی تصدیق کے لیے یہ ٹھیک ہے۔ <span dir="ltr">Dagger</span> کو <span dir="ltr">Scrypt</span> جیسے موجودہ الگورتھمز کے متبادل کے طور پر ڈیزائن کیا گیا تھا، جو میموری کے لحاظ سے سخت (memory-hard) ہیں لیکن جب ان کی میموری کی سختی حقیقی طور پر محفوظ سطح تک بڑھ جاتی ہے تو ان کی تصدیق کرنا مشکل ہو جاتا ہے۔ تاہم، <span dir="ltr">Dagger</span> شیئرڈ میموری ہارڈویئر ایکسلریشن (shared memory hardware acceleration) کے خطرے سے دوچار تھا اور اسے تحقیق کی دیگر راہوں کے حق میں ترک کر دیا گیا۔

[<span dir="ltr">Hashimoto</span>](http://diyhpl.us/%7Ebryan/papers2/bitcoin/meh/hashimoto.pdf) ایک ایسا الگورتھم ہے جو <span dir="ltr">I/O</span> باؤنڈ (یعنی میموری ریڈز کان کنی کے عمل میں محدود کرنے والا عنصر ہیں) ہو کر <span dir="ltr">ASIC</span>-مزاحمت کا اضافہ کرتا ہے۔ نظریہ یہ ہے کہ RAM کمپیوٹیشن سے زیادہ دستیاب ہے؛ اربوں ڈالر کی تحقیق نے پہلے ہی مختلف استعمال کے معاملات کے لیے RAM کو بہتر بنانے کی چھان بین کی ہے، جس میں اکثر قریب قریب بے ترتیب رسائی کے پیٹرن (near-random access patterns) شامل ہوتے ہیں (اسی لیے اسے "random access memory" کہا جاتا ہے)۔ نتیجے کے طور پر، موجودہ RAM الگورتھم کا جائزہ لینے کے لیے ممکنہ طور پر بہترین کے کافی قریب ہے۔ <span dir="ltr">Hashimoto</span> بلاک چین کو ڈیٹا کے ماخذ کے طور پر استعمال کرتا ہے، جو بیک وقت مندرجہ بالا (1) اور (3) کو پورا کرتا ہے۔

<span dir="ltr">Dagger-Hashimoto</span> نے <span dir="ltr">Dagger</span> اور <span dir="ltr">Hashimoto</span> الگورتھمز کے ترمیم شدہ ورژن استعمال کیے۔ <span dir="ltr">Dagger Hashimoto</span> اور <span dir="ltr">Hashimoto</span> کے درمیان فرق یہ ہے کہ، بلاک چین کو ڈیٹا سورس کے طور پر استعمال کرنے کے بجائے، <span dir="ltr">Dagger Hashimoto</span> ایک کسٹم جنریٹڈ ڈیٹا سیٹ استعمال کرتا ہے، جو ہر N بلاکس کے بعد بلاک ڈیٹا کی بنیاد پر اپ ڈیٹ ہوتا ہے۔ ڈیٹا سیٹ <span dir="ltr">Dagger</span> الگورتھم کا استعمال کرتے ہوئے تیار کیا جاتا ہے، جس سے لائٹ کلائنٹ کی تصدیق کے الگورتھم کے لیے ہر نانس کے لیے مخصوص سب سیٹ کا مؤثر طریقے سے حساب لگایا جا سکتا ہے۔ <span dir="ltr">Dagger Hashimoto</span> اور <span dir="ltr">Dagger</span> کے درمیان فرق یہ ہے کہ، اصل <span dir="ltr">Dagger</span> کے برعکس، بلاک سے استفسار (query) کرنے کے لیے استعمال ہونے والا ڈیٹاسیٹ نیم مستقل (semi-permanent) ہوتا ہے، جو صرف کبھی کبھار کے وقفوں پر اپ ڈیٹ ہوتا ہے (مثلاً، ہفتے میں ایک بار)۔ اس کا مطلب یہ ہے کہ ڈیٹاسیٹ بنانے کی کوشش کا حصہ صفر کے قریب ہے، لہذا شیئرڈ میموری اسپیڈ اپس (shared memory speedups) کے حوالے سے Sergio Lerner کے دلائل نہ ہونے کے برابر ہو جاتے ہیں۔

[<span dir="ltr">Dagger-Hashimoto</span>](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto) کے بارے میں مزید۔

## ایتھ ہیش {#ethash}

ایتھ ہیش وہ کان کنی کا الگورتھم تھا جو اصل میں اب متروک شدہ ثبوتِ کار (PoW) کے فن تعمیر کے تحت حقیقی ایتھیریم مین نیٹ پر استعمال ہوتا تھا۔ ایتھ ہیش مؤثر طریقے سے <span dir="ltr">Dagger-Hashimoto</span> کے ایک مخصوص ورژن کو دیا گیا ایک نیا نام تھا جب الگورتھم کو نمایاں طور پر اپ ڈیٹ کیا گیا تھا، جبکہ اب بھی اپنے پیشرو کے بنیادی اصولوں کو وراثت میں ملا تھا۔ ایتھیریم مین نیٹ نے ہمیشہ صرف ایتھ ہیش کا استعمال کیا - <span dir="ltr">Dagger Hashimoto</span> کان کنی کے الگورتھم کا ایک <span dir="ltr">R&D</span> ورژن تھا جسے ایتھیریم مین نیٹ پر کان کنی شروع ہونے سے پہلے ہی تبدیل کر دیا گیا تھا۔

[ایتھ ہیش کے بارے میں مزید](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash)۔

## مزید مطالعہ {#further-reading}

_کسی ایسے کمیونٹی وسیلے کے بارے میں جانتے ہیں جس نے آپ کی مدد کی ہو؟ اس صفحے میں ترمیم کریں اور اسے شامل کریں!_