প্রতিটি ফেলার সময় একটি স্ট্যান্ডার্ড ছয়-পাশের পাশা প্রায় 2.6 বিট অপ্রত্যাশিত তথ্য উৎপন্ন করে। এটি অনেক কম মনে হতে পারে, কিন্তু যথেষ্ট বার পুনরাবৃত্তি করলে, এই ফেলাগুলি সফটওয়্যার বা ইলেকট্রনিক উপাদানের উপর নির্ভর না করেই একটি বিটকয়েন ওয়ালেটকে নিরাপদ রাখতে প্রয়োজনীয় কাঁচা র্যান্ডমনেস তৈরি করতে পারে।
প্রধান বিষয়গুলি
- একটি ন্যায্য ষড়ভুজাকৃতির পাসা ফেলার মাধ্যমে ক্লড শ্যাননের সূত্র অনুযায়ী প্রায় 2.585 বিট এনট্রপি প্রদান করা হয়।
- কয়নকাইটের ডকুমেন্টেশনে বলা হয়েছে যে ৫০টি ডাইস রোল ১২৮-বিট স্ট্যান্ডার্ড পূরণ করে একটি বিটকয়েন ওয়ালেট সীডের জন্য।
- কেভিন লোএকের উইজার্ড সার্ডিন বিশ্লেষণে মূল সীডের বাইরে কোল্ডকার্ড টুলসে ঝুঁকি চিহ্নিত করা হয়েছে।
একটি ডাই রোল পূর্বানুমান করা এতটাই কঠিন কেন
ক্লড শ্যানন, যিনি তথ্য তত্ত্ব প্রতিষ্ঠা করেন, এনট্রপি ব্যবহার করেন কোনো ফলাফলের অনিশ্চয়তা পরিমাপ করতে। একটি ন্যায্য ছয়-পাশের পাশা দিয়ে, প্রতিটি পৃষ্ঠের আসার সম্ভাবনা একইভাবে ছয়ের একভাগ। এটি প্রতিটি রোলের প্রায় 2.585 বিট এনট্রপি দেয়। একটি মুদ্রা টস 1 বিট উৎপন্ন করে, যখন একটি আট-পাশের পাশা 3 বিট উৎপন্ন করে।

সাম্প্রতিক কোল্ডকার্ড বিস্ফোরণ সামাজিক মাধ্যমে ডাইস-ভিত্তিক সিড জেনারেশনকে ছড়িয়ে দিয়েছে। কিছু ব্যবহারকারী এটিকে অপরিহার্য হিসাবে বিবেচনা করছেন, অন্যরা বলছেন যে এটি তাদের অর্থ সুরক্ষিত রেখেছে, যখন অভিজ্ঞ অপারেটররা উল্লেখ করছেন যে বেশিরভাগ নতুনদের ধীর এবং ভুল-প্রবণ সেটআপ প্রক্রিয়াটি সহ্য করতে পারবে না।
গুরুত্বপূর্ণ বিষয় হল যে একটি ঘূর্ণায়মান পাশা পরমাণু স্তরে দৈবিকভাবে আচরণ করে। এটি করে না। ফলাফলটি পদার্থবিদ্যা দ্বারা নিয়ন্ত্রিত, কিন্তু যতগুলি ছোট চলক একসাথে পরিবর্তিত হচ্ছে, তার কারণে কেউই ফলাফলটি নির্ভরযোগ্যভাবে গণনা করতে পারে না। পাশাটি একটি নির্দিষ্ট গতি, কোণ, উচ্চতা এবং ঘূর্ণনসহ হাত থেকে ছুটে যায়, তারপর টেবিলে আঘাত করে প্রতিটি লাফে দিক পরিবর্তন করে।
ব্যবহারিকভাবে, রিলিজে সর্বনিম্ন পরিবর্তনও সম্পূর্ণ ভিন্ন ফলাফল তৈরি করতে পারে। একটু ভিন্ন আঙুলের অবস্থান বা কিছুটা বেশি শক্তিতে ছোঁড়া পথকে এতটাই পরিবর্তন করে যে গতি দেখে চূড়ান্ত সংখ্যাটি পূর্বানুমান করা যায় না। তฤษ্টিতে ফলাফলটি নির্ধারিত হতে পারে, কিন্তু ওয়ালেট জেনারেশনের ক্ষেত্রে, গুরুত্বপূর্ণ হলো যে আক্রমণকারী এটি পুনরায় উৎপাদন বা গণনা করতে পারবে না।
ডাইস রোলকে ব্যবহারযোগ্য ডেটায় পরিণত করা
একটি কম্পিউটার সরাসরি ডাইসের ফলাফলের তালিকা ব্যবহার করতে পারে না। রোলগুলিকে প্রথমে বাইনারি ডেটাতে রূপান্তরিত করতে হবে, এবং রূপান্তর পদ্ধতিটি গুরুত্বপূর্ণ।
একটি সাধারণ জোড়-বিজোড় পদ্ধতি বুঝতে সহজ, কিন্তু এটি উপলব্ধ এনট্রপির অনেক অংশ বর্জন করে। প্রতিটি রোলকে একটি একক বিটে হ্রাস করা হয়, যদিও ডাইটি প্রায় 2.6 বিট তথ্য উৎপন্ন করে। আরও দক্ষ পদ্ধতিগুলি একটি দীর্ঘ রোল সিকোয়েন্স সংগ্রহ করে এবং সাধারণত ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশনের মাধ্যমে সম্পূর্ণ স্ট্রিংটি প্রক্রিয়াকরণ করে। এটি অনেক বেশি র্যান্ডমনেস সংরক্ষণ করে।
একই নীতি ডিসওয়ার এবং ম্যানুয়াল বিটকয়েন ওয়ালেট জেনারেশনেও প্রযোজ্য। একটি সাধারণ 12-শব্দের ওয়ালেট রিকভারি ফ্রেজ তৈরি করা হয় 128 বিট এনট্রপি থেকে। প্রায় 2.6 বিট প্রতি রোলের হিসাবে, প্রায় 50টি ন্যায্য রোল এই সীমানা অতিক্রম করার জন্য পর্যাপ্ত কাঁচা তথ্য প্রদান করে।
কোইনকাইট, যিনি কোল্ডকার্ড হার্ডওয়্যার ওয়ালেটের নির্মাতা, 256 বিটের কাছাকাছি এনট্রপি চাইলে ব্যবহারকারীদের জন্য 99 বা তার বেশি রোল পরামর্শ দেন। এটি ওয়ালেটটিকে দ্বিগুণ কঠিন করে তোলে না, কিন্তু উত্পাদিত গোপনীয়তাকে অনেক বড় গাণিতিক নিরাপত্তা মার্জিন প্রদান করে।
ডাইস-জেনারেটেড সীডের বাস্তব পরীক্ষা
এই পার্থক্যটি গুরুত্বপূর্ণ হয়ে উঠেছিল Coinkite 2021 সাল থেকে একটি ফার্মওয়্যার সমস্যা প্রকাশ করার পর। কিছু Coldcard ডিভাইসে, সফটওয়্যারটি অভ্যন্তরীণ হার্ডওয়্যার র্যান্ডম-নাম্বার জেনারেটরকে এড়িয়ে যেতে পারে এবং বিকল্পভাবে গোপনীয় নয় এমন ডিভাইসের তথ্যের সাথে যুক্ত একটি দুর্বল প্রক্রিয়া ব্যবহার করতে পারে।
এই প্রক্রিয়ার কিছু অংশ পুনর্গঠন করা যাওয়ায়, আক্রমণকারীরা সম্পূর্ণ কী স্পেস অনুসন্ধানের পরিবর্তে সম্ভাব্য ওয়ালেট কীগুলি সংকুচিত করতে সক্ষম হয়েছিল। 1 টি পূর্বাঞ্চলীয় সময় পর্যন্ত, এই ত্রুটিটি প্রায় 1100 ঠিকানা থেকে প্রায় 1,128.6633 BTC চুরির সাথে সংযুক্ত ছিল।

স্বতন্ত্র ডাইস রোলের যথেষ্ট সংখ্যা থেকে তৈরি ওয়ালেট সীডগুলি একই পথের মাধ্যমে প্রকাশিত হয়নি। সেই ব্যবহারকারীদের নিজস্ব এনট্রপি প্রদান করা হয়েছিল, তাই দোষপূর্ণ হার্ডওয়্যার জেনারেটরটি প্রাথমিক ওয়ালেট গোপনীয়তা তৈরির জন্য দায়ী ছিল না।
তবে এই সুরক্ষা শুধুমাত্র ডাইস থেকে উৎপাদিত সীডকে সীমাবদ্ধ ছিল। এটি ডিভাইসটি দ্বারা উৎপাদিত অন্যান্য প্রতিটি গোপনীয়তাকে স্বয়ংক্রিয়ভাবে সুরক্ষিত করেনি।
উইজার্ড সার্ডিন সূক্ষ্ম প্রিন্ট পরীক্ষা করছেন
সিকিউরিটি গবেষক কেভিন লোয়েক কোল্ডকার্ড এক্সপ্লয়িটের একটি মূল্যায়ন প্রকাশ করেন ১ আগস্ট উইজার্ড সার্ডিনের ওয়েবসাইটে। তাঁর সবচেয়ে গুরুত্বপূর্ণ পর্যবেক্ষণটি ছিল যে কোল্ডকার্ডের ফিচারগুলি প্রাথমিক ওয়ালেট সীড থেকে স্বতন্ত্রভাবে নিজেদের গোপনীয়তা তৈরি করে।
“আমি বিশ্বাস করি যে এটি অত্যন্ত গুরুত্বপূর্ণ যে এমনকি যারা ডাইস ব্যবহার করে একটি সিড আমদানি বা তৈরি করেছেন, তারা যদি নিম্নলিখিত ফিচারগুলি ব্যবহার করেন, তবে তারা ঝুঁকিপূর্ণ,” Loaec X-এ লিখেছেন, যার পরে প্রভাবিত সিস্টেমের একটি ডায়াগ্রাম উপস্থাপন করেন।
ডায়াগ্রামটি দেখায় যে কীভাবে দুর্বল র্যান্ডম-নাম্বার জেনারেটরটি কয়েকটি সেকেন্ডারি Coldcard ফাংশনকে সপ্লাই করছে। এগুলির মধ্যে রয়েছে পেপার ওয়ালেট তৈরি, ডিভাইস ক্লোনিং, USB সেশন এনক্রিপশন, সিক্রেট টেলিপোর্ট ট্রান্সফার ফিচার, কো-সাইনিং কী তৈরি, বিল্ট-ইন পাসওয়ার্ড জেনারেটর এবং হার্ডওয়্যার সিকিউরিটি মডিউল অথেনটিকেশন কোড।

৯৯টি ডাইস রোল দিয়ে তৈরি একটি প্রাথমিক ওয়ালেট সিস্টেমের একটি পৃথক অংশে রাখা হয়েছিল। সমস্যা ছিল যে, অন্যান্য টুলগুলি এখনও দোষপূর্ণ জেনারেটর থেকে নতুন র্যান্ডমনেস চাইতে পারত। ফলে, একটি নিরাপদ সিড এটা নিশ্চিত করত না যে একই ডিভাইসে তৈরি প্রতিটি পাসওয়ার্ড, ব্যাকআপ, অথেন্টিকেশন কোড বা সেকেন্ডারি কী সমানভাবে নিরাপদ।
কেন বেশিরভাগ নতুন ব্যবহারকারী ডাইস ফেলবেন না
ডাইস-জেনারেটেড এনট্রপি প্রযুক্তিগতভাবে শক্তিশালী যখন সঠিকভাবে করা হয়, কিন্তু অধিকাংশ নতুন ব্যবহারকারীর জন্য এটি বাস্তবসম্মত ডিফল্ট নয়। ৫০ বা ৯৯ বার ডাইস নিক্ষেপ করে, প্রতিটি ফলাফল সঠিকভাবে প্রবেশ করিয়ে, এবং কোনো নিক্ষেপ বাদ দেওয়া বা ডুপ্লিকেট করা হয়নি তা নিশ্চিত করা প্রতিক্ষণ ও অসংখ্য মনোযোগের প্রয়োজন। একটি ভুলভাবে টাইপ করা সংখ্যা শেষ ওয়ালেটটিকে সম্পূর্ণভাবে পরিবর্তন করে দিতে পারে, এবং অধিকাংশ ডিভাইস বুঝতে পারে না যে ভুলটি খারাপ নিক্ষেপ, এন্ট্রির ভুল, নির্দেশাবলীর বুঝতে অক্ষমতা—এদের মধ্যে কোনটির কারণে।

প্রক্রিয়াটি একটি সঠিকভাবে কাজকরা হার্ডওয়্যার জেনারেটরের সাথে বিদ্যমান না এমন ঝুঁকি প্রবেশ করায়। ব্যবহারকারীরা রোলগুলি কাগজে লিখতে পারেন, তাদের ছবি তুলতে পারেন, অনলাইন টুলে প্রবেশ করাতে পারেন, অথবা এই তালিকাটি কোথাও রেখে দিতে পারেন যেখানে অন্য কেউ এটি খুঁজে পেতে পারে। কিছু মানুষ ডাই-টি পুনরাবৃত্তিমূলক বা নিয়ন্ত্রিতভাবে ফেলেন, একটি ভারী বা ক্ষতিগ্রস্ত ডাই ব্যবহার করেন, অথবা প্রক্রিয়াটি অত্যধিক মনে হওয়ায় আগেই থামিয়ে দেন। গণিতটি শক্তিশালী হতে পারে, কিন্তু ফলাফলটি শুধুমাত্র ব্যবহারকারীর পদ্ধতির মতোই নিরাপদ।

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

এটি কল্পনা করা কঠিন যে বিস্তৃত বিটকয়েন গ্রহণযোগ্যতা মানুষের একটি টেবিলে বসে ৯৯টি ডাইসের ফলাফল রেকর্ড করার উপর নির্ভর করবে, যাতে তারা ফান্ড পেতে পারে এবং নিরাপদে এটি করতে পারে। নিরাপত্তা পদ্ধতিগুলি বাস্তব বাড়ি, ব্যস্ত সময়সূচী, বিভ্রান্তিকর পরিস্থিতি এবং ক্রিপ্টোগ্রাফি অধ্যয়ন করতে চাইবে না এমন ব্যবহারকারীদের সহ্য করতে পারতে হবে। ম্যানুয়াল এনট্রপি একটি উন্নত বিকল্প হিসেবে উপলব্ধ থাকা উচিত, কিন্তু দীর্ঘমেয়াদী লক্ষ্য হলো হার্ডওয়্যার এবং সফটওয়্যার যা শক্তিশালী র্যান্ডমনেস সঠিকভাবে তৈরি করে, যা ঘটছে তা স্পষ্টভাবে ব্যাখ্যা করে এবং সম্ভবতম কম বিশেষজ্ঞজ্ঞানের প্রয়োজনীয়তা রাখে।
যাদের কোল্ডকার্ড আছে তাদের যা চেক করা উচিত
প্রভাবিত কোল্ডকার্ড ডিভাইসের মালিকদের প্রথমে ডিভাইসে ইনস্টল করা ফার্মওয়্যার সংস্করণটি যাচাই করা উচিত। তাদের শুধুমাত্র মূল ওয়ালেট সীড কিভাবে তৈরি করা হয়েছিল তা নয়, বরং পুরনো ফার্মওয়্যার চালানোর সময় তারা কোন ফিচারগুলি ব্যবহার করেছিল তা পর্যালোচনা করা উচিত।
যে কেউ প্রভাবিত ডিভাইস ব্যবহার করে পেপার ওয়ালেট, ক্লোনিং সিক্রেট, পাসওয়ার্ড, কো-সাইনিং কী বা অথেনটিকেশন কোড তৈরি করেছেন, তাদের অবিলম্বে সেই উপাদানগুলি প্রতিস্থাপন করার প্রয়োজন হতে পারে। আপডেট ইনস্টল করলে নতুন সিক্রেটগুলিকে এই সমস্যা থেকে রক্ষা করা যায়, কিন্তু আগের যা তৈরি হয়েছিল তা ঠিক করে না।
ঘটনাটি মাল্টি-ভেন্ডর ওয়ালেট সেটআপগুলিকে আরও শক্তিশালী ব্যবহারিক কেস প্রদান করে। একটি মাল্টি-সিগনেচার ব্যবস্থা-এ, বিভিন্ন প্রস্তুতকারকের আলাদা হার্ডওয়্যার ডিভাইসগুলিকে লেনদেন অনুমোদনের জন্য প্রয়োজন হতে পারে। এই কাঠামোটি ফার্মওয়্যার বাগগুলিকে অসম্ভব করে তোলে না, কিন্তু এটি একটি একক ত্রুটিপূর্ণ র্যান্ডম-নাম্বার জেনারেটরকে সম্পূর্ণ ওয়ালেটকে একা প্রকাশ করতে বাধা দিতে পারে।
