নতুন MultiChain ওয়ালেট PlatoBlockchain ডেটা ইন্টেলিজেন্স ঘোষণা করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.

নতুন মাল্টিচেইন ওয়ালেট ঘোষণা করছে

কর্মক্ষমতা এবং মাপযোগ্যতার জন্য একটি গুরুত্বপূর্ণ ধাপ এগিয়ে

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

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

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

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

বিটকয়েন কোরের ওয়ালেট

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

তাহলে আমরা বিটকয়েন কোর থেকে উত্তরাধিকারসূত্রে প্রাপ্ত মানিব্যাগটিতে কী ভুল? আসলে, তিনটি জিনিস:

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

ফলস্বরূপ, প্রায় 20,000 লেনদেন সংরক্ষিত থাকার ফলে, বিটকয়েন কোরের ওয়ালেট উল্লেখযোগ্যভাবে ধীর হয়ে যায়। 200,000 বা তার পরে, এটি কার্যত থেমে যায়। আরও খারাপ, যেহেতু একটি মাল্টিচেইন ব্লকচেইন প্রতি লেনদেনে 8 MB পর্যন্ত মেটাডেটা অনুমোদন করে (বিটকয়েনের 80 বাইটের তুলনায়), ওয়ালেটের মেমরির প্রয়োজনীয়তা অল্প সংখ্যক লেনদেনের সাথেও দ্রুত বেলুন হতে পারে।

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

মাল্টিচেইনের নতুন ওয়ালেট

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

নতুন মানিব্যাগ কিভাবে আলাদা? আপনার যদি ডাটাবেসগুলির সাথে কোন অভিজ্ঞতা থাকে তবে উত্তরগুলি সুস্পষ্ট হতে পারে:

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

অন্য কথায়, আমরা ইন-নোড ওয়ালেটটিকে সঠিকভাবে ডাটাবেস-চালিত করার জন্য পুনর্নির্মাণ করেছি (ব্যবহার করে লেভেলডিবি), মেমরির একটি নির্বোধ কাঠামোর উপর নির্ভর করার পরিবর্তে যা দক্ষতার সাথে অনুসন্ধান করা যায় না। আশ্চর্যজনকভাবে, পার্থক্যটি (3.4 GHz Intel Core i7 এ পরিমাপ করা হয়েছে) বরং নাটকীয়:

মাল্টিচেইন ওয়ালেট লেনদেন থ্রুপুট

মেমরি ব্যবহার

গ্রাফগুলি দেখায় যে, একবার পুরানো ওয়ালেটে 250,000 লেনদেন থাকলে, এটির প্রেরণের হার 3 tx/sec এ নেমে যায় এবং এটি নোডের মেমরি ব্যবহারে 600 MB যোগ করে। বিপরীতে, নতুন ওয়ালেট 100 tx/সেকেন্ডের বেশি টিকিয়ে রাখে এবং শুধুমাত্র 90 MB যোগ করে। আমরা এই মুহুর্তে পুরানো ওয়ালেট পরীক্ষা করা বন্ধ করে দিয়েছি, কিন্তু এমনকি 6-8 মিলিয়ন সঞ্চিত লেনদেনের পরেও, নতুন ওয়ালেটটি 100 tx/sec এর বেশি পাঠাতে থাকে এবং এটি প্রায় 250 MB RAM ব্যবহার করে (ডাটাবেস ক্যাশিংয়ের কারণে)।

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

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

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

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

প্রযুক্তিগত সংযোজন

মাল্টিচেইন আলফা 22 থেকে শুরু করে, আপনি পরীক্ষা করে যাচাই করতে পারেন যে ওয়ালেটের কোন সংস্করণটি বর্তমানে চলছে walletdbversion ক্ষেত্র getinfo or getwalletinfo API কল। একটি মান 1 মানে আসল বিটকয়েন কোর ওয়ালেট, এবং 2 মানে নতুন মাল্টিচেইন ওয়ালেট।

আপনি যদি একটি বিদ্যমান চেইনে মাল্টিচেইনের নতুন সংস্করণ চালান, তাহলে এটি অবিলম্বে নতুন ওয়ালেটে স্যুইচ করবে না। আপনি নোড বন্ধ করে এবং তারপরে পুনরায় চালু করে ওয়ালেট আপগ্রেড করতে পারেন multichaind পরামিতি সহ -walletdbversion=2 –rescan. আপনি একইভাবে ব্যবহার করে ডাউনগ্রেড করতে পারেন –walletdbversion=1 –rescan.

ডিফল্টরূপে, আপনি যখন একটি নতুন চেইনে একটি নোড শুরু করেন, তখন এটি স্বয়ংক্রিয়ভাবে নতুন ওয়ালেট ব্যবহার করবে। আপনি রান করে এটি পরিবর্তন করতে পারেন multichaind পরামিতি সহ প্রথমবার –walletdbversion=1.

নতুন মানিব্যাগ সঙ্গে, সব মাল্টিচেইন এপিআই পুরানো লেনদেন ক্যোয়ারী API গুলি বাদ দিয়ে ঠিক আগের মতই কাজ করুন getreceivedbyaddress, listreceivedbyaddress এবং listtransactions (ব্যবহারের listwallettransactions or listaddresstransactions পরিবর্তে). উপরন্তু, নতুন ওয়ালেট বিটকয়েন কোরের খারাপভাবে বাস্তবায়িত এবং শীঘ্রই অবচয়িত "অ্যাকাউন্টস" প্রক্রিয়া সম্পর্কিত API কল এবং পরামিতি সমর্থন করে না, যা মাল্টিচেইন দ্বারা কখনই সঠিকভাবে সমর্থিত ছিল না। এই কলগুলি একটি ত্রুটি বার্তা দিয়ে নিরাপদে অক্ষম করা হয়েছে৷

সূত্র: https://www.multichain.com/blog/2016/07/annoncing-the-new-multichain-wallet/

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

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