Bitcoin ہمیں ایک مضبوط وعدہ دیتا ہے: پروگرام بالکل ویسا ہی چلے گا جیسا کہ بیان کیا گیا ہے۔
آندرے
پبلک/پرائیویٹ کی کرپٹوگرافی
کرپٹوگرافی وہ عمل ہے جس میں معلومات کو ایک راز میں تبدیل کیا جاتا ہے جسے صرف صحیح لوگ پڑھ سکتے ہیں۔
- انکرپشن وہ عمل ہے جس میں معلومات کو ایک کوڈڈ شکل میں تبدیل کیا جاتا ہے تاکہ صرف وہ شخص جس کے پاس صحیح کلید ہو، اسے پڑھ سکے۔
- ڈکرپشن وہ عمل ہے جس میں اس کوڈڈ معلومات کو دوبارہ پڑھنے کے قابل بنایا جاتا ہے۔
روایتی کرپٹوگرافی میں، دو لوگ جو نجی طور پر بات چیت کرنا چاہتے ہیں، انہیں پہلے ایک ہی خفیہ کلید شیئر کرنا ضروری ہے، جیسے کہ مشترکہ پاس ورڈ۔ ایک شخص اس کلید کو پیغام کو انکرپٹ کرنے کے لیے استعمال کرتا ہے اور دوسرا شخص اسی کلید کو پیغام کو ڈکرپٹ اور پڑھنے کے لیے استعمال کرتا ہے۔
اس نظام کا مسئلہ یہ ہے کہ دونوں لوگوں کے پاس پہلے سے ہی خفیہ کلید ہونی چاہیے۔ اگر کوئی اور اس کلید تک رسائی حاصل کر لے تو وہ کسی بھی روکے گئے پیغام کو پڑھ سکتا ہے۔
Bitcoin اس مسئلے کو ایک مختلف طریقے سے حل کرتا ہے جسے پبلک-کی کرپٹوگرافی کہا جاتا ہے، جس میں صارفین کو پہلے سے خفیہ کلیدیں شیئر کرنے کی ضرورت نہیں ہوتی۔
پبلک/پرائیویٹ کی کرپٹوگرافی خفیہ معلومات شیئر کرنے کے مسئلے کو حل کرتی ہے۔ پاس ورڈ شیئر کرنے کے بجائے، ہر شخص کے پاس دو کلیدیں ہوتی ہیں: ایک پبلک کی اور ایک پرائیویٹ کی۔
- پبلک کی کسی کے ساتھ بھی شیئر کی جا سکتی ہے۔
- پرائیویٹ کی ہمیشہ خفیہ رکھی جانی چاہیے۔
اگر علی کچھ آریش کو بھیجنا چاہے تو وہ آریش کی پبلک کی استعمال کر سکتا ہے۔ صرف آریش اپنی پرائیویٹ کی سے اسے کھول سکتا ہے۔ چاہے کوئی پیغام کو روک بھی لے، وہ پرائیویٹ کی کے بغیر اسے نہ پڑھ سکتا ہے اور نہ استعمال کر سکتا ہے۔
Bitcoin میں، اس نظام کو ڈیجیٹل دستخط بنانے کے لیے استعمال کیا جاتا ہے۔ ڈیجیٹل دستخط یہ ثابت کرتا ہے کہ پرائیویٹ کی کا مالک ہی ٹرانزیکشن کی منظوری دیتا ہے، بالکل ایسے جیسے آپ کسی دستاویز پر اپنا نام لکھتے ہیں۔ یہی وجہ ہے کہ Bitcoin کی ٹرانزیکشنز محفوظ اور قابل تصدیق ہوتی ہیں بغیر کسی تیسرے فریق پر بھروسہ کیے۔
Bitcoin کی ٹرانزیکشنز میں bitcoin کی ملکیت کو ایک ایڈریس سے دوسرے ایڈریس میں منتقل کرنا شامل ہے۔
انکرپشن اس لیے استعمال کی جاتی ہے کہ صرف اصلی bitcoin رکھنے والے کو ہی اپنی رقم کسی اور کو بھیجنے کا اختیار ہو۔ یہ ان کی ملکیت کو بدنیت افراد سے محفوظ رکھتی ہے۔
اضافی تحفظ کے طور پر، ہر Bitcoin ٹرانزیکشن کو خودکار طور پر ایک منفرد ڈیجیٹل دستخط ملتا ہے۔ یہ منفرد ڈیجیٹل دستخط چھیڑ چھاڑ سے محفوظ ٹیکنالوجی سے چلتا ہے جو نیٹ ورک کو یہ تصدیق کرنے میں مدد دیتا ہے کہ bitcoin کا اصل مالک، اور کوئی اور نہیں، نے انہیں بھیجا ہے۔
ہر صارف کے پاس دو کلیدیں ہوتی ہیں: ایک پرائیویٹ کی، جو خفیہ رکھی جاتی ہے، اور ایک پبلک کی جو دوسروں کے ساتھ شیئر کی جا سکتی ہے۔ پرائیویٹ کی شناخت اور ملکیت کا ثبوت ہے، جو یہ ثابت کرتی ہے: “یہ ایڈریس میرا ہے اور میں اس پر کنٹرول رکھتا ہوں۔”
Bitcoin ٹرانزیکشن کیسے کام کرتی ہے
- ٹرانزیکشن بنانا: ایک صارف Bitcoin ٹرانزیکشن شروع کرتا ہے جس میں وصول کنندہ کا ایڈریس اور بھیجے جانے والے bitcoin کی مقدار جیسی تفصیلات شامل ہوتی ہیں۔
- ڈیجیٹل دستخط کی تخلیق: بھیجنے والا ایک منفرد ڈیجیٹل دستخط اپنی پرائیویٹ کی سے بناتا ہے۔ یہ دستخط ایک منفرد کوڈ ہے جو ٹرانزیکشن کی اصلیت کی تصدیق کرتا ہے۔
- ٹرانزیکشن کو نشر کرنا: دستخط شدہ ٹرانزیکشن کو Bitcoin نیٹ ورک پر نشر کیا جاتا ہے، جس سے ظاہر ہوتا ہے کہ bitcoin کی ملکیت بھیجنے والے سے وصول کنندہ کو منتقل کی جا رہی ہے۔
- نیٹ ورک پر تصدیق: Bitcoin نیٹ ورک کے نوڈز ٹرانزیکشن وصول کرتے ہیں اور وصول کنندہ کی پبلک کی دستخط کی اصلیت کی تصدیق کرنے کے لیے۔ لین دین کی۔ اسی وقت، وہ بھیجنے والے کی عوامی کلید کی تصدیق کرنے کے لیے ڈیجیٹل دستخط استعمال کرتے ہیں۔
- بٹ کوائن نیٹ ورک پر تصدیق: اگر تصدیق کامیاب ہو جائے تو، لین دین کو لیجر میں شامل کر دیا جائے گا، جو کہ تمام لین دین کا محفوظ اور شفاف ریکارڈ ہے۔ تصدیق ہونے کے بعد، بٹ کوائن کی ملکیت باضابطہ طور پر بھیجنے والے سے وصول کنندہ کو منتقل ہو جاتی ہے۔
My First Bitcoinڈیجیٹل دستخط, جو بھیجنے والے کی نجی کلید سے بنایا گیا ہے، یہ ثابت کرتا ہے کہ لین دین بٹ کوائن کے مالک کی طرف سے منظور کیا گیا تھا۔ بٹ کوائن نیٹ ورک اس ثبوت کی تصدیق کر سکتا ہے اور لین دین کو ریکارڈ کر سکتا ہے۔
ہیشنگ کی وضاحت
براہ کرم آگے آنے والے تکنیکی اصطلاحات اور ریاضیاتی تصورات سے خوفزدہ نہ ہوں۔ ہم سمجھتے ہیں کہ ہر کوئی ریاضی کا شوقین نہیں ہوتا، لیکن آپ خود کو حیران کر سکتے ہیں اور دیکھ سکتے ہیں کہ تھوڑی سی کوشش سے پیچیدہ ترین خیالات بھی سمجھے جا سکتے ہیں۔
ایک فنکشن ایک مشین کی طرح ہے جو کچھ معلومات لیتی ہے اور اسے کچھ نیا بنا دیتی ہے۔ جو معلومات آپ فنکشن کو دیتے ہیں وہ ان پٹ کہلاتی ہے۔ جو نئی معلومات فنکشن بناتا ہے وہ آؤٹ پٹ کہلاتی ہے۔ فنکشنز کمپیوٹرز کو کام کرنے اور مسائل حل کرنے میں مدد دیتے ہیں۔
فنکشن کیا ہے؟
فنکشن ہدایات کا ایک مجموعہ ہے جو ایک ان پٹ لیتا ہے اور ایک آؤٹ پٹ پیدا کرتا ہے۔ آپ اسے ایک ترکیب کی طرح سمجھ سکتے ہیں: آپ مخصوص اجزاء کے ساتھ مراحل پر عمل کرتے ہیں، اور ہمیشہ ایک متوقع نتیجہ حاصل کرتے ہیں۔
بٹ کوائن میں، فنکشنز کو لین دین کو پراسیس اور تصدیق کرنے کے لیے استعمال کیا جاتا ہے۔ جب کوئی بٹ کوائن بھیجتا ہے، تو کرپٹوگرافک فنکشنز اس بات کی جانچ میں مدد کرتے ہیں کہ لین دین درست ہے، بھیجنے والے کے پاس کافی فنڈز ہیں، اور بٹ کوائن لیجر پر بیلنس اپ ڈیٹ ہوتے ہیں۔ ایک بار تصدیق ہو کر بلاک میں شامل ہونے کے بعد، لین دین بلاک چین پر مستقل ریکارڈ کا حصہ بن جاتا ہے۔
ون وے فنکشن کیا ہے؟
ون وے فنکشن ایک خاص قسم کا فنکشن ہے جسے ایک سمت میں حساب کرنا آسان ہے لیکن اسے الٹا کرنا انتہائی مشکل ہے۔ مثال کے طور پر، اجزاء کو ملا کر اسموتھی بنانا آسان ہے، لیکن آپ اسموتھی کو دوبارہ اصل اجزاء میں الگ نہیں کر سکتے۔
بٹ کوائن کی سیکیورٹی ون وے فنکشنز پر منحصر ہے۔ یہ عوامی اور نجی کلید کرپٹوگرافی میں استعمال ہوتے ہیں، جس سے لوگ اپنی عوامی کلید شیئر کر سکتے ہیں جبکہ نجی کلید کو خفیہ رکھتے ہیں۔ اگرچہ عوامی کلید سب کو نظر آتی ہے، اس سے نجی کلید نکالنا ناممکن ہے۔ یہی چیز بٹ کوائن کے لین دین کو محفوظ بناتی ہے۔
ہیش فنکشن کیا ہے؟
ایک ہیش فنکشن ایک خفیہ کوڈ مشین کی طرح ہے۔ یہ ایک پیغام لیتا ہے اور اسے کوڈ میں بدل دیتا ہے۔
بٹ کوائن کے لین دین میں ہیشنگ کیسے کام کرتی ہے
بٹ کوائن میں، ہر لین دین کو بلاک چین میں شامل کرنے سے پہلے ہیش میں تبدیل کر دیا جاتا ہے۔ ہیش لین دین کی ایک منفرد ڈیجیٹل فنگر پرنٹ ہوتی ہے۔ اگر کوئی لین دین کے کسی بھی حصے کو تبدیل کرنے کی کوشش کرے تو ہیش مکمل طور پر بدل جائے گی۔ اس سے نیٹ ورک کے لیے جعل سازی کو پکڑنا آسان ہو جاتا ہے۔
بٹ کوائن کی سیکیورٹی میں ہیشنگ کا کردار
ہیشنگ بٹ کوائن نیٹ ورک کو محفوظ بنانے میں مدد دیتی ہے کیونکہ اس سے لین دین کی تصدیق آسان اور خاموشی سے ترمیم ناممکن ہو جاتی ہے۔ چونکہ ہر لین دین کا اپنا منفرد ہیش ہوتا ہے، نیٹ ورک فوراً جان سکتا ہے کہ کچھ تبدیل ہوا ہے یا نہیں۔
ایک ہیش فنکشن ڈیٹا لیتا ہے اور اسے اعداد و حروف کی ایک مقررہ لمبائی کی تار میں تبدیل کر دیتا ہے جسے ہیش کہا جاتا ہے۔ ایک ہی ان پٹ ہمیشہ ایک ہی ہیش پیدا کرے گا، لیکن ان پٹ میں معمولی سی تبدیلی بھی بالکل مختلف نتیجہ دے گی۔ یہ خاصیت کمپیوٹرز کو یہ جانچنے کی اجازت دیتی ہے کہ ڈیٹا تبدیل نہیں ہوا۔
ہیشنگ ڈیجیٹل ڈیٹا کے لیے فنگر پرنٹ بنانے جیسا ہے۔ یہ ایک ڈیجیٹل پیغام کو لے کر اسے ایک مقررہ لمبائی کے کوڈ میں تبدیل کرنے کا عمل ہے، جو ایک منفرد شناخت کنندہ کے طور پر کام کرتا ہے۔ جیسے فنگر پرنٹ کسی شخص کی شناخت کر سکتا ہے، ویسے ہی ہیش کسی ڈیجیٹل پیغام کی شناخت کر سکتا ہے۔
اس آؤٹ پٹ, یا ہیش، کی لمبائی ہمیشہ ایک جیسی رہتی ہے، چاہے اصل معلومات کتنی بھی لمبی ہوں۔ بٹ کوائن کچھ مخصوص قسم کے ہیش فنکشن استعمال کرتا ہے جنہیں SHA-256 اور RIPEMD160 کہا جاتا ہے۔
کچھ مثالیں نیچے دی گئی ہیں:
- اس سٹرنگ کا SHA256 ہیشہیلو ورلڈ
b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
- اس سٹرنگ کا SHA256 ہیش ہیلو ورلڈ۔
7ddb227315f423250fc67f3be69c544628dffe41752af91c50ae0a9c49faeb87- نوٹ کریں کہ ان پٹ میں معمولی سی تبدیلی سے آؤٹ پٹ مکمل طور پر بدل جاتا ہے جب آپ اسے پہلے والے سے موازنہ کرتے ہیں
- ڈاؤن لوڈ ہونے والی iso فائل کا SHA256 ہیش اوبنٹو 18.10
7b9f670c749f797a0f7481d619ce8807edac052c97e1a0df3b130c95efae4765- یہ ان پٹ ایک بہت بڑی فائل ہے لیکن آؤٹ پٹ پھر بھی ایک ہی مقررہ لمبائی کا ہے
آپ ہیشنگ کو ایک موسیقی کے اسکور کی طرح بھی سمجھ سکتے ہیں جو کسی دھن کا خلاصہ پیش کرتا ہے۔ جیسے ایک موسیقی کا اسکور ایک دھن کی منفرد نمائندگی ہے، ویسے ہی ہیش ویلیو ڈیٹا کی منفرد نمائندگی ہے۔
ایک موسیقار جب کسی دھن کے اسکور کا اصل پرفارمنس سے موازنہ کرتا ہے تو وہ جان سکتا ہے کہ پرفارمنس درست ہے یا نہیں۔ اسی طرح، جب موصول شدہ ڈیٹا کے ہیش ویلیو کا اصل ہیش ویلیو سے موازنہ کیا جائے تو معلوم ہو سکتا ہے کہ ڈیٹا ترسیل کے دوران تبدیل ہوا ہے یا نہیں۔
جیسے موسیقی کی پرفارمنس میں معمولی سی تبدیلی سے دھن مختلف لگ سکتی ہے، ویسے ہی اصل ڈیٹا میں معمولی سی تبدیلی بھی ہیش ویلیو کو مکمل طور پر بدل دیتی ہے۔ یہی وجہ ہے کہ ہیشنگ Bitcoin ٹرانزیکشن کی سالمیت اور صداقت کو یقینی بنانے کے لیے ایک طاقتور ذریعہ ہے۔
کو انکوڈ کرنے کا عمل پبلک کی ہیشنگ کے ذریعے معلومات کی حفاظت کو بہتر بنانے کے لیے استعمال ہوتا ہے، جس میں معلومات کو ایک مقررہ لمبائی کی، ناقابلِ فہم شکل میں تبدیل کیا جاتا ہے۔ Bitcoin پبلک ایڈریس بنانے کے لیے SHA-256 اور RIPEMD160 الگورتھم استعمال کرتا ہے۔ اس کا نتیجہ ایک منفرد شناختی نمبر کی صورت میں نکلتا ہے جو پبلک کی کے لیے مخصوص ہوتا ہے اور لیجر میں محفوظ ٹرانزیکشنز کی سالمیت اور حفاظت کو یقینی بنانے میں مدد دیتا ہے۔ اس طرح معلومات کو انکرپٹ کرنے سے غیر مجاز افراد کے لیے ڈیٹا تک رسائی اور اس میں تبدیلی کرنا مشکل ہو جاتا ہے۔
ہیشنگ فنکشن کی خصوصیات
- ڈیٹرمنسٹک: جیسے ایک ہی اجزاء ہمیشہ ایک ہی اسموتھی بناتے ہیں، ویسے ہی ایک ہی ڈیٹا ہمیشہ ایک ہی ہیش بناتا ہے۔
- پری امیج ریزسٹنس: اگر آپ کے پاس صرف اسموتھی ہے تو آپ یہ نہیں جان سکتے کہ اس میں کون سے پھل استعمال ہوئے تھے۔ اسی طرح، اگر آپ کے پاس صرف ہیش ہے تو آپ اصل ڈیٹا معلوم نہیں کر سکتے۔
- ایولانچ ایفیکٹ: اجزاء میں معمولی سی تبدیلی سے بالکل مختلف اسموتھی بن جاتی ہے۔ ہیشنگ میں، ڈیٹا میں بہت چھوٹی سی تبدیلی بھی مکمل طور پر مختلف ہیش پیدا کرتی ہے۔
- کولیژن ریزسٹنس: یہ انتہائی مشکل ہے کہ دو مختلف اجزاء کا مجموعہ بالکل ایک جیسی اسموتھی بنائے۔ اسی طرح، یہ بہت ہی غیر متوقع ہے کہ دو مختلف ڈیٹا ایک ہی ہیش پیدا کریں۔
- تصدیق میں تیزی: اسموتھی بنانا تیز ہے اور یہ چیک کرنا آسان ہے کہ یہ اسموتھی ہے۔ ہیش فنکشنز تیزی سے بنتے ہیں اور کوئی بھی آسانی سے تصدیق کر سکتا ہے۔
سرگرمی: SHA 256 ہیش بنائیں
کیا آپ جاننا چاہتے ہیں کہ ہیشنگ کیسے کام کرتی ہے؟ QR کوڈ اسکین کریں اور کسی بھی لفظ، جملے یا ان پٹ سے فوراً SHA256 ہیش بنائیں۔ ہیش فنکشنز ڈیجیٹل فنگر پرنٹس کی طرح ہیں: یہ یک طرفہ ہیں، یعنی ایک بار ہیش ہو جائے تو اسے واپس اصل میں نہیں بدلا جا سکتا۔ خود آزما کر دیکھیں!