کس طرح SHA256 اور کان کنی بٹ کوائن نیٹ ورک پلیٹو بلاکچین ڈیٹا انٹیلی جنس کی حفاظت کرتے ہیں۔ عمودی تلاش۔ عی

کس طرح SHA256 اور کان کنی بٹ کوائن نیٹ ورک کی حفاظت کرتے ہیں۔

توانائی کے ذریعے بٹ کوائن کا دفاع کیسے کیا جاتا ہے؟ اور نانس کیا ہے؟ ان سوالات اور مزید کے جوابات اندر موجود ہیں!

کان کنی کیسے کام کرتی ہے دلچسپ ہے۔ جب میں اسے لوگوں کو سمجھاتا ہوں تو مجھے ان کے چہرے کو دیکھ کر لطف آتا ہے جب ان کا دماغ اڑا جاتا ہے۔ میں یہاں اس کی وضاحت کروں گا، لیکن صرف اتنا جان لیں، میں آپ کے تمام چہروں کا تصور کر رہا ہوں جیسا کہ آپ کا دماغ اڑا رہا ہے!

مجھے ہیش فنکشن کے ساتھ شروع کرنا ہے۔ ہیش فنکشنز کے بغیر، بٹ کوائن ممکن نہیں ہوگا۔ مجھے بتانے دیں کہ وہ سب سے پہلے کیا ہیں، نہ صرف اس لیے کہ آپ پارٹیوں میں ٹھنڈا لگ سکتے ہیں، بلکہ اس لیے بھی کہ یہ سمجھنے کے لیے بنیادی ہے کہ بٹ کوائن کیسے کام کرتا ہے - خاص طور پر کان کنی بلکہ لین دین بھی۔

آپ کو یہ سمجھنے کی ضرورت نہیں ہے کہ بٹ کوائن اس سے فائدہ اٹھانے کے لیے کیسے کام کرتا ہے، بالکل اسی طرح جیسے آپ کو یہ سمجھنے کی ضرورت نہیں ہے کہ انٹرنیٹ استعمال کرنے کے لیے TCP/IP کیسے کام کرتا ہے۔ لیکن آگے بڑھیں، کیونکہ یہ کافی دلچسپ ہے اور میں اسے سمجھنے میں آسانی پیدا کروں گا، میں وعدہ کرتا ہوں۔

ہیش کام

آئیے ایک اسکیمیٹک کے ساتھ شروع کریں جس کی میں ذیل میں وضاحت کروں گا…

کس طرح SHA256 اور کان کنی بٹ کوائن نیٹ ورک پلیٹو بلاکچین ڈیٹا انٹیلی جنس کی حفاظت کرتے ہیں۔ عمودی تلاش۔ عی
(گرافک/@jirols_btc)

بائیں طرف ان پٹ ہے، مرکز فنکشن ہے، اور دائیں طرف آؤٹ پٹ ہے۔ ان پٹ کوئی بھی ڈیٹا ہو سکتا ہے، جب تک کہ یہ ڈیجیٹل ہو۔ یہ کسی بھی سائز کا ہو سکتا ہے، بشرطیکہ آپ کا کمپیوٹر اسے سنبھال سکے۔ ڈیٹا کو SHA256 فنکشن میں منتقل کیا جاتا ہے۔ فنکشن ڈیٹا لیتا ہے اور بے ترتیب نظر آنے والے نمبر کا حساب لگاتا ہے، لیکن خاص خصوصیات کے ساتھ (بعد میں بحث کی جائے گی)۔

پہلا سیکیور ہیش الگورتھم (SHA) اصل میں تھا۔ NSA کی طرف سے تیار اور اب بہت سے مختلف ورژن ہیں (Bitcoin SHA256 استعمال کرتا ہے)۔ یہ ہدایات کا ایک مجموعہ ہے کہ کس طرح ڈیٹا کو ایک انتہائی پیچیدہ لیکن مخصوص طریقے سے جمع کرنا ہے۔ ہدایات کوئی راز نہیں ہیں اور اسے ہاتھ سے کرنا بھی ممکن ہے، لیکن یہ بہت تکلیف دہ ہے۔

SHA256 کے لیے، آؤٹ پٹ ایک 256 بٹ نمبر ہے (اتفاق نہیں)۔

256 بٹ نمبر کا مطلب بائنری نمبر 256 ہندسوں کا ہے۔ بائنری کا مطلب ہے کہ قدر کو دو علامتوں سے ظاہر کیا جاتا ہے، یا تو 0 یا 1۔ بائنری نمبرز کو کسی دوسرے فارمیٹ میں تبدیل کیا جا سکتا ہے، مثال کے طور پر اعشاریہ نمبر، جس سے ہم واقف ہیں۔

اگرچہ فنکشن 256 ہندسوں کا بائنری نمبر لوٹاتا ہے، لیکن قدر کو عام طور پر ہیکسا ڈیسیمل فارمیٹ میں ظاہر کیا جاتا ہے، 64 ہندسوں طویل۔

ہیکساڈیسیمل کا مطلب یہ ہے کہ 10 ممکنہ علامتوں کی بجائے جیسے کہ ہم اعشاریہ (0 سے 9) کے ساتھ استعمال ہوتے ہیں، ہمارے پاس 16 علامتیں ہیں (جن دس کے ہم عادی ہیں، 0-9، نیز حروف a, b, c, d, e, اور f؛ جس کی قدریں 11 سے 15 ہیں)۔ مثال کے طور پر، ہیکساڈیسیمل میں اعشاریہ 15 کی قدر کو ظاہر کرنے کے لیے، ہم صرف "f" لکھتے ہیں اور یہ وہی قدر ہے۔ اگر آپ کو مزید تفصیل کی ضرورت ہو تو فوری گوگل سرچ کے ساتھ بہت ساری معلومات آن لائن دستیاب ہیں۔

SHA256 کو عملی شکل دینے کے لیے، میں نمبر 1 لے سکتا ہوں اور اسے ایک کے ذریعے چلا سکتا ہوں۔ آن لائن ہیش کیلکولیٹر، اور یہ آؤٹ پٹ ملا (ہیکساڈیسیمل میں):

کس طرح SHA256 اور کان کنی بٹ کوائن نیٹ ورک پلیٹو بلاکچین ڈیٹا انٹیلی جنس کی حفاظت کرتے ہیں۔ عمودی تلاش۔ عی

سب سے اوپر والا باکس ان پٹ ہے، نیچے والا باکس نتیجہ خیز آؤٹ پٹ ہے۔

یاد رکھیں کہ دنیا کے تمام کمپیوٹرز ایک ہی آؤٹ پٹ تیار کریں گے، بشرطیکہ ان پٹ ایک جیسا ہو اور SHA256 فنکشن استعمال ہو۔

ہیکساڈیسیمل نمبر کا آؤٹ پٹ، اگر اعشاریہ میں تبدیل کیا جائے تو یہ ہے (نوٹ کریں کہ اسے لکھنے میں زیادہ ہندسے لگتے ہیں):

48,635,463,943,209,834,798,109,814,161,294,753,926,839,975,257,569,795,305,637,098,542,720,658,922,315

اور بائنری میں تبدیل یہ ہے:

11010111000011010110010011100111111111100110100111111001110000110011101011010111000000001001110111111110101101000111111010101110100011110101101101001001110101010100010001011110001110101001001110000000001111001010010110111011011011110000111010110110100101111010111001101011100110101110011010111001101011100110101110011010111001101011100111

صرف دلچسپی سے باہر، یہاں ایک ہی قدر ہے۔ بیس 64.

1w1k5/5p+cM61wCd/rR+ro9bSdVEXjqTgDylu28OtpY=

نوٹ کریں کہ SHA256 کی سب سے چھوٹی ممکنہ قدر صفر ہے، لیکن LENGTH اب بھی 256 بٹس ہے۔ اس طرح صفر کی نمائندگی کی جاتی ہے:

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

اور سب سے بڑی ممکنہ قدر یہ ہے:

1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

اعشاریہ میں، یہ ہے:

115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,935

ہیکساڈیسیمل میں، یہ ہے:

ففففففففففففففففففففففففففففففففففففففففففففففففففففففف

نوٹ کریں کہ بالکل 64 F ہیں۔

ہیکساڈیسیمل میں زیرو کو صرف ایک ہی صفر کے طور پر لکھا جا سکتا ہے، لیکن ہیش آؤٹ پٹ کے لیے، یہ ان میں سے 64 ہیں جو ایک مقررہ سائز کے آؤٹ پٹ کی ضرورت کو پورا کرتے ہیں:

0000000000000000000000000000000000000000000000000000000000000000

یہاں ہیش فنکشن کے بارے میں کچھ حقائق کا خلاصہ ہے جن کی تعریف کرنا ضروری ہے:

  • آؤٹ پٹ سے ان پٹ کا تعین نہیں کیا جا سکتا
  • ان پٹ کسی بھی لمبائی کا ہو سکتا ہے۔
  • آؤٹ پٹ ہمیشہ ایک ہی لمبائی میں ہوتا ہے۔
  • اگر آپ وہی ان پٹ فراہم کرتے ہیں تو آؤٹ پٹ ہمیشہ یکساں طور پر دوبارہ تیار کیا جائے گا۔
  • ان پٹ میں کوئی بھی تبدیلی، چاہے کتنی ہی چھوٹی ہو، غیر متوقع اور بے حد مختلف آؤٹ پٹ کا سبب بنے گی۔
  • آؤٹ پٹ بظاہر بے ترتیب ہے، لیکن اصل میں تعییناتی ہے (مطلب یہ شمار کیا جاتا ہے اور دوبارہ پیدا کیا جا سکتا ہے)
  • آؤٹ پٹ کا اندازہ نہیں لگایا جا سکتا۔ اس کا صرف حساب لگایا جا سکتا ہے اور اس میں کمپیوٹر کے ذریعے کام کی پیمائش کی ضرورت ہوتی ہے (اور پنسل اور کاغذ کے ساتھ گھنٹے! ایسا نہ کریں۔)

اب جب کہ آپ بنیادی تصور کو سمجھ گئے ہیں کہ ہیش کیا ہے، آپ اس وضاحت کو سمجھ سکتے ہیں کہ بٹ کوائن مائننگ کیسے کام کرتی ہے۔

لیکن اس سے پہلے کہ آپ آگے بڑھیں، میرا مشورہ ہے کہ آپ آن لائن ہیش کیلکولیٹر پر جائیں اور اس کے ساتھ تھوڑا سا کھیلیں اور خود ہی جانچیں کہ میں نے ہیش فنکشنز کے بارے میں کیا کہا ہے۔ مجھے یہ پسند ہے.

کانوں کی کھدائی

میں کام کے ایک تصور کا مظاہرہ کرتے ہوئے شروع کروں گا، جہاں سے بٹ کوائن میں "کام کا ثبوت" آتا ہے۔

آن لائن ہیش کیلکولیٹر پر جائیں اور ٹائپ کریں "میں 50 بٹ کوائن بنا رہا ہوں اور یہ رقم خود ادا کر رہا ہوں۔"

اسے بالکل ٹائپ کریں، کیس حساس، بشمول فل اسٹاپ۔ آپ کو یہ آؤٹ پٹ ملنا چاہئے:

کس طرح SHA256 اور کان کنی بٹ کوائن نیٹ ورک پلیٹو بلاکچین ڈیٹا انٹیلی جنس کی حفاظت کرتے ہیں۔ عمودی تلاش۔ عی

اب، آئیے ایک قاعدہ بناتے ہیں جو کہے کہ اس ادائیگی کے پیغام کے درست ہونے کے لیے، ہمیں ایک صفر سے شروع کرنے کے لیے ہیش کی ضرورت ہے۔ ایسا کرنے کے لیے، ہمیں کسی نہ کسی طرح ان پٹ کو تبدیل کرنا ہوگا۔ لیکن، جیسا کہ آپ نے سیکھا ہے، یہ پیشین گوئی نہیں کی جا سکتی کہ دیے گئے ان پٹ کے لیے آؤٹ پٹ کیا ہوگا۔ صفر سے شروع ہونے والے ہیش کو یقینی بنانے کے لیے ہم کیا ترمیم کر سکتے ہیں؟

ہمیں ٹرائل اینڈ ایرر کا استعمال کرتے ہوئے ڈیٹا شامل کرنا ہوگا۔ لیکن ہم ان پٹ پیغام کے معنی کو بھی تبدیل نہیں کرنا چاہتے۔ تو، آئیے ایک فیلڈ بنائیں (ایک مختص سیکشن) جسے "nonce" کہا جاتا ہے جس میں ایک بکواس قدر ہو گی۔

لفظ "Nonce" کو "صرف ایک بار استعمال ہونے والے نمبر" سے ماخوذ سمجھا جاتا ہے، لیکن میں اسے نہیں دیکھ رہا۔

ذیل میں دیکھیں کہ کس طرح صرف "Nonce:" کو شامل کرنے سے بطور اضافی فیلڈ ہیڈنگ ہیش آؤٹ پٹ کو تبدیل کرتی ہے۔

کس طرح SHA256 اور کان کنی بٹ کوائن نیٹ ورک پلیٹو بلاکچین ڈیٹا انٹیلی جنس کی حفاظت کرتے ہیں۔ عمودی تلاش۔ عی

آؤٹ پٹ اب بھی "0" سے شروع نہیں ہوتا ہے، تو آئیے کچھ بکواس شامل کریں (میں نے ایک بے معنی "x" شامل کیا):

کس طرح SHA256 اور کان کنی بٹ کوائن نیٹ ورک پلیٹو بلاکچین ڈیٹا انٹیلی جنس کی حفاظت کرتے ہیں۔ عمودی تلاش۔ عی

یہ اب بھی صفر سے شروع نہیں ہوتا ہے۔ میں نے کچھ اور کرداروں کی کوشش کی جب تک کہ ہیش صفر سے شروع نہ ہو:

کس طرح SHA256 اور کان کنی بٹ کوائن نیٹ ورک پلیٹو بلاکچین ڈیٹا انٹیلی جنس کی حفاظت کرتے ہیں۔ عمودی تلاش۔ عی

وہاں ہم جاتے ہیں۔ اب، بٹ کوائن کے اس ڈرامہ ورژن کے لیے میں نے جو صوابدیدی اصول طے کیے ہیں، ان کے مطابق، ان پٹ ونڈو میں موجود متن ایک درست بلاک ہے جس میں مجھے 50 بٹ کوائن کی ادائیگی ہوتی ہے۔

نوٹ کریں کہ بٹ کوائن بلاکس بنیادی طور پر لیجر کے صفحات ہیں۔ ہر بلاک کو نمبر دیا جاتا ہے اور صارفین کے درمیان لین دین کی فہرست کے ساتھ ساتھ نیا بٹ کوائن بناتا ہے۔ یہ ریکارڈ وہ جگہ ہے جہاں بٹ کوائن رہتا ہے۔

اب ایک نیا اصول۔ اگلے بلاک کے لیے، پچھلے بلاک کی ہیش کو شامل کرنا ضروری ہے۔ میں ایک چھوٹی سی پیچیدگی شامل کروں گا اور کچھ اور فیلڈز شامل کروں گا تاکہ ایک حقیقی Bitcoin بلاک کیا ہو۔

کس طرح SHA256 اور کان کنی بٹ کوائن نیٹ ورک پلیٹو بلاکچین ڈیٹا انٹیلی جنس کی حفاظت کرتے ہیں۔ عمودی تلاش۔ عی

ہیش کا آغاز "f" سے ہوتا ہے "0" سے نہیں، اس لیے مجھے nonce فیلڈ میں کچھ قدریں آزمانی ہوں گی۔

کس طرح SHA256 اور کان کنی بٹ کوائن نیٹ ورک پلیٹو بلاکچین ڈیٹا انٹیلی جنس کی حفاظت کرتے ہیں۔ عمودی تلاش۔ عی

اس بار میں خوش قسمت تھا اور مجھے صرف چار کوششوں کے بعد ایک مناسب نونس ملا۔ یاد رہے کہ پہلے بلاک کے لیے 22 کوششیں کی گئیں۔ یہاں کچھ بے ترتیب پن ہے، لیکن عام طور پر درست ہیش تلاش کرنا زیادہ مشکل نہیں ہے اگر ہم صرف ایک صفر حاصل کرنے کی کوشش کر رہے ہیں۔ پہلے ہیش ہندسے کی 16 ممکنہ قدریں ہیں لہذا میرے پاس 1 میں سے 16 کا امکان ہے کہ میں ان پٹ فیلڈ میں جو بھی ترمیم کروں گا اس کے نتیجے میں پہلا ہیش ہندسہ "0" ہوگا۔

نوٹ کریں کہ بٹ کوائن کی فیلڈز اس طرح کی ہیں، لیکن مزید تفصیل ہے جو میں نے شامل نہیں کی ہے۔ یہ صرف ایک نقطہ کو واضح کرنے کے لیے ہے، ضروری نہیں کہ اس کی تفصیل بیان کی جائے کہ بٹ کوائن بلاک کیسا لگتا ہے۔

میں اگلے بلاک میں ایک ٹائم فیلڈ شامل کروں گا کیونکہ مجھے اس کی ضرورت ہے "مشکل ایڈجسٹمنٹ" کی وضاحت کرنے کے لیے:

کس طرح SHA256 اور کان کنی بٹ کوائن نیٹ ورک پلیٹو بلاکچین ڈیٹا انٹیلی جنس کی حفاظت کرتے ہیں۔ عمودی تلاش۔ عی

اوپر بلاک نمبر تین ہے۔ اس میں پچھلے بلاک کی ہیش شامل ہے اور اب میں نے وقت بھی شامل کرنا شروع کر دیا ہے۔ میں نے کامیابی کے ساتھ ہیش کو صفر سے شروع کیا (میں صرف "1" ٹائپ کرتا رہا جب تک کہ ہیش کا ہدف پورا نہ ہو جائے)۔

اب یہاں کافی ہے کہ میں بٹ کوائن بلاکچین اور کان کنی کے بارے میں چند دلچسپ تصورات کی وضاحت کرنا شروع کر سکتا ہوں۔

ایک بلاک جیتنا

کان کنی کا عمل مسابقتی ہے۔ جو بھی ایک درست بلاک تیار کرتا ہے پہلے اسے اپنے آپ کو ایک سیٹ بلاک انعام ادا کرنا پڑتا ہے۔ ایک کان کن جو ایک ہی بلاک نمبر تیار کرتا ہے تھوڑی دیر بعد اسے کچھ نہیں ملتا - وہ بلاک مسترد کردیا جاتا ہے۔ اس کی وضاحت کرنے سے اب بہت زیادہ تبدیلی آئے گی، اس لیے میں ضمیمہ میں اس کی وضاحت کروں گا۔

بلاک تھری کے ملنے اور ہر ایک کو نشر کرنے کے بعد (تمام بٹ کوائن نوڈس)، تمام کان کن اس بات پر کام کرنا چھوڑ دیتے ہیں کہ بلاک تھری کا ان کا ورژن کیا ہوتا۔ وہ اس کامیاب بلاک تھری کے اوپر تعمیر کرنا شروع کر دیتے ہیں (اس کے بلاک ہیش کو آگے ایک نئے بلاک میں کھینچ کر) اور بلاک فور کے لیے مناسب نونس تلاش کرنے پر کام کرنا شروع کر دیتے ہیں۔ جیتنے والا نتیجہ شائع کرتا ہے اور پھر سب بلاک فائیو وغیرہ پر کام کرنا شروع کر دیتے ہیں۔

ہر بلاک کے ساتھ، نئے بٹ کوائن بنائے جا رہے ہیں اور مجموعی طور پر اب تک کی کل سپلائی بنتی ہے۔ اگر بہت سے کان کن ہیں، تو شماریاتی طور پر ہمیں توقع رکھنی چاہیے کہ بلاکس تیزی سے تیار کیے جائیں گے، اور اس لیے بٹ کوائن تیزی سے تخلیق کیے جائیں گے۔ مسئلہ، ٹھیک ہے؟

وقت کے ساتھ ساتھ ایک پیشین گوئی کے اجراء کے ساتھ بٹ کوائن کی محدود فراہمی کی تلاش میں، ساتوشی ناکاموتو نے اس مسئلے کے بارے میں سوچا اور بلاک کی پیداوار کو اوسطاً 10 منٹ کے وقفوں پر رکھنے کے لیے ایک منفی فیڈ بیک لوپ متعارف کرایا۔ کیسے؟ دیکھیں کہ کیا آپ کوئی طریقہ سوچ سکتے ہیں۔ ایک لمحے کے لیے رکیں اور غور کریں — دیکھیں کہ کیا آپ اسی باصلاحیت حل کے ساتھ آ سکتے ہیں اور جب آپ ہار مانیں گے تو پڑھیں۔

نوڈز: میں "درست" بلاکس کا ذکر کرتا ہوں۔ تو کیا؟ کون چیک کر رہا ہے؟ بٹ کوائن نوڈس ہیں۔ ایک Bitcoin نوڈ بلاکچین کی ایک کاپی اب تک رکھتا ہے اور یہ چیک کرنے کے لیے قواعد کے ایک سیٹ پر عمل کرتا ہے کہ نئے بلاکس قواعد کے اندر ہیں اور جو نہیں ہیں ان کو مسترد کرتے ہیں۔ اصول کہاں ہیں؟ کوڈ میں۔ ایک کمپیوٹر جو بٹ کوائن کوڈ ڈاؤن لوڈ کرتا ہے ایک نوڈ ہے۔

مشکل ایڈجسٹمنٹ

نئے بٹ کوائن بلاکس بنانے کا اوسط وقت ہر نوڈ کے ذریعہ ہر 2016 بلاکس کے حساب سے لگایا جاتا ہے (یہی وجہ ہے کہ ٹائم فیلڈ کی ضرورت ہے)۔ یہ پروٹوکول اور قواعد کا حصہ ہے جن کی پیروی نوڈس کرتے ہیں۔ صفر کی تعداد کو ایڈجسٹ کرنے کے لیے ایک فارمولہ لاگو کیا جاتا ہے ہر بلاک ہیش کے درست ہونے کے لیے شروع ہونا چاہیے۔

سختی سے، یہ صفروں کی تعداد نہیں ہے جسے ایڈجسٹ کیا گیا ہے بلکہ ایک ہدف کی قیمت ہے جو ہیش کو نیچے ہونی چاہیے، لیکن آگے زیرو کے بارے میں سوچنا آسان ہے وضاحت کرنا۔

اگر بلاکس بہت تیزی سے تیار کیے جا رہے ہیں، تو ہیش ہدف کو پہلے سے طے شدہ اصولوں کے مطابق ایڈجسٹ کیا جاتا ہے جن کی تمام نوڈس یکساں طور پر پیروی کرتے ہیں (یہ ان کے کوڈ میں ہے)۔

اپنی مثال کے لیے اسے سادہ رکھتے ہوئے، فرض کریں کہ دوسرے لوگ مجھ سے مقابلہ کر رہے ہیں، بلاکس بہت تیزی سے ہو رہے ہیں، اور اب ایک خیالی حساب کے مطابق چوتھے بلاک کو ایک کے بجائے دو صفر کی ضرورت ہے۔

مجھے دو صفر حاصل کرنے میں تھوڑا زیادہ وقت لگے گا، لیکن ہم تصور کر رہے ہیں کہ بہت سے دوسرے لوگ بھی مجھ سے مقابلہ کر رہے ہیں اس لیے کسی کو بلاک تلاش کرنے میں لگنے والے کل وقت کو ہدف پر رکھا جاتا ہے۔

اگلا بلاک یہ ہے:

کس طرح SHA256 اور کان کنی بٹ کوائن نیٹ ورک پلیٹو بلاکچین ڈیٹا انٹیلی جنس کی حفاظت کرتے ہیں۔ عمودی تلاش۔ عی

وقت پر توجہ دیں۔ پچھلے بلاک کے بعد سے 10 منٹ سے زیادہ گزر چکے ہیں (میں نے صرف مظاہرہ کرنے کا وقت بنایا ہے)۔ 10 منٹ کا ہدف ممکنہ ہے۔ یہ کبھی نہیں معلوم کہ اگلا بلاک کب ملے گا۔

میں نے کی بورڈ پر ایک منٹ تک گڑبڑ کی یہاں تک کہ دو صفر ظاہر ہوئے۔ یہ ایک صفر تلاش کرنے سے کہیں زیادہ مشکل تھا۔ لگاتار دو زیرو تلاش کرنے کا موقع 1 میں 16 ہے۔2، یا 1 میں سے 256 موقع۔

اگر نئے بٹ کوائن کی کان کنی اور مقابلے میں زیادہ لوگ شامل ہوں، تو آخر کار تین صفر کی ضرورت ہوگی۔

میں نے ابھی آخری اصلی بٹ کوائن بلاک کو دیکھا، جس میں پچھلے بلاک کی ہیش تھی۔ ہیش یہ تھی:

000000000000000000084d31772619ee08e21b232f755a506bc5d09f3f1a43a1

یہ 19 صفر ہے! 1 میں 16 ہے۔19 ہر کوشش کے ساتھ اس طرح کے بلاک کو تلاش کرنے کا موقع۔ بٹ کوائن کے کان کن پوری دنیا میں اجتماعی طور پر فی سیکنڈ بہت سی کوششیں کرتے ہیں۔

فی سیکنڈ کوششوں کی تعداد کو "ہیش ریٹ" کہا جاتا ہے۔ فی الحال، اندازاً عالمی ہیش کی شرح صرف 200 ملین ٹیرہاش فی سیکنڈ سے کم ہے (ایک ٹیرہاش ایک ٹریلین ہیش ہے)۔ فی سیکنڈ اتنی کوششوں کے ساتھ، ہر 19 منٹ میں 10 زیرو سے شروع ہونے والے ہیش کے ساتھ ایک بلاک پایا جاتا ہے۔

مستقبل میں، جیسے جیسے مزید کان کن شامل ہوں گے، ہیش کی شرح بڑھ جائے گی، بلاکس تیزی سے ملیں گے، اور بٹ کوائن کی مشکل 20 صفر کی ضرورت کے مطابق ہو جائے گی، جو بلاک کی پیداوار کو تقریباً 10 منٹ تک نیچے دھکیل دے گی۔

دی ہالونگ

جب بٹ کوائن پہلی بار شروع ہوا تو ہر بلاک کے ساتھ 50 بٹ کوائن تیار کیے گئے۔ Bitcoin blockchain کے اصول بتاتے ہیں کہ ہر 210,000 بلاکس کے بعد انعام کو آدھا کر دیا جائے گا۔ اس لمحے کو "ہالنگ" کے نام سے جانا جاتا ہے اور یہ تقریباً ہر چار سال بعد ہوتا ہے۔ 10 منٹ کے وقفوں پر بلاکس کو رکھنے میں مشکل ایڈجسٹمنٹ کے ساتھ مل کر آدھا کرنے کا مطلب ہے کہ 2140 کے آس پاس، بلاک کا انعام 0.00000001، یا 1 satoshi، بٹ کوائن کی سب سے چھوٹی اکائی ہوگی، اور اسے مزید آدھا نہیں کیا جا سکتا۔ کان کنی بند نہیں ہوگی، لیکن بلاک کا انعام صفر ہوگا۔ اس لمحے سے، آگے بڑھ کر کوئی نیا بٹ کوائن نہیں بنایا جائے گا اور بٹ کوائن کی تعداد ریاضی کے لحاظ سے قابل حساب ہے اور 21 ملین سکوں کے قریب ہے۔ اس طرح کل سپلائی معلوم ہوتی ہے - یہ پروگرام کے لحاظ سے سیٹ ہے۔

صفر پر بلاک انعام کے باوجود، کان کنوں کو اب بھی لین دین کی فیس حاصل کرنے کے لیے کام کرتے رہنے کی ترغیب دی جائے گی۔

بلاک انعام کو نصف میں کیسے کاٹ دیا جاتا ہے؟ یہ نوڈس کے زیر اہتمام کوڈ میں ہے۔ وہ 210,000 کے بعد کسی بھی نئے بلاک کو مسترد کرنا جانتے ہیں جہاں ایک کان کن اپنے آپ کو 25 بٹ کوائن سے زیادہ ادائیگی کرتا ہے۔ اور پھر 420,000 کے بعد کسی بھی بلاکس کو مسترد کرنا جہاں ایک کان کن خود کو 12.5 بٹ کوائن سے زیادہ ادائیگی کرتا ہے، وغیرہ۔

ٹرانزیکشن فیس

اب تک میں نے صرف ایک لین دین کے ساتھ خیالی بلاکس دکھائے ہیں — وہ لین دین جہاں کان کن کو انعام دیا جاتا ہے۔ اسے "coinbase لین دین" کہا جاتا ہے۔

اس کا نام کمپنی کے نام پر نہیں ہے، کونبیس، میرا مطلب ہے کوائن بیس۔ کمپنی نے اپنا نام سکے بیس ٹرانزیکشن کے بعد رکھا، نہ کہ دوسری طرف۔ الجھن میں نہ پڑو۔

سکے بیس ٹرانزیکشن کے علاوہ، ایک دوسرے کو ادائیگی کرنے والے لوگوں کے لین دین بھی ہیں۔ یہاں ایک تصوراتی مثال ہے:

کس طرح SHA256 اور کان کنی بٹ کوائن نیٹ ورک پلیٹو بلاکچین ڈیٹا انٹیلی جنس کی حفاظت کرتے ہیں۔ عمودی تلاش۔ عی

میں نے اس بار اصلی ہیش تلاش کرنے کی زحمت نہیں کی (یہ دراصل اصلی ہیش ہے جس کی اطلاع بلاک 200,001 میں دی گئی ہے)۔ میں نے صرف تفریح ​​کے لیے بنایا ہے، لیکن نوٹس کریں کہ ایک پیغام وہاں سرایت کر سکتا ہے۔

Satoshis نے دن کے اخبار کی سرخی کے بعد، پہلے بٹ کوائن بلاک (دی جینیسس بلاک) میں، "بینکوں کے لیے سیکنڈ بیل آؤٹ کے کنارے پر چانسلر" کے الفاظ مشہور طور پر شامل کیے تھے۔

کس طرح SHA256 اور کان کنی بٹ کوائن نیٹ ورک پلیٹو بلاکچین ڈیٹا انٹیلی جنس کی حفاظت کرتے ہیں۔ عمودی تلاش۔ عی

یہاں بات یہ ہے کہ 132 ٹرانزیکشنز شامل ہیں (سب نہیں دکھائے گئے)۔ ٹرانزیکشن #132 کو دیکھیں - ایک ایڈریس سے 2.3 بٹ کوائن دوسرے ایڈریس پر 2.1 بٹ کوائن اور دوسرے ایڈریس پر 0.1 بٹ کوائن کی رقم ادا کر رہا ہے (میں نے پتے کی لمبائی کو چھوٹا کرنے کے لیے نقطوں کا استعمال کیا ہے)۔

لہذا 2.3 بٹ کوائن کا ذریعہ کل 2.2 بٹ کوائن (2.2 + 0.1 = 2.2) ادا کرتا ہے۔ کیا 0.1 بٹ کوائن غائب ہے؟ نہیں، فرق کا دعویٰ کان کن نے کیا ہے، جیسا کہ میں وضاحت کروں گا۔

کان کن کو بلاک انعام کے طور پر خود کو 25 بٹ کوائن ادا کرنے کی اجازت ہے (کیونکہ 210,000 بلاکس گزر چکے ہیں اس لیے انعام کو 50 سے گھٹا کر 25 کر دیا گیا ہے)۔ لیکن اگر آپ دیکھیں تو سکے بیس کا لین دین 27.33880022 ہے۔ اضافی 2.33880022 بٹ کوائن بلاک میں دیگر 132 ٹرانزیکشنز سے آتا ہے – ان پٹس سبھی آؤٹ پٹس کے کل سے قدرے زیادہ ہوں گے۔ لہذا کان کن کو اس "ترک شدہ" بٹ کوائن کا خود کو ادائیگی کے طور پر دعوی کرنا پڑتا ہے۔ یہ کان کن کو ادا کی جانے والی ٹرانزیکشن فیس سمجھی جاتی ہیں۔

بلاک کی جگہ محدود ہے۔ جب Bitcoin نیا تھا، صارفین بغیر کسی فیس کے لین دین بھیج سکتے تھے اور کان کن اس لین دین کو بلاک میں شامل کر لیتے تھے۔ لیکن اب وہاں صارفین کی تعداد زیادہ ہے اور چونکہ اگلے بلاک پر جانا مسابقتی ہے، اس لیے صارفین لین دین میں ایک فیس شامل کرتے ہیں تاکہ کان کن کو دوسروں پر اپنا لین دین منتخب کرنے کے لیے آمادہ کیا جا سکے۔

اس لیے جب بلاک کا انعام مسلسل کم ہوتا جاتا ہے، ہر چار سال بعد آدھا اور آخر کار صفر پر، کان کنوں کو پھر بھی اسی طرح ادائیگی ملتی ہے۔

کچھ لوگوں نے مشورہ دیا ہے کہ ایک دن کان کنوں کو ملنے والا انعام کافی نہیں ہوگا اور یہ بٹ کوائن کے ناکام ہونے کا سبب بنے گا۔ اس تشویش کو اچھی طرح سے ختم کر دیا گیا ہے اور میں اسے یہاں نہیں دہراؤں گا۔

کیا ایک بلاک کو دوبارہ لکھا جا سکتا ہے؟

یہ انتہائی امکان نہیں ہے اور یہ سمجھنے کے قابل ہے کہ کیوں۔ اس کے بعد آپ اس بات کی تعریف کریں گے کہ بٹ کوائن کے لین دین کیوں ناقابل تغیر (غیر تبدیل شدہ) ہیں۔

میں نے پہلے وضاحت کی تھی کہ پچھلے بلاک کی ہیش موجودہ بلاک میں شامل ہے۔ اس کا مطلب ہے کہ پرانے بلاک میں لین دین کی کوئی بھی ترمیم اس ترمیم شدہ بلاک کی ہیش کو تبدیل کر دیتی ہے۔ لیکن وہ ہیش اگلے بلاک میں درج ہے، اس کا مطلب ہے کہ اگلے بلاک کو بھی اپ ڈیٹ کرنے کی ضرورت ہے۔ لیکن اگر آپ اس اگلے بلاک میں ریکارڈ شدہ ہیش کو تبدیل کرتے ہیں، تو اس کی ہیش کو تبدیل کرنے کی ضرورت ہے، وغیرہ۔

نوٹ کریں کہ جب بھی ہیش کو تبدیل کیا جاتا ہے، آپ ان تمام خوبصورت زیرو کو کھو دیتے ہیں اور آپ کے پاس صرف ایک بے ترتیب نظر آنے والی ہیش رہ جائے گی — اور صفر کو واپس حاصل کرنے کے لیے تمام کام دوبارہ کرنا ہوں گے۔ اگر آپ یہ اس بلاک کے لیے کرتے ہیں جس میں آپ نے ترمیم کرنے کی کوشش کی تھی، تو آپ کو اگلے بلاک کے لیے کام کو دوبارہ کرنا ہوگا، اور اگلے سب سے حالیہ بلاک تک۔ آپ صرف پرانے بلاک پر نہیں رک سکتے، کیونکہ بٹ کوائن کے اصول ایسے ہیں کہ بلاکس کی سب سے لمبی زنجیر اصلی بٹ کوائن ریکارڈ ہے۔ اگر آپ واپس جاتے ہیں اور 10 بلاکس پہلے کسی بلاک میں ترمیم کرتے ہیں، تو آپ کے پاس سب سے طویل سلسلہ نہیں ہوگا۔ آپ کو مزید 10 بلاکس شامل کرنے ہوں گے اور پھر تھوڑا سا مزید کیونکہ جب آپ وہ 10 بلاکس بنا رہے تھے، حقیقی سلسلہ شاید تھوڑا طویل ہو گیا۔ آپ کو حقیقی زنجیر سے آگے نکلنے کے لیے دوڑ لگانی ہوگی۔ کامیاب ہونے کی صورت میں نیا ورژن اصلی ورژن بن جاتا ہے۔

ترمیم شدہ بلاک سے لے کر تازہ ترین بلاک تک پوری دنیا کی اجتماعی ہیشنگ کی کوشش کو دہرانا بٹ کوائن میں ترمیم کرنے میں رکاوٹ ہے۔ توانائی ان تمام ناممکن صفروں کے ساتھ ان ہیشوں کو بنانے کے لیے خرچ کی گئی تھی اور Bitcoin میں ترمیم کرنے کے لیے توانائی کے اخراجات کو دہرایا جانا چاہیے۔ یہی وجہ ہے کہ بٹ کوائن کی کان میں استعمال ہونے والی توانائی "ضائع" نہیں ہوتی۔ یہ ترمیمات سے بٹ کوائن کا دفاع کرنا ہے، کسی مرکزی اتھارٹی پر بھروسہ کیے بغیر لیجر کو ناقابل تغیر بنانا ہے۔

اگر ایک ہی وقت میں دو کان کنوں کو ایک بلاک مل جائے تو کیا ہوگا؟

یہ درحقیقت ہر وقت ہوتا ہے، اور یہ ہمیشہ خود کو اس طرح ترتیب دیتا ہے:

ہر نوڈ کو پہلے تقریباً بیک وقت نئے بلاکس میں سے ایک ملے گا اور وہ اسے قبول کرے گا اور کچھ ہی لمحوں بعد آنے والے کو مسترد کر دے گا۔ اس کے نتیجے میں نیٹ ورک کی تقسیم ہوتی ہے، لیکن یہ عارضی ہے۔

مثال کے طور پر، آئیے ایک بلاک کو نیلے اور دوسرے کو سرخ کہتے ہیں (ان کا کوئی رنگ نہیں ہے، بس میرے ساتھ برداشت کریں)۔

اس کے بعد کان کن اگلے بلاک پر کام کرتے ہیں، لیکن اس میں تقسیم ہو جائے گی کہ وہ کس بلاک سے سلسلہ بڑھاتے ہیں۔

مان لیں کہ جیتنے والے کان کن کو نیلی زنجیر کا استعمال کرتے ہوئے ایک بلاک ملا۔ وہ نئے بلاک کو تمام نوڈس پر بھیجیں گے اور سب سے طویل سلسلہ ظاہر ہوگا۔ نوڈس جنہوں نے سرخ زنجیر کو قبول کیا تھا پھر اسے چھوڑ دیں گے اور نیلی زنجیر کو اپنائیں گے۔

تمام کان کن جو ریڈ چین پر کام کر رہے تھے وہ رک جائیں گے اور اب لمبی زنجیر پر کام کریں گے، جو کہ نیلی زنجیر ہے۔ سرخ زنجیر مر چکی ہے۔

معاہدہ

ایک رنر اپ مائنر کا بلاک کیوں غلط ہے۔

فرض کریں کہ بلاک 700,000 ابھی MINER-A کے ذریعے کان کنی ہے۔ تیس سیکنڈ بعد، MINER-B نے بلاک 700,000 کا ایک مختلف ورژن بھی بنایا۔ جب MINER-B اس متبادل کو نشر کرتا ہے، تو ہر نوڈ اسے مسترد کر دے گا کیونکہ وہ پہلے ہی MINER-A کے بلاک کو دیکھ اور قبول کر چکے ہیں۔ مزید کیا ہے، اس 30 سیکنڈ میں، آئیے کہتے ہیں کہ MINER-C کو بلاک 700,001 ملا۔ یہ دیکھتے ہوئے کہ MINER-B کا مقابلہ کرنے والا 700,000 واں بلاک موجودہ سلسلہ (جو 700,001 تک ہے) کو توسیع نہیں دیتا ہے، اس وجہ سے اسے بھی مسترد کر دیا گیا ہے۔

اس سے بھی زیادہ دلچسپ بات یہ ہے کہ اگر MINER-B 700,001 کے مسابقتی ورژن کے بجائے بلاک 700,000 پر کام کر رہا ہوتا، تو ان کے پاس ایک درست بلاک 700,001 کی کان کنی کا اتنا ہی امکان ہوتا جتنا کہ انہیں آخر کار ایک متبادل بلاک 700,000 تلاش کرنا پڑتا۔ اس لیے جیسے ہی کوئی کان کن نیا بلاک دیکھے، اسے چاہیے کہ وہ اپنی کوشش اگلے بلاک پر لگادے۔

اگر، تاہم، Miner-B کو MINER-A کے ایک سیکنڈ کے بعد بلاک 700,000 ملا، تو یہ ممکن ہے کہ کچھ نوڈس کو MINER-A کا بلاک پہلے نظر آئے جبکہ دیگر MINER-B کا بلاک پہلے دیکھیں، جغرافیائی مقامات اور انٹرنیٹ کی رفتار پر منحصر ہے۔ اس صورت میں، ایک عارضی کانٹا ہے، اور کچھ کان کن ایک ورژن کو بڑھانے کے لیے کام کر رہے ہوں گے جبکہ دوسرے کان کن دوسرے کو بڑھانے کے لیے کام کر رہے ہوں گے۔ جیسا کہ پہلے "بلیو چین" اور "ریڈ چین" ڈسکرپٹرز کا استعمال کرتے ہوئے وضاحت کی گئی ہے، آخر کار ورژن میں سے ایک دوسرے سے آگے بڑھے گا اور متفقہ طور پر درست ورژن بن جائے گا۔

یہ ارمان دی پرمان کی ایک گیسٹ پوسٹ ہے۔ بیان کردہ آراء مکمل طور پر ان کی اپنی ہیں اور ضروری نہیں کہ وہ BTC Inc یا کی عکاسی کریں۔ بکٹکو میگزین.

ٹائم اسٹیمپ:

سے زیادہ بکٹکو میگزین