ভূমিকা
ক্রিপ্টোকারেন্সির কিছু অনন্য বৈশিষ্ট্য রয়েছে। এগুলোকে সহজে হ্যাক করা বা বন্ধ করা যায় না এবং যেকেউই তৃতীয় পক্ষের হস্তক্ষেপ ছাড়াই বিশ্বজুড়ে ভ্যালু প্রেরণ করতে ব্যবহার করতে পারে।
এই বৈশিষ্ট্যগুলোর রয়ে যাওয়া নিশ্চিত করতে উল্লেখযোগ্য ট্রেড-অফ করতে হয়। যেহেতু অনেক নোড একটি ক্রিপ্টোকারেন্সি নেটওয়ার্ক চালানোর জন্য দায়িত্বপ্রাপ্ত তাই থ্রুপুট সীমিত থাকে। ফলস্বরূপ, সবার গ্রহণ করার জন্য কোনো প্রযুক্তির জন্য প্রতি সেকেন্ডে লেনদেনের (TPS) যে সংখ্যা প্রক্রিয়া করতে পারার কথা ব্লকচেইনের ক্ষেত্রে তা তুলনামূলকভাবে কম।
ব্লকচেইন প্রযুক্তির অন্তর্নিহিত সীমাবদ্ধতাগুলো কাটিয়ে উঠতে কোনো নেটওয়ার্ক পরিচালনা করতে পারে এমন লেনদেনের সংখ্যা বাড়ানোর জন্য বেশ কয়েকটি স্কেলেবিলিটি সমাধানের প্রস্তাব করা হয়েছে। এই নিবন্ধে আমরা বিটকয়েন প্রোটোকলের এমন একটি এক্সটেনশন লাইটনিং নেটওয়ার্ক সম্পর্কে জানবো।
লাইটনিং নেটওয়ার্ক কী?
লাইটনিং নেটওয়ার্ক হলো একটি নেটওয়ার্ক যা দ্রুত পিয়ার-টু-পিয়ার লেনদেনের সুবিধার্থে ব্লকচেইনের উপরে অবস্থান করে। এটি শুধুমাত্র বিটকয়েনেই নয় – অন্যান্য ক্রিপ্টোকারেন্সি যেমন লাইটকয়েনও এটিকে একীভূত করেছে।
আপনি হয়তো ভাবছেন যে "কোনো ব্লকচেইনের উপরে অবস্থান করে" বলতে আমরা কী বোঝাচ্ছি। লাইটনিং নেটওয়ার্ককে অফ-চেইন বা লেয়ার টু সলিউশন বলা হয়। এটি ব্লকচেইনের প্রতিটি লেনদেনের রেকর্ড না করেই ব্যক্তিদের লেনদেন করার সুযোগ দেয়।
লাইটনিং নেটওয়ার্ক বিটকয়েন নেটওয়ার্ক থেকে আলাদা – এটির নিজস্ব নোড এবং সফ্টওয়্যার থাকলেও এটি মূল চেইনের সাথে যোগাযোগ করে। লাইটনিং নেটওয়ার্কে প্রবেশ বা প্রস্থান করতে ব্লকচেইনে আপনার বিশেষ লেনদেন তৈরি করতে হবে।
আপনি আসলে আপনার প্রথম লেনদেনে অন্য ব্যবহারকারীর সাথে এক ধরণের স্মার্ট কন্ট্রাক্ট তৈরি করছেন। আমরা শীঘ্রই বিস্তারিত বিবরণে প্রবেশ করব – আপাতত অন্য ব্যবহারকারীর সাথে একটি ব্যক্তিগত লেজার হোল্ড করা স্মার্ট কন্ট্রাক্টের কথা ভাবুন। এই লেজারে আপনি অনেক লেনদেন লিখতে পারবেন। এগুলো শুধুমাত্র আপনার ও আপনার কাউন্টারপার্টির কাছে দৃশ্যমান, কিন্তু সেটআপের কিছু অদ্ভুত বৈশিষ্ট্যের কারণে আপনারা কেউই প্রতারণা করতে পারবেন না।
এই মিনি-লেজারটিকে একটি চ্যানেল বলা হয়। ধরুন অ্যালিস ও বব স্মার্ট কন্ট্রাক্টে 5টি BTC রেখেছেন। তাদের চ্যানেলে – তাদের উভয়ের এখন 5 BTC ব্যালেন্স থাকবে। অ্যালিস তখন লেজারে ববকে 1 BTC পে করা হোক লিখতে পারেন। এখন, ববের কাছে 6 BTC আছে এবং অ্যালিসের আছে 4টি। তারপর বব পরবর্তী তারিখে অ্যালিসের কাছে 2 BTC ফেরত পাঠাতে পারে যাতে করে ব্যালেন্স অ্যালিসের পক্ষে 6 BTC এবং ববের পক্ষে 4 BTC হিসেবে আপডেট হবে। তারা এটি চালিয়ে যেতে পারেন।
যেকোনো সময়, দুজনের যেকেউই চ্যানেলের বর্তমান অবস্থা ব্লকচেইনে প্রকাশ করতে পারে। সেই মুহুর্তে, চ্যানেলের প্রতিটি পাশের ব্যালেন্সগুলো তাদের নিজ নিজ পক্ষের অন-চেইনে বরাদ্দ করা হয়।
লাইটনিং লেনদেন নামের মতই বিদ্যুৎ-গতির হয়। অপেক্ষা করার জন্য কোনো ব্লক নিশ্চিতকরণ নেই – আপনার ইন্টারনেট সংযোগ যত দ্রুত তত দ্রুত পেমেন্ট করা যাবে।
লাইটনিং নেটওয়ার্ক কেন প্রয়োজন?
এখনও অবধি, লাইটনিং নেটওয়ার্ক (বা সহজভাবে, LN) বিটকয়েন ব্লকচেইন স্কেল করার জন্য সবচেয়ে ব্যবহারিক পদ্ধতি বলে মনে হচ্ছে। এই ধরনের বিশাল ইকোসিস্টেমে পরিবর্তনগুলো সমন্বয় করা কঠিন – হার্ড ফর্ক এবং সম্ভাব্য বিপর্যয়কর বাগের ঝুঁকি রয়েছে। ভ্যালুর এত ঝুঁকি থাকায় পরীক্ষা অবিশ্বাস্যভাবে বিপজ্জনক।
ব্লকচেইন থেকে পরীক্ষাটিকে অপসারণ করলে নমনীয়তা অনেক বেশি থাকে। কোনো ভুল হলে এটি প্রকৃত বিটকয়েন নেটওয়ার্কের উপর কোনো প্রভাব ফেলবে না। লেয়ার দুইয়ের সমাধান 10+ বছর ধরে প্রোটোকল চালু রেখেছে সুরক্ষা বিষয়ক এমন কোনো অনুমানকে দুর্বল করে না।
কর্ম সম্পাদনের পুরানো উপায় থেকে স্যুইচ করার কোনো বাধ্যবাধকতাও নেই। অন-চেইন লেনদেন এন্ড-ইউজারদের জন্য স্বাভাবিক হিসেবে কাজ করে গেলেও তাদের কাছে এখন অফ-চেইন লেনদেনের বিকল্পও রয়েছে।
লাইটনিং নেটওয়ার্ক ব্যবহারের বেশ কিছু সুবিধা রয়েছে। প্রধান প্রধান কয়েকটি আমরা নিচে দেখবো।
স্কেলেবিলিটি
বিটকয়েন ব্লক প্রায় প্রতি দশ মিনিটে তৈরি হয় এবং শুধুমাত্র সীমিত সংখ্যক লেনদেন হোল্ড করতে পারে। ব্লক স্পেস একটি দুষ্প্রাপ্য সংস্থান, তাই সময়মত আপনারটি অন্তর্ভুক্ত করার জন্য আপনাকে অবশ্যই অন্যান্য ব্যবহারকারীদের বিরুদ্ধে বিড করতে হবে। মাইনারদের প্রথম ও সর্বাগ্রে পেমেন্ট পাওয়ার বিষয়ে চিন্তা করে। তাই তারা প্রথমে উচ্চ ফি-এর লেনদেন অন্তর্ভুক্ত করবে।
অনেক ব্যবহারকারী একই সময়ে ফান্ড পাঠানোর চেষ্টা না করলে তখন এটি সত্যিই কোনো সমস্যা নয়। আপনি একটি কম ফি সেট করে হয়ত পরবর্তী ব্লকেই লেনদেনটি অন্তর্ভুক্ত করতে পারবেন। কিন্তু প্রত্যেকের যখন একই সময়ে লেনদেন ব্রডকাস্ট করছে তখন গড় ফি উল্লেখযোগ্যভাবে বৃদ্ধি পেতে পারে। কয়েকবার এটি $5 অতিক্রম করেছে। 2017 সালের ঊর্ধ্বমুখী বাজারের তুঙ্গে এটি $50 ছাড়িয়ে গেছে।
গড় বিটকয়েন লেনদেনের ফি (USD-তে)
হাজার হাজার ডলার মূল্যের বিটকয়েন স্থানান্তর করার লেনদেনের ক্ষেত্রে এটি তুচ্ছ মনে হলেও ছোট পেমেন্টের ক্ষেত্রে এটি টেকসই নয়। $3-এর কফির জন্য কে $5 ফি দিতে চায়?
লাইটনিং নেটওয়ার্কের মাধ্যমেও আপনি দুটি ফি দিবেন – একটি আপনার চ্যানেল খুলতে এবং অন্যটি এটি বন্ধ করতে। কিন্তু চ্যানেল খোলা হলে আপনি ও আপনার কাউন্টারপার্টি বিনামূল্যে হাজার হাজার লেনদেন করতে পারবেন। শেষ হয়ে গেলে আপনাকে কেবল চূড়ান্ত অবস্থা ব্লকচেইনে প্রকাশ করতে হবে।
সামগ্রিক চিত্র, বেশি বেশি ব্যবহারকারী লাইটনিং নেটওয়ার্কের মতো অফ-চেইন সলিউশনগুলোর উপর নির্ভর করলে ব্লক স্পেস আরো দক্ষতার সাথে ব্যবহার করা যাবে। পেমেন্ট চ্যানেলগুলোতে কম-ভ্যালু, উচ্চ-ফ্রিকোয়েন্সি ট্রান্সফার করা যেতে পারে আর ব্লক স্পেস বড় লেনদেন ও চ্যানেল খোলা/বন্ধ করার জন্য ব্যবহার করা হয়। এটি সিস্টেমটিকে একটি বিস্তৃত ব্যবহারকারী বেসের কাছে অ্যাক্সেসযোগ্য করে তুলবে, যা দীর্ঘমেয়াদে এটিকে স্কেল করার সুযোগ দেবে।
মাইক্রোপেমেন্ট
একটি লেনদেনে ন্যূনতম বিটকয়েনের পরিমাণ রয়েছে যা আপনি পাঠাতে পারেন – প্রায় 0.00000546 BTC। এই লেখাটি লেখার সময় এই পরিমাণটি প্রায় চার সেন্টের সমান। এটি একটি ছোট পরিমাণ কিন্তু লাইটনিং নেটওয়ার্ক আপনাকে বর্তমানে উপলভ্য ক্ষুদ্রতম ইউনিট – 0.00000001 BTC, বা একটি সাতোশি লেনদেনের সীমা প্রদান করে।
মাইক্রোপেমেন্টের জন্য লাইটনিং অনেক বেশি আকর্ষণীয়। প্রচলিত লেনদেনের ফি মূল চেইনে অল্প পরিমাণ পাঠানোকে অলাভজনক করে তোলে। তবে কোনো চ্যানেলের মধ্যে আপনি বিনামূল্যে বিটকয়েনের একটি ভগ্নাংশের ভগ্নাংশ পাঠাতে পারবেন।
মাইক্রোপেমেন্টগুলো প্রচুর ব্যবহারের ক্ষেত্রের জন্য উপযুক্ত। কেউ কেউ অনুমান করেন যে এগুলো সাবস্ক্রিপশন-ভিত্তিক মডেলগুলোর জন্য একটি কার্যকর প্রতিস্থাপন হতে পারে যেখানে ব্যবহারকারীরা প্রতিবার পরিষেবা ব্যবহার করার সময় অল্প পরিমাণ অর্থ প্রদান করে।
গোপনীয়তা
লাইটনিং নেটওয়ার্কের দ্বিতীয় সুবিধা হলো এটি ব্যবহারকারীদের উচ্চ মাত্রার গোপনীয়তা দিতে পারে। পক্ষদের জন্য তাদের চ্যানেলকে বিস্তৃত নেটওয়ার্কের কাছে পরিচিত করার দরকার নেই। ব্লকচেইনটি দেখে আপনি এই লেনদেনটি একটি চ্যানেল খুলেছে বলতে পারলেও ভিতরে কী চলছে তা বলতে পারবেন এমন নাও হতে পারে। অংশগ্রহণকারীরা যদি তাদের চ্যানেলকে ব্যক্তিগত করে তাহলে শুধুমাত্র তারাই জানবে কী লেনদেন হচ্ছে।
অ্যালিসের সাথে ববের কোনো চ্যানেল থাকলে এবং ববের সাথে ক্যারোলের কোনো চ্যানেল থাকলে অ্যালিস ও ক্যারোল ববের মাধ্যমে একে অপরকে পেমেন্ট পাঠাতে পারে। যদি ড্যান ক্যারোলের সাথে সংযুক্ত থাকে, তবে অ্যালিস তাকে পেমেন্ট পাঠাতে পারে। আপনি বুঝতে পারছেন যে এটি আন্তঃসংযুক্ত পেমেন্ট চ্যানেলগুলোর একটি বিস্তৃত নেটওয়ার্কে বিস্তৃত হচ্ছে। এই ধরনের সেটআপে চ্যানেলটি বন্ধ হয়ে গেলে অ্যালিস কাকে ফান্ড পাঠিয়েছে তা আপনি নিশ্চিত হতে পারবেন না।
লাইটনিং নেটওয়ার্ক কিভাবে কাজ করে?
আমরা ব্যাখ্যা করেছি কিভাবে লাইটনিং নেটওয়ার্ক উচ্চ স্তরে নোডগুলোর মধ্যে থাকা চ্যানেলগুলোর উপর নির্ভর করে। এবার তবে চলুন গভীরে দেখা যাক।
মাল্টিসিগনেচার ঠিকানা
কোনো মাল্টিসিগনেচার (বা মাল্টিসিগ) এমন একটি ঠিকানা যেটি থেকে একাধিক প্রাইভেট কী খরচ করতে পারে। তৈরি করার সময় ফান্ড কতগুলো প্রাইভেট কী ব্যয় করতে পারবে তা এবং কোনো লেনদেনে স্বাক্ষর করার জন্য সেই কীগুলোর মধ্যে কতগুলো প্রয়োজন তা আপনি ঠিক করে দিতে পারবেন। উদাহরণস্বরূপ, একটি 1-অব-5 স্কিমের অর্থ হলো পাঁচটি কী একটি বৈধ স্বাক্ষর তৈরি করতে পারে এবং শুধুমাত্র একটির প্রয়োজন হয়। একটি 2-অব-3 স্কিম নির্দেশ করবে যে, তিনটি সম্ভাব্য কীগুলোর মধ্যে ফান্ড ব্যয় করার জন্য যেকোনো দুটির প্রয়োজন হবে।
কোনো লাইটনিং চ্যানেল শুরু করার জন্য অংশগ্রহণকারীরা 2-অব-2 স্কিমে ফান্ড লক আপ করে। সাইনিং করতে সক্ষম প্রাইভেট কী আছে মাত্র দুটি, এবং কয়েন সরানোর জন্য দুটোরই প্রয়োজন। আসুন আমাদের বন্ধু অ্যালিস ও ববকে এই মুহূর্তে আলোচনায় নিয়ে আসি। তারা আগামী মাসগুলোতে একে অপরকে প্রচুর পেমেন্ট করবে, তাই তারা একটি লাইটনিং নেটওয়ার্ক চ্যানেল খোলার সিদ্ধান্ত নেয়।
এটি তাদের উভয়ের যৌথ মালিকানাধীন মাল্টিসিগ ঠিকানায় ধরা যাক 3 BTC জমা করার মাধ্যমে শুরু হলো। এটি আবার বলা ভালো যে অ্যালিস সম্মত না হলে বব ঠিকানার বাইরে ফান্ড সরাতে পারবে না বা বব সম্মত না হলে অ্যালিস।
এখন তারা কেবল কাগজের একটি শীট রাখতে পারে যা প্রতিটি দিকের ভারসাম্য সামঞ্জস্য করে। উভয়েরই প্রারম্ভিক ব্যালেন্স 3 BTC। অ্যালিস যদি ববকে 1 BTC পেমেন্ট করতে চায় তাহলে অ্যালিস এখন 2 BTC এবং বব 4 BTC-এর মালিক এমনভাবে নোট করলেই হয়ে যাচ্ছে, তাই না? যতক্ষণ না তারা ফান্ড সরিয়ে নেওয়ার সিদ্ধান্ত নেয় ততক্ষণ ব্যালেন্সগুলো এইভাবে ট্র্যাক করা যেতে পারে।
এটা সম্ভব, কিন্তু এর মধ্যে মজা আর কোথায় থাকলো? আরো যা গুরুত্বপূর্ণ তা হলো এটি কি কারও পক্ষে সহযোগিতা না করার বিষয়টিকে অবিশ্বাস্যভাবে সহজ করে দিচ্ছে না? অ্যালিসের কাছে যদি 6 BTC এবং ববের কাছে কিছু না থাকে তাহলে বব ফান্ড ছেড়ে দিতে অস্বীকার করলে কিছুই হারাবে না (হয়ত অ্যালিসের সাথে তার বন্ধুত্ব ছাড়া)।
হ্যাশ টাইমলক কন্ট্রাক্ট (HTLC)
উপরের সিস্টেমটি বিরক্তিকর এবং আজকের বিশ্বস্ত সেটআপের চেয়ে খুব বেশি কিছুই অফার করে না। বিষয়টি অনেক বেশি আকর্ষণীয় হয়ে উঠবে যখন এমন কোনো প্রক্রিয়া আমরা চালু করব যেখানে অ্যালিস ও ববের মধ্যে "চুক্তিকে" বাধ্যতামূলকভাবে কার্যকর করে। কোনো একটি পক্ষ নিয়ম না মানলে অন্যজনের কাছে চ্যানেল থেকে তাদের ফান্ড বের করার মত প্রতিকার রয়েছে।
সেই প্রক্রিয়াটিই হ্যাশ টাইমলক কন্ট্রাক্ট (বা HTLC)। শব্দটি শুনতে জটিল শোনালেও এটি বোঝা বেশ সহজ। পেমেন্ট চ্যানেলে কোনো এক পক্ষের অসহযোগিতার ক্ষেত্রে প্রতিকারের জন্য এটি অন্য দুটি প্রযুক্তিকে (হ্যাশলক এবং টাইমলক) একত্রিত করে।
হ্যাশলক একটি শর্ত যা কোনো লেনদেনের উপর আরোপ করা হয় যা নির্দেশ করে যে আপনি ফান্ড ব্যয় করতে পারবেন শুধুমাত্র একটি গোপন তথ্য জানার সাপেক্ষে। প্রেরক ডেটার একটি অংশ হ্যাশ করে রিসিভারের সাথে করা লেনদেনে হ্যাশ অন্তর্ভুক্ত করবে। গ্রাহক শুধুমাত্র তখনই এটি ব্যয় করতে পারবে যদি হ্যাশের সাথে মিলে যায় এমন আসল ডেটা (গোপন তথ্য) প্রদান করতে পারে। এবং প্রেরক দিলে তবেই সে সেই ডেটা প্রদান করতে পারবে।
টাইমলক এমন একটি শর্ত যা আপনাকে একটি নির্দিষ্ট সময়ের আগে ফান্ড ব্যয় করতে বাধা দেয়। এটি প্রকৃত সময় বা কোনো নির্দিষ্ট ব্লকের উচ্চতা হিসেবে নির্দিষ্ট করা হয়।
HTLC হ্যাশলক এবং টাইমলক একত্রিত করে তৈরি করা হয়। বাস্তবে, HTLC শর্তসাপেক্ষ পেমেন্ট তৈরি করতে ব্যবহার করা যায় – প্রাপককে একটি নির্দিষ্ট সময়ের আগে একটি গোপন তথ্য সরবরাহ করতে হবে নতুবা প্রেরক ফান্ড রিক্লেইম করতে পারবেন। এই পরবর্তী অংশটি সম্ভবত উদাহরণ দিয়ে আরো ভালোভাবে ব্যাখ্যা করা যাবে। চলুন অ্যালিস ও ববের কাছে ফিরে যাই।
চ্যানেল খোলা এবং বন্ধ করা
আমরা উদাহরণ দিয়েছিলাম যে অ্যালিস ও বব সবেমাত্র লেনদেন তৈরি করেছেন যা তাদের শেয়ার করা মাল্টিসিনেচার ঠিকানাকে ফান্ড করে। তবে সেই লেনদেনগুলো এখনও ব্লকচেইনে পাবলিশ করা হয়নি! এর আগে আমাদের আরো একটি কাজ করতে হবে।
বরের তিনটি কয়েন এবং অ্যালিসের তিনটি কয়েন।
মনে রাখবেন যে সেই কয়েনগুলো মাল্টিসিগ থেকে সরে যাওয়ার একমাত্র উপায় হলো যদি অ্যালিস এবং বব উভয়েই যৌথভাবে কোনো লেনদেনে স্বাক্ষর করেন। অ্যালিস যদি ছয়টির সবগুলো কয়েন একটি বহিরাগত ঠিকানায় পাঠাতে চায় তবে তার ববের অনুমোদনের প্রয়োজন হবে। তিনি প্রথমে একটি লেনদেন তৈরি করবেন (এই ঠিকানায় ছয়টি বিটকয়েন) এবং নিজের স্বাক্ষর যোগ করবেন।
লেনদেনটি তিনি এখনই ব্রডকাস্ট করতে চাইলেও সেটি বৈধ হবে না কারণ বব তার স্বাক্ষর যোগ করেনি। অ্যালিসকে প্রথম তাকে অসম্পূর্ণ লেনদেন দিতে হবে। তিনি তার স্বাক্ষর যোগ করলে তা বৈধ হয়ে যাবে।
সবার সততা বজায় রাখার জন্য এখনও কোনো ব্যবস্থা আমরা কার্যকর করিনি। আমরা আগেই বলেছি, আপনার কাউন্টারপার্টি সহযোগিতা করতে অস্বীকার করলে আপনার ফান্ড কার্যত আটকে গেল। চলুন এটি প্রতিরোধ করে এমন পদ্ধতি দেখা যাক। এখানে বেশ কিছু বিষয় আছে, তাই ধৈর্য্য ধরে দেখুন।
প্রত্যেক পক্ষকে একটি গোপনীয় তথ্য তৈরি করতে হবে – চলুন এগুলোকে A এবং B হিসেবে ডাকি। অ্যালিস ও বব এগুলো প্রকাশ করলে ভয়ানক হয়ে যাবে, তাই তারা আপাতত সেগুলো গোপন রাখবে। এই জুটি নিজ নিজ গোপন রহস্যের হ্যাশ তৈরি করবে – h(As) এবং h(Bs)। তাই তাদের গোপনীয়তা শেয়ার করার পরিবর্তে, তারা হ্যাশগুলোকে একে অপরের সাথে শেয়ার করে ।
অ্যালিস ও বব একে অপরের সাথে তাদের গোপনীয় হ্যাশগুলো শেয়ার করে নেয়।
মাল্টিসিগনেচার ঠিকানায় তাদের প্রথম লেনদেন প্রকাশ করার আগে অ্যালিস ও ববকে প্রতিশ্রুতিবদ্ধ লেনদেনের একটি সেট তৈরি করতে হবে। একজন ফান্ড জিম্মি রাখার সিদ্ধান্ত নিলে এটি আরেকজনের জন্য প্রতিকার দেবে।
আপনি যদি মিনি-লেজারের মতো একটি চ্যানেল সম্পর্কে চিন্তা করেন যা আমরা আগে উল্লেখ করেছি, তাহলে প্রতিশ্রুতি লেনদেন হলো সেই আপডেটগুলো যা আপনি লেজারে করেন। যখনই আপনি প্রতিশ্রুতিবদ্ধ লেনদেনের একটি নতুন জোড়া তৈরি করেন তখনই আপনি দুই অংশগ্রহণকারীদের মধ্যে ফান্ডের রিব্যালেন্সিং বজায় রাখছেন।
অ্যালিসেরটির দুটি আউটপুট থাকবে – একটি হবে তার মালিকানাধীন ঠিকানায় পেমেন্ট করে সেটি এবং অন্যটি হলো যেটি নতুন মাল্টিসিগ ঠিকানায় লক করে। সে এটি স্বাক্ষর করে ববকে দেয়।
দুটি আউটপুটসহ অ্যালিসের লেনদেন – একটি তার নিজের ঠিকানায় এবং একটি নতুন মাল্টিসিগে। এটিকে বৈধ করতে তার এখনও ববের স্বাক্ষর প্রয়োজন।
বব একই কাজ করে – একটি আউটপুট নিজেকে পে করে, অন্যটি আরেকটি মাল্টিসিগ ঠিকানাকে পে করে। তিনি এটি স্বাক্ষর করে অ্যালিসকে দেন।
আমাদের দুটি অসম্পূর্ণ লেনদেন রয়েছে যেগুলো প্রায় একইরকম।
সাধারণত, অ্যালিস ববের লেনদেনে এটিকে বৈধ করতে একটি স্বাক্ষর যোগ করতে পারে। কিন্তু আপনি লক্ষ্য করবেন যে এই ফান্ডগুলো 2-অফ-2 মাল্টিসিগ থেকে ব্যয় করা হচ্ছে যার অর্থায়ন আমরা এখনও করিনি। এটি শূন্য ব্যালেন্স থাকা কোনো অ্যাকাউন্ট থেকে কোনো চেক ব্যয় করার চেষ্টার মতো। অতএব এই আংশিক-স্বাক্ষরিত লেনদেনগুলো শুধুমাত্র মাল্টিসিগ চালু হয়ে গেলেই ব্যবহারযোগ্য হবে।
নতুন মাল্টিসিনেচার ঠিকানার (যেখানে 3টি BTC-এর আউটপুট নির্ধারিত) কিছু অদ্ভুত বৈশিষ্ট্য রয়েছে। অ্যালিসের স্বাক্ষরিত ও ববকে দেওয়া অসম্পূর্ণ লেনদেনটি একবার দেখে নেওয়া যাক। মাল্টিসিগ আউটপুট নিম্নলিখিত পরিস্থিতিতে ব্যয় করা যেতে পারে:
উভয় পক্ষ সহযোগিতার মাধ্যমে এটি স্বাক্ষর করতে পারে।
একটি নির্দিষ্ট সময়ের পরে (আমাদের টাইমলকের কারণে) বব নিজে থেকে এটি ব্যয় করতে পারবে।
অ্যালিস ববের গোপনীয়তা B জানলে এটি ব্যয় করতে পারবে।
লেনদেনের জন্য বব অ্যালিসকে দিয়েছে:
উভয় পক্ষ সহযোগিতার মাধ্যমে এটি স্বাক্ষর করতে পারে।
অ্যালিস একটি নির্দিষ্ট সময়ের পরে নিজে থেকে এটি ব্যয় করতে পারে।
অ্যালিসের গোপনীয়তা A জানলে বব এটা খরচ করতে পারবে।
মনে রাখবেন যে, কোনো পক্ষই অন্যের গোপনীয়তা জানে না, তাই 3) এখনও কোনো সম্ভাবনা নয়। আরেকটি বিষয় মনে রাখতে হবে যে, আপনি কোনো লেনদেন স্বাক্ষর করলে আপনার কাউন্টারপার্টি অবিলম্বেই ব্যয় করতে পারে কারণ তাদের আউটপুট সংক্রান্ত বিশেষ কোনো শর্ত নেই। আপনি নিজে ফান্ড ব্যয় করার জন্য টাইমলকের মেয়াদ শেষ হওয়ার জন্য অপেক্ষা করতে পারেন, অথবা আপনি অন্য পক্ষকে সরাসরি ব্যয় করতে সহযোগিতা করতে পারেন।
ঠিক আছে! এখন আপনি লেনদেনগুলোকে মূল 2টি মাল্টিসিগনেচার ঠিকানার 2-টিতেই প্রকাশ করতে পারবেন। অবশেষে এটি করা নিরাপদ কারণ আপনার কাউন্টারপার্টি চ্যানেলটি পরিত্যাগ করলেও আপনি আপনার ফান্ড পুনরুদ্ধার করতে পারবেন।
একবার লেনদেন নিশ্চিত হয়ে গেলে চ্যানেল চালু হয়ে যায়। সেই প্রথম জোড়া লেনদেন আমাদের মিনি-লেজারের বর্তমান অবস্থা দেখায়। এটি এখন ববকে 3 BTC এবং অ্যালিসকে 3 BTC পে করবে।
অ্যালিস ববকে নতুন কোনো পেমেন্ট করতে চাইলে এই জোড়া প্রথম সেটটি প্রতিস্থাপন করতে দুটি নতুন লেনদেন তৈরি করে। কার্যপ্রণালী একই – এগুলো শুধুমাত্র অর্ধ-স্বাক্ষরিত। তবে, অ্যালিস ও বব প্রথমে তাদের পুরানো গোপনীয়তা ত্যাগ করে এবং পরবর্তী রাউন্ডের লেনদেনের জন্য নতুন হ্যাশ ট্রেড করে।
উদাহরণস্বরূপ অ্যালিস ববকে 1 BTC দিতে চাইলে দুটি নতুন লেনদেন অ্যালিসকে 2 BTC এবং ববকে 4 BTC ক্রেডিট করবে। এভাবে ব্যালেন্স আপডেট হবে।
ব্লকচেইনে "নিষ্পত্তি" করতে যেকোনো সময়ে যেকোনো পক্ষই সাম্প্রতিকতম লেনদেনের একটিতে স্বাক্ষর ও ব্রডকাস্ট করতে পারে। তবে যে পক্ষই তা করবে তাকে টাইমলকের মেয়াদ শেষ না হওয়া পর্যন্ত অপেক্ষা করতে হবে আর অন্য পক্ষ অবিলম্বে ব্যয় করতে পারবে। মনে রাখবেন বব অ্যালিসের লেনদেন স্বাক্ষর ও ব্রডকাস্ট করলে তার এখন শর্তহীন একটি আউটপুট আছে।
উভয় পক্ষ একসাথে চ্যানেল বন্ধ করতে সম্মত হতে পারে (একটি কোঅপারেটিভ ক্লোজ)। আপনার ফান্ড চেইনে ফিরিয়ে আনার জন্য এটি সম্ভবত সবচেয়ে সহজ ও দ্রুততম উপায়। তবে এমনকি কোনো একটি পক্ষ নির্বিকার হয়ে গেলে বা সহযোগিতা করতে অস্বীকার করলে অন্য পক্ষ তারপরেও টাইমলকের সময় অপেক্ষা করে তাদের ফান্ড পুনরুদ্ধার করতে পারে।
লাইটনিং নেটওয়ার্ক কিভাবে প্রতারণা প্রতিরোধ করে?
এখানে আপনি কোনো অ্যাটাক ভেক্টর হয় শনাক্ত করলেন। ববের যদি বর্তমানে 1 BTC ব্যালেন্স থাকে, তাহলে পুরানো কোনো লেনদেন ব্রডকাস্ট করায় তার সমস্যা কী যেটিতে তার আরো বেশি ছিল? ইতোমধ্যেই তার কাছে অ্যালিসের অর্ধ-স্বাক্ষরিত লেনদেন আছে। তাকে কেবল তার নিজের স্বাক্ষর যোগ করে ব্রডকাস্ট করতে হবে, তাই না?
কোনো কিছুই তাকে এটি করতে বাধা দিচ্ছে না - তবে এটি করতে গেলে সে তার পুরো ব্যালেন্স হারাতে পারে। ধরা যাক সে একটি পুরানো লেনদেন ব্রডকাস্ট করলো যেটি অ্যালিসকে একটি কয়েন এবং পূর্বে উল্লেখ করা মাল্টিসিগ ঠিকানায় পাঁচটি কয়েন দেয়।
অ্যালিস সাথে সাথে তার কয়েন পেল। অন্যদিকে, মাল্টিসিগ ঠিকানা থেকে টাইমলকের মেয়াদ শেষ না হওয়া পর্যন্ত ববকে অপেক্ষা করতে হবে। অন্য শর্তটির কথা কি মনে আছে যেটি অ্যালিসকে অবিলম্বে এই ফান্ড ব্যয় করার সুযোগ দেয়? তার একটি গোপনীয় তথ্য দরকার যা তার কাছে তখন ছিল না। তার এখন আছে – দ্বিতীয় রাউন্ডের লেনদেন তৈরি হওয়ামাত্র বব সেই গোপনীয়তাটি দিয়েছিলেন।
বব বসে থাকবে, টাইমলকের মেয়াদ শেষ হওয়া পর্যন্ত কিছু না করতে পেরে, আর অ্যালিস সেই ফান্ডগুলো সরাতে পারবেন। এই শাস্তি-ভিত্তিক প্রক্রিয়াটির অর্থ হলো যে অংশগ্রহণকারীরা প্রতারণা করার চেষ্টা করার সম্ভাবনাও থাকছে না কারণ পিয়ার তাদের কয়েনগুলোতে অ্যাক্সেস পাবে।
রাউটিং পেমেন্ট
এই বিষয়ে আমরা আগেই বলেছি – চ্যানেল সংযুক্ত করা যেতে পারে। নলে লাইটনিং নেটওয়ার্ক পেমেন্টের জন্য এতটা উপযোগী হত না। আপনি কি সত্যিই কোনো কফি শপের চ্যানেলে $500 লক আপ করবেন যাতে আপনি আগামী কয়েক মাসের জন্য আপনার প্রতিদিনের যোগান পান?
সেটি করার কোনো প্রয়োজন আপনার নেই। অ্যালিস ববের সাথে কোনো চ্যানেল খুললে এবং ক্যারোলের সাথে ববের ইতোমধ্যেই একটি চ্যানেল থাকলে বব এই দুটোর মধ্যে পেমেন্ট করতে পারে। এটি একাধিক "হোপস" জুড়ে কাজ করতে পারে যার অর্থ হলো যে অ্যালিস কার্যত যেকাউকেই পে করতে পারে যদি তার সাথে কোনো সংযোগ থাকে।
এই পরিস্থিতিতে ফ্র্যাংকের কাছে যাওয়ার জন্য অ্যালিসকে একাধিক রুট ব্যবহার করতে পারে। বাস্তবে তিনি সর্বদা সবচেয়ে সহজটি নিবেন।
রাউটিংয়ে ভূমিকা পালনের জন্য মধ্যস্থতাকারীরা একটি ছোট ফি নিতে পারে (যদিও কোনো বাধ্যবাধকতা নেই)। লাইটনিং নেটওয়ার্ক এখনও খুব নতুন হওয়ায় ফি নেওয়ার পরিস্থিতি এখনও গড়ে ওঠেনি। প্রদত্ত তারল্যের উপর ভিত্তি করে ফি হওয়ার বিষয়টিই অনেকে প্রত্যাশা করছেন।
বেস চেইনে, ব্লকে আপনার লেনদেন যে স্থান নেয় শুধুমাত্র তার উপর ভিত্তি করে আপনার ফি হবে – কী পরিমাণ ভ্যালু পাঠানো হচ্ছে তা কোনো ব্যাপার না – $1 থেকে $10,000,000 পেমেন্টের খরচ একই। বিপরীতে, লাইটনিং নেটওয়ার্কের মধ্যে ব্লক স্পেস বলে কিছু নেই।
পরিবর্তে, লোকার ও রিমোট ব্যালেন্সের ধারণা রয়েছে। লোকাল ব্যালেন্স হলো সেই পরিমাণ যা আপনি চ্যানেলের অন্য প্রান্তে "পুশ" করতে পারেন আর রিমোট ব্যালেন্স হলো সেই পরিমাণ যা আপনার কাউন্টারপার্টি আপনার দিকে পুশ দিতে পারে।
অন্য আরেকটি উদাহরণ দেখা যাক। আসুন উপরের পথগুলোর একটিকে ঘনিষ্ঠভাবে দেখে নেওয়া যাক: অ্যালিস <> ক্যারোল <> ফ্র্যাংক।
অ্যালিস থেকে ফ্র্যাংকের কাছে 0.3 BTC ট্রান্সফারের আগে ও পরে ব্যবহারকারীদের ব্যালেন্স।
অ্যালিস <> ক্যারোল এবং ক্যারোল <> ফ্র্যাংকের প্রতিটির মোট ক্ষমতা 1 BTC। অ্যালিসের লোকাল ব্যালেন্স হলো 0.7 BTC। ব্লকচেইনে এখন নিষ্পত্তি হলে তিনি পাবেন 0.7 BTC এবং ক্যারোল পাবেন রিমোট ব্যালেন্স (অর্থাৎ 0.3 BTC)।
অ্যালিস ফ্র্যাংককে 0.3 BTC পাঠাতে চাইলে তিনি চ্যানেলের ক্যারোলের দিকে 0.3 BTC পুশ করবেন। তারপর ক্যারোল চ্যানেলে তার লোকাল ব্যালেন্স থেকে 0.3 BTC ফ্র্যাংকের দিকে পুশ করবেন। ফলস্বরূপ, ক্যারোলের ব্যালেন্স একই থাকে: অ্যালিস থেকে +0.3 BTC এবং ফ্র্যাংককে -0.3 BTC কাটাকুটি হয়ে যায়।
ফ্র্যাংক ও অ্যালিসের সাথে সংযোগ হিসেবে ভূমিকা পালন করায় ক্যারোল ভ্যালু হারাচ্ছে না, তবে সে নিজেকে কম নমনীয় করে তুলছে। আসলে তিনি এখন অ্যালিসের সাথে তার চ্যানেলে 0.6 BTC ব্যয় করতে পারেলেও ফ্র্যাংকের সাথে চ্যানেলে মাত্র 0.1 BTC ব্যয় করতে পারবেন।
আপনি এমন একটি পরিস্থিতি কল্পনা করতে পারেন যেখানে অ্যালিস শুধুমাত্র ক্যারোলের সাথে সংযুক্ত আর ফ্র্যাংক সংযুক্ত অনেক বিস্তৃত একটি নেটওয়ার্কের সাথে। ক্যারোল আগে ফ্র্যাংকের মাধ্যমে অন্যদের কাছে মোট 0.4 BTC পাঠাতে পারলেও এখন সে শুধুমাত্র 0.1 BTC পুশ করতে পারে কারণ তার চ্যানেলের প্রান্তে এটিই রয়েছে।
এই ক্ষেত্রে, অ্যালিস কার্যত ক্যারোলের তারল্য কমিয়ে দিচ্ছে। কোনো ধরনের প্রণোদনা ছাড়াই ক্যারোল হয়ত তার নিজের পজিশনকে দুর্বল করতে চাইবেন না। তাই, পরিবর্তে সে হয়তো বলবে আমি প্রতি 0.01 BTC রাউট করবো দশ সাতোশি ফি-এর বিনিময়ে। এইভাবে, ক্যারোল "শক্তিশালী" পথে তার লোকাল ব্যালেন্স যত বেশি ছেড়ে দিবেন, তিনি তত বেশি লাভবান হবেন।
পূর্বে যেমনটি উল্লেখ করা হয়েছে যে ফি চার্জ করার জন্য কোনো বাধ্যবাধকতা নেই। অনেকেই তারল্য হ্রাস নিয়ে উদ্বিগ্ন নাও হতে পারে। অন্যরা সরাসরি রিসিভারের কাছে চ্যানেল উন্মুক্ত করে দিতে পারেন।
লাইটনিং নেটওয়ার্কের সীমাবদ্ধতা
লাইটনিং নেটওয়ার্ক যদি বিটকয়েনের সকল স্কেলেবিলিটি সমস্যার সমাধান হত তাহলে তা চমৎকারই হতো। দুর্ভাগ্যবশত, এর নিজেরই কিছু ত্রুটি রয়েছে যা সেই পথে বাধা হতে পারে।
ব্যবহারযোগ্যতা
সিস্টেম হিসেবে বিটকয়েন নতুনদের জন্য খুব সহজ নয় – ঠিকানা, ফি ইত্যাদির সাথে নিজেকে পরিচিত করতে কষ্ট হতে পারে। কিন্তু ওয়ালেট বিদ্যমান পেমেন্ট সিস্টেমগুলোর সাথে মিল রেখে ব্যবহারকারীদের জন্য জটিল জিনিসগুলোকে কিছুটা সহজ করতে পারে। আপনি কাউকে কোনো স্মার্টফোন ওয়ালেট ডাউনলোড করিয়ে কয়েন পাঠাতে পারেন। আর কোনো ঝামেলা থাকবে না।
আপাতত, লাইটনিং নেটওয়ার্কে এটি সম্ভব নয়। স্মার্টফোন অ্যাপের ক্ষেত্রে বিকল্প সীমিত – সাধারণত, সম্পূর্ণরূপে ব্যবহারযোগ্য হওয়ার জন্য লাইটনিং নোডগুলোর একটি বিটকয়েন নোডে অ্যাক্সেস প্রয়োজন হয়।
একটি ক্লায়েন্ট সেট আপ করার পরে, পেমেন্ট করার আগে ব্যবহারকারীদের চ্যানেল খোলা শুরু করতে হবে। এটি একটি সময়সাপেক্ষ প্রক্রিয়া হতে পারে এবং ইনবাউন্ড/আউটবাউন্ড কেপাসিটির মত ধারণার সাথে পরিচয় করানোর সময় একজন নবাগতের বিষয়গুলো বুঝতে অসুবিধা হতে পারে।
তা স্বত্ত্বেও, প্রবেশের বাধা কমাতে এবং ব্যবহারকারীদের অভিজ্ঞতা আরো সহজ করতে উন্নতি অব্যাহত রয়েছে।
তারল্য
লাইটনিং নেটওয়ার্কের সবচেয়ে বড় সমালোচনা হলো আপনার লেনদেন করার ক্ষমতা সীমাবদ্ধ। কোনো চ্যানেলে আপনি যা লক করেছেন তারচেয়ে বেশি খরচ করতে পারবেন না। আপনি যদি আপনার সকল ফান্ড ব্যয় করেন যাতে রিমোট ব্যালেন্সে চ্যানেলের সকল ফান্ড থাকে তবে চ্যানেলটি আপনাকে বন্ধ করতে হবে। অথবা কেউ এটির মাধ্যমে আপনাকে পেমেন্ট না করা পর্যন্ত আপনি অপেক্ষা করতে পারেন, তবে সেটি আদর্শ কোনো পরিস্থিতি নয়।
আপনার পথগুলো চ্যানেলের মোট কেপাসিটি দ্বারাও সীমিত হতে পারে। আগের অ্যালিস <> ক্যারোল <> ফ্র্যাংক উদাহরণটি দেখা যাক। অ্যালিস ও ক্যারোলের চ্যানেলের কেপাসিটি 5 BTC হলেও ক্যারোল ও ফ্র্যাংকের কেপাসিটি শুধুমাত্র 1 BTC হলে অ্যালিস কখনোই 1 BTC-এর বেশি পাঠাতে পারবে না। এমনকি তারপরেও, এটি কাজ করার জন্য পুরো ব্যালেন্স ক্যারোল <> ফ্র্যাংক চ্যানেলের ক্যারোলের পাশে থাকতে হবে। LN চ্যানেলগুলোর মাধ্যমে পাস করা ফান্ডের পরিমাণকে এটি মারাত্মকভাবে সীমিত করতে পারে এবং ফলে ব্যবহারযোগ্যতার উপর নক-অন প্রভাব ফেলতে পারে।
কেন্দ্রীভূত হাব
পূর্ববর্তী সেকশনে উল্লিখিত সমস্যার কারণে এমন উদ্বেগ রয়েছে যে নেটওয়ার্কে বিশাল "হাব" তৈরি হবে। অর্থাৎ, বিপুল পরিমাণে তারল্যসহ বৃহৎ, বহু-সংযুক্ত প্রতিষ্ঠান। উল্লেখযোগ্য যেকোনো পেমেন্ট এই প্রতিষ্ঠানগুলোর কয়েকটির মাধ্যমে রুট করতে হবে।
স্পষ্টতই, সেই পরিস্থিতিটি খুব অসাধারণ কিছু হবে না। এটি সিস্টেমকে দুর্বল করবে কারণ এই প্রতিষ্ঠানগুলো অফলাইনে গেলে তা পিয়ারদের মধ্যকার সংযোগকে গুরুতরভাবে ব্যাহত করবে। শুধুমাত্র কয়েকটি পয়েন্টের মধ্যে দিয়ে লেনদেন হওয়ায় সেন্সরশিপের একটি বর্ধিত ঝুঁকিও রয়েছে।
লাইটনিং নেটওয়ার্কের বর্তমান অবস্থা
2022 সালের মার্চ পর্যন্ত লাইটনিং নেটওয়ার্ক ভালোভাবেই চলছে। এটির 35,000-এর বেশি অনলাইন নোড, 85,000+ সক্রিয় চ্যানেল এবং 3,570 BTC-এর কিছু বেশি কেপাসিটি রয়েছে।
লাইটনিং নেটওয়ার্ক নোডের বৈশ্বিক বিতরণ। সূত্র: explorer.acinq.co
মুষ্টিমেয় কিছু ভিন্ন ভিন্ন নোড ইমপ্লিমেন্টেশন রয়েছে – ব্লকস্ট্রিমের সি-লাইটনিং, লাইটনিং ল্যাবসের লাইটনিং নেটওয়ার্ক ডেমন এবং ACINQ-এর Eclair হলো সবচেয়ে জনপ্রিয়। প্রযুক্তিগতভাবে কম দক্ষ ব্যবহারকারীদের জন্য অনেক কোম্পানি প্লাগ-এন্ড-প্লে নোড অফার করে। ডিভাইসটিকে পাওয়ার আপ করলেই আপনি লাইটনিং নেটওয়ার্কে কাজ করার জন্য প্রস্তুত।
শেষ কথা
অনেকে এটিকে এখনও বেটাতে রয়েছে বলে বিবেচনা করলেও 2018 সালে এটির মেইননেট লঞ্চের পর থেকে লাইটনিং নেটওয়ার্কের লক্ষনীয় বৃদ্ধি হয়েছে।
বর্তমানে কোনো লাইটনিং নোড পরিচালনা করার জন্য কিছুটা প্রযুক্তিগত দক্ষতার প্রয়োজন হওয়ায় ব্যবহারযোগ্যতার কিছু প্রতিবন্ধকতা এখনও রয়েছে যা কাটিয়ে উঠতে হবে। তবে যে পরিমাণে ডেভলপমেন্ট চলছে তাতে করে আমরা সময়ের সাথে সাথে প্রবেশের বাধাগুলো কমে গেছে বলে দেখতে পাবো।
সমস্যাগুলোর সমাধান হয়ে গেলে লাইটনিং নেটওয়ার্ক বিটকয়েন ইকোসিস্টেমের একটি অবিচ্ছেদ্য অংশ হয়ে উঠতে পারে যা স্কেলেবিলিটি ও লেনদেনের গতিকে ব্যাপকভাবে বৃদ্ধি করবে।