এখন, আসুন ইনফোকয়েন ছেড়ে আসুন এবং আসল বিটকয়েন প্রোটোকলের দিকে এগিয়ে যাই। বিটকয়েন এবং ইনফোকয়েন, যা আমরা মাত্র ধাপে ধাপে তৈরি করেছি, এর মধ্যে খুব বেশি পার্থক্য নেই, একটি সুস্পষ্ট পরিবর্তন ব্যতীত।
বিটকয়েন ব্যবহার করার জন্য, আপনাকে প্রথমে কম্পিউটারে একটি ওয়ালেট ইনস্টল করতে হবে। আপনার আরও ভাল বোঝার জন্য, নীচের চিত্রটি মাল্টিবিট নামে পরিচিত একটি ওয়ালেটের স্ক্রিনশট। আপনি উপরের বাম কোণে বিটকয়েনের ভারসাম্য দেখতে পাচ্ছেন 0.06555555 বিটকয়েন, যা স্ক্রিনশটটিতে তখনকার লেনদেনের দাম হিসাবে প্রায় 70 ডলার। স্ক্রিনশটটি ডানদিকে দুটি সাম্প্রতিক লেনদেন দেখায়, তারা এই 0.06555555 বিটকয়েন জমা রেখেছিল।
ধরুন আপনি একজন ব্যবসায়ী এবং আপনি একটি অনলাইন স্টোর তৈরি করেছেন এবং আপনি গ্রাহকদের বিটকয়েন দিয়ে অর্থ প্রদানের অনুমতি দেওয়ার সিদ্ধান্ত নিয়েছেন। আপনাকে যা করতে হবে তা হ'ল আপনার ওয়ালেট প্রোগ্রামটি দিয়ে একটি নতুন বিটকয়েন ঠিকানা তৈরি করা। এটি স্বয়ংক্রিয়ভাবে একটি পাবলিক এবং প্রাইভেট কী জুড়ি তৈরি করবে এবং তারপরে আপনার বিটকয়েন ঠিকানা তৈরি করতে আপনার পাবলিক কীটি হ্যাশ করবে।
তারপর আপনি আপনার বিটকয়েন ঠিকানাটি আপনার অর্থ প্রদানকারীকে প্রেরণ করেন। আপনি এটি ইমেল বক্সে বা সরাসরি আপনার ওয়েবসাইটে রাখতে পারেন। এটি নিরাপদ, কারণ আপনার ঠিকানাটি কেবলমাত্র একটি হ্যাশযুক্ত পাবলিক কী এবং আপনি নিরাপদে যে কারও কাছে প্রকাশ করতে পারেন ((কেউ এটির মাধ্যমে আপনার ব্যক্তিগত কী পেতে পারে না) । আমি পরে ব্যাখ্যা করব কেন বিটকয়েন ঠিকানাটি পাবলিক কীগুলির পরিবর্তে পাবলিক কীগুলির হ্যাশভারে ব্যবহার করে।
এখন যে ব্যক্তি অর্থ প্রদান করতে প্রস্তুত তার একটি নতুন লেনদেন তৈরি করতে হবে। আসুন আমরা 0.319 বিটকয়েনের মধ্যে একটি বাস্তব লেনদেনের ডেটা দেখি। নীচে এটি প্রায় আসল ডেটা, এখানে তিনটি জায়গায় পরিবর্তন রয়েছেঃ 1) ডেটা ধারাবাহিক নয়; 2) আরও ভাল বোঝার জন্য লাইন নম্বর যুক্ত করা হয়েছে; 3) হ্যাশ ডেটা থেকে একটি দীর্ঘ সিরিজ বাদ দেওয়া হয়েছে, কেবলমাত্র প্রথম 6 টি ডিজিট সংরক্ষণ করা হয়েছে।
1. {"hash":"7c4025...",
2. "ver":1,
3. "vin_sz":1,
4. "vout_sz":1,
5. "lock_time":0,
6. "size":224,
7. "in":[
8. {"prev_out":
9. {"hash":"2007ae...",
10. "n":0},
11. "scriptSig":"304502... 042b2d..."}],
12. "out":[
13. {"value":"0.31900000",
14. "scriptPubKey":"OP_DUP OP_HASH160 a7db6f OP_EQUALVERIFY OP_CHECKSIG"}]}
আসুন এক এক করে ব্যাখ্যা করি।
প্রথম লাইন, লেনদেনের হ্যাশভ্যালু ((১৬-ইনডেক্স পদ্ধতি), তিনিই একমাত্র চিহ্নিতকারী যিনি এই লেনদেনের প্রতিনিধিত্ব করেন।
দ্বিতীয় লাইনটি আমাদের বলে যে এই লেনদেনটি বিটকয়েন প্রোটোকলের প্রথম সংস্করণ ব্যবহার করে।
লাইন 3, 4, আমাদের বলে যে এই লেনদেনের একটি ইনপুট এবং একটি আউটপুট আছে.
পঞ্চম লাইনটি হল লক টাইম (lock_time), যা ব্যবহার করে আপনি নিয়ন্ত্রণ করতে পারেন যে এই লেনদেনটি কখন সম্পন্ন হবে। বর্তমানে বিটকয়েনের বেশিরভাগ লেনদেনের লক টাইম হল ০, অর্থাৎ লেনদেনটি অবিলম্বে সম্পন্ন হয়।
৬ নং লাইনটি আমাদেরকে বলে যে এই লেনদেনের আকার কত বাইট (byte) ।
লাইন ৭ থেকে ১১, এই অংশটি এই লেনদেনের ইনপুট অংশকে সংজ্ঞায়িত করে, সঠিকভাবে, লাইন ৮ থেকে ১০ আমাদের বলে যে এই ইনপুট মান যা আমরা অর্থ স্থানান্তর করতে যাচ্ছি তা আগের লেনদেনের আউটপুট মান থেকে এসেছে। যে 2007ae... এটি গত লেনদেনের 16 ইনপুট হ্যাশভ্যালু, যা একটি লেনদেনের উপরে নির্দেশ করে। n=0 এর অর্থ এটি পূর্ববর্তী লেনদেনের প্রথম আউটপুট, আমরা কিছুক্ষণের মধ্যে দেখতে পাব যে একাধিক ইনপুট এবং আউটপুটগুলি কেমন ছিল, তাই এখন চিন্তা করার দরকার নেই।
এখানে ইনপুট অংশটি উল্লেখযোগ্য যে এটি বলে না যে পূর্ববর্তী লেনদেনের বিটকয়েনগুলির মধ্যে কতগুলি পরবর্তী লেনদেনে স্থানান্তরিত হবে। আসলে, পূর্ববর্তী লেনদেনের n = 0 আউটপুটের সমস্ত বিটকয়েন স্থানান্তরিত হয়েছে। উদাহরণস্বরূপ, যদি পূর্ববর্তী লেনদেনের প্রথম আউটপুট ((n = 0) এ 2 টি বিটকয়েন থাকে তবে এই নতুন লেনদেনে উভয়ই ব্যয় করা হবে। এটি দেখতে অস্বস্তিকর দেখাচ্ছে, যেমন 20 ডলার নগদ দিয়ে একটি রুটি কেনা। সমাধানটি হ'ল একটি শূন্য অর্থের প্রক্রিয়া সরবরাহ করা, যা একাধিক ইনপুট এবং আউটপুট পদ্ধতির মাধ্যমে সমাধান করা যেতে পারে, যা পরবর্তী অংশে আলোচনা করা হবে।
লাইন ১২ থেকে ১৪ পর্যন্ত, এই অংশটি লেনদেনের আউটপুটকে সংজ্ঞায়িত করে। বিশেষত, লাইন ১৩ আমাদেরকে আউটপুট করা অর্থের পরিমাণ বলে, এটি 0.319 বিটকয়েন। লাইন ১৪ তুলনামূলকভাবে জটিল, এটি লক্ষণীয় যে স্ট্রিং a7db6f... বিটকয়েন সংগ্রহের ঠিকানা। এই লাইনটি আসলে বিটকয়েনের স্ক্রিপ্ট ভাষা, এখানে স্ক্রিপ্ট ভাষার বিশদ বিবরণ নেই। আপনাকে কেবল জানতে হবে যে a7db6f... হল সংগ্রহের ঠিকানা।
এখন, আপনি দেখতে পাচ্ছেন কিভাবে বিটকয়েন আমাদের আগে উল্লিখিত কয়েন ক্রমিক সংখ্যাগুলি থেকে কয়েন আসে তা সমাধান করে। প্রথমত, বিটকয়েন একটি বিচ্ছিন্ন পৃথক কয়েন নয়, তবে ব্লকচেইনের মধ্যে থাকা একটি দীর্ঘ সারি লেনদেন। একটি লেনদেন অ্যাকাউন্ট সংরক্ষণ করে বিটকয়েন বাস্তবায়ন করা একটি বুদ্ধিমান ধারণা। দ্বিতীয়ত, এইভাবে, আমাদের একটি কেন্দ্রীয় সংস্থাকে ক্রমিক সংখ্যা প্রকাশের প্রয়োজন নেই। ক্রমিক সংখ্যাগুলি হ্যাশ লেনদেনের মাধ্যমে নিজেই পাওয়া যায়।
আমরা ট্রেডিং চেইনের ধারাবাহিকতা অনুসরণ করতে পারি। শেষ পর্যন্ত, দুটি সম্ভাবনা রয়েছেঃ প্রথমত, আপনি সম্ভবত প্রথম বিটকয়েন লেনদেনের দিকে যাবেন, যা একটি ব্লকের মধ্যে রয়েছে, আমরা এই ব্লকটিকে Genesis block বলি। এটি একটি বিশেষ লেনদেন, এতে কোনও ইনপুট নেই, কেবল 50 টি বিটকয়েন আউটপুট রয়েছে। অন্য কথায়, এটি প্রথম বিটকয়েন সরবরাহ। Genesis block বিটকয়েন ক্লায়েন্ট দ্বারা পৃথকভাবে চিকিত্সা করা হয়, আমরা এখানে বিস্তারিত কথা বলব না।
লেনদেনের চেইনের দ্বিতীয় ধাপে, আপনি একটি লেনদেনের দিকে যাচ্ছেন যা একটি লেনদেনকে লেনদেন বলা হয়। জেনেসিস ব্লক ব্যতীত, প্রতিটি ব্লক একটি বিশেষ লেনদেনের সাথে শুরু হয়। এই লেনদেনটি লেনদেনকারীকে পুরস্কৃত করার জন্য ব্যবহৃত হয় যা এই ব্লকে লেনদেনের প্রমাণীকরণ করে। এটি উপরে বর্ণিত অনুরূপ ডেটা ফর্ম ব্যবহার করে, তবে এটি বিস্তারিতভাবে বর্ণনা করা হয়নি।
উপরের বর্ণনাটি স্পষ্ট নয় যে ১১ টি লাইনের মধ্যে ডিজিটালভাবে স্বাক্ষরিত জিনিসটি আসলে কী; সবচেয়ে সুস্পষ্ট উপায় হ'ল অর্থ প্রদানকারীকে পুরো লেনদেনটি ডিজিটালভাবে স্বাক্ষর করতে দেওয়া। এখন পর্যন্ত এটি করা হয়নি, কিছু লেনদেন উপেক্ষা করা হয়েছে। এটি লেনদেনের একটি অংশকে প্লাস্টিক করে তোলে, অর্থাৎ এগুলি পরে সংশোধন করা যেতে পারে। তবে এই প্লাস্টিকের সামগ্রীতে লেনদেনের সংখ্যা, প্রদানকারী এবং প্রাপক অন্তর্ভুক্ত নয়। প্লাস্টিকতার বিষয়টি বিটকয়েন সম্প্রদায়ের মধ্যে অনেক আলোচনা রয়েছে এবং কেউ কেউ এটি বাতিল করতে চায়, এখানে বিস্তারিত আলোচনা করা হবে না।
আগের পর্বের মধ্যে আমরা একক ইনপুট এবং একক আউটপুট সহ একটি লেনদেনের ডেটা নিয়ে কথা বলেছি। আসলে, বেশিরভাগ বিটকয়েন লেনদেনের একাধিক ইনপুট বা একাধিক আউটপুট রয়েছে। আসুন প্রথমে এই লেনদেনের প্রাথমিক ডেটা দেখুন।
1. {"hash":"993830...",
2. "ver":1,
3. "vin_sz":3,
4. "vout_sz":2,
5. "lock_time":0,
6. "size":552,
7. "in":[
8. {"prev_out":{
9. "hash":"3beabc...",
10. "n":0},
11. "scriptSig":"304402... 04c7d2..."},
12. {"prev_out":{
13. "hash":"fdae9b...",
14. "n":0},
15. "scriptSig":"304502... 026e15..."},
16. {"prev_out":{
17. "hash":"20c86b...",
18. "n":1},
19. "scriptSig":"304402... 038a52..."}],
20. "out":[
21. {"value":"0.01068000",
22. "scriptPubKey":"OP_DUP OP_HASH160 e8c306... OP_EQUALVERIFY OP_CHECKSIG"},
23. {"value":"4.00000000",
24. "scriptPubKey":"OP_DUP OP_HASH160 d644e3... OP_EQUALVERIFY OP_CHECKSIG"}]}
আমরা আগের মতোই একটি লাইন ধরে ব্যাখ্যা করছি, বেশিরভাগই আগের মতই।
প্রথম লাইন, লেনদেনের হ্যাশভ্যালু, যা লেনদেনের একমাত্র চিহ্নিতকারী হিসেবে ব্যবহৃত হয়।
বিটকয়েন প্রোটোকলের সংস্করণ, প্রথম সংস্করণ।
তৃতীয় বা চতুর্থ লাইনে বলা হয়েছে যে এই লেনদেনে তিনটি ইনপুট এবং দুটি আউটপুট রয়েছে।
৫ নং লাইন, লকডাউন সময় (যেমনটি আগে ছিল) ।
০৬ নং লাইন, লেনদেনের বাইটের আকার।
লাইন ৭ থেকে ১৯, সমস্ত ইনপুটকে সংজ্ঞায়িত করে, প্রত্যেকটিই পূর্ববর্তী লেনদেনের আউটপুটের সাথে মিলে যায়। প্রথম ইনপুটটি লাইন ৮ থেকে ১১। এর বিষয়বস্তু ফর্মটি আগের মতোই। দ্বিতীয় ইনপুটটি লাইন ১২ থেকে ১৫ এবং তৃতীয়টি লাইন ১৬ থেকে ১৯।
20 থেকে 24 লাইন, সমস্ত আউটপুট সংজ্ঞায়িত করে, প্রথম আউটপুটটি 21 এবং 22 লাইন, এবং আগের মতো, 21 লাইন বলে যে এটিতে 0.01068 বিটকয়েন রয়েছে। 22 লাইনটি বিটকয়েনের একটি স্ক্রিপ্ট ভাষা। স্ট্রিং e8c30622... হল প্রাপকের ঠিকানা। দ্বিতীয় আউটপুটটি 23 এবং 24 লাইন, একই ফর্ম্যাটে।
এটি কিছুটা অদ্ভুত মনে হতে পারে যে, যদিও প্রতিটি আউটপুট বিটকয়েনের পরিমাণ রেকর্ড করে, তবে ইনপুটগুলি নেই। অবশ্যই প্রতিটি ইনপুট কতগুলি বিটকয়েন এর আগের লেনদেন থেকে পেতে পারে। একটি সাধারণ বিটকয়েন লেনদেনের ক্ষেত্রে, সমস্ত ইনপুটের মানের যোগফল সর্বাধিক আউটপুটের চেয়ে বেশি (জেনেসিস ব্লক এবং কয়েনবেস লেনদেনগুলি ব্যতীত) । যদি ইনপুটের যোগফল আউটপুটের চেয়ে বেশি হয় তবে অতিরিক্ত বিটকয়েনগুলি লেনদেনের ফি হিসাবে এই লেনদেনের ব্লকের খনিজদের কাছে সরবরাহ করা হয়।
একাধিক ইনপুট এবং আউটপুটের কাজ হল শূন্য খুঁজে পাওয়া। ধরুন আমি আপনাকে ০.১৫টি বিটকয়েন দিতে চাই। আমি আমার আগে প্রাপ্ত ০.২টি বিটকয়েন ব্যয় করতে পারি। অবশ্যই, আমি আপনাকে সমস্ত ০.২টি দিতে চাই না, তাই সমাধানটি হ'ল আমি আপনাকে ০.১৫টি বিটকয়েন পাঠিয়েছি এবং তারপরে আমার নিজের আরেকটি বিটকয়েন ঠিকানায় ০.০৫টি বিটকয়েন পাঠিয়েছি। সুতরাং, ০.০৫টি আমাকে শূন্য খুঁজে দেবে। এই ধারণাটি আপনার বাস্তব দোকানে শূন্য খুঁজে পাওয়ার মতো নয়, এটি আপনার নিজের জন্য অর্থ প্রদানের মতো। তবে এটি প্রায় একই অর্থ।
বিটকয়েনের পেছনের মৌলিক ধারণাগুলি বর্ণনা করা শেষ হলেও। অবশ্যই, আমি অনেকগুলি বিবরণও উপেক্ষা করেছি। এটি কোনও আনুষ্ঠানিক নির্দেশিকা নয়। তবে আমি বিটকয়েনের পিছনে সাধারণভাবে ব্যবহৃত ধারণাগুলি বর্ণনা করতে চাই।
যদিও বিটকয়েনের পিছনে থাকা নিয়মগুলি সহজ এবং সহজেই বোঝা যায়, তবে এর অর্থ এই নয় যে এই নিয়মগুলির সমস্ত সম্ভাব্য ফলাফলগুলিও সহজেই বোঝা যায়। বিটকয়েন সম্পর্কে আরও অনেক কিছু বলা যেতে পারে, আমি পরবর্তী নিবন্ধে কিছু ব্যাখ্যা করব।
বিটকয়েন কতটা অ্যানোনিম? অনেক লোক বলে যে বিটকয়েনকে অ্যানোনিম ব্যবহার করা যায়। এই বক্তব্যটি সিল্ক রোডের মতো কালো বাজারে তৈরি হয়েছিল। তবে এই বক্তব্যটি কাল্পনিক। ব্লকচেইনটি উন্মুক্ত এবং এর অর্থ হ'ল যে কেউ সমস্ত বিটকয়েন লেনদেন দেখতে পারে। যদিও বিটকয়েনের ঠিকানাটি সরাসরি বাস্তব জগতে ব্যক্তির পরিচয়গুলির সাথে সামঞ্জস্যপূর্ণ নয়, তবে কম্পিউটার বিজ্ঞানীরা অ্যানোনিমাইজড সামাজিক নেটওয়ার্কগুলিকে বিশ্লেষণ করার জন্য অনেক কাজ করেছেন। ব্লকচেইন তাদের দুর্দান্ত লক্ষ্য। অদূর ভবিষ্যতে যদি বেশিরভাগ বিটকয়েন ব্যবহারকারীর পরিচয়গুলি এখনও অপেক্ষাকৃত আত্মবিশ্বাসের সাথে সনাক্ত করা যায় না তবে আমি অবাক হব। সনাক্তকরণটি খুব কমই পুরোপুরি নিশ্চিত হবে, তবে এটি যথেষ্ট সম্ভাব্য লক্ষ্য সরবরাহ করবে। এছাড়াও, পরিচয় সরঞ্জামগুলি পুনরুদ্ধারযোগ্য হবে। এর অর্থ হ'ল ২০১১ সালে সিল্ক রোডের ড্রাগ বিক্রয়কারীরা এখনও স্বতন্ত্রভাবে অ্যানোনিমাইজড হতে পারে। ২০২০ সাল পর্যন্ত,
আপনি কি বিটকয়েন দিয়ে ধনী হতে পারেন? হয়তো তাই, টিম ও'রাইলি একবার বলেছিলেন যে অর্থ উপার্জন করা একটি গাড়ির তেল পাম্পের মতো যা আপনাকে মনোযোগ দিতে হবে, অন্যথায় আপনি রাস্তার পাশে আটকে থাকবেন তবে জীবনটি পেট্রোল স্টেশনের চারপাশে ঘূর্ণায়মান নয়! উঁহু, বিটকয়েনের প্রতি বেশিরভাগ আগ্রহ এমন লোকদের কাছ থেকে আসে যারা কেবলমাত্র একটি বড় পেট্রোল স্টেশন খুঁজে পাওয়ার লক্ষ্যে জীবনযাপন করে। আমি স্বীকার করতে হবে যে এটি বিভ্রান্তিকর। আমি বিশ্বাস করি যে বিটকয়েন বা অন্যান্য ডিজিটাল মুদ্রাগুলিকে মানবিক সহযোগিতার একটি নতুন রূপ দেওয়ার সরঞ্জাম হিসাবে দেখা আরও আকর্ষণীয় এবং উপভোগযোগ্য। এটি যুক্তিযুক্তভাবে আকর্ষণীয়, বিপুল উদ্ভাবনের সম্ভাবনা সরবরাহ করে, এটি সামাজিক মূল্যবান, এবং সম্ভবত কিছু অর্থও উপার্জন করবে। তবে যদি অর্থ উপার্জন করা আপনার প্রধান লক্ষ্য হয় তবে আমি বিশ্বাস করি যে আরও সহজ উপায় রয়েছে।
আমি যে বিবরণগুলি উপেক্ষা করেছিঃ যদিও এই নিবন্ধটি বিটকয়েনের পিছনে মূল ধারণাটি বর্ণনা করেছে, তবে অনেকগুলি বিবরণ রয়েছে যা আমি উল্লেখ করি নি। এর মধ্যে একটি হল প্রোটোকলের মধ্যে দুর্দান্ত স্থান সাশ্রয় করার কৌশল, যা একটি মার্কেল ট্রি নামে পরিচিত ডেটা কাঠামোর উপর ভিত্তি করে। এটি একটি বিবরণ, তবে এটি একটি অত্যন্ত আকর্ষণীয় বিবরণ, যদি আপনি ডেটা কাঠামো পছন্দ করেন তবে এটি দেখার মতো। আপনি বিটকয়েন হোয়াইটপেপারটি পড়ে প্রায়শই জানতে পারেন। দ্বিতীয়ত, আমি বিটকয়েন নেটওয়ার্ক প্যানেলের কিছু সমস্যা সম্পর্কে খুব কমই উল্লেখ করেছি, যেমন নেটওয়ার্কটি কীভাবে প্রত্যাখ্যাত সার্ভার আক্রমণ পরিচালনা করে, কীভাবে যোগদান এবং নেটওয়ার্ক থেকে বেরিয়ে আসার পয়েন্টগুলি ইত্যাদি। এটি একটি আকর্ষণীয় বিষয়, তবে এটিতে প্রচুর বিবরণ রয়েছে, তাই আমি এখানে উপেক্ষা করেছি। আপনি উপরের কয়েকটি লিঙ্ক দিয়ে আরও সম্পর্কিত কিছু পড়তে পারেন।
বিটকয়েন স্ক্রিপ্টঃ এই নিবন্ধে, আমি বিটকয়েনকে একটি অনলাইন ই-মুদ্রা হিসাবে ব্যাখ্যা করেছি। কিন্তু এটি বৃহত্তর এবং আকর্ষণীয় গল্পের একটি ছোট অংশ। যেমনটি আমরা দেখেছি, প্রতিটি বিটকয়েন লেনদেনের জন্য একটি বিটকয়েন স্ক্রিপ্ট ভাষা রয়েছে। এই স্ক্রিপ্টটি এই নিবন্ধে এমন কিছুতে সরলীকৃত করা হয়েছে যেমনঃ "আমাকে অ্যালিসকে ববকে 10 টি বিটকয়েন দিতে হবে" কিন্তু এই স্ক্রিপ্ট ভাষাটি একই সাথে আরও জটিল লেনদেনগুলি প্রকাশ করতে ব্যবহার করা যেতে পারে। অন্য কথায়, বিটকয়েন একটি প্রোগ্রামযোগ্য মুদ্রা। পরবর্তী নিবন্ধে, আমি এই সিস্টেমের স্ক্রিপ্টটি ব্যাখ্যা করব এবং কীভাবে বিটকয়েন স্ক্রিপ্টগুলিকে একটি প্ল্যাটফর্ম হিসাবে ব্যবহার করা যায় যা বিভিন্ন আশ্চর্যজনক আর্থিক পণ্যকে সমর্থন করে।
আপনি যদি এটিকে সহায়ক মনে করেন তবে আমি আপনাকে এই নিবন্ধের মূল লেখক মাইকেল নিলসেনকে টিপ দেওয়ার পরামর্শ দিচ্ছি, যার ঠিকানা 17ukkKt1bNLAqdJ1QQv8v9Askr6vy3MzTZ। আপনি তার টুইটার অনুসরণ করতে পারেন। অথবা নিউরাল নেটওয়ার্ক এবং গভীর শেখার বিষয়ে তার নতুন বইয়ের প্রথম অধ্যায়টি অনুসরণ করতে পারেন।
অনুবাদকের মাইব্লগটিও অনুসরণ করতে স্বাগতমঃ
এই নিবন্ধটি 'ইউনিভার্সাল ফোরাম' থেকে নেওয়া হয়েছে।