অফ-চেইন ডেটা সহ ব্লকচেইন স্কেলিং

উত্স নোড: 1738525

যখন একটি হ্যাশ মূল্য এক মিলিয়ন শব্দ

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

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

উদাহরণস্বরূপ, মাল্টিচেইন 1.0 ব্লকচেইনে এক বা একাধিক নামযুক্ত "স্ট্রিম" তৈরি করার অনুমতি দেয় এবং তারপরে কাঁচা ডেটা সংরক্ষণ এবং পুনরুদ্ধারের জন্য ব্যবহার করা হয়। প্রতিটি স্ট্রীমের নিজস্ব লেখার অনুমতির সেট রয়েছে এবং প্রতিটি নোড অবাধে বেছে নিতে পারে কোন স্ট্রিমগুলিতে সদস্যতা নিতে হবে৷ যদি একটি নোড একটি স্ট্রীমে সাবস্ক্রাইব করা হয়, তবে এটি সেই স্ট্রিমের বিষয়বস্তুকে রিয়েল-টাইমে সূচী করে, আইটেমগুলিকে তাদের অর্ডারিং, টাইমস্ট্যাম্প, ব্লক নম্বর বা প্রকাশকের ঠিকানা, সেইসাথে একটি "কী" (বা লেবেল) এর মাধ্যমে দ্রুত পুনরুদ্ধার করার অনুমতি দেয়। যার দ্বারা আইটেম ট্যাগ করা যেতে পারে। MultiChain 2.0 (আলফা 1 থেকে) ইউনিকোড পাঠ্য বা JSON ডেটা, সেইসাথে আইটেম প্রতি একাধিক কী এবং প্রতি লেনদেনের একাধিক আইটেম সমর্থন করার জন্য বর্ধিত স্ট্রীম। এটি "JSON মার্জ" এর মতো সংক্ষিপ্তকরণ ফাংশনগুলিও যুক্ত করেছে যা একই কী বা প্রকাশকের সাথে একটি দরকারী উপায়ে আইটেমগুলিকে একত্রিত করে৷

গোপনীয়তা এবং মাপযোগ্যতা

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

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

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

যদি আমরা একটি সহজ ক্ষেত্রে ধরি, যেখানে প্রতিটি আইটেম 100 বাইটের একটি ছোট JSON কাঠামো, সামগ্রিক ডেটা থ্রুপুট প্রতি সেকেন্ডে 100 কিলোবাইট হবে, 500 × (100+100) থেকে গণনা করা হয়। এটি 1 মেগাবিট/সেকেন্ড ব্যান্ডউইথের নিচে অনুবাদ করে, যা যেকোনো আধুনিক ইন্টারনেট সংযোগের ক্ষমতার মধ্যে আরামদায়ক। প্রতি বছর প্রায় 3 টেরাবাইট হারে ডেটা জমা হবে, যা কোন ছোট পরিমাণ নয়। কিন্তু এখন 12 টেরাবাইট হার্ড ড্রাইভের সাথে ব্যাপকভাবে উপলব্ধ, এবং RAID- র যে কন্ট্রোলারগুলি একাধিক ফিজিক্যাল ড্রাইভকে একটি একক লজিক্যাল ড্রাইভকে একত্রিত করে, আমরা খুব বেশি ঝামেলা বা খরচ ছাড়াই প্রতিটি নোডে 10-20 বছরের ডেটা সহজেই সংরক্ষণ করতে পারি।

যাইহোক, আমরা যদি স্ক্যান করা ডকুমেন্টেশনের মতো বড় তথ্য সঞ্চয় করি তবে জিনিসগুলি খুব আলাদা দেখায়। A4 কাগজের একটি যুক্তিসঙ্গত মানের JPEG স্ক্যানের আকার 500 কিলোবাইট হতে পারে। প্রতি সেকেন্ডে 500টি লেনদেন দ্বারা এটিকে গুণ করুন এবং আমরা 250 এর থ্রুপুট দেখছি মেগাবাইটে প্রতি সেকেন্ডে. এটি 2 গিগাবিট/সেকেন্ড ব্যান্ডউইথকে অনুবাদ করে, যা বেশিরভাগ স্থানীয় নেটওয়ার্কের চেয়ে দ্রুততর, ইন্টারনেটের সাথে সংযোগের কথাই ছেড়ে দিন। আমাজন ওয়েব পরিষেবার সবচেয়ে সস্তায় প্রকাশিত মূল্য প্রতি গিগাবাইটে $0.05, এর অর্থ প্রতি নোডের বার্ষিক ব্যান্ডউইথ বিল $400,000। এবং প্রতিটি নোড বার্ষিক উত্পন্ন 8000 টেরাবাইট নতুন ডেটা কোথায় সংরক্ষণ করবে?

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

হ্যাশিং সমাধান

তাহলে কিভাবে আমরা ডাটা স্কেলেবিলিটির সমস্যা সমাধান করব? চেইনের প্রতিটি নোডে সেই ডেটার প্রতিলিপি না করে কীভাবে আমরা ব্লকচেইনের বিকেন্দ্রীকৃত নোটারাইজেশনের সুবিধা নিতে পারি?

উত্তরটি একটি "হ্যাশ" নামক প্রযুক্তির একটি চতুর অংশ দিয়ে। একটি হ্যাশ একটি দীর্ঘ সংখ্যা (মনে করুন 256 বিট, বা প্রায় 80 দশমিক সংখ্যা) যা ডেটার একটি অংশকে অনন্যভাবে সনাক্ত করে। একটি ব্যবহার করে ডেটা থেকে হ্যাশ গণনা করা হয় একমুখী ফাংশন যার একটি গুরুত্বপূর্ণ ক্রিপ্টোগ্রাফিক বৈশিষ্ট্য রয়েছে: যেকোন তথ্যের অংশ দেওয়া হলে, এটির হ্যাশ গণনা করা সহজ এবং দ্রুত। কিন্তু একটি নির্দিষ্ট হ্যাশ দেওয়া, এটা যে হ্যাশ উৎপন্ন হবে তথ্য একটি টুকরা খুঁজে গণনা করা অসম্ভব. এবং যখন আমরা বলি “গণনাগতভাবে অসম্ভাব্য”, তখন আমরা বুঝি মহাবিশ্বের পরমাণুর চেয়ে বেশি গণনা।

হ্যাশগুলি সমস্ত ব্লকচেইনে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে, অনন্যভাবে লেনদেন এবং ব্লকগুলি সনাক্ত করে। তারা বিটকয়েনের মতো প্রুফ-অফ-ওয়ার্ক সিস্টেমে গণনামূলক চ্যালেঞ্জকেও অন্তর্ভুক্ত করে। BLAKE2, MD5 এবং RIPEMD160 এর মতো গবব্লেডিগুক নামের সাথে অনেকগুলি বিভিন্ন হ্যাশ ফাংশন তৈরি করা হয়েছে। কিন্তু কোনো হ্যাশ ফাংশন বিশ্বাসযোগ্য হওয়ার জন্য, এটিকে অবশ্যই ব্যাপক একাডেমিক পর্যালোচনা এবং পরীক্ষা সহ্য করতে হবে। এই পরীক্ষাগুলি চেষ্টা করা আক্রমণের আকারে আসে, যেমন "প্রিইমেজ" (প্রদত্ত হ্যাশের সাথে একটি ইনপুট সন্ধান করা), "সেকেন্ড প্রিমেজ" (প্রদত্ত ইনপুটের মতো একই হ্যাশ সহ একটি দ্বিতীয় ইনপুট সন্ধান করা) এবং "সংঘর্ষ" (যেকোনও সন্ধান করা) একই হ্যাশ সহ দুটি ভিন্ন ইনপুট)। এই গন্টলেট থেকে বেঁচে থাকা সহজ নয়, ভাঙা হ্যাশ ফাংশনগুলির একটি দীর্ঘ এবং দুঃখজনক ইতিহাসের সাথে বিখ্যাত ম্যাক্সিম প্রমাণ করে: "আপনার নিজের ক্রিপ্টো রোল করবেন না।"

আমাদের মূল সমস্যায় ফিরে যাওয়ার জন্য, আমরা ডেটার পরিবর্তে লেনদেনের মধ্যে ডেটার বড় টুকরোগুলির হ্যাশগুলিকে এমবেড করে ব্লকচেইনে ডেটা স্কেলেবিলিটি সমাধান করতে পারি। প্রতিটি হ্যাশ তার ইনপুট ডেটার জন্য একটি "প্রতিশ্রুতি" হিসাবে কাজ করে, ডেটা নিজেই ব্লকচেইন বা "অফ-চেইন" এর বাইরে সংরক্ষণ করা হয়। উদাহরণস্বরূপ, জনপ্রিয় SHA256 হ্যাশ ফাংশন ব্যবহার করে, একটি 500 কিলোবাইট JPEG ইমেজ একটি 32-বাইট সংখ্যা দ্বারা প্রতিনিধিত্ব করা যেতে পারে, 15,000× এর বেশি হ্রাস। এমনকি প্রতি সেকেন্ডে 500টি চিত্রের হারেও, এটি আমাদের আরামদায়ক ব্যান্ডউইথ এবং স্টোরেজ প্রয়োজনীয়তার অঞ্চলে ফিরে আসে, চেইনে সঞ্চিত ডেটার পরিপ্রেক্ষিতে।

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

ডেলিভারির প্রশ্ন

এ পর্যন্ত সব ঠিকই. আসল ডেটার পরিবর্তে একটি ব্লকচেইনে হ্যাশ এম্বেড করার মাধ্যমে, আমাদের কাছে স্কেলেবিলিটির সমস্যার একটি সহজ সমাধান আছে। তবুও, একটি গুরুত্বপূর্ণ প্রশ্ন অবশেষ:

আমরা কিভাবে মূল অফ-চেইন বিষয়বস্তু সেই নোডগুলিতে সরবরাহ করব যার এটি প্রয়োজন, যদি চেইনের মাধ্যমে না হয়?

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

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

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

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

যাদের অভিজ্ঞতা আছে তাদের জন্য পিয়ার-টু-পিয়ার ফাইল শেয়ারিং প্রোটোকল যেমন Napster, Gnutella বা BitTorrent, এই সব খুব পরিচিত শোনাবে. প্রকৃতপক্ষে, অনেক মৌলিক নীতি একই, কিন্তু দুটি মূল পার্থক্য আছে। প্রথমত, ধরে নিচ্ছি যে আমরা একটি এন্টারপ্রাইজ প্রসঙ্গে আমাদের ব্লকচেইন ব্যবহার করছি, সিস্টেমটি সমগ্র ইন্টারনেটের পরিবর্তে অংশগ্রহণকারীদের একটি বদ্ধ গ্রুপের মধ্যে চলে। দ্বিতীয়ত, ব্লকচেইন একটি বিকেন্দ্রীকৃত ক্রম, টাইমস্ট্যাম্পিং এবং নোটারাইজেশন ব্যাকবোন যোগ করে, যা সমস্ত ব্যবহারকারীকে ঠিক কী, কখন এবং কার দ্বারা ঘটেছিল তার একটি প্রমাণিতভাবে সামঞ্জস্যপূর্ণ এবং টেম্পার-প্রতিরোধী দৃষ্টিভঙ্গি বজায় রাখতে সক্ষম করে।

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

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

মাল্টিচেইন 2.0-এ অফ-চেইন ডেটা

আজ আমরা প্রকাশ করতে পেরে আনন্দিত তৃতীয় পূর্বরূপ সংস্করণ মাল্টিচেইন 3-এর (আলফা 2.0), অফ-চেইন ডেটার জন্য সম্পূর্ণ সমন্বিত এবং নিরবিচ্ছিন্ন সমাধান সহ। একটি স্ট্রীমে প্রকাশিত প্রতিটি তথ্য অন-চেইন বা অফ-চেইন হতে পারে, এবং মাল্টিচেইন অন্য সবকিছুর যত্ন নেয়।

না সত্যিই, আমরা মানে সব. MultiChain-এ একজন বিকাশকারী বিল্ডিং হিসাবে, আপনাকে হ্যাশ, স্থানীয় স্টোরেজ, বিষয়বস্তু আবিষ্কার, বিকেন্দ্রীভূত বিতরণ বা ডেটা যাচাইকরণের বিষয়ে চিন্তা করতে হবে না। পর্দার আড়ালে যা ঘটে তা এখানে:

  1. পাবলিশিং মাল্টিচেইন নোড তার স্থানীয় স্টোরেজে নতুন ডেটা লিখে, সহজ হজম এবং ডেলিভারির জন্য বড় আইটেমগুলিকে টুকরো টুকরো করে।
  2. অফ-চেইন স্ট্রিম আইটেম প্রকাশের জন্য লেনদেন স্বয়ংক্রিয়ভাবে নির্মিত হয়, যার মধ্যে খণ্ড হ্যাশ(গুলি) এবং আকার(গুলি) বাইটে থাকে৷
  3. এই লেনদেনটি স্বাক্ষরিত এবং নেটওয়ার্কে সম্প্রচার করা হয়, নোডগুলির মধ্যে প্রচার করে এবং স্বাভাবিক উপায়ে ব্লকচেইনে প্রবেশ করে।
  4. যখন একটি স্ট্রীমে সাবস্ক্রাইব করা একটি নোড কিছু অফ-চেইন ডেটার একটি রেফারেন্স দেখে, তখন এটি সেই ডেটার জন্য তার পুনরুদ্ধার সারিতে খণ্ড হ্যাশ যোগ করে। (একটি পুরানো স্ট্রীমে সাবস্ক্রাইব করার সময়, একটি নোড পুনরুদ্ধারের জন্য পূর্বে প্রকাশিত যে কোনও অফ-চেইন আইটেমকেও সারিবদ্ধ করে।)
  5. একটি ব্যাকগ্রাউন্ড প্রক্রিয়া হিসাবে, যদি একটি নোডের পুনরুদ্ধার সারিতে খণ্ডগুলি থাকে, সেই খণ্ডগুলি সনাক্ত করতে নেটওয়ার্কে অনুসন্ধানগুলি পাঠানো হয়, যেমনটি তাদের হ্যাশ দ্বারা চিহ্নিত করা হয়।
  6. এই খণ্ড প্রশ্নগুলি পিয়ার-টু-পিয়ার ফ্যাশনে নেটওয়ার্কের অন্যান্য নোডগুলিতে প্রচারিত হয় (আপাতত দুটি হপের মধ্যে সীমাবদ্ধ - নীচে প্রযুক্তিগত বিবরণ দেখুন)।
  7. যেকোন নোড যার মধ্যে একটি খণ্ডের জন্য ডেটা রয়েছে তা প্রতিক্রিয়া জানাতে পারে এবং এই প্রতিক্রিয়াটি গ্রাহকের কাছে ক্যোয়ারীটির মতো একই পথ ধরে রিলে করা হয়।
  8. যদি কোনো নোড খণ্ড প্রশ্নের উত্তর না দেয়, তাহলে খণ্ডটিকে পরে পুনরায় চেষ্টা করার জন্য সারিতে ফিরিয়ে দেওয়া হয়।
  9. অন্যথায়, গ্রাহক একটি অংশের জন্য সবচেয়ে প্রতিশ্রুতিশীল উত্সটি বেছে নেয় (হপস এবং প্রতিক্রিয়া সময়ের উপর ভিত্তি করে), এবং এটিকে সেই অংশের ডেটার জন্য অনুরোধ পাঠায়, আবার আগের প্রতিক্রিয়ার মতো একই পিয়ার-টু-পিয়ার পাথ বরাবর।
  10. সোর্স নোড আবার একই পথ ব্যবহার করে অনুরোধ করা ডেটা সরবরাহ করে।
  11. গ্রাহক মূল অনুরোধের বিপরীতে ডেটার আকার এবং হ্যাশ যাচাই করে।
  12. যদি সবকিছু চেক আউট হয়, গ্রাহক তার স্থানীয় স্টোরেজে ডেটা লেখেন, এটি স্ট্রিম API-এর মাধ্যমে পুনরুদ্ধারের জন্য অবিলম্বে উপলব্ধ করে।
  13. যদি অনুরোধ করা বিষয়বস্তু না আসে, বা পছন্দসই হ্যাশ বা আকারের সাথে মেলে না, তাহলে খণ্ডটি অন্য উৎস থেকে ভবিষ্যতে পুনরুদ্ধারের জন্য সারিতে ফিরিয়ে দেওয়া হয়।

সবচেয়ে গুরুত্বপূর্ণ, এই সব অত্যন্ত দ্রুত ঘটে. কম লেটেন্সি সহ নেটওয়ার্কগুলিতে, অফ-চেইন ডেটার ছোট টুকরা গ্রাহকদের কাছে লেনদেনের একটি বিভক্ত সেকেন্ডের মধ্যে পৌঁছে যাবে যা তাদের উল্লেখ করে। এবং উচ্চ লোড অ্যাপ্লিকেশনের জন্য, আমাদের পরীক্ষা দেখায় যে মাল্টিচেইন 2.0 আলফা 3 একটি শালীন সহ একটি মধ্য-রেঞ্জ সার্ভারে (কোর i1000) প্রতি সেকেন্ডে 25টির বেশি অফ-চেইন আইটেম বা 7 এমবি অফ-চেইন ডেটা পুনরুদ্ধারের হার বজায় রাখতে পারে। ইন্টারনেট সংযোগ. অন-চেইন ডেটার জন্য 1 MB সীমা ছাড়িয়ে 64 GB পর্যন্ত অফ-চেইন আইটেমগুলির সাথে সবকিছু ঠিকঠাক কাজ করে৷ অবশ্যই, আমরা এই সংখ্যাগুলিকে আরও উন্নত করার আশা করি কারণ আমরা মাল্টিচেইন 2.0 এর বিটা পর্বে অপ্টিমাইজ করার সময় ব্যয় করি।

স্ট্রিমগুলিতে অন-চেইন ডেটার পরিবর্তে অফ-চেইন ব্যবহার করার সময়, মাল্টিচেইন অ্যাপ্লিকেশন বিকাশকারীদের ঠিক দুটি জিনিস করতে হবে:

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

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

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

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

তো এরপর কি?

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

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

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

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

কোন মন্তব্য পোস্ট করুন লিঙ্কডইন উপর.

প্রযুক্তিগত বিবরণ

যদিও MultiChain 2.0-এ অফ-চেইন স্ট্রিম আইটেমগুলি ব্যবহার করা সহজ, সেগুলিতে অনেকগুলি ডিজাইনের সিদ্ধান্ত এবং অতিরিক্ত বৈশিষ্ট্য রয়েছে যা আগ্রহের হতে পারে। নীচের তালিকাটি মূলত ব্লকচেইন অ্যাপ্লিকেশন তৈরিকারী বিকাশকারীদের জন্য প্রাসঙ্গিক হবে এবং কম প্রযুক্তিগত প্রকারের দ্বারা এড়িয়ে যেতে পারে:

  • প্রতি-স্ট্রীম নীতি। যখন একটি মাল্টিচেইন স্ট্রিম তৈরি করা হয়, তখন এটি ঐচ্ছিকভাবে শুধুমাত্র অন-চেইন বা অফ-চেইন ডেটার অনুমতি দেওয়ার জন্য সীমাবদ্ধ করা যেতে পারে। প্রতিটি প্রকাশককে নিজের জন্য সিদ্ধান্ত নেওয়ার অনুমতি দেওয়ার পরিবর্তে এটি করার জন্য বেশ কয়েকটি সম্ভাব্য কারণ রয়েছে৷ উদাহরণস্বরূপ, অন-চেইন আইটেমগুলি একটি আয়রনক্ল্যাড প্রাপ্যতার গ্যারান্টি অফার করে, যেখানে পুরানো অফ-চেইন আইটেমগুলি তাদের প্রকাশক এবং অন্যান্য গ্রাহকরা নেটওয়ার্ক বন্ধ করে দিলে সেগুলি অপ্রত্যাশিত হতে পারে। অন্যদিকে, ব্লকচেইন পরিবর্তন না করে অন-চেইন আইটেমগুলিকে "ভুলে যাওয়া" যায় না, অন্যদিকে অফ-চেইন আইটেমগুলি আরও নমনীয়। ডেটা গোপনীয়তা নিয়মের ক্ষেত্রে এটি গুরুত্বপূর্ণ হতে পারে, যেমন ইউরোপের নতুন GDPR প্রবিধান।
  • অন-চেইন মেটাডেটা। অফ-চেইন আইটেমগুলির জন্য, অন-চেইন লেনদেনে এখনও আইটেমের প্রকাশক(গুলি), কী(গুলি), বিন্যাস (JSON, পাঠ্য বা বাইনারি) এবং মোট আকার থাকে৷ এই সবগুলি খুব কম জায়গা নেয়, এবং অ্যাপ্লিকেশন বিকাশকারীদের একটি অফ-চেইন আইটেমের অনুপলব্ধতা একটি নির্দিষ্ট স্ট্রিম প্রশ্নের জন্য উদ্বেগের বিষয় কিনা তা নির্ধারণ করতে সহায়তা করে৷
  • দুই-হপ সীমা। পিয়ার-টু-পিয়ার নেটওয়ার্ক জুড়ে খণ্ড প্রশ্নগুলি রিলে করার সময়, পৌঁছানোর এবং কার্যকারিতার মধ্যে একটি লেনদেন হয়। যদিও প্রতিটি প্রশ্নের জন্য প্রতিটি একক পথ ধরে প্রচার করা ভাল হবে, এটি অপ্রয়োজনীয় "বকবক" দিয়ে নেটওয়ার্ককে আটকাতে পারে। তাই আপাতত খণ্ড ক্যোয়ারী দুটি হপের মধ্যে সীমাবদ্ধ, যার অর্থ হল একটি নোড তার সমবয়সীদের যেকোনো পিয়ার থেকে অফ-চেইন ডেটা পুনরুদ্ধার করতে পারে। 1000-এর কম নোডের ছোট নেটওয়ার্কগুলিতে যেগুলি এন্টারপ্রাইজ ব্লকচেইনগুলিকে বৈশিষ্ট্যযুক্ত করে, আমরা বিশ্বাস করি এটি ঠিক কাজ করবে, কিন্তু যদি আমরা ভুল হয়ে যাই তবে এই সীমাবদ্ধতাটি সামঞ্জস্য করা (বা এটিকে একটি প্যারামিটার হিসাবে অফার করা) আমাদের পক্ষে সহজ।
  • স্থানীয় স্টোরেজ। প্রতিটি মাল্টিচেইন নোড একটি দক্ষ বাইনারি বিন্যাস এবং লেভেলডিবি সূচক ব্যবহার করে তার নিয়মিত ব্লকচেইন ডিরেক্টরির "খণ্ড" ডিরেক্টরির মধ্যে অফ-চেইন ডেটা সঞ্চয় করে। সাবস্ক্রাইব করা প্রতিটি স্ট্রীমের আইটেমগুলির জন্য একটি পৃথক সাব-ডিরেক্টরি ব্যবহার করা হয়, সেইসাথে নোড দ্বারা প্রকাশিত হয়। এই প্রতিটি সাবডিরেক্টরির মধ্যে, ডুপ্লিকেট খণ্ডগুলি (একই হ্যাশ সহ) শুধুমাত্র একবার সংরক্ষণ করা হয়। যখন একটি নোড একটি স্ট্রীম থেকে আনসাবস্ক্রাইব করে, এটি সেই স্ট্রিমের জন্য পুনরুদ্ধার করা অফ-চেইন ডেটা শুদ্ধ করবে কিনা তা বেছে নিতে পারে।
  • বাইনারি ক্যাশে। বাইনারি ডেটার বড় টুকরো প্রকাশ করার সময়, অন-চেইন বা অফ-চেইন যাই হোক না কেন, অ্যাপ্লিকেশন ডেভেলপারদের জন্য একক JSON-RPC অনুরোধে সেই ডেটা MultiChain-এর API-এ পাঠানো ব্যবহারিক নাও হতে পারে। সুতরাং মাল্টিচেইন 2.0 একটি বাইনারি ক্যাশে প্রয়োগ করে, যা একাধিক API কলের মাধ্যমে ডেটার বড় অংশ তৈরি করতে সক্ষম করে এবং তারপর একটি সংক্ষিপ্ত চূড়ান্ত ধাপে প্রকাশিত হয়। বাইনারি ক্যাশের প্রতিটি আইটেম ব্লকচেইন ডিরেক্টরির "ক্যাশে" সাবডিরেক্টরিতে একটি সাধারণ ফাইল হিসাবে সংরক্ষণ করা হয়, যা ফাইল সিস্টেমের মাধ্যমে সরাসরি গিগাবাইট ডেটা পুশ করার অনুমতি দেয়।
  • পর্যবেক্ষণ APIs. মাল্টিচেইন 2.0 আলফা 3 অফ-চেইন ডেটার অ্যাসিঙ্ক্রোনাস পুনরুদ্ধার নিরীক্ষণের জন্য দুটি নতুন API যোগ করে। প্রথম API সারির বর্তমান অবস্থা বর্ণনা করে, দেখায় কত খণ্ড (এবং কত ডেটা) অপেক্ষা করছে বা জিজ্ঞাসা করা হচ্ছে বা পুনরুদ্ধার করা হচ্ছে। দ্বিতীয় API নোড শুরু হওয়ার পর থেকে পাঠানো সমস্ত খণ্ড প্রশ্ন এবং অনুরোধের জন্য সামগ্রিক পরিসংখ্যান প্রদান করে, বিভিন্ন ধরনের ব্যর্থতার গণনা সহ।
  • প্রকাশে ফ্লাশ করুন। একটি অফ-চেইন আইটেম প্রকাশ করার সময়, মাল্টিচেইন নিশ্চিত করে যে ডেটার স্থানীয় অনুলিপিটি নেটওয়ার্কে সম্প্রচার করা হয় এমন লেনদেনের উল্লেখ করার আগে ফিজিক্যাল ডিস্ক ড্রাইভে সম্পূর্ণরূপে লেখা হয়েছে (বা "ফ্লাশ")। অন্যথায়, যদি নোডটি লেনদেন সম্প্রচার করার সাথে সাথে পাওয়ার হারানোর জন্য যথেষ্ট দুর্ভাগ্যজনক হয়, অফ-চেইন ডেটা স্থায়ীভাবে হারিয়ে যেতে পারে। এটি মাল্টিচেইনের জন্য একটি সমস্যা নয়, যেহেতু একটি খণ্ডের পুনরুদ্ধারের প্রচেষ্টার মধ্যে বিলম্ব সময়ের সাথে স্বয়ংক্রিয়ভাবে বৃদ্ধি পায়। কিন্তু এটি অ্যাপ্লিকেশন স্তরে সমস্যা সৃষ্টি করতে পারে, যেখানে প্রত্যেকে কিছু ডেটার অস্তিত্ব সম্পর্কে জানে কিন্তু কেউ এটি খুঁজে পায় না।
  • প্রকাশনা কর্মক্ষমতা. এইভাবে ডিস্কে অফ-চেইন ডেটা ফ্লাশ করার মাধ্যমে, মাল্টিচেইন একটি কর্মক্ষমতা জরিমানা বহন করতে পারে, যেহেতু শারীরিক ডিস্কগুলি ধীর। উদাহরণস্বরূপ, একটি মিড-রেঞ্জ 7200 rpm হার্ড ড্রাইভ প্রতি সেকেন্ডে প্রায় 100 র্যান্ডম ডেটা রাইটিং করতে পারে, যার ফলে একটি পৃথক নোড অফ-চেইন আইটেম প্রকাশ করতে পারে এমন হারকে সীমিত করে। এই সমস্যার জন্য তিনটি সম্ভাব্য সমাধান আছে। প্রথম এবং সবচেয়ে সহজভাবে, নোডগুলি নিয়মিত হার্ড ড্রাইভের পরিবর্তে একটি সলিড স্টেট ডিভাইস (SSD) ড্রাইভ ব্যবহার করতে পারে, যা প্রতি সেকেন্ডে 10,000 এলোমেলো লেখার ক্রিয়াকলাপ সমর্থন করে। দ্বিতীয়ত, একাধিক অফ-চেইন আইটেম "createrawsendfrom" API ব্যবহার করে একটি একক লেনদেনে প্রকাশ করা যেতে পারে। এই ক্ষেত্রে, মাল্টিচেইন একটি একক ডিস্ক অপারেশনে একটি লেনদেনের দ্বারা উল্লেখ করা সমস্ত অফ-চেইন ডেটা লিখে। অবশেষে, মাল্টিচেইনকে কনফিগার করা যেতে পারে যাতে লেনদেন সম্প্রচার করার আগে অফ-চেইন ডেটা ডিস্কে ফ্লাশ না করে যা এটির উল্লেখ করে। এই বিকল্পটি যত্ন সহকারে ব্যবহার করুন।
  • দেশীয় মুদ্রা একীকরণ. ব্যবহারের ক্ষেত্রে যেগুলির প্রয়োজন হয়, মাল্টিচেইন সর্বদা লেনদেন স্প্যাম প্রতিরোধ করতে এবং/অথবা ব্লক যাচাইকারীদের ("মানিকারদের") উত্সাহ দেওয়ার জন্য একটি ব্লকচেইনে একটি দেশীয় মুদ্রা ব্যবহার করার বিকল্প অফার করে। এই ক্ষেত্রে, লেনদেনগুলিকে অবশ্যই ন্যূনতম ফি দিতে হবে যা বাইটে তাদের আকারের সমানুপাতিক, যাতে চেইনে রিলে এবং নিশ্চিত করা যায়। একটি লেনদেনে রেফারেন্সকৃত অফ-চেইন ডেটার প্রতি কিলোবাইটে ন্যূনতম অতিরিক্ত ফি প্রয়োজন করে অফ-চেইন স্প্যাম প্রতিরোধ করার জন্য এই প্রক্রিয়াটি প্রসারিত করা হয়েছে।
  • আর্কাইভ নোড. যদি একটি নোড প্রতিটি স্ট্রীমে সাবস্ক্রাইব করতে চায়, এবং সেইজন্য প্রকাশিত প্রতিটি অফ-চেইন আইটেম পুনরুদ্ধার এবং সঞ্চয় করতে চায়, এটি "অটোসাবস্ক্রাইব" রানটাইম প্যারামিটার ব্যবহার করে এটি করার জন্য কনফিগার করা যেতে পারে। এই ধরনের যেকোনো নোড সমগ্র নেটওয়ার্কের জন্য একটি ব্যাকআপ হিসাবে কাজ করবে, গ্যারান্টি দেয় যে অফ-চেইন আইটেমগুলি হারিয়ে যাবে না বা অনুপলব্ধ হবে না, অন্য নোডগুলি অদৃশ্য হয়ে যাক না কেন। কেউ কল্পনা করতে পারেন যে তৃতীয় পক্ষের সংস্থাগুলি এটিকে বাণিজ্যিক পরিষেবা হিসাবে অফার করছে।

সমস্ত প্রাসঙ্গিক API কল এবং পরামিতিগুলির সম্পূর্ণ বিবরণ পাওয়া যাবে মাল্টিচেইন 2.0 পূর্বরূপ পৃষ্ঠা.

সময় স্ট্যাম্প:

থেকে আরো মাল্টিচেইন