Post
Topic
Board Other languages/locations
Re: বাংলা (Bengali)
by
Spark22
on 25/03/2025, 17:42:20 UTC
লেখক: fillippone
মূল টপিক: There are 2^256 private keys out there: how big is that number?




এখানে ২^২৫৬ টি ব্যক্তিগত চাবি আছে: এই সংখ্যাটি কত বড়?

গতকালকে বিটকয়েন রেবিট হোলে ব্রাউজ করার সময় কুখ্যাত ওয়েবসাইট keys.lol দেখে আমি হোচঁট খেয়ে গেছি।

https://keys.lol
(সতর্ক: সময় সিঙ্ক!)

মূলত এটি একটি ওয়েবসাইট যেটি এলোমেলো ভাবে প্রতিটি পৃষ্ঠায় ১২৮ টি করে ব্যক্তিগত চাবি তৈরি করে। এরপরে বক্লচেইনের ফলাফলের ভিত্তিতে ব্যক্তিগত চাবিগুলোর সাথে সম্পর্কিত এড্রেসগুলোর বর্তমান ব্যালেন্স (সংকুচিত অথবা অসংকুচিত) এবং অতীতের লেনদেন পরীক্ষা করে।

চমৎকার!
আপনি যদি এই তৈরিকৃত পৃষ্ঠা থেকে কোনো ব্যালেন্সযুক্ত চাবি খুঁজে পান, তাহলে আপনি সেই ব্যক্তিগত চাবিটির আসল মালিক। এখন আপনি ঐ ব্যালেন্সের বৈধ মালিক এবং আপনাকে আর কেউই এই ব্যালেন্সটি আপনার নিজস্ব ওয়ালেটে ট্রান্সফার করতে বাধা দিতে পারবে না।

আমি সেই ওয়েবসাইটে কিছু ঘন্টা ব্যয় করেছি। হাজার হাজার ব্যক্তিগত চাবি তৈরি করেছে কিন্তু একটা সামান্য ব্যালেন্সযুক্ত এড্রেস বাদে দ্বিতীয় আর একটাও ব্যবহৃত এড্রেস পাইনি।

তারপর, আমি ভাবতে শুরু করলাম যে আমি এই প্রক্রিয়াটিকে একটু পরিবর্তন করব এবং এই ফোরামের কিছু সদস্যদের সাথে কথা বলব। আমি ভেবেছিলাম আমাদের কাছে তৈরিকৃত এইসব এলোমেলো ব্যক্তিগত চাবিগুলোর একটা স্ক্রিপ্ট থাকতে পারে। তারপর আমি আমার নিজস্ব বিটকয়েন নোডকে এইসব এড্রেসগুলোর ব্যালেন্স এবং এই ব্যালেন্সগুলো আমার নিজস্ব ওয়ালেটে ট্রান্সফারের বিষয়ে প্রশ্ন করব। আমি ভেবেছিলাম স্থানীয়ভাবে কাজ করে এই প্রক্রিয়াটির গতি বাড়ানো উচিৎ।

আমি শুরু থেকেই জানতাম, এখান থেকে কিছু পাওয়ার সম্ভাবনা খুবই কম কিন্তু আমি চেষ্টা করতে চেয়েছি কোনো ব্যালেন্স না পাওয়ার জন্য কারণ কোনো ব্যালেন্স না পেলে আমি একটু আশ্বস্ত বোধ করবো কেননা তখন অন্য কেউ আমার নিজস্ব বিটকয়েনের সাথে এমন করতে পারবে না। যাতে আমার শান্ত ওয়ালেট গর্বের সাথে থাকতে পারে।

স্ক্রিপ্টটি প্রকাশ করার জন্য আমি @babo এর জন্য অপেক্ষা করছিলাম। আমি নিজেকে ভেবেছিলাম, “Fillippone জীবনযুদ্ধের শুধুমাত্র একটা গুটি”... কেউ কখনও সেই বিষয়ে কেন ভাবেনি?

রেবিট হোলে ফেরত এসে, আমি দ্রুত লার্জ বিটকয়েন কলিডার আবিষ্কার করলাম।

https://lbc.cryptoguru.org/about

চমৎকার! এটি একটা গুরুত্বপূর্ণ প্রকল্প। মূলত হাজার হাজার ব্যক্তিগত চাবি বিতরণকারী সার্ভারগুলো প্রতিদিন ২৬ ট্রিলিয়ন (!!!) ব্যক্তিগত চাবি তৈরি করে এবং পরীক্ষা করে।
প্রথম তিন বছরে, তারা ৭ টি ব্যক্তিগত চাবি তৈরি করতে সক্ষম হয়েছিল। এটা অনেক! আমি ভেবেছিলাম এসব চাবি তৈরির সম্ভাবনা অনেক কম কিন্তু কিছু ওয়ালেটে সম্ভবত কিছু ত্রুটি আছে যা একটি সাবঅপ্টিমাল র‍্যান্ডম নাম্বার জেনারেটর ব্যবহার করে এসব ব্যক্তিগত চাবি তৈরি করছে। (এখানে আরও গবেষণার প্রয়োজন!)

চলুন দ্রুত কিছু সংখ্যা পর্যালোচনা করা যাক:
ধারণাগত ভাবে ব্যক্তিগত চাবিগুলোর সম্ভত সংখ্যা: ২^২৫৬ বা মোটামুটি ১০^৭৭
বিটকয়েন এড্রেসের সংখ্যা: ২^১৬০
বিটকয়েন কলিডারদের দ্বারা অনুসন্ধানকৃত ব্যক্তিগত চাবির সংখ্যা: ২^১৬০
মহাবিশ্বে পরমাণুর সংখ্যা: ১০^৭৮ থেকে ১০^৮২
ব্যবহৃত বিটকয়েন এড্রেসের সংখ্যা: ১৮,০০০,০০০

আসলে ব্যক্তিগত চাবির সংখ্যা ২^২৫৬ এর থেকে কিছুটা কম। যেটা এখানে উল্লেখিত আছে।

চলুন, আমরা কিছু উদাহরণের মাধ্যমে কাজ করি।
  • ধরুন আমাদের কাছে এক বিলিয়ন এক্টিভ এড্রেস আছে এবং প্রতিটিতে কিছু ব্যালেন্স আছে। আমরা জানি এটি প্রায় প্রকৃত সংখ্যার চেয়ে ১০^৩ গুণ বড়।
    সম্ভবত মহাবিশ্বের পরমাণুর সংখ্যা এড্রেসের সংখ্যার চেয়ে ১০^৩ গুণ বড়।
    তাই এটা বলা চলে একটা ব্যালেন্সযুক্ত ব্যক্তিগত চাবি খোঁজা সম্ভাবত দৃশ্যমান মহাবিশ্বে ছড়িয়ে থাকা পরমাণুগুলোর মধ্যে একটা খোঁজার মতো।
    এক বিলিয়ন পরমাণু কত বড়?
    ক্বোরার উত্তরের মতে, এটি একটি ই-কোলি ব্যাকটেরিয়ার চেয়ে ছোট। এখন এই ব্যাকটিরিয়াটিকে নিয়ে অনুমান করুন, এগুলো পারমাণবিক স্তরে ছিদ্র করছে, মহাবিশ্বে বিতরণ করছে এবং আপনি সেই পরমাণুগুলোর মধ্যে একটিকে অনুসন্ধান করার চেষ্টা করছেন। বেশ কঠিন, তাই না?

  • দ্বিতীয় উদাহরণটি এই আর্টিকেল থেকে। ধরুন আমরা কিছু ব্যালেন্সের জন্য সকল ব্যক্তিগত চাবি স্কেন করতে চাই এবং ভাবুন পৃথিবীর সব মানুষের কাছে বর্তমানের বিটকয়েন নেটওয়ার্কের কম্পিউটিং পাওয়ারের দ্বিগুণের চেয়ে এক বিলিয়ন গুণ বেশি স্ক্যানিং গতি আছে। এখন:
    * ১০ বিলিয়ন মানুষ;
    * এক বিলিয়ন দিয়ে গুণিত;
    * বিটকয়েনের কম্পিউটিং পাওয়ারের দ্বিগুণ দিয়ে গুণিত, প্রায় প্রতি সেকেন্ডে ১০০ হাজার টেরাহাশ।
    আমরা পেয়েছি: ১,০০০,০০০,০০০,০০০*১,০০০,০০০,০০০*১০০,০০০*১০০,০০০০,০০০,০০০ = ১০^১০*১০^৯*১০^৫*১০^১২ = ১০^৩৬
    সহজে বোঝার জন্য, ‘১১৫,৭৯২,০৮৯,২৩৭,৩১৬,১৯৫,৪২৩,৫৭০,৯৮৫,০০৮,৬৮৭,৯০৭,৮৫২,৯৩৭,৫৬৪,২৭৯,০৭৪,৯০৪,৩৮২,৬০৫,১৬৩,১৪১,৫১৮,১৬১,৪৯৪,৩৩৬’ এর ১০^৭৭, এবং আমরা এটি পেয়েছি, যদি আমরা প্রতিটা ব্যক্তিগত চাবি কিছু ব্যালেন্সের জন্য পরীক্ষা করি তাহলে আমাদের ১০^৭৭/১০^৩৬ = ১০^৪১ সেকেন্ড সময় লাগবে, এটা কত বছর হবে?
    যেহেতু এক বছরে প্রায় ৩১৫৫৭৬০০ সেকেন্ড, এটি করতে আমাদের লাগবে ১০^৪১/৩১৫৫৭৬০০ = ৩১^৩৩ বছর, যেটা সংক্ষেপে বর্তমান মহাবিশ্বের বয়সের থেকে ১০^২৩ গুণ বেশি বা কম (বর্তমানে মহাবিশ্বের বয়স প্রায় ১৩.৮২ বিলিয়ন বছর), সংক্ষেপে ১০০,০০০,০০০,০০০,০০০,০০০,০০০,০০০, যা মহাবিশ্বের বয়সের প্রায় ১০০ বিলিয়ন গুণ।