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

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