ক্রিপ্টোগ্রাফিক হ্যাশিং ফাংশন কি? What is a Cryptographic Hashing Function? How It's Work?
আপনি কি ক্রিপ্টোগ্রাফিক হ্যাশিং ফাংশন এর জটিল জগতের গভীরে
ক্রিপ্টোগ্রাফিক হ্যাশিং ফাংশন কি? What is a Cryptographic Hashing Function? How It's Work?
আপনি কি ক্রিপ্টোগ্রাফিক হ্যাশিং ফাংশন এর জটিল জগতের গভীরে সমুদ্রে ডুব দিতে প্রস্তুত? না? ভাল, আমরাও না। আসলে এই কারণেই এখানে ক্রিপ্টোইনবিডি-তে আমরা খুব জটিল এবং বিভ্রান্তিকর ক্রিপ্টোকারেন্সির বিষয়গুলিকে আপনাদেরকে একেবারে প্রাথমিক স্তর থেকে বুঝাব এবং সেগুলি ব্যাখ্যা করার জন্য উদাহরণ এবং গল্প ব্যবহার করব… তাই আপনার মতো সাধারণ ব্যক্তি (যারা ক্রিপ্টোগ্রাফিক হ্যাশিং অ্যালগরিদম কী তা পুরোপুরি বুঝতে প্রস্তুত নয়) ) এটা এত ভালোভাবে বুঝতে সক্ষম হবে যে আপনি এটা আপনার দাদাকে ব্যাখ্যা করতে পারেন… অথবা , আপনি তাকে এই পোস্টটি দেখাতে পারেন এবং তিনি এটি বুঝতে পারবেন। ইনশাআল্লাহ
সুতরাং আপনি ক্রিপ্টোগ্রাফিক হ্যাশিং অ্যালগরিদমকে একটি জাদুকরী ব্ল্যাক বক্সের মতো ভাবুন যেখানে আপনি এটিকে কিছু দিতে পারেন এবং এটি কিছু বের করে দেয়।
হ্যাশিং ফাংশন এমন একটি সিস্টেম যেখানে আপনি এটিতে ইনপুট হিসেবে কিছু রাখতে পারবেন এবং এটি আপনাকে আউটপুট হিসেবে একটি হ্যাশ দিবে। আমরা একটি সেকেন্ডের মধ্যে একটি হ্যাশ কি তা জানতে পারলাম , কিন্তু শুধু এটুকই নয়
এই "জাদুকরি ব্ল্যাক বক্স" এর ভিতরে প্রচুর পরিমাণে গণিতের ফাংশন ঘটছে, তবে মূলত আপনি এটিকে কিছু দেন এবং এটি পুপিং করে। এই ক্ষেত্রে, বিটকয়েন SHA-256 হ্যাশিং ফাংশন ব্যবহার করে। SHA-এর পূর্ণরূপ হল "সিকিউর হ্যাশিং অ্যালগরিদম" এবং 256 হলো 0 এবং 1s এর পরিমাণকে বোঝায় যা এটি প্রকাশ করে। আপনি আপনার নাম বা সম্পূর্ণ অভিধান রাখুন না কেন, এটি সর্বদা 256 1s এবং 0s হবে। আমাদের কম্পিউটারগুলি স্মার্ট এবং তাই তারা সেই 0 এবং 1s কে অক্ষর এবং সংখ্যায় রূপান্তর করে, যা 64 সংখ্যা এবং অক্ষরের সমান। অনেকগুলি বিভিন্ন হ্যাশিং ফাংশন আছে, কিন্তু বিটকয়েন SHA-256 ব্যবহার করে, তাই আমরা উদাহরণের জন্য এই পোষ্টে এটিতে ফোকাস করব। মূলত হ্যাশিং ফাংশন সম্পর্কে আপনাকে 5টি প্রধান জিনিস জানতে হবে
- আপনি যদি একই ইনপুট দেন তাহলে আপনি সবসময় একই আউটপুট পাবেন
- আপনি যতই ডেটা দেন না কেন, সবসময় একই সাইজ এর আউটপুট পাবেন
- দ্রুত গণনা করতে সক্ষম
- আপনি একটি হ্যাশ ব্যবহার করলে পরে সেখানে আবার ফিরে যেতে পারবেন না বা ভবিষ্যদ্বাণী করতে পারবেন না
- একই ইনপুটে দুটি হ্যাশ খুঁজে পাওয়া অসম্ভব
আপনি যদি একই ইনপুট দেন তাহলে আপনি সবসময় একই আউটপুট পাবেন।
সুতরাং আপনি যদি এটি দেন "আপনি কি দয়া করে নীচের বোতামটি ক্লিক করবেন, এটি আমাদের উৎসাহ দেয়", এটি আপনাকে "290a96e911a3a77b524231b8c9afe9d75055eeb3d0926fe5038ebbbc32a228f8" দেবে
এবং যদি আপনি এটি আবার করেন তবে এটি আপনাকে একই রেনডম সংখ্যা এবং অক্ষর দেবে।আর এই সংখ্যা এবং অক্ষর গুলোকে আমরা হ্যাশ কল বলি। যেমন আমি বলেছি, এটি আসলে 1 এবং 0s এর একটি গুচ্ছ কিন্তু আমরা এটিকে সংখ্যা এবং অক্ষরে পরিণত করি যাতে আমরা এটিকে সহজে দেখতে পারি এবং এটিকে সহজে কপি/পেস্ট করতে পারি।
আপনি যতই ডেটা দেন না কেন, সবসময় একই সাইজ এর আউটপুট পাবেন
সুতরাং আপনি যদি একে A দেন তবে এটি আপনাকে 64টি সংখ্যা এবং অক্ষর দেবে।
তারপর আপনি যদি AA দিন, তখন এটি আপনাকে 64 নম্বর এবং অক্ষর দেবে।
তারপর আপনি যদি AAA দিন, থখনও এটি আপনাকে 64 নম্বর এবং অক্ষর দেবে।
আপনি যদি এটিকে পুরো বিশ্বকোষ দেন, এটি আপনাকে 64টি সংখ্যা এবং অক্ষর দেবে।
এবং যদি আপনি এটিকে আমার সামাজিক নিরাপত্তা কোড দেন, এটি আপনাকে 64 নম্বর এবং অক্ষর দেবে।
ব্ল্যাক বক্সটি এই অর্থে জাদুকর যে আপনি এটিকে একটি অক্ষর বা এক মিলিয়ন অক্ষর দেন তবে এটি শুধু আপনাকে 64টি সংখ্যা এবং অক্ষর আউটপুট করবে।
এটা দ্রুত গণনা করতে পারে
হ্যাশিং ব্ল্যাক বক্স আসলে কী করে তা আপনাকে দেখানোর জন্য এটি একটি ভাল জায়গা হবে।
দেখুন, এটি প্রথমে আপনার ম্যাসেজটিকে বাইনারিতে রূপান্তরিত করে, তারপর এটি একটি একক 1 যোগ করে, তারপর এটি 0s যোগ করে যতক্ষণ না এটি 512 1s এবং 0s এর একটি মাল্টিপল না তৈরী করে, তারপর এটি 64 বিট যুক্ত করে, তারপর এখানে হ্যাশ এর মান শুরু হয় এবং এখানেই বেশিরভাগ মানুষ হ্যাশ মান শুরু করার অর্থ কী তা দেখতে পারে এবং সেই কারণেই আমি পুরো জিনিসটি ব্যাখ্যা করতে যাচ্ছি না, কারণ শুধু দেখুন - ম্যাসেজ সময়সূচী? চাংক লুপ? একটি হ্যাশ ফাংশন ঠিক কিভাবে কাজ করে তা জানার জন্য আপনাকে এগুলি জানার দরকার নেই... আপনাকে কেবল জানতে হবে এটি মূলত 1 এবং 0 এর সাথে একগুচ্ছ গণিত এর ফাংশন করে। কম্পিউটারগুলি গণিতে সত্যিই অনেক ভাল, তাই এটি আমাদের 3য় পয়েন্ট আছে, যে এটি গণনা খুব দ্রুত করতে পারে। বেশিরভাগ কম্পিউটার প্রতি সেকেন্ডে কয়েক মিলিয়ন গণিত করতে পারে।
আপনি ইনপুটে সামান্য পরিবর্তন করলে , আউটপুটে বিশাল পরিবর্তন ঘটে
তাই মূলত আপনি যদি এটি লিখেন "আমাদের চ্যানেলে সাবস্ক্রাইব করুন" আর এটির SHA-256 করেন... আপনি এরকম একটি আউটপুট পাবেন:
F8074998AC5044BE2F715F217CA139E5912A2A9AF9BD6C1EC6B002A23B131ED9
যাইহোক, আপনি যদি "আমাদের চ্যানেলটি সাবস্ক্রাইব করুন"... আপনি এটি পাবেন:
B40C6096EA0E15DB54C55FB72990E53C61A244DE41FB3C5E57409197618CE0B5
এবং, যদি আপনি এটিকে সামান্য পরিবর্তন করেন "দয়া করে আমাদের চ্যানেলটি সাবস্ক্রাইব করুন!" একটি বিস্ময়বোধক চিহ্ন সহ, আপনি এটি পান:
CC0633FABDB703725374144CA4542E7702C9C5195AC64454DE21A14889B54E2A
আমরা হ্যাশকে ব্যাপকভাবে পরিবর্তন করতে ম্যাসেজটিকে সামান্য পরিবর্তন চাই, কারণ অন্যথায় এটি অনুমানযোগ্য হবে এবং এটি এটির নিরাপত্তা হারাতে পারে।
এবং সবশেষে, দুটি ইনপুটের হ্যাশ পাওয়া প্রায় অসম্ভব।
প্রকৃতপক্ষে, বর্তমানে কোন পরিচিত দুটি ইনপুট নেই যা SHA-256-এ একই আউটপুট তৈরি করে। যাইহোক, MD5-এ, যা একটি ভিন্ন হ্যাশিং ফাংশন যার একটি ভিন্ন জাদুকরী ব্ল্যাক বক্স রয়েছে এবং ভিন্ন গণিত করে, কয়েকটি এই রকম আছে আছে।
এবং এই ইনপুট: [পৃষ্ঠা পড়ুন]
উভয়ই আমাদের এটি দেয়:
যাইহোক, এই রকম "সংঘর্ষ" এর অনেকগুলি ফাংশন পাওয়া যায় নি। SHA 256 যদিও MD5 এর চেয়ে অনেক বেশি, অনেক বেশি শক্তিশালী। কোটি কোটি SHA-256 হ্যাশ তৈরি করার সময় লোকেরা বছরের পর বছর ধরে মাইনিং করছে এবং কোনও সংঘর্ষ খুঁজে পাওয়া যায়নি – হয়ত কোনো একদিন আপনি নিজেই এটি খুঁজে পাবেন এবং একটি পুরস্কার জিততে পারেন!
ক্রিপ্টোর পৃথিবীতে এটার কী সম্পর্ক?
এটি সত্যিই "প্রুফ অফ ওয়ার্ক " নামক কিছুর সাথে সম্পর্কযুক্ত যা আমরা বিটকয়েন মাইনিং জন্য ব্যবহার করি। আপনি এটি সম্পর্কে আমার "কাজের প্রমাণ" ভিডিওটি দেখতে পারেন, তবে মূলত আমরা যা করছি তা এখানে:
- মানুষ ব্লকচেইনে তার ট্রানজেকশনের একটি তালিকা যা আমরা নিচ্ছি।
- তারপরে আমরা এটিতে রেনডমলি সংখ্যা এবং অক্ষরের সেট যোগ করছি
- অবশেষে, আমরা এর SHA-256 গণনা করছি যতক্ষণ না আমরা একটি নির্দিষ্ট সংখ্যক শূন্য রয়েছে এমন একটি আউটপুট না পাই।
এই ক্ষেত্রে, যেহেতু এখন আমার কাছে যা আছে তা হল আমার ব্যক্তিগত কম্পিউটার, আমরা কীভাবে 7 শূন্য দিয়ে "সাবস্ক্রাইব" পেতে পারি তা খুঁজে বের করব।
ঠিক আছে, যেমন আমরা আগে উল্লেখ করেছি, এতে আমাদের কী যোগ করতে হবে তা আমরা ভবিষ্যদ্বাণী করতে পারি না, আমাদের কেবল অনুমান করতে হবে এবং পরীক্ষা করতে হবে।
তাই আমরা Subscribe1 দিয়ে শুরু করি এবং পাই
b5b77d6c7ca4fc2c25daa51926e2fce68404c3ad76cd24230890196c0061d836
তারপর, কিছু সাধারণ পাইথন কোড ব্যবহার করে, আমরা শেষে একটি নতুন সংখ্যা যোগ করতে থাকি যতক্ষণ না আমরা শেষে একটি শূন্য না পাই।
Subscribe9-এ আমরা পাই
0b73394de539788af0f3873e93e113842a82050577f7169bf42cac07e6634850
Subscribe45-এ আমরা পাই
555d2f08630266641e1284333cb70f42a6fc45a6762fd15546b8b5ee0f798500
Subscribe2864-এ আমরা ৩টি শূন্য পাই
Subscribe38245-এ আমরা 4টি শূন্য পাই
Subscribe1292748-এ আমরা 5টি শূন্য পাই
Subscribe59174387-এ আমরা 6টি শূন্য পাই
সাবস্ক্রাইব 326,032,489 এ - আমরা আমাদের কাংক্ষিত শূন্য পাই
- 0ff79f95b76f8178d95dea9205fc995dfad80f84b7bf418c0569eadab0000000
- যা 7 শূন্য।
- এটি মূলত বিটকয়েন মাইনিং এর সময় করা হয়। "সাবস্ক্রাইব" এর পরিবর্তে, ডেটা আক্ষরিক অর্থে বিটকয়েন বিনিময়কারী ব্যক্তিদের একটি তালিকা যেমন "জন 5 ডলার বিল প্রদান করে। এরিক রবিনকে 8 ডলার প্রদান করে।" এবং তাই
- আপনি যদি এই বিটকয়েন লেনদেনটি দেখেন, আপনি দেখতে পাবেন যে একজন সৈাভাগ্যবান ব্যাক্তিকে 19টি শূন্য গণনা করতে হয়েছিল…
- https://www.blockchain.com/btc/block/000000000000000007aa3ac6d118f7fc5fba392553b0b9f11c2bc105f38008
- এই 7টি শূন্য খুঁজে পেতে আমার কম্পিউটার এর 10 মিনিট সময় নিয়েছে এবং আপনি যেমন দেখছেন, এটি দ্রুতগতিতে পরবর্তী 0-এ যেতে অনেক বেশি চেষ্টা করেছে। বিশ্বজুড়ে কয়েক হাজার কম্পিউটার এই রেনডম সংখ্যাগুলি অনুমান করছে। এবং তারপরে তারা এটি খুঁজে পেলে তখন তা পরীক্ষা করেছে, এতে আমরা যুক্তিসঙ্গতভাবে নিশ্চিত হতে পারি যে মানুষেরা কোনো ফেক ট্রানজেকশন করেনি।
- এই পোষ্টটি পড়ার জন্য অনেক ধন্যবাদ, আমি আশা করি আপনি হ্যাশিং ফাংশন এবং অ্যালগরিদম আর তাদের উদ্দেশ্য সম্পর্কে কিছু শিখেছেন।
ক্রিপ্টোকারেন্সি সম্পর্কে বিশদ ভাবে জানতে আমাদের অন্যান্য পোষ্ট গুলো পড়ুন
COMMENTS