হোমএশিয়ান ক্রিকেটখালি পেলোড, পূর্ণ ব্লক: এশিয়ার ক্রিকেট ডেটা যখন চেইনে উঠছে, অডিট তখন থেমে যাচ্ছে

খালি পেলোড, পূর্ণ ব্লক: এশিয়ার ক্রিকেট ডেটা যখন চেইনে উঠছে, অডিট তখন থেমে যাচ্ছে

**মূল উত্তর:** খালি ডেটা-পেলোড থেকে গড়া অন-চেইন ক্রিকেট সিস্টেমে তথ্যের অনুপস্থিতি আর শূন্য মান আলাদা করা যায় না, ফলে সেটেলমেন্ট ভুল দিকে যেতে পারে। সমাধান — উৎস, সময় ও আত্মবিশ্বাসের ট্যাগসহ অনুপস্থিতিকে আলাদা অবস্থা হিসেবে রাখা। **মূল তথ্য:** - Stage-1 অডিটে শিরোনাম, সূত্র ও তথ্যবিন্দু শূন্য ছিল; শুধু cricket_asia লেবেল পাওয়া গেছে। - বিটকয়েনের প্রথম ব্লকে ২০০৯ সালের ৩ জানুয়ারি The Times-এর একটি শিরোনাম খোদাই করা হয়েছিল। - এভারটন ২০২৩ সালের ১৭ নভেম্বর ১০ পয়েন্ট হারায়, আপিলে ৬, ২০২৪ সালের এপ্রিলে আরও ২। - কাতার ২০২২-এ ইংল্যান্ড বনাম ইরানের ম্যাচে ২৭ মিনিট অতিরিক্ত সময় যোগ হয়েছিল। - স্কিমা ভ্যালিডেশন শূন্য মান গ্রহণ করে; চেইন সত্য যাচাই করে না, কেবল সময়-সিলমোহর দেয়। **সূত্র উল্লেখ:** মূল সূত্র: Stage-1 ইনপুট অডিট রিপোর্ট (ডোমেইন লেবেল: cricket_asia); প্রকাশের তারিখ উৎস নথিতে উল্লেখ নেই (N/A) | Cross-checked: cricsultan.com **সম্পর্কিত প্রশ্নোত্তর:** প্রশ্ন: ক্রিকেট ডেটা চেইনে উঠলে জাল স্কোর ঠেকবে? উত্তর: ঠেকবে না — চেইন জাল স্কোরকেও সিলমোহর দেয়, তাই উৎস-যাচাই আলাদা স্তরে করতে হয়; cricsultan.com Player Depth Index-এর মতো সূচক উৎস-ট্যাগিং দেখায়। প্রশ্ন: খালি পেলোড কেন বিপজ্জনক? উত্তর: কারণ স্কিমা null-কে শূন্যে রূপান্তর করে, আর সেটেলমেন্ট কনট্র্যাক্ট শূন্যকে বৈধ ফল ধরে নেয়। প্রশ্ন: সমাধান কী? উত্তর: প্রতিটি ডেটা-পয়েন্টে উৎস, সময়, আত্মবিশ্বাস ও অনুপস্থিতি — চারটি ফিল্ড বাধ্যতামূলক করা।

রাত ২:১৪, আর একটা সবুজ ড্যাশবোর্ড

রাত ২:১৪। স্কোরকার্ড এন্ডপয়েন্ট ফেরত দিল একটাই শব্দ — N/A। ড্যাশবোর্ডে তখনো সবুজ: লেটেন্সি ২৪০ মিলিসেকেন্ড, সাকসেস রেট ১০০ শতাংশ, এরর লগ ফাঁকা। পাশের ট্যাবে ব্লক এক্সপ্লোরার খোলা, বারো সেকেন্ডে একটা নতুন ব্লক বসছে, কারও জন্য অপেক্ষা নেই। ওই সবুজের দিকে তাকিয়ে মনে হলো, যে সিস্টেম কখনো “তথ্য নেই” বলতে শেখেনি, সে আসলে কিছুই বলেনি।

সকালে অডিট রিপোর্টটা এল। ভাষা ঠান্ডা, প্রায় ক্লিনিক্যাল: Stage-1 পেলোড খালি। শিরোনাম নেই, সূত্র নেই, তথ্যবিন্দু শূন্য, মূল দৃষ্টিভঙ্গি নেই, সংশ্লিষ্ট প্রতিষ্ঠান বা খেলোয়াড়ের নাম নেই, সময়-সংবেদনশীলতার চিহ্ন নেই। বেঁচে আছে শুধু একটা লেবেল — cricket_asia। আটটা বিশ্লেষণ-মাত্রা, নিচে শূন্য প্রমাণ।

খালি পেলোড, পূর্ণ ব্লক: এশিয়ার ক্রিকেট ডেটা যখন চেইনে উঠছে, অডিট তখন থেমে যাচ্ছে

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

আজকের প্রায় প্রতিটি ডেটা-সিস্টেম ওই জায়গায় থামে না। ব্লকচেইন তো একেবারেই না। চেইন জিজ্ঞেস করে না শিরোনামটা সত্যি কি না, স্কোরকার্ডটা কে লিখল, নাকি ওই ঘরটা আসলে খালি ছিল। সে শুধু জিজ্ঞেস করে, সই আছে কি না।

২০০৯ সালের ৩ জানুয়ারি বিটকয়েনের প্রথম ব্লকে একটা সংবাদ-শিরোনাম খোদাই করা হয়েছিল — The Times, “Chancellor on brink of second bailout for banks”। ওই প্রযুক্তির ইতিহাসে প্রথম ব্লকটা একটা সূত্র বহন করেছিল। সুন্দর। কিন্তু সেটাই শেষবার, যখন চেইন নিজের ভেতরে প্রমাণ রাখার কথা ভেবেছিল। পরের সতেরো বছরে কোটি কোটি ব্লক বসেছে, একটাও জিজ্ঞেস করেনি হেডলাইনটা ঠিক ছিল কি না।

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

এশিয়ার ক্রিকেট আর চেইনের পাঁচ ধাপ

এশিয়ার ক্রিকেটে চেইনের স্তরটা আর পরীক্ষামূলক কৌতূহল নয়। ফ্র্যাঞ্চাইজি ফ্যান টোকেন, এনএফটি টিকিটের স্টাব, ডিজিটাল কালেক্টিবল, ফ্যান্টাসি আর প্রেডিকশন মার্কেট, ম্যাচ-বলের প্রমাণপত্র, ম্যাচ ফি ও লিগ চুক্তির পেমেন্ট রেল, আর বৃষ্টি-বিমার মতো প্যারামেট্রিক প্রোডাক্ট — সবকিছুরই স্থাপত্য এখন মোটামুটি স্থির। প্রশ্নটা আর “চেইন লাগবে কি না” নিয়ে নয়। প্রশ্নটা হলো, চেইনে ওঠা প্রতিটি সংখ্যার পেছনে কে দাঁড়িয়ে আছে।

যে প্রতিষ্ঠানগুলোর নাম এই আলোচনায় সবচেয়ে আগে আসে, সেগুলো অনুমানের ভিত্তিতে চিহ্নিত: ভারত, পাকিস্তান, শ্রীলঙ্কা, বাংলাদেশের বোর্ড, এশিয়ান ক্রিকেট কাউন্সিল, আর লিগগুলোর মধ্যে আইপিএল, পিএসএল, লঙ্কা প্রিমিয়ার লিগ, আইএলটি২০, এশিয়া কাপ। এই তালিকাটা একটা প্রায়র, একটা সম্ভাবনার সীমা — কোনো আবিষ্কার নয়। আত্মবিশ্বাসের মাত্রা কম, এবং এই লেখার কোনো সিদ্ধান্ত ওই তালিকার উপর দাঁড়িয়ে নেই।

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

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

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

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

প্রতিটা একটা বৈধ শূন্য। প্রতিটা একটা ফাঁক, যেটা স্কিমা আনন্দের সঙ্গে ভরে দেবে।

২০১৮ সালে রাশিয়া বিশ্বকাপের সময় আমি একটা স্প্রেডশিট খোলা রেখে ম্যাচ দেখতাম। ইংল্যান্ড সেমিফাইনাল পর্যন্ত ১২ গোল করেছিল, তার নয়টা এসেছিল সেট পিস থেকে; প্রতিটার পেছনের রুটিন লিখে রাখতাম, আর ম্যাচডে ইস্যু বের করতাম — মোট ৩২টি, মেইলিং লিস্ট ছয়জন থেকে ৪১ জনে পৌঁছেছিল, যার তিনজন ছিলেন একাডেমি কোচ। ওটা ব্লগ ছিল না। ওটা একটা টেমপ্লেট: আটটা নির্দিষ্ট ক্যাটাগরি, কিক-অফের আগেই ভরা।

টেমপ্লেটকে একসময় খাঁচা ভেবেছিলাম; পরে বুঝেছি ওটাই মেট্রোনোম। পার্থক্যটা ছোট, কিন্তু সিদ্ধান্তে বিশাল — টেমপ্লেট যদি আমাকে আগে থেকে বলে দেয় কোন প্রশ্ন করব, তাহলে সেটা তালা; আর যদি বলে দেয় কোন ঘরগুলো ভরতেই হবে, তাহলে সেটা তালি।

ব্লকচেইন সেই অর্থে সবচেয়ে কঠোর টেমপ্লেট, যা মানুষ এখনো বানিয়েছে। আর ঠিক সেখানেই সমস্যাটা: এই টেমপ্লেট নিজেকে নিজে ভরে দেয়। সে কখনো অপেক্ষা করে না যে কেউ এসে ঘরটা ভরবে।

প্রথম স্তর: যে ঘর নিজেকে শূন্য বলে না

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

শেষেরটা সবচেয়ে বিপজ্জনক, কারণ সিস্টেমের বাইরে থেকে দেখে বোঝার উপায় নেই। সবুজ বাতি জ্বলছে, কারণ বাতিটা জিজ্ঞেস করে না ডেটা আছে কি না; বাতিটা জিজ্ঞেস করে রিকোয়েস্ট সফল হলো কি না।

আমি নিজে ডেডলাইনে এই ভুলটা করেছি। ২০২২ সালের জানুয়ারিতে এক লিগ ওয়ানের ট্রান্সফার উইন্ডো একটানা ৩১ দিন ট্র্যাক করছিলাম। ডেডলাইন রাতের ট্রেনিং গ্রাউন্ডে একমাত্র রিপোর্টার ছিলাম আমি, যখন রাত ১০:৪০-এ এক স্ট্রাইকারের মেডিকেলে মুভটা ভেঙে পড়ল। খবরটা ফাঁকা ছিল না; আমার নোটবুকের অর্ধেক তখনো ফাঁকা ছিল। পার্থক্যটা ধরতে পেরেছিলাম, কারণ আমি ফাঁকা ঘরগুলো আলাদা করে চিহ্নিত করতাম।

ক্রিকেটের স্কোরকার্ডে একই শব্দ তিন রকম অর্থে ব্যবহৃত হয়। ব্যাট করেনি, আঘাতের কারণে অনুপস্থিত, রিটায়ার্ড — এই তিনটার মানে সম্পূর্ণ আলাদা, কিন্তু অনেক ফিডে তিনটাই একই ফিল্ডে গিয়ে বসে, আর সেটেলমেন্টে তিনটাই শূন্য রানে পরিণত হয়। একজন ব্যাটার যিনি সুযোগই পাননি, আর একজন ব্যাটার যিনি আউট হয়ে শূন্য করেছেন — ফ্যান্টাসি স্কোরিংয়ে দুজনের পার্থক্য বিশাল, চেইনে দুজন একই।

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

দ্বিতীয় স্তর: স্কিমা পাস করা আর সত্য হওয়া

ভ্যালিডেশনের কাজটা মানুষ প্রায়ই ভুল বোঝে। স্কিমা ভ্যালিডেশন জিজ্ঞেস করে ফিল্ডটা আছে কি না, টাইপটা মিলছে কি না। সে জিজ্ঞেস করে না ফিল্ডটা সত্যি কি না। একটা জেসন অবজেক্ট, যেখানে লেখা আছে রান — নাল, স্কিমা পাস করে দেবে, কারণ টাইপটা হয়তো সংখ্যা-বা-নাল হিসেবে ঘোষিত।

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

অন-চেইনে এর সমতুল্য নকশাটা হলো প্রভেনেন্স ট্রিপল: উৎস, সময়, আত্মবিশ্বাস। প্রতিটা ডেটা-পয়েন্টের সঙ্গে তিনটা ফিল্ড, বাধ্যতামূলক। চতুর্থটা যোগ করা দরকার, যা এখনো প্রায় কোথাও নেই — অনুপস্থিতির পতাকা। ডেটা নেই, এটা একটা ঘোষণা; ডেটা শূন্য, এটা আরেকটা। দুটোকে আলাদা না করলে পুরো সেটেলমেন্ট স্তরটা একটা অনুমানের উপর দাঁড়িয়ে থাকে।

স্কিমা পাস করা আর সত্য হওয়া এক নয়; চেইন প্রথমটা জানে, দ্বিতীয়টা জানে না।

অরাকল ডিজাইনে এটা নতুন সমস্যা নয়, কিন্তু সমাধানগুলো এখনো ক্রিকেটের ছন্দের সঙ্গে বেমানান। অপ্টিমিস্টিক অরাকলে ডেটা আগে চেইনে বসে, তারপর একটা বিরোধ-জানালা খোলে; কেউ আপত্তি না করলে সেটা চূড়ান্ত। জানালাটা যদি দুই দিনের হয়, তাহলে একটা বৃষ্টিবিমার কনট্র্যাক্ট দুই দিন ঝুলে থাকে। জানালাটা যদি দুই মিনিটের হয়, তাহলে জাল ডেটা ধরার সময় থাকে না।

এই টানাপোড়েনটা আমার কাছে ভার প্রযুক্তির চেনা সমস্যা। একটা রিভিউ যদি চার মিনিট চলে, গোলের উৎসবটা ঠান্ডা হয়ে যায়; দর্শক তখন আর গোলটা দেখছে না, স্ক্রিন দেখছে। দুই মিনিটে যা হয়, তা সিদ্ধান্ত — চার মিনিটে যা হয়, তা প্রক্রিয়া। সেটেলমেন্টেও একই কথা খাটে: বিরোধ-জানালার দৈর্ঘ্য শুধু নিরাপত্তার প্রশ্ন নয়, এটা ম্যাচের ছন্দ ছিঁড়ে দেওয়ার প্রশ্ন।

আমি ইন্টারভ্যালে লিখি: দেখো, অপেক্ষা করো, তারপর প্যাটার্নটা ভাঙতে দাও। অরাকল ডিজাইনেও এই তিন ধাপ দরকার — অবজার্ভ, ডিসপিউট, ফাইনালাইজ। যেটা এখন প্রায়ই হয়, তা হলো তিন ধাপের বদলে একটা লম্বা ধাপ: বসে থাকো।

তৃতীয় স্তর: যেখানে টাকা খালি ঘরের উপর দিয়ে হাঁটে

সেটেলমেন্ট স্তরে সমস্যাটা আর দার্শনিক নয়, হিসাবি। ধরা যাক, একটা প্যারামেট্রিক বৃষ্টিবিমার কনট্র্যাক্ট, যা বলবে ম্যাচটা নির্দিষ্ট ওভারে গড়ালে পেমেন্ট হবে। ম্যাচটা ডাকওয়ার্থ-লুইস-স্টার্নে সংশোধিত হলো, সূচক বদলাল, কিন্তু ফিডের সংশোধিত ওভারের ফিল্ডটা নাল। স্কিমা সেটাকে শূন্য করল। কনট্র্যাক্ট দেখল শূন্য। শূন্য মানে ম্যাচ শেষ হয়নি। পেমেন্ট গেল না।

কেউ প্রতারণা করেনি। কেউ ভুল লেখেনি। একটা খালি ঘর নিজের ওজন অনুযায়ী সিদ্ধান্ত নিয়ে ফেলেছে।

খালি ঘর কখনো নিজে থেকে শূন্য হয়ে চেইনে বসে না — কেউ না কেউ ওকে শূন্য বানিয়ে দেয়, আর সেই কেউটার নাম ডিফল্ট ভ্যালু।

ফ্যান টোকেন আর প্রেডিকশন মার্কেটে এই ঝুঁকিটা আরও তীক্ষ্ণ। একটা প্রেডিকশন মার্কেটে দাম মানে সমষ্টিগত বিশ্বাস। কনসেনসাস সবসময় দেরিতে আসে — সেটাই তার কাজ। কিন্তু চেইন ওই দেরিটাকেই স্থায়ী করে দেয়, আর পরে কেউ সেটা সংশোধন করতে চাইলে পুরো ইতিহাসের বিরুদ্ধে দাঁড়াতে হয়।

কাতার ২০২২-এ আমি ৬৪টা ম্যাচের অতিরিক্ত সময় লগ করেছিলাম। ইংল্যান্ড বনাম ইরানের একটাতেই যোগ হয়েছিল ২৭ মিনিট। ২০২২-এর আগের কোনো স্কিমা এই ধরনের সংখ্যা প্রত্যাশা করত না; “ম্যাচের দৈর্ঘ্য” ফিল্ডটা যদি আগের অনুমানে বাঁধা থাকত, তাহলে ওই ম্যাচের সেটেলমেন্ট ভুল হতো, এবং ভুলটা হতো সম্পূর্ণ বৈধ দেখতে।

একই টুর্নামেন্টে আমি এনজো ফার্নান্দেসকে সেরা তরুণ খেলোয়াড় ঘোষণা করেছিলাম ফাইনালের নয় দিন আগে। সেটা ভবিষ্যদ্বাণী ছিল না, ছিল ডেটা পড়ার গতি। আমি আর ট্রান্সফার নিউজের পেছনে ছুটিনি, টেম্পো ট্র্যাক করেছি। চেইনের ভাষায় এর মানে — বাজার হলো কনসেনসাস, আর কনসেনসাস প্রমাণের চেয়ে প্রায় সবসময় পিছিয়ে।

এভারটনের তিনটা নথি, কাতারের সাতাশ মিনিট

ভার্সনিংয়ের প্রশ্নটা এখানেই আসে, আর এখানেই চেইনের সবচেয়ে বড় নকশা-দুর্বলতা ধরা পড়ে।

২০২৩-২৪ মৌসুমে আমি এভারটনের সঙ্গে ছিলাম — ৩৮টার মধ্যে ৩৪টা ম্যাচে উপস্থিত। ২০২৩ সালের ১৭ নভেম্বর ১০ পয়েন্ট কাটা হলো, আপিলে সেটা ৬-এ নামল, ২০২৪ সালের এপ্রিলে আরও ২ পয়েন্ট গেল, দল শেষ করল ১৫তম স্থানে, ৪০ পয়েন্ট নিয়ে। এক ক্লাব, এক মৌসুম, তিনটা সরকারি নথি, তিনটা ভিন্ন পয়েন্ট সংখ্যা।

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

ভার্সন না রাখলে চেইন ইতিহাস সংরক্ষণ করে না; সে কেবল শেষ অবস্থাটা পাথরে খোদাই করে।

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

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

আমি আর ট্রান্সফার নিউজের পেছনে ছুটিনি — এই বাক্যটা ক্রিকেট ডেটার ক্ষেত্রেও সত্য। খবরটা কী ঘটল, সেটা নয়; খবরটা হলো কোন সংখ্যাটা কখন বৈধ হলো, আর কে সেটা বৈধ বলল।

বিপরীতটা যেখানে: থেমে যাওয়াই যদি পণ্য হয়

এখন সেই অংশটা, যেখানে বাইরের পাঠ আর আমার পাঠ আলাদা হয়ে যায়।

প্রচলিত ধারণা পরিষ্কার: ব্লকচেইন নাকি জাল ডেটা ঠিক করবে। স্কোরকার্ড যদি কেউ বদলে দেয়, চেইন ধরে ফেলবে। কথাটা অর্ধেক সত্য, আর অর্ধেকটা বিপজ্জনক। চেইন কিছুই যাচাই করে না। সে সিলমোহর দেয়। একটা জাল স্কোর, চেইনে বসলে, একটা সিলমোহরসহ জাল স্কোর হয়ে যায় — অর্থাৎ আগের চেয়ে অনেক বেশি বিশ্বাসযোগ্য দেখতে।

দ্বিতীয় প্রচলিত ধারণা: অটোমেশন ফাঁকগুলো ভরে দেবে। এটাই সেই ফাঁদ, যার নাম অডিট রিপোর্টটা নিজেই রেখেছে। একটা লেবেল থেকে আট মাত্রার বিশ্বাসযোগ্য-শোনানো ক্রিকেট ভাষ্য তৈরি করা — এটাই কনফাবুলেশন, বিশ্লেষণের পোশাক পরে থাকা বানানো গল্প। জেনারেটিভ পাইপলাইনে এই থামার বোতামটা যদি সরিয়ে দেন, সিস্টেম আপনাকে আত্মবিশ্বাসী একটা ফলাফল দেবে, প্রতিবার, কোনো ব্যতিক্রম ছাড়া।

আমার বিপরীত পাঠটা হলো: থেমে যাওয়াটাই এখানে পণ্য। যে সিস্টেম বলতে পারে “তথ্য যথেষ্ট নয়”, সে ওই সিস্টেমের চেয়ে বেশি বিশ্বস্ত, যা প্রতিবার কিছু একটা বলে দেয়।

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

ই-স্পোর্টস আমাকে শিখিয়েছে, বিশৃঙ্খলারও একটা মাপা বীট থাকে। খালি পেলোডও ঠিক তেমন — ওটা বিশৃঙ্খলা নয়, ওটা একটা বীট, যা আমাদের পাইপলাইনের অবস্থা সম্পর্কে কিছু বলছে। ওটাকে লগ করা দরকার, লুকানো নয়।

খালি পেলোড, পূর্ণ ব্লক: এশিয়ার ক্রিকেট ডেটা যখন চেইনে উঠছে, অডিট তখন থেমে যাচ্ছে

তবে এই জায়গায় আমি নিজের বিপরীতের বিরুদ্ধেও দাঁড়াতে চাই। থেমে যাওয়াকে রোমান্টিক করা যায় না। ডেডলাইনের রাত ১১:৫৮-এ একটা সিস্টেম যদি থেমে যায় এবং কিছু না দেয়, সেটাও একটা ব্যর্থতা। সমাধানটা দুটোর কোনোটাই নয় — থেমে যাওয়া আর কিছু বলা; সমাধানটা তৃতীয়টা: থেমে গিয়ে একটা রিপোর্ট ফাইল করা।

ডেডলাইন ভেঙে পড়ার ওই রাত আমাকে শিখিয়েছে, ডেটার পালস আছে, ডেডলাইন নেই। তার মানে এই নয় যে ডেডলাইন মানতে হয় না। তার মানে হলো, নব্বই শতাংশে ফাইল করো, ফাঁকগুলো লিখে দাও — কিন্তু শূন্য শতাংশকে কখনো একশো শতাংশ বলে চালিয়ে দিও না।

খালি পেলোড, পূর্ণ ব্লক: এশিয়ার ক্রিকেট ডেটা যখন চেইনে উঠছে, অডিট তখন থেমে যাচ্ছে

সামনের বারো মাসে যা দেখব

এখন প্রশ্নটা আর “ক্রিকেট ডেটা চেইনে উঠবে কি না” নয়। ওটা উঠছে, প্রশ্নহীনভাবে। প্রশ্নটা হলো, চেইনে ওঠার আগে কে দাঁড়িয়ে বলবে “এই ঘরটা খালি”।

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

আমি নিজের আউটপুটেও এই একই নিয়ম মেনেছি। এই লেখায় খেলোয়াড়ের তালিকা খালি, কারণ পেলোডে কোনো খেলোয়াড়ের নাম ছিল না। একটা নাম বসানো যেত; সেটা সুন্দর দেখাত। সেটাই হতো সবচেয়ে বড় মিথ্যা।

তাহলে পরের এশিয়া কাপের ফাইনালে, যদি ফিড চার মিনিটের জন্য অন্ধ হয়ে যায় — কনট্র্যাক্টটা অপেক্ষা করবে, নাকি একটা শূন্যের উপর সেটেল হয়ে যাবে? উত্তরটা প্রযুক্তিতে নেই। উত্তরটা আছে সেই নকশা-সিদ্ধান্তে, যেটা কেউ গত মাসে নিয়েছে, সম্ভবত কোনো মিটিংয়ে, সম্ভবত কোনো আলোচনা ছাড়াই।

সংশ্লিষ্ট খেলোয়াড়গণ