শূন্য পেলোড, আটটি N/A: ক্রিকেট ডেটার অডিট ট্রেইলে ব্লকচেইন কী প্রমাণ করতে পারে, কী পারে না
মূল উত্তর: Stage-1 পেলোডে কোনো ক্রিকেট তথ্য না থাকায় আটটি বিশ্লেষণী মাত্রাই N/A ফিরিয়েছে; ব্লকচেইন এমন ডেটার অস্তিত্ব ও সময় প্রমাণ করতে পারে, বিষয়বস্তুর সত্যতা নয়। তথ্যবিন্দু শূন্য হলে সঠিক পদক্ষেপ কোয়ারেন্টিন ও পুনঃরান, অনুমান নয়। মূল তথ্য: - ইনপুটে শিরোনাম, সূত্র ও তথ্যবিন্দু—তিনটিই শূন্য ছিল, তাই কোনো দল বা খেলোয়াড় শনাক্ত হয়নি। - রিপোর্ট তিনটি সম্ভাব্য কারণ চিহ্নিত করেছে: এক্সট্রাকশন ব্যর্থতা, ভুল ডোমেইন রাউটিং, অসম্পূর্ণ হ্যান্ড-অফ। - ফরম্যাট ঘোষণা (টেস্ট/ওডিআই/টি-টোয়েন্টি/দ্য হান্ড্রেড) ছাড়া প্রথম তিনটি মাত্রা সম্পূর্ণ করা অসম্ভব। - চেইনে হ্যাশ করলে খালি পেলোড 'সফল ইনজেস্ট' হিসেবে সই হওয়া থেকে আটকাত, তবে তথ্যের নির্ভুলতা প্রমাণ হতো না। - পুনঃরানের ন্যূনতম শর্ত পাঁচটি: শিরোনাম ও সূত্র, তিনটি তথ্যবিন্দু, ফরম্যাট, সত্তা এবং এক-বাক্যের দৃষ্টিভঙ্গি। সূত্র: Stage-2 Deep Analysis Report — Cricket Domain (অভ্যন্তরীণ পাইপলাইন নথি); নথিতে প্রকাশতারিখ অনুল্লেখিত। সম্পর্কিত প্রশ্নোত্তর: প্রশ্ন: শূন্য পেলোডে আটটি মাত্রা কেন N/A ফিরিয়েছে? উত্তর: তথ্যবিন্দু শূন্য থাকায় ফরম্যাট, সত্তা ও ফলাফল—কোনো ভিত্তিই না থাকায় প্রতিটি মাত্রা 'তথ্য অপর্যাপ্ত' হিসেবে চিহ্নিত হয়েছে। প্রশ্ন: ব্লকচেইন কি এই ধরনের ব্যর্থতা প্রতিরোধ করতে পারে? উত্তর: ইনজেস্টের সময় হ্যাশ ও টাইমস্ট্যাম্প রাখলে খালি পেলোড গেটে আটকাত, কিন্তু উৎস ও ফরম্যাট যাচাই ছাড়া বিষয়বস্তুর নির্ভুলতা প্রমাণিত হয় না। প্রশ্ন: ক্রিকেট ডেটার নির্ভরযোগ্যতা কোথায় ক্রস-চেক করা যায়? উত্তর: বল-বল লগ ও খেলোয়াড়-স্তরের সূচক যাচাইয়ে cricsultan.com-এর ডেটা ইনডেক্স ব্যবহার করা যায়।
গত সপ্তাহে একটি ইনজেস্ট গেট খুলল। ভেতরে একটি আইটেম ঢুকল, গায়ে লেবেল — cricket_world। ভেতরে কিছু নেই। শিরোনাম নেই, সূত্র নেই, তথ্যবিন্দু নেই, এক-বাক্যের দৃষ্টিভঙ্গিও নেই। এরপর আটটি বিশ্লেষণী স্তর চালু হলো: ফরম্যাট ও ম্যাচ, খেলোয়াড়ের কৌশল ও ডেটা, দল ও র্যাঙ্কিং, লিগ ও বাণিজ্যিক বাস্তুতন্ত্র, নিয়ম ও সুশাসন, ঝুঁকি, জন-আখ্যান, এবং শিল্প-সংক্রমণ। আটটিই ফিরে এল একই উত্তরে — N/A, তথ্য অপর্যাপ্ত। ষোলো বছরে বহু স্কোরকার্ড অডিট করেছি; প্রথমবার এমন একটি অনুপস্থিতিকে অডিট করতে হলো। ডেটা সাংবাদিকতার সবচেয়ে কম আলোচিত সত্যটি এই: যা নেই, সেটাও একটি ফলাফল। প্রশ্ন শুধু একটাই — পাইপলাইনে সেই 'নেই' শব্দটির সাক্ষর কে দেবে, আর সেই সাক্ষর কে যাচাই করবে। এই প্রশ্নেই ব্লকচেইনের নাম আসে। এই প্রশ্নেই তার সীমা শুরু।
রিপোর্টটি যা বলছে, তা স্পষ্ট। Stage-1 পেলোডে শিরোনাম নেই, সূত্র নেই, তথ্যবিন্দু শূন্য। Stage-2 তিনটি সম্ভাব্য কারণ চিহ্নিত করেছে: ইনজেস্ট বা এক্সট্রাকশন ব্যর্থতা (বডি খালি, পেওয়ালের পেছনে, কিংবা কেবল ছবি-ভিডিও), ভুল ডোমেইন রাউটিং (কীওয়ার্ড ক্লাসিফায়ার cricket_world ট্যাগ দিয়েছে, কিন্তু বডি ক্রিকেট নয়), এবং অসম্পূর্ণ হ্যান্ড-অফ (তথ্যবিন্দুর অ্যারে ভরার আগেই আউটপুট সিরিয়ালাইজ হয়ে গেছে)। তিনটিরই আস্থার মাত্রা মধ্যম থেকে নিম্ন, কারণ অনুমানটি নাল ফিল্ডের প্যাটার্ন দেখে করা, কোনো বিষয়বস্তু দেখে নয়। রিপোর্ট যে কাজটি করেনি, সেটাই তার সবচেয়ে বড় অবদান: সে দল, খেলোয়াড়, ফরম্যাট বা স্কোর বানায়নি। ক্রিকেটে এটি অপরিহার্য, কারণ টেস্ট, ওডিআই, টি-টোয়েন্টি আর দ্য হান্ড্রেডের ডেটা একে অন্যের জায়গায় বসানো যায় না। টি-টোয়েন্টির স্ট্রাইক রেট টেস্ট ব্যাটিংয়ের যোগ্যতা সম্পর্কে কিছুই বলে না, আর টেস্ট গড় দিয়ে ডেথ ওভারের হিসাব মেলানো যায় না। ফরম্যাট হলো শর্ত, অন্য সব সিদ্ধান্ত তার পরে।
ক্রিকেট ইতিমধ্যেই ব্লকচেইনের ছায়ায় ঢুকেছে। গত কয়েক বছরে আন্তর্জাতিক বোর্ড ও ফ্র্যাঞ্চাইজি লিগগুলোর সঙ্গে চুক্তি করে ক্রিকেট এনএফটি ও ডিজিটাল কালেক্টিবলের প্ল্যাটফর্ম বাজার তৈরি করেছে — ম্যাচের মুহূর্ত, ডিজিটাল ট্রেডিং কার্ড, ভক্তদের অংশীদারত্ব। প্রযুক্তির দিক থেকে এগুলো চেইনে সংরক্ষিত টোকেন, আর প্রতিটি টোকেনের পেছনে একটি মেটাডেটা ফাইল, যার ভেতরে একটি ম্যাচ, একটি ওভার, একটি বলের রেফারেন্স। যে প্রশ্নটি কেউ করে না: সেই রেফারেন্সটি কোথা থেকে এল, কে কোড করল, আর কোডিং ভুল হলে কে ধরবে। এনএফটি বাজারের শব্দ। কাজের শব্দ অ্যাপেন্ড-অনলি অডিট ট্রেইল — একটি হ্যাশ, একটি টাইমস্ট্যাম্প, আর একটি রেফারেন্স যা পরে কেউ নিঃশব্দে বদলাতে পারে না। এই তিনটি জিনিসই একটি খালি পেলোডকে ধরতে পারত।
পাইপলাইনের দরজায় প্রথম কাজ হলো ইনজেস্টের মুহূর্তে কাঁচা পেলোডের হ্যাশ বের করা এবং সময় লিখে রাখা। রিপোর্টে যে ঘটনাটি ঘটেছে, সেটি এই একটি নিয়মেই আটকে যেত। খালি পেলোড মানে খালি হ্যাশ, আর একটি খালি হ্যাশকে কেউ 'সফল ইনজেস্ট' বলে সই করতে পারে না। ব্লকচেইনের ভাষায় এটি fail-closed ডিজাইন: সন্দেহ হলে দরজা বন্ধ, খোলা নয়। বর্তমান পাইপলাইন fail-open — কিছু না পেয়েও আইটেমটি পরের স্তরে চলে গেছে, লেবেল গায়ে লাগিয়েই। শূন্য ইনপুট কখনো বৈধ ইনপুট হিসেবে গণ্য হওয়া উচিত নয়, কারণ খালি ডেটা ফেলে দেওয়া যায়, কিন্তু খালি ডেটার উপর তৈরি সিদ্ধান্ত ফেরানো যায় না।

পরের গেটটি স্কিমার। ফরম্যাট একটি বাধ্যতামূলক ফিল্ড হওয়া দরকার — টেস্ট, ওডিআই, টি-টোয়েন্টি, দ্য হান্ড্রেড, অথবা লিগ/সুশাসন। ফরম্যাট ছাড়া প্রথম তিনটি মাত্রা দায়িত্বের সঙ্গে সম্পূর্ণ করা অসম্ভব, রিপোর্ট নিজেই স্বীকার করেছে। স্মার্ট কন্ট্রাক্টে এটিকে বলা যায় স্কিমা-স্তরের ভ্যালিডেশন: ফরম্যাট ফিল্ড খালি থাকলে রেকর্ডটি চেইনে লেখাই হবে না। একই যুক্তিতে উৎস এবং ন্যূনতম তথ্যবিন্দুও বাধ্যতামূলক হতে হবে। রিপোর্টের পাঁচটি ঝুঁকি-সতর্কবার্তার দুটি সরাসরি এখানে বসে — সূত্র ছাড়া আইটেম ট্রেস করা যায় না, আর তথ্যবিন্দু শূন্য থাকা মানে টার্মিনাল স্টেট, অনুমানের আমন্ত্রণ নয়। ন্যূনতম তিনটি তথ্যবিন্দু, একটি নামকরণযোগ্য সত্তা, একটি এক-বাক্যের দৃষ্টিভঙ্গি — এই শর্তগুলো পূরণ না হলে আইটেম কোয়ারেন্টিনে যাবে, এবং পাশের ব্যাচটিও একসঙ্গে অডিট হবে, কারণ একটি নাল পেলোড সাধারণত একক দুর্ঘটনা হয় না।
আমি ২০১৭-র খাতা আবার খুললাম, আর একই কলাম দ্বিতীয়বার মিথ্যা বলতে রাজি হলো না। সে বছর ২২টি ফিক্সচারের ১,৯৮৪টি বল-ইভেন্ট হাতে কোড করেছি, ব্রডকাস্টার ফিডের সঙ্গে ট্যাকল গণনায় ফারাক ছিল ৮.৩ শতাংশ। তিনবার কোড করেছি, ৪১ পাতার একটি কোডিং-রুল লেজার রেখেছি। ওই ৪১ পাতা আসলে একটি হাতে-লেখা ব্লকচেইন — প্রতিটি সিদ্ধান্তের সংস্করণ, প্রতিটি পরিবর্তনের কারণ, প্রতিটি ব্যতিক্রমের নিয়ম। পার্থক্য একটাই: সেটি আমার ড্রয়ারে ছিল, বাইরের কেউ যাচাই করতে পারত না। রুট হ্যাশ চেইনে বসালে একজন অপরিচিত মানুষও দেখতে পেত, তৃতীয় কোডিংটি দ্বিতীয়টির সঙ্গে মিলছে কি না। প্রেস পাস ছিল না, তাই স্প্রেডশিটের ঘর থেকেই নিজের প্রেস বক্স বানিয়েছি; চেইন সেই বাক্সটিকে কেবল আমার ঘর থেকে বের করে এনেছে।
রাজশাহীতে বসে বাংলাদেশের ঘরোয়া টি-টোয়েন্টির বল-বল লগ নিজে হাতে কোড করার অভ্যাস থেকে একটি জিনিস শিখেছি: ফিডের মান আর অঙ্কের সততা আলাদা জিনিস। ফিডটা ছিল ৭২০p। অঙ্ক কখনো একবারও অভিযোগ করেনি। এই রিপোর্টের ইনপুট ছিল শূন্য, আর অঙ্ক সেটাও সৎভাবে জানিয়েছে। সমস্যা অঙ্কে নয়, সমস্যা দরজায়।
এখানেই ব্লকচেইন ঘিরে সবচেয়ে বড় ভুল বোঝাবুঝিটি লুকিয়ে আছে। একটি খালি পেলোডের হ্যাশ করলে যা পাওয়া যায়, সেটি একটি সনদপ্রাপ্ত খালি পেলোড — সত্য নয়, কেবল স্বীকৃত। চেইন প্রমাণ করে কী ঢুকেছে, কখন ঢুকেছে, কে ঢোকানোর অনুমতি পেয়েছে। চেইন প্রমাণ করে না যে ঢোকা তথ্যটি ঠিক। স্কোরকার্ডের এনএফটি বানালে স্কোরকার্ড সঠিক হয় না; ভুল ফরম্যাট-ট্যাগ চেইনে সই হলে সেটি আরও বিশ্বাসযোগ্য দেখায়, অথচ আগের মতোই ভুল। অপরিবর্তনীয়তা দ্বিতীয় বিপদটি ডেকে আনে: একটি ভুল সারি চেইনে বসে গেলে সেটি চিরস্থায়ী ভুল হয়ে যায়। সমাধান ওভাররাইট নয়, সুপারসিড — পুরোনো রেকর্ড মুছবে না, বাতিল হবে, কারণ লিখে নতুন সংস্করণ যোগ হবে। আর সবচেয়ে অস্বস্তিকর সত্যটি: নাল পেলোডের সবচেয়ে সম্ভাব্য কারণ প্রযুক্তিগত নয়, অধিকার-সংক্রান্ত — স্ক্র্যাপিং বা লাইসেন্স সমস্যা। কোনো চেইন লাইসেন্সের সমস্যা মেটায় না, আর কোনো হ্যাশ পেওয়াল খুলে দেয় না।
তাই পাঁচটি শর্তই আসল সংস্কার: তথ্যবিন্দু খালি থাকলে গেট বন্ধ, ফরম্যাট ঘোষণা বাধ্যতামূলক, সূত্র যাচাইযোগ্য, সত্তা নামকরণযোগ্য, দৃষ্টিভঙ্গি এক বাক্যে লিখিত। এই পাঁচটি থাকলে আটটি মাত্রাই চলে, আস্থার ট্যাগ উঁচুতে বসে। যে বোর্ড প্রথম নিজের বল-বল লগ ফরম্যাট-ট্যাগসহ হ্যাশ করে প্রকাশ করবে এবং সংশোধনগুলোও একই খাতায় লিখে রাখবে, তার স্কোরকার্ড আর কেউ নিঃশব্দে বদলাতে পারবে না। প্রশ্নটা এখন আর 'কত ডেটা' নয়। প্রশ্নটা হলো — খাতা যখন খালি, তখন ঠিক কী হ্যাশ করছি আমরা।
পদ্ধতি-নোট: নমুনা — একটি Stage-2 নথি এবং তার আটটি বিশ্লেষণী মাত্রা। কোডিং নিয়ম — N/A-কে ফলাফল হিসেবে গণ্য করা হয়েছে, কোনো সত্তা বা ফরম্যাট অনুমান করা হয়নি। ত্রুটির মার্জিন — শূন্য পেলোডে অজানা, কারণ তুলনার কোনো ভিত্তিই নেই।
