হোমএশিয়ান ক্রিকেটশূন্য অ্যারে, সফল কোড: ডেটা অখণ্ডতার যে ফাঁক ব্লকচেইন এখনো ভরাতে পারেনি

শূন্য অ্যারে, সফল কোড: ডেটা অখণ্ডতার যে ফাঁক ব্লকচেইন এখনো ভরাতে পারেনি

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

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

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

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

পাইপলাইনের গঠনটা সরল। প্রথম স্তরে একটি নথি ঢোকে, একটি পার্সার সেটিকে টুকরো করে — শিরোনাম, সূত্র, মূল যুক্তি, তথ্যবিন্দু, সংশ্লিষ্ট সত্তা, সময়-সংবেদনশীলতা। দ্বিতীয় স্তর ওই টুকরোগুলো নিয়ে গভীর বিশ্লেষণ লেখে। প্রথম স্তর যদি শূন্য ফেরায়, দ্বিতীয় স্তরের হাতে পড়ে শুধু একটি লেবেল। এই মামলায় লেবেলটি ছিল ‘ক্রিকেট_এশিয়া’ — অর্থাৎ বিষয়টি এশিয়া অঞ্চলের ক্রিকেট। ব্যস, ওইটুকুই। শিরোনাম নেই, সূত্র নেই, নথির ধরন নেই, লেখকের অবস্থান নেই, তথ্যবিন্দুর তালিকা ফাঁকা, সত্তার তালিকা তৈরি হয়নি, প্রকাশের তারিখ নেই।

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

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

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

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

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

শূন্য অ্যারে, সফল কোড: ডেটা অখণ্ডতার যে ফাঁক ব্লকচেইন এখনো ভরাতে পারেনি

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

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

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

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

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

ফেরা যাক সেই খালি স্টেডিয়ামে। কোভিড বিরতিতে আমি ১৪টি দর্শকশূন্য ম্যাচে ৩২৬টি প্রেসিং সিকোয়েন্স কোড করেছিলাম। আবিষ্কারটি ছিল সহজ কিন্তু অস্বস্তিকর: ভিড়ের শব্দ চলে গেলে রক্ষণভাগ গড়ে ৪.২ মিটার গভীরে বসে যায় এবং প্রেসিং ট্রিগার ০.৮ সেকেন্ড ধীর হয়। অর্থাৎ পরিবেশ একটি কৌশলগত চলক, নিছক পটভূমি নয়। খালি স্টেডিয়ামে আমি ম্যানেজারের কণ্ঠ শুনেছিলাম, কারণ ভিড়ের গর্জন আর তার নির্দেশনার মধ্যে আর কোনো প্রতিযোগিতা ছিল না।

পাইপলাইনে ঠিক উল্টোটা ঘটে। তথ্য চলে গেলে শব্দ থেকেই যায় — লেবেলটি থেকে যায়, স্কিমার কাঠামো থেকে যায়, আত্মবিশ্বাস থেকে যায়। আর এই শব্দটাই সবচেয়ে বিশ্বাসযোগ্য শোনায়।

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

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

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