মাইনাররা nonce কীভাবে ব্যবহার করেন?
একজন মাইনার ব্লকের হেডার তৈরি করে, nonce-এর মান 0 সেট করে হ্যাশ করে। হ্যাশ টার্গেটের চেয়ে বড় হলে, nonce-এর মান 1 করে আবার চেষ্টা করে, তারপর 2, এভাবে চলতে থাকে। নামটি এসেছে “একবার ব্যবহার করা সংখ্যা” থেকে।
কোনো nonce-ই অন্যটির চেয়ে ভালো নয়। হ্যাশ আগে থেকে অনুমান করা যায় না, তাই প্রতিটি চেষ্টায় জেতার সম্ভাবনা একই রকম সামান্য। এ কারণেই মাইনিং ন্যায্য: প্রতি সেকেন্ডে যত বেশি চেষ্টা, জেতার সম্ভাবনাও তত বেশি। আর কিছুই এতে সাহায্য করে না।
nonce শেষ হয়ে গেলে কী ঘটে?
চার বাইটে শুধু 4,29,49,67,296টি মান রাখা যায়। আধুনিক একটি মেশিন এক হাজার ভাগের এক সেকেন্ডেরও অনেক কম সময়ে সবগুলো পরীক্ষা করে ফেলে। তাই মাইনাররা ব্লকের অন্য কিছু বদলে আবার nonce দিয়ে শুরু করে।
মাইনারের চক্র
- 01
প্রতিটি nonce পরীক্ষা করো
0, 1, 2 থেকে শুরু করে 4,29,49,67,295 পর্যন্ত। 4 বাইটে রাখা যায় এমন সব মান এটাই।
- 02
দ্রুত ফুরিয়ে যায়
একটি 100 TH/s মেশিন সবগুলো চেষ্টা করতে প্রায় 43 মাইক্রোসেকেন্ড নেয়।
- 03
অতিরিক্ত নন্স বদলান
মাইনার নিজের পুরস্কারের লেনদেনের (coinbase) একটি অব্যবহৃত ঘর সম্পাদনা করেন।
- 04
নতুন মের্কল রুট
লেনদেনটি বদলেছে, তাই merkle root-ও বদলেছে, আর প্রতিটি nonce থেকে আবার নতুন হ্যাশ পাওয়া যাচ্ছে।
সাধারণত extra nonce ব্যবহার করা হয়। এটি coinbase transaction-এর একটি অতিরিক্ত ফিল্ড। এটি বদলালে Merkle root বদলে যায়, ফলে চেষ্টা করার জন্য একেবারে নতুন একগুচ্ছ হেডার পাওয়া যায়। মাইনাররা timestamp-ও সামান্য বদলাতে পারেন। আর বর্তমানে অনেক মেশিনে version field-এর কয়েকটি বিটও পাল্টানো যায়।
সোর্স
- নন্স · Bitcoin Wiki
- ব্লক হ্যাশ করার অ্যালগরিদম · Bitcoin Wiki
- ব্লকচেইনের রেফারেন্স: হেডার, Merkle tree, লক্ষ্য · Bitcoin ডেভেলপার ডকুমেন্টেশন
এই পাতার লাইভ পরিসংখ্যান CloudMineCrypto API এবং পাবলিক চেইন ডেটা থেকে আসে, নিয়মিত আপডেট হয় এবং যেখানে দেখানো হয়েছে সেখানে চিহ্নিত করা আছে। শুধু শিক্ষামূলক, আর্থিক পরামর্শ নয়।