ব্লকচেইন ও ক্রিপ্টোকারেন্সি

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

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

বর্তমান আর্থিক ব্যাবস্থা

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

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

আমরা যে বিষয়ে কথা বলছি সেই সাপেক্ষে ব্যাংকের ভূমিকা সেটা একটা উদাহরণ দিয়ে ব্যাখ্যা করি।

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

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

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

ব্লকচেইন কি ?

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

Screen-Shot-2017-10-30-at-12.42.58-PM

ক্রিপটো-কারেন্সি

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

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

কিভাবে বিটকয়েন তৈরি হয়

প্রচলিত সকল মুদ্রার নিয়ন্ত্রক হল কোন দেশের সরকার এবং কেন্দ্রীয় ব্যাংক। কেন্দ্রীয় ব্যাংক সরকারি হোক বা আমেরিকার মত প্রাইভেট হোক, দেশের অর্থনীতি এবং আরও অন্যান্য কিছু বিষয় বিবেচনা করে নতুন কারেন্সি তৈরি করতে পারে। সোজা বাংলায় নতুন 'ব্যাংক নোট' ছাপতে দিতে পারে। অর্থাৎ সেটা নিয়ন্ত্রকেরা নিজেদের ইচ্ছামত করতে পারে, কার লাভ কার ক্ষতি সেটা নিয়ে তাদের মাথা না ঘামালেও তাদের চলে অনেকসময়। যেমন, আমাদের দেশে প্রয়োজনের তুলনায় বেশি টাকা ছাপা হওয়ার কারনে আমাদের মুদ্রাস্ফীতি আছে।

কিন্তু ক্রিপ্টোকারেন্সি সম্পূর্ণ ভিন্নভাবে তৈরি হয়। এখানে নতুন কারেন্সি বা বিটকয়েন আসে প্রতি ১০ মিনিটে একটি ক্রিপ্টোগ্রাফিক পাজল সমাধান করার প্রতিযোগিতার মাধ্যমে। সহজ করে বলি, শুধু একটু মাথা ঠাণ্ডা রাখতে হবে এখানে :)

যারা এনক্রিপশান সম্পর্কে জানে, তাদের কাছে SHA256 এনক্রিপশান পরিচিত হওয়ার কথা। যারা পরিচিত না, এটুকু জানলেই হবে, যে কোন ডেটাকে SHA256 এ যদি এনক্রিপ্ট করা হয় তাহলে ওই ডেটার জন্য একটা হ্যাশ পাওয়া যায়। হ্যাশ হল বোঝার সুবিধার্থে, "000001beeca3785d515897041af0a7" এরকম কিছু একটা বস্তু। এখন এই ডেটা থেকে যদি অতি সামান্য কোন কিছুও পরিবর্তন হয়, তাহলে একটি ভিন্ন হ্যাশ পাওয়া যাবে। অর্থাৎ এভাবে এনক্রিপ্ট করলে নির্দিষ্ট একটা ডেটার জন্য হ্যাশ সর্বদা একই হবে, এবং সবার কম্পিউটারেই একই হবে।

এখন লক্ষ করি, উপরে যে হ্যাশটা আমি ব্যবহার করেছি ওখানে শুরুতে ৫টা জিরো আছে। এটা ইচ্ছাকৃত। এবং এটাই সেই ক্রিপটোগ্রাফিক পাজল যেটার কথা একটু আগে বলেছি। কনফিউজড ?

প্রতি মুহূর্তে সারা পৃথিবীতে বিটকয়েনের ব্লকচেইনে অসংখ্য লেনদেন চলছে। ব্লকচেইনে নতুন একটা ব্লক যোগ হওয়ার পর থেকে আনুমানিক ১০ মিনিট ধরে পেন্ডিং ট্রানজেকশনের ডেটা বিটকয়েন সিস্টেমের সকল মাইনারদের কম্পিউটারে জমতে থাকে। মাইনার আবার কি? বোঝার জন্য ধরে নিই, মাইনার মানে আমরা নিজেরা এবং আমরা কম্পিউটার নিয়ে বসে আছি পাজল সমাধান করার জন্য। এখন আমাদের বা মাইনারদের টার্গেট হল, যে ডেটা আমাদের কাছে এই মুহূর্তে আছে সেটা, আগের ব্লকের হ্যাশ এবং তার সাথে আরেকটা Random Number (এখানে একে Nonce = Number Used Once বলা হয়) মিলিয়ে উপরের মত শুরুতে ৫টা জিরো আছে এরকম প্যাটার্নের একটা হ্যাশ খুঁজে বের করা। এই ৫টা জিরো কেন? এটাকে বলা হয়, ডিফিকাল্টি লেভেল, অর্থাৎ শুরুতে কয়টা জিরো বসবে সেটা আসলে পাজলটা সমাধান করা কত কঠিন সেটা নির্দেশ করে।

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

এই প্রতিযোগিতায় যে মাইনার সবার আগে এই হ্যাশ খুঁজে বের করতে পারে যে চ্যাম্পিয়ন। হ্যাশ খুঁজে পাওয়া মানে হল, নতুন একটা ব্লকচেইনের জন্য নতুন একটা ব্লক তৈরি হওয়া। চমৎকার না? চ্যাম্পিয়ন হওয়ার পুরস্কার হিসাবে বিজয়ী মাইনার পায় বর্তমানে ১২.৫ বিটকয়েন। তাহলে বাকিরা ? বাকি মাইনার যারা জিততে পারলোনা তারাও খুব অল্প সময়ের মধ্যেই তাদের হ্যাশ পেয়ে যাবে। তাদের কাজ হল, বিজয়ী মাইনারের রেজাল্ট সঠিক কিনা সেটা ভেরিফাই করা। এভাবে সম্ভবত ৫১.৭% মাইনার ভেরিফাই করে দিলে তখন, নতুন ব্লকটা একটা পরিক্ষিত ব্লক হিসাবে ব্লকচেইনে যোগ হয়ে যায়। নিচে একটু আগে যোগ হওয়া একটা ব্লক দেখানো হল।

Screen-Shot-2017-10-30-at-12.42.41-PM

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

ব্লকচেইনের নিরাপত্তা

হ্যাকিং

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

কারনটা মজার। প্রথমত, একটা ব্লকের ভিতর অনেকগুলো ট্রানজেকশন রেকর্ড থাকে। এগুলো সবই এনক্রিপ্ট করা ডেটা। অর্থাৎ প্রাইভেট কী ছাড়া কোন একটা ট্রানজেকশনের ভিতরকার ডেটা পড়া অসম্ভব। ধরা যাক, একজন নামকরা হ্যাকার এই অসম্ভবকে সম্ভব করে ফেলেছে। ধরা যাক, হ্যাকার ১০০০০ নাম্বার ব্লকে ক্র্যাক করেছে এবং তার প্রয়োজনমত একটা ট্রানজেকশন রেকর্ড পরিবর্তন করেছে।

এখন কি হবে ? আগেই আমরা জেনেছি, প্রত্যেকটা ব্লকের কাছে তার আগের ব্লকের হ্যাশ থাকে। এই আগের হ্যাশ, ব্লকের ট্রাঞ্জেকশান ডেটা এবং Nonce মিলেই কিন্তু সেই ব্লকের SHA256 হ্যাশ তৈরি। কাজেই বিশাল একটা সমস্যা লেগে যাবে। সমস্যা হল, ১০০০০ তম ব্লকের ভিতর হ্যাকার হাত দেয়া মাত্রই ব্লকের SHA256 হ্যাশ তো বদলে যাবে। হ্যাশ বদলানো মানে হল ব্লক সাথে সাথে ইনভ্যালিড হয়ে গেল। হ্যাকিং এর আগে এই ব্লকের হ্যাশ যেহেতু ১০০০১ ব্লকে আছে, কাজেই ১০০০০ ব্লকে নতুন হ্যাশের কারনে ১০০০১ এখন ইনভ্যালিড। ১০০০১ যখন নস্ট হল তখন সাথে সাথে ১০০০২ নস্ট। এভাবে, একবারে চেইন রিঅ্যাকশনের মত ১০০০০ ব্লক থেকে এই মুহূর্ত পর্যন্ত যত ব্লক আছে সকল ব্লক নস্ট বা ইনভ্যালিড হয়ে যাবে।

কাজেই যদি ঠিকমত হ্যাকিং করতে হয় তাহলে ব্লকচেইনে হ্যাকারকে তার পরিবর্তিত ১০০০০ ব্লকের পর থেকে এরপরের সকল ব্লককে (এই মুহূর্তে 499982 নাম্বার ব্লক পর্যন্ত) নতুন করে মাইন করতে হবে বা হ্যাশ ঠিকঠাক করতে হবে এবং প্রত্যেকটা ব্লক প্রায় ৫২% মাইনার দিয়ে ভেরিফাই করিয়ে নিতে হবে। এখন আমরা আগের তথ্য থেকে জানি যে, এখানে সমস্যা হল এই পুরো প্রসেস শেষ করার জন্য হ্যাকারের হাতে সময় আছে আনুমানিক ১০ মিনিটের মত, অর্থাৎ নতুন একটা ব্লক যোগ হওয়ার মধ্যবর্তী সময়। যেখানে ১০ মিনিটে একটা ব্লক মাইন করা যায়, যেখানে এতোগুলো ব্লক এই সময়ে মাইন করা এককথায় অসম্ভব বললেও ভুল হবেনা।

ডেটার নিরাপত্তা

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

যাইহোক, চৌধুরী সাহেবের যে দুশ্চিন্তা সেটার সমাধানের জন্য যে প্রযুক্তি অর্থাৎ ব্লকচেইন ও বিটকয়েন কিভাবে তৈরি হয় এবং কাজ করে সেটা কিভাবে কাজ করে তা আমরা মোটামুটি জানলাম। চৌধুরী সাহেবের সমস্যাগুলো এই প্রযুক্তি দিয়ে কিভাবে আসলেই সমাধান করা যায় সেই আলোচনা আগামী পর্বে হবে আশা রাখি।

blockchain bitcoin ব্লকচেইন বিটকয়েন ক্রিপ্টোকারেন্সি
Share this article

Author

Ashiq Uz Zoha

Software Engineer, Entrepreneur & Technology Enthusiast

Dhaka, Bangladesh
http://www.dhrubokinfotech.com

My recent articles: