দ্বিগুণ ব্যয়ের ব্যাখ্যা
সুচিপত্র
দ্বিগুণ-ব্যয় কী?
দ্বিগুণ ব্যয় কিভাবে প্রতিরোধ করা যায়?
বিটকয়েনে দ্বিগুণ ব্যয়
শেষ কথা
দ্বিগুণ ব্যয়ের ব্যাখ্যা
হোম
নিবন্ধ
দ্বিগুণ ব্যয়ের ব্যাখ্যা

দ্বিগুণ ব্যয়ের ব্যাখ্যা

প্রকাশিত হয়েছে Feb 17, 2020আপডেট হয়েছে Jan 31, 2023
7m

দ্বিগুণ-ব্যয় কী?

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

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


দ্বিগুণ ব্যয় কিভাবে প্রতিরোধ করা যায়?

কেন্দ্রীভূত পদ্ধতি

বিকেন্দ্রীভূত বিকল্পের চেয়ে কেন্দ্রীভূত পদ্ধতি বাস্তবায়ন করা বেশি সহজ। এখানে সাধারণত একজন ওভারসিয়ার সিস্টেম পরিচালনা এবং ইউনিট ইস্যু এবং বিতরণ নিয়ন্ত্রণ করে। দ্বিগুণ-ব্যয় সমস্যার কেন্দ্রীভূত সমাধানের একটি ভালো উদাহরণ হলো ডেভিড চাউমের ইক্যাশ। 

ব্যবহারকারীদের ক্যাশের অনুরূপ কোনো ডিজিটাল অ্যাসেট (বেনামী এবং পিয়ার-টু-পিয়ার বিনিময়ে সক্ষম) ইস্যু করার জন্য কোনো ব্যাংক ব্লাইন্ড স্বাক্ষর ব্যবহার করতে পারে – যেমনটি ক্রিপ্টোগ্রাফার ডেভিড চাউম তার 1982 সালের পেপার ব্লাইন্ড সিগনেচার ফর আনট্রেসেবল পেমেন্টস-এ বর্ণনা করেছেন।

এমন কোনো প্রেক্ষাপটে একজন ব্যবহারকারী (ধরা যাক ড্যান) ডিজিটাল ক্যাশে $100 পেতে চাইলে প্রথমে তাকে ব্যাংককে জানাতে হবে। তার অ্যাকাউন্টে ব্যালেন্স থাকলে সে একটি র‍্যান্ডম সংখ্যা তৈরি করবে (অথবা ছোট নোটের জন্য অনেকগুলো)। ধরা যাক সে পাঁচটি সংখ্যা তৈরি করেছে যার প্রতিটির জন্য $20 মূল্য নির্ধারণ করা হবে। নির্দিষ্ট ইউনিটকে ট্র্যাকিং করা থেকে ব্যাংককে আটকাতে ড্যান তাদের প্রতিটিতে একটি ব্লাইড ফ্যাক্টর যোগ করে এলোমেলো সংখ্যাগুলোকে অস্পষ্ট করে।

তারপরে তিনি এই ডেটা ব্যাংকের কাছে ফিরিয়ে দেন যেটি তার অ্যাকাউন্ট থেকে $100 ডেবিট করে, এবং পাঁচটি তথ্যের প্রতিটি $20-এর বিনিময়ে পরিশোধযোগ্য বলে প্রত্যয়ন করা মেসেজে স্বাক্ষর করেন। ড্যান এখন ব্যাংকের ইস্যু করা ফান্ড খরচ করতে পারবেন। তিনি ইরিনের রেস্তোরাঁয় গিয়ে খাবার ক্রয় করেন যার মূল্য $40। 

ড্যান প্রতিটি ডিজিটাল ক্যাশ "বিল" এর সাথে যুক্ত র‍্যান্ডম নম্বরটি প্রকাশ করতে ব্লাইড ফ্যাক্টরটি সরাতে পারেন যা প্রতিটি ইউনিটের জন্য একটি ইউনিক শনাক্তকারী হিসেবে কাজ করে (অনেকটি সিরিয়াল নম্বরের মতো)। এর মধ্যে দুটি তিনি ইরিনের কাছে প্রকাশ করেন। ড্যান যাতে অন্য কারও সাথে খরচ করতে না পারে সেজন্য তাকে এখনই ব্যাংকের কাছ থেকে সেগুলো ছাড় করতে হবে। ব্যাংক চেক করবে যে স্বাক্ষরগুলো বৈধ এবং যদি সবকিছু সঠিক বলে মনে হয় তাহলে এটি ইরিনের অ্যাকাউন্টে $40 ক্রেডিট করবে।

ব্যবহৃত বিলগুলো এখন মূলত পুড়িয়ে ফেলা হয়েছে এবং ইরিন একইভাবে তার নতুন ব্যালেন্স ব্যয় করতে চাইলে আরো ইস্যু করতে হবে।

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


বিকেন্দ্রীভূত পদ্ধতি

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

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

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

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

লেনদেন একবার নিশ্চিত হয়ে গেলে কয়েনগুলোকে আর দ্বিগুণ খরচ করা যাবে না কারণ মালিকানা একজন নতুন ব্যবহারকারীকে বরাদ্দ করা হয়ে যায় – এবং পুরো নেটওয়ার্ক এটি যাচাই করতে পারে। এই কারণে অনেকেই বৈধ হিসেবে পেমেন্ট গ্রহণ করার আগে একাধিকবার নিশ্চিতকরণের জন্য অপেক্ষা করার পরামর্শ দেন। কোনো ব্লকের পরের ব্লকই চেইন পরিবর্তন বা পুনর্লিখনের জন্য যে প্রচেষ্টার প্রয়োজন সেটিকে ব্যাপকভাবে বাড়িয়ে করে (যা 51% আক্রমণের সময় ঘটতে পারে)।

চলুন রেস্তোরাঁর দৃশ্য থেকে আবার ঘুরে আসি। ড্যান রেস্তোরাঁয় ফিরে গিয়ে দেখতে পেলেন যে জানালায় একটি "এখানে বিটকয়েন গ্রহণ করা হয়" স্টিকার আছে। গতবার খাওয়া খাবারটি তার ভালো লাগায় আবার সেটি অর্ডার করলেন। এটির মূল্য 0.005 BTC। 

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

তবে যেমনটি উল্লেখ করা হয়েছে যে, লেনদেনটি শুধুমাত্র তখনই বৈধ যদি কোনো ব্লকে অন্তর্ভুক্ত এবং নিশ্চিত করা হয়। অনিশ্চিত লেনদেন গ্রহণ করা অনেকটা আগের উদাহরণের ই-ক্যাশে $40 গ্রহণ করার মতো, সাথে সাথে তা ব্যাংকে ক্যাশ না করে – এটি প্রেরককে অন্য কোথাও খরচ করার সুযোগ দেয়। তাই ড্যানের পেমেন্ট গ্রহণ করার আগে ইরিনকে কমপক্ষে 6টি ব্লক নিশ্চিতকরণের জন্য (প্রায় এক ঘন্টা) অপেক্ষা করা বাঞ্ছনীয়।


বিটকয়েনে দ্বিগুণ ব্যয়

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

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

দ্বিগুণ খরচ করার জন্য তিনটি জনপ্রিয় পদ্ধতি রয়েছে:

  • 51% আক্রমণ: যখন একটি প্রতিষ্ঠান বা সংস্থা হ্যাশ হারের 50% এর বেশি নিয়ন্ত্রণ করতে পারলে তারা লেনদেনের ক্রম বাদ দিতে বা পরিবর্তন করতে পারে। এই ধরনের আক্রমণ হওয়ার সম্ভাবনা বিটকয়েনে খুব কমই, তবে অন্যান্য নেটওয়ার্কে ঘটেছে।

  • রেস অ্যাটাক: একই ফান্ড ব্যবহার করে পরপর দুটি বিরোধপূর্ণ লেনদেন ব্রডকাস্ট করা হয় – তবে শুধুমাত্র একটি লেনদেন নিশ্চিত হবে। আক্রমণকারীর লক্ষ্য হলো শুধুমাত্র তার লেনদেনের বৈধতা দিয়ে অন্য পেমেন্টটিকে বাতিল করা (যেমন, তার নিয়ন্ত্রণ করা ঠিকানায় একই ফান্ড পাঠানো)। রেস অ্যাটাকের জন্য প্রাপককে পেমেন্ট হিসেবে একটি অনিশ্চিত লেনদেন গ্রহণ করতে হবে।

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

আমরা যেমনটি দেখতে পাচ্ছি যে ব্লক নিশ্চিতকরণের জন্য অপেক্ষা করলে কোনো মার্চেন্ট দ্বিগুণ ব্যয়ের শিকার হওয়ার ঝুঁকি ব্যাপকভাবে কমাতে পারবেন।


শেষ কথা

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

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