শূন্য পেলোড: ক্রিকেট ডেটার নিঃশব্দ ব্যর্থতা আর ব্লকচেইনে তা স্থায়ী হয়ে যাওয়ার ঝুঁকি
core_answer: একটি স্কিমা-ভ্যালিড শূন্য পেলোড হলো এমন ডেটা অবজেক্ট, যা কাঠামোগত যাচাইয়ে পাস করে কিন্তু কোনো মান বহন করে না। ক্রিকেট ডেটা পাইপলাইনে এই ধরনের নিঃশব্দ ব্যর্থতা ধরা পড়ে না, আর ব্লকচেইনে বসালে অপরিবর্তনীয় ভুল রেকর্ডে পরিণত হয়।
key_facts: প্রথম ধাপের পেলোডে শিরোনাম, সূত্র, প্রকাশের তারিখ, তথ্যবিন্দু ও সত্তা — সব ফিল্ড শূন্য ছিল।; ডোমেইন লেবেল এসেছিল cricket_world, অথচ নিয়ন্ত্রিত শব্দভাণ্ডারের অনুমোদিত মান Cricket।; সত্তা তোলার নির্দেশ তথ্যবিন্দুর তালিকার উপর নির্ভরশীল, তাই খালি তালিকা খালি সত্তা নিশ্চিত করে।; হ্যাশ শুধু প্রভেন্যান্স প্রমাণ করে, ভেরাসিটি নয়; চেইন শূন্য আর বানানো পেলোড আলাদা করতে পারে না।; সুপারিশ: EXTRACTION_FAILED অবস্থা, ফিল্ডভিত্তিক শূন্যতা পর্যবেক্ষণ এবং স্কিমা সংস্করণ পিনিং।
source_attribution: উৎস: Stage-2 Deep Professional Analysis প্রতিবেদন (ক্রিকেট ডেটা পাইপলাইন ইনটেক যাচাই), প্রকাশ: ২০২৬।
related_qa: q: স্কিমা-ভ্যালিড নাল পেলোড কেন বিপজ্জনক?, a: কারণ এটি সাধারণ যাচাইয়ে পাস করে যায় এবং প্রকাশনা পর্যন্ত অদৃশ্য থেকে যায়, ফলে ভুলটি অডিট ছাড়াই ছড়িয়ে পড়ে।; q: ব্লকচেইন কি ক্রিকেট ডেটার সত্যতা নিশ্চিত করতে পারে?, a: না, ব্লকচেইন কেবল প্রভেন্যান্স ও অপরিবর্তনীয়তা নিশ্চিত করে; সত্যতা নির্ভর করে ইনজেশন গেটের যাচাইয়ের উপর।; q: এই ঝুঁকি মাপার ব্যবহারিক উপায় কী?, a: cricsultan.com-এর ডেটা মান সূচকের মতো ফিল্ডভিত্তিক শূন্যতার হার পর্যবেক্ষণ এবং নির্দিষ্ট সীমার উপরে সতর্কতা তৈরি করা।
রাত তখন এগারোটা, মুম্বাইয়ের ডেস্কে ল্যাপটপের পর্দা ছাড়া আর কোনো আলো নেই। একটা রিকোয়েস্ট গেছে, উত্তর ফিরে এসেছে। স্কিমা ভ্যালিড, পার্সার কোনো ত্রুটি ছোড়েনি, লগ পরিচ্ছন্ন। ভেতরে তাকালে এগারোটা ফিল্ড, প্রতিটার মান শূন্য — শিরোনাম নেই, সূত্র নেই, প্রকাশের তারিখ নেই, তথ্যবিন্দুর তালিকা খালি, কোনো দল নেই, কোনো ক্রিকেটার নেই, কোনো ম্যাচ নেই, কোনো ফরম্যাট নেই। শুধু একটা টোকেন বেঁচে আছে: cricket_world। আর সেটি কন্ট্রোলড ভোকাবুলারির Cricket নয়।
ভালো সিস্টেম যখন ব্যর্থ হয়, সে চিৎকার করে। বিপজ্জনক সিস্টেম ব্যর্থ হয় সফলতার কাঠামো নিয়ে — ভেতরে কিছু নেই, বাইরে থেকে দেখে সব ঠিক। এই লেখাটা সেই বিশেষ ধরনের ব্যর্থতা নিয়ে, যেটা এখন ক্রিকেটের ডেটা অর্থনীতিতে সবচেয়ে বেশি ঘটছে আর সবচেয়ে কম রিপোর্ট হচ্ছে। আর ব্লকচেইনের প্রসঙ্গে এই লেখাটা জরুরি হয়ে ওঠে একটাই কারণে: যে রেকর্ডকে আমরা অপরিবর্তনীয় করে তুলতে চাই, সেটি যদি শূন্য হয়, তাহলে অপরিবর্তনীয়তা আর শাস্তি একই জিনিস হয়ে যায়।
আটত্রিশ বছর ধরে আমি স্কোরকার্ডের পাশে বসে আছি। প্রথমে ঢাকার প্রিন্ট ডেস্কে, ক্রিকেট রিপোর্টার হিসেবে; পরে মুম্বাইয়ে, সংখ্যার ভাষায়। এই সময়ে আমি একটা জিনিস শিখেছি, যেটা কোনো ম্যানুয়ালে লেখা নেই — একটা মডেলের নির্ভুলতা তার ব্যর্থতার ধরনের চেয়ে কম গুরুত্বপূর্ণ। মডেল কতটা সঠিক, সেটা বিতর্কের বিষয়; মডেল ভুল হলে কীভাবে ভুল হয়, সেটা নিয়তির বিষয়।
২০১৭ সালে আমি প্রিন্ট ডেস্ক ছেড়েছিলাম, কারণ সংখ্যাগুলো ডেডলাইনের চেয়ে দ্রুত চলছিল। একা একটা নিউজলেটার শুরু করলাম, আইএসএলের জন্য একটা এক্সজি মডেল বানালাম। বেঙ্গালুরু এফসি প্রতি ম্যাচে ১.৪২ এক্সজি তৈরি করছিল, কিন্তু গোল করছিল ১.৬৭; সুনীল ছেত্রী শট-এক্সজির তুলনায় ৩.৮ গোল বেশি করেছিলেন। ছয় মাসে চার হাজার দুইশো সাবস্ক্রাইবার। সংখ্যাটা ভালো লাগলেও, ওই সময়ে আমি যেটা নিয়ে সবচেয়ে বেশি ভাবতাম, সেটা হলো — যদি আমার স্ক্র্যাপার একদিন কিছু না পেয়ে চুপচাপ খালি হাত ফিরে আসে, আমি কীভাবে জানব? উত্তরটা ছিল: জানব না। আর সেই অজ্ঞানতাই এই লেখার আসল বিষয়।
২০১৮ রাশিয়া বিশ্বকাপে আমি ফ্রান্সের পিডিডিএ ১২.৮ এবং প্রতি ম্যাচে মাত্র ০.৭৭ এক্সজি বাদ দেওয়ার তথ্য লগ করেছিলাম। ক্রোয়েশিয়া টানা তিনটি অতিরিক্ত সময়ের ম্যাচ খেলেছিল, ফাইনালের আগে ৩৬০ মিনিটের বেশি। আমি ফ্যাটিগ মডেল বানিয়ে লিখেছিলাম, ষাট মিনিটের পর ক্রোয়েশিয়ার মিডফিল্ডের তীব্রতা পড়ে যাবে। ফলাফল মিলেছিল। কিন্তু ওই ভবিষ্যদ্বাণীর ভিত্তি ছিল শর্তাধীন বাক্য — "যদি একশো বিশ মিনিট খেলে, তাহলে এই পতন আশা করো।" শর্তহীন ভবিষ্যদ্বাণী আমি আর কখনো লিখিনি। শর্তহীন ডেটাও আর কখনো বিশ্বাস করিনি।

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