মূল কন্টেন্টে যান

প্রুফ-অফ-স্টেক (PoS) ইথেরিয়ামে রিঅর্গ গেম

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

Date published: 29 নভেম্বর, 2022

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

এই প্রতিলিপিটি লিসকন দ্বারা প্রকাশিত মূল ভিডিও প্রতিলিপির (opens in a new tab) একটি সহজলভ্য অনুলিপি। পড়ার সুবিধার জন্য এটি সামান্য সম্পাদনা করা হয়েছে।

ভূমিকা এবং পটভূমি (0:03)

সবাইকে স্বাগতম। আজ আমি প্রুফ-অফ-স্টেক (PoS) ইথেরিয়ামে সম্ভাব্য রিঅর্গ নিয়ে কথা বলব।

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

দুই ধরনের রিঅর্গ (0:44)

আজ আমি রিঅর্গ নিয়ে কথা বলতে চাই, এবং বিশেষ করে প্রুফ-অফ-স্টেক (PoS) ইথেরিয়ামের ক্ষেত্রে সম্ভাব্য দুই ধরনের রিঅর্গ সম্পর্কে ধারণা দিতে চাই।

একদিকে আমাদের রয়েছে এক্স-পোস্ট রিঅর্গ (ex-post reorgs) এবং অন্যদিকে এক্স-অ্যান্টে রিঅর্গ (ex-ante reorgs)। একটু বেশি আড়ম্বরপূর্ণ ল্যাটিন নাম ব্যবহারের জন্য আমাকে ক্ষমা করবেন, তবে এটি কাজ চালিয়ে নেওয়ার জন্য যথেষ্ট।

এক্স-পোস্ট রিঅর্গ বলতে আমরা সাধারণত রিঅর্গ সম্পর্কে যা ভাবি, অনেকটা সেরকমই। আক্রমণকারী একটি ব্লক দেখতে পায় — যদি এটি মূল্যবান হয় তবে তারা এটিকে রিঅর্গ করার চেষ্টা করতে পারে। তাই এখানকার চিত্রে আমরা দেখতে পাচ্ছি যে ব্লক N+1 হলো সেই ব্লক যা আক্রমণকারী রিঅর্গ করে বাদ দিতে চায়, এবং একই প্যারেন্ট ব্লক N-এর উপর ভিত্তি করে, যদি এটি কাজ করে, তবে ব্লক N+3 পরবর্তীতে ব্লক N+2-এর উপর তৈরি হয়। এটি সাধারণ একটি প্রক্রিয়া।

অন্যদিকে এক্স-অ্যান্টে রিঅর্গ কিছুটা ভিন্ন। এর মূল ধারণা হলো, আক্রমণকারীকে কোন ব্লকটি রিঅর্গ করে বাদ দেবে তা জানার আগেই আক্রমণ শুরু করতে হয়। এটি মোটামুটি কীভাবে কাজ করে? খুব সহজভাবে বললে, ব্লক N+1 ব্লক N-এর উপর তৈরি হয় কিন্তু সাথে সাথে প্রকাশ করা হয় না। সৎ নোডগুলো জানেই না যে N+1-এর অস্তিত্ব আছে, তাই তারা N-এর উপর ব্লক তৈরি করতে থাকে। তারপর কোনো একটি প্রক্রিয়ার মাধ্যমে N+1 প্রকাশিত হয় এবং N+3 দেখতে পারে যে N+1 এগিয়ে আছে এবং এর উপর ভিত্তি করে তৈরি হয়, যার ফলে N+2 আসলে রিঅর্গ হয়ে বাদ পড়ে যায়।

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

প্রুফ-অফ-ওয়ার্ক-এ এক্স-পোস্ট রিঅর্গ (2:49)

এই আলোচনার মূল বিষয় এক্স-অ্যান্টে রিঅর্গ-এ যাওয়ার আগে, চলুন সংক্ষেপে এক্স-পোস্ট রিঅর্গ নিয়ে আলোচনা করি এবং বিশেষ করে প্রুফ-অফ-ওয়ার্ক (PoW) প্রেক্ষাপট দিয়ে শুরু করি।

মূলত এটি পরিচিত মুখ — জর্জিওস এবং ভিটালিক-এর লেখা ব্লগ পোস্টের একটি সারসংক্ষেপ। আপনারা সেটি পড়ে দেখতে পারেন, এটি চমৎকার।

সংক্ষেপে বলতে গেলে, প্রুফ-অফ-ওয়ার্ক (PoW) ইথেরিয়ামে এক্স-পোস্ট রিঅর্গ কঠিন হলেও তা অসম্ভব নয়। 10% হ্যাশরেট থাকা একজন মাইনার-এর পরপর কয়েকটি ব্লক মাইনিং করার মোটামুটি ভালো সম্ভাবনা থাকে, এবং যদি ইনসেনটিভ যথেষ্ট বেশি হয় — ধরুন এমন একটি ব্লক আছে যেখানে 100 ETH সমমূল্যের MEV সংগ্রহ করার সুযোগ রয়েছে — তবে রিঅর্গানাইজ করার চেষ্টা সার্থক করতে 1% সাফল্যের হারও যথেষ্ট হতে পারে।

প্রুফ-অফ-স্টেক-এ এক্স-পোস্ট রিঅর্গ (3:39)

প্রুফ-অফ-স্টেক (PoS)-এর ক্ষেত্রে বিষয়টি সম্পূর্ণ ভিন্ন। এখানে আমরা অবিশ্বাস্য পরিমাণ স্টেক-এর প্রয়োজনীয়তার কথা বলছি। এটি কতটা হাস্যকর রকমের কঠিন তা বোঝানোর জন্য আমি আপনাদের দেখাবো কীভাবে কেউ এটি করার চেষ্টা করতে পারে।

প্রথমে কিছু প্রাথমিক বিষয় জেনে নেওয়া যাক। প্রুফ-অফ-স্টেক (PoS) ইথেরিয়ামে সময় স্লট অনুযায়ী এগোয়। প্রতিটি স্লট 12 সেকেন্ড দীর্ঘ। প্রতিটি স্লট-এ দুটি ভূমিকা থাকে: একজন প্রস্তাবক থাকে — ঠিক একজন প্রস্তাবক — এবং হাজার হাজার সত্যায়নকারীর একটি কমিটি থাকে যাদের কাজ হলো P2P লেয়ারে শোনা ব্লকগুলোর সত্যায়ন করা। তারা ফর্ক চয়েস চালিয়ে চেইন-এর হেড নির্ধারণ করে, যা মূলত এমন একটি ফাংশন যা ব্লক ট্রি-কে ইনপুট হিসেবে নেয় এবং আপনাকে চেইন-এর হেড প্রদান করে।

আপনি যদি একটি বৈধ ব্লক শুনতে পান, অথবা একটি স্লট-এর চার সেকেন্ড পার হয়ে যায় — এর মধ্যে যেটি আগে ঘটবে, তখন আপনার ব্লকগুলোর সত্যায়ন করার কথা। তাই যদি কোনো কারণে ব্লক N+1-এর প্রস্তাবক অফলাইনে থাকে এবং স্লট-এর চার সেকেন্ডের মধ্যে কোনো ব্লক না থাকে, তবে আপনি ব্লক N-এর সত্যায়ন করবেন। যদি আপনি এটি সময়মতো শুনতে পান, তবে আপনি ব্লক N+1-এর সত্যায়ন করবেন। খুবই সহজ।

এই সমস্ত সত্যায়ন ব্লকগুলোকে ওয়েট প্রদান করে, এবং এই ওয়েট ব্যবহার করে ফর্ক চয়েস নির্ধারণ করে যে সর্বশেষ হেড কোনটি।

এবার চলুন একটি এক-ব্লক রিঅর্গ-এর প্রক্রিয়া দেখি। শুরুতে সবকিছু স্বাভাবিকভাবেই চলে — সবাই ব্লক N-এর সত্যায়ন করে, এমনকি আক্রমণকারীও। তারপর N-এর উপর N+1 তৈরি হয়, এবং যেহেতু আক্রমণকারী যে ব্লকটি রিঅর্গ করে বাদ দিতে চাইছে তাকে ওয়েট দিতে চায় না, তাই তারা এর পরিবর্তে ব্লক N-এর সত্যায়ন করে। ব্লক N প্রচুর ওয়েট লাভ করতে থাকে কারণ আক্রমণকারীর কাছে কমিটি-এর দুই-তৃতীয়াংশ নিয়ন্ত্রণ রয়েছে — যার মানে হলো তাদের মোটামুটিভাবে সম্পূর্ণ স্টেক-এর দুই-তৃতীয়াংশ নিয়ন্ত্রণ করতে হবে।

এক-তৃতীয়াংশ সৎ মানুষ N+1-এর সত্যায়ন করেছে, আর দুই-তৃতীয়াংশ N-এর। এবার আসে ব্লক N+2 — স্বাভাবিকভাবেই আক্রমণকারী এটি N-এর উপর তৈরি করে এবং নিজের ব্লকের সত্যায়ন করে। সৎ ভ্যালিডেটর-দের দৃষ্টিকোণ থেকে, ওয়েটের দিক দিয়ে N+1 এখনও এগিয়ে আছে কারণ N+1 এবং N+2 উভয়ই ব্লক N-এর সম্পূর্ণ ওয়েট উত্তরাধিকার সূত্রে পায়, কিন্তু N+1-এর কাছে এই এক-তৃতীয়াংশ সত্যায়নও রয়েছে যা N+2-এর নেই।

যদি আমরা এর হিসাব করি — ব্লক N+1-এর কাছে এক-তৃতীয়াংশ যোগ এক-তৃতীয়াংশ, অর্থাৎ দুই-তৃতীয়াংশ মূল্যের সত্যায়ন রয়েছে, এবং ব্লক N+2-এর কাছেও দুই-তৃতীয়াংশ রয়েছে। বোঝার সুবিধার্থে ধরে নিই যে টাইব্রেক আক্রমণকারীর পক্ষে যায়। তাহলে N+3 দেখতে পাবে যে N+2 এগিয়ে আছে এবং এর উপর ভিত্তি করে তৈরি হবে।

এই অনুমানগুলো কতটা অবাস্তব তার একটি ধারণা দিতে বলছি — এমনকি যদি আপনার কাছে 65% স্টেক থাকে, তবুও যেকোনো নির্দিষ্ট স্লট-এ কমিটি-এর দুই-তৃতীয়াংশ নিয়ন্ত্রণ করার সম্ভাবনা মাত্র 0.05%। এটি প্রমাণ করে যে সমান্তরাল সত্যায়ন-এর ক্ষমতা সত্যিই কার্যকর — প্রুফ-অফ-স্টেক (PoS) ইথেরিয়ামে এক্স-পোস্ট রিঅর্গ করা অবিশ্বাস্যভাবে কঠিন, বলতে গেলে প্রায় অসম্ভব।

এক্স-অ্যান্টে রিঅর্গ আক্রমণের কার্যপ্রণালী (7:34)

এবার আমি এক্স-অ্যান্টে রিঅর্গ নিয়ে কথা বলব। এই আক্রমণটি নিউডার (Neuder) এবং অন্যান্যদের লেখা একটি গবেষণাপত্রের উপর ভিত্তি করে তৈরি। আমরা সম্প্রতি এই আক্রমণটিকে উল্লেখযোগ্যভাবে উন্নত করেছি। আমরা এর উপর একটি গবেষণাপত্রও লিখেছি এবং ঠিক সময়ে এটি arXiv-এ আপলোড করতে সক্ষম হয়েছি।

শুরুতেই বলে রাখি — চিন্তার কিছু নেই, এর প্রশমন কৌশল রয়েছে। দ্য মার্জ-এর আগেই এগুলো যুক্ত করা হবে।

একটি এক্স-অ্যান্টে রিঅর্গ আক্রমণ কীভাবে কাজ করে? শুরুতে, ব্লক N — স্বাভাবিক নিয়মেই সবাই এর সত্যায়ন করে। এখন আপনি হলেন N+1-এর প্রস্তাবক। আপনি এটি প্রস্তাব করেন এবং একটি মাত্র ভ্যালিডেটর দিয়ে গোপনে এর সত্যায়ন করেন। গুরুত্বপূর্ণ বিষয় হলো, আপনি এটি গোপন রাখেন — আপনি এটি প্রকাশ করেন না এবং P2P লেয়ারে এটি প্রচারও করেন না।

এর ফলে যা হয় তা হলো, সৎ মানুষরা ব্লক N+1 দেখতে পায় না, তাই তারা ব্লক N-এর সত্যায়ন করবে। এটাই হলো কৌশল — আপনি সেই ওয়েট উত্তরাধিকার সূত্রে পেয়ে যান এবং আপনাকে আসলে এর বিরুদ্ধে লড়তে হয় না।

আপাতত ধরে নিই যে কোনো ল্যাটেন্সি নেই। স্লট N+2-এ, আক্রমণকারী হিসেবে আমরা যা করি তা হলো ব্লক N+1 এবং গোপন সত্যায়ন একই সাথে প্রকাশ করি। স্লট N+2-এর সৎ ভ্যালিডেটর-দের একটি ব্লকের সত্যায়ন করতে হবে। তাদের দৃষ্টিকোণ থেকে তারা ব্লক N+2 এবং এই একটি গোপন সত্যায়নসহ ব্লক N+1 দেখতে পায়। যদি তারা ফর্ক চয়েস চালায় তবে তারা দেখতে পাবে যে ব্লক N+1-এর ওয়েট ব্লক N+2-এর চেয়ে বেশি, কারণ N+1-এর কাছে গোপন সত্যায়ন রয়েছে যা N+2-এর নেই। এমনকি সমস্ত সৎ ভ্যালিডেটর-ও আসলে ব্লক N+1-এর সত্যায়ন করবে। স্বাভাবিকভাবেই, N+3-এ N+1-কে চেইন-এর হেড হিসেবে দেখা হবে।

নেটওয়ার্ক ল্যাটেন্সি এবং আক্রমণ (10:25)

আমি শূন্য ল্যাটেন্সি ধরে নিয়েছিলাম, যা বাস্তবে সেভাবে কাজ করে না। ল্যাটেন্সি থাকে — P2P লেয়ারে ব্লক এবং মেসেজ প্রচার করতে সময় লাগে।

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

এখানে কী ঘটছে তা আবার জোর দিয়ে বলছি: আমাদের কাছে একজন প্রস্তাবক রয়েছে যে একটি মাত্র সত্যায়নকারী নিয়ে একটি এক-ব্লক রিঅর্গ সফলভাবে সম্পন্ন করতে পারছে। অন্ততপক্ষে বলা যায়, এটি মোটেও আদর্শ পরিস্থিতি নয়।

দীর্ঘতর রিঅর্গ-এর জন্য ব্যালেন্সিং কৌশল (11:42)

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

আপনি আপনার গোপন ব্লকটি এমনভাবে প্রকাশ করেন যাতে সৎ নোডগুলোর প্রায় অর্ধেক ব্লক N+2 সম্পর্কে শোনার আগেই আপনার গোপন ব্লক এবং সত্যায়ন সম্পর্কে শুনতে পায় — তাই তারা আপনার ব্লকের সত্যায়ন করে। আপনি চান বাকি অর্ধেক যেন N+2-এর সত্যায়ন করার আগে আপনার ব্লকটি শুনতে না পায়।

এখন আপনার কাছে সৎ কমিটি-এর অর্ধেক N+1-এর সত্যায়ন করছে এবং বাকি অর্ধেক N+2-এর সত্যায়ন করছে। এটি কীভাবে সাহায্য করে? সৎ কমিটি এখন একে অপরকে বাতিল করে দেয়, এবং আক্রমণকারী হিসেবে আপনাকে তাদের সাথে লড়তেও হয় না — যা মূলত আক্রমণকারীর জন্য স্বপ্ন সত্যি হওয়ার মতো ব্যাপার।

চিত্রটি বিশ্লেষণ করলে দেখা যায়: ব্লক N স্বাভাবিকভাবেই চলছে, ব্লক N+1 — একই ঘটনা, আপনি এটি প্রকাশ করছেন না। সৎ ভ্যালিডেটর-রা ব্লক N-এর সত্যায়ন করে। ব্লক N+2 আসে, আপনি এটি আগেভাগেই শুনতে পান, এবং আপনি একটি সত্যায়নসহ ব্লক N+1 প্রকাশ করেন — যাকে "সোয়ে ভোট (sway vote)" বলা যায় — এমনভাবে যাতে সৎ কমিটি-এর অর্ধেক এটি আগে দেখে এবং অর্ধেক পরে দেখে। অর্ধেক N+1-এর জন্য ভোট দেয়, বাকি অর্ধেক N+2-এর জন্য। আপনি আসলে এমন একটি অফ-বাই-ওয়ান (off-by-one) বিভাজন চান যাতে N+2-এর কাছে একটি সত্যায়ন বেশি থাকে, ফলে N+3 N+2-এর উপর তৈরি হয় এবং রিঅর্গ চলতে থাকে।

একটি দুই-ব্লক রিঅর্গ শেষ করতে: ব্লক N+3 প্রস্তাব করা হয়, আপনি এটি আগেভাগেই শুনতে পান, আপনি ব্লক N+1 এবং আপনার বাকি দুটি সত্যায়ন প্রকাশ করেন, P2P লেয়ারকে এমনভাবে প্লাবিত করেন যাতে বেশিরভাগ সৎ মানুষ ব্লক N+1-এর জন্য ভোট দেয় — যার ফলে এর ওয়েট ব্লক N+3-এর চেয়ে বেশি হয় এবং N+4 ব্লক N+1-এর উপর তৈরি হয়।

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

প্রপোজার বুস্ট প্রশমন (15:17)

চলুন প্রশমন নিয়ে কথা বলি। এর মূল ধারণাটি কী? আমরা প্রস্তাবক-কে একটু বেশি ক্ষমতা দিতে যাচ্ছি। যদি একটি বৈধ ব্লক সময়মতো পৌঁছায়, তবে আসুন সেই স্লট-এর সময়কালের জন্য এই ব্লকের ওয়েট বাড়িয়ে দিই। সেই স্লট শেষ হওয়ার পর, আমরা স্বাভাবিক এলএমডি-ঘোস্ট স্কোর পুনরায় শুরু করি এবং সবকিছু স্বাভাবিক নিয়মে চলতে থাকে।

তাই যদি ব্লক N+2 সময়মতো প্রস্তাব করা হয় এবং এটি বৈধ হয়, তবে এই ব্লকটি একটি বুস্ট পাবে — ধরুন কমিটি-এর আকারের 80%। এখন আক্রমণকারীর এই ছোট্ট N+1 সত্যায়নটি আর কোনো কাজে আসবে না। কোনোভাবেই না।

ব্যালেন্সিং কৌশলটিও আর কাজ করে না কারণ আপনার কাছে 50/50 বিভাজন থাকলেও বুস্ট সবসময় এটিকে এক দিকে ঠেলে দেয়। সেই 50/50 বিভাজন ধরে রাখার কোনো উপায় আপনার কাছে থাকে না।

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

মূল শিক্ষণীয় বিষয় (16:48)

কিছু মূল শিক্ষণীয় বিষয়। আমি এক্স-পোস্ট এবং এক্স-অ্যান্টে রিঅর্গ-এর মধ্যে পার্থক্য নিয়ে কথা বলেছি। আমি প্রুফ-অফ-ওয়ার্ক (PoW) বনাম প্রুফ-অফ-স্টেক (PoS)-এ রিঅর্গ-এর ভিন্ন ভিন্ন প্রেক্ষাপট সংক্ষেপে তুলে ধরেছি। আমি আপনাদের দেখিয়েছি কীভাবে একটি এক্স-অ্যান্টে রিঅর্গ করতে হয়, তবে আরও গুরুত্বপূর্ণভাবে কীভাবে এটি ঠিক করতে হয় তাও দেখিয়েছি।

আপনি যদি এই বিষয়ে আগ্রহী হন, তবে একটি গবেষণাপত্র রয়েছে — যা অনেক বেশি বিস্তারিত এবং সূক্ষ্ম। স্লাইডগুলো আপলোড করা হবে। আগ্রহী হলে আমার সাথে কথা বলতে পারেন, এবং আপনি আমাকে Twitter-এও খুঁজে পাবেন।

আমি আশা করি এটি আপনাদের কাছে আকর্ষণীয় লেগেছে। অনেক ধন্যবাদ।

এই পৃষ্ঠাটি কি সহায়ক ছিল?