paint-brush
রেডিক্স ইঞ্জিন: "এনশ্রাইনমেন্ট" এর জন্য একটি ভাল মডেলদ্বারা@RadixDLT
343 পড়া
343 পড়া

রেডিক্স ইঞ্জিন: "এনশ্রাইনমেন্ট" এর জন্য একটি ভাল মডেল

দ্বারা Radix Publishing10m2024/04/10
Read on Terminal Reader

অতিদীর্ঘ; পড়তে

একটি দ্রুত, আরও নিরাপদ, এবং আরও ব্যবহারযোগ্য DeFi প্ল্যাটফর্মের চাহিদা বাড়ার সাথে সাথে বর্ধিত এনশ্রাইনমেন্ট অনুসরণ করা হবে। রেডিক্স ইঞ্জিন এটি মাথায় রেখে ডিজাইন করা হয়েছিল।
featured image - রেডিক্স ইঞ্জিন: "এনশ্রাইনমেন্ট" এর জন্য একটি ভাল মডেল
Radix Publishing HackerNoon profile picture
0-item
1-item
2-item

আমার মধ্যে পূর্ববর্তী নিবন্ধ , আমি দেখেছি যে কিভাবে Radix Engine Sui-এর MoveVM-এর কিছু ত্রুটি এড়িয়ে গেছে। সংক্ষেপ:


  • Sui-এর MoveVM খুবই নিম্ন-স্তরের এবং জেনেরিক, যা একটি কষ্টকর ডিফাই প্রোগ্রামিং পরিবেশ তৈরি করে।
  • Radix Engine উচ্চ-স্তরের এবং সম্পদ + ব্যবসায়িক যুক্তি-ভিত্তিক, যা ডেভেলপারদের নিম্ন-স্তরের বিবরণের পরিবর্তে DeFi যুক্তিতে ফোকাস করতে দেয়।


Sui এর MoveVM আসলটি অনুসরণ করে ইথেরিয়াম দর্শন একটি "পরিষ্কার, সহজ, সুন্দর" প্রোটোকলের, যা অ্যাপ্লিকেশন স্তরে সবকিছু অর্পণ করে। এটি ডেভেলপারদের সেই সময়ে অজানা ডোমেন সহ যেকোনো ডোমেন অন্বেষণ করার স্বাধীনতা দেয়৷


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


অন্যদিকে, রেডিক্স ইঞ্জিন একটি মূল প্রযুক্তিগত লক্ষ্য হিসাবে নন-জেনারিক, সিস্টেম-ওয়াইড লজিক চালানোর জন্য ডিজাইন করা হয়েছে, কারণ এটি আমাদের নিম্নলিখিতগুলি করতে দেয়:


  • সিস্টেম-ব্যাপী মান/বাস্তবায়ন প্রয়োগ করুন । একটি মতামতযুক্ত মান স্ট্যাক জুড়ে উন্নয়ন/রক্ষণাবেক্ষণযোগ্যতা/সরঞ্জামকে সহজতর করার অনুমতি দেয় কারণ APIগুলি খণ্ডিত হয় না (যেমন, ERC-20 বনাম ERC-721 বনাম ERC-404), এবং বোঝার আচরণের জন্য বাইটকোড ব্যাখ্যার প্রয়োজন হয় না (আরো কিছু নয়) ERC-20 রাগ টান)। এটি ডেভেলপার এবং শেষ ব্যবহারকারীদের একটি নিরাপদ, আরও সামঞ্জস্যপূর্ণ DeFi অভিজ্ঞতা দেয়।
  • হার্ডওয়্যারের কাছাকাছি যুক্তি চালান । যেহেতু সিস্টেম লজিক সঠিকতার জন্য দোভাষী দ্বারা চালানোর প্রয়োজন হয় না, সেই যুক্তির সম্পাদন যতটা সম্ভব হার্ডওয়্যারের কাছাকাছি চালানো যেতে পারে।
  • সমান্তরাল মৃত্যুদন্ড. কিছু বস্তুর আচরণ সম্পর্কে হাতে-কলমে জ্ঞান থাকার মাধ্যমে, সমান্তরাল সম্পাদনের অনুমতি দিয়ে, কার্যকর করার আগে স্ট্যাটিক বিশ্লেষণের সিদ্ধান্ত নেওয়া সহজ।


ভিটালিক সম্প্রতি এই ধারণাটিকে "শব্দ দিয়ে স্পর্শ করেছেন enshrinement ”, বা প্রোটোকল-প্রবর্তিত যুক্তির সুবিধা লাভের জন্য বেছে বেছে বিমূর্ততা থেকে দূরে সরে যাওয়ার ধারণা। তার একটি ছবি চুরি করে, তিনি সমস্যাটিকে বিমূর্ততা বনাম এনশ্রাইনমেন্টের মধ্যে একটি ট্রেডঅফ হিসাবে তৈরি করেছেন:



ভিটালিকের বিমূর্ততা বনাম এনশ্রাইনমেন্ট ট্রেডঅফ



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


এই প্রবন্ধে, আমি দেখব যে কীভাবে রেডিক্স ইঞ্জিন অপারেটিং সিস্টেম মডেল ব্যবহার করে এমন একটি কাঠামো তৈরি করে যা প্রোটোকল জটিলতা বা নমনীয়তা হারানোর লোড ছাড়াই ভিটালিক ভয় পায়।


চলুন শুরু করা যাক বর্তমান শিল্পের মান, ইথেরিয়াম ভার্চুয়াল মেশিন (“EVM”) দেখে।

ভিএম হিসেবে ইভিএম

ইভিএম যথেষ্ট মৌলিক যে এটি একটি ভার্চুয়াল মেশিন ("VM") হিসাবে নিম্নলিখিত অপকোডগুলির সাথে মডেল করা যেতে পারে:


  • টুরিং-সম্পূর্ণ অপকোড সেট
  • অন্যান্য স্মার্ট চুক্তিতে কল করার জন্য Opcodes
  • বর্তমান স্মার্ট চুক্তির মালিকানাধীন ক্রমাগত স্টোরেজ পড়ার/লেখার জন্য Opcodes


EVM বাইটকোডে সংকলিত স্মার্ট চুক্তিগুলি তখন এই ধরনের VM-এর উপরে কার্যকর করা যেতে পারে।


ইভিএম মডেল



এই মডেলে, যেকোনো ধরনের "এনশ্রাইনমেন্ট" এর জন্য ইভিএম বা ভিএম হার্ডওয়্যারে পরিবর্তন প্রয়োজন। উদাহরণস্বরূপ, BLS স্বাক্ষর সমর্থনের জন্য একটি নতুন প্রি-কম্পাইল যোগ করতে হবে। বাস্তবায়ন করছে EIP-2938 নতুন opcode যোগ করার প্রয়োজন হবে. যা অন্তর্ভুক্ত করা হয়েছে তা সম্প্রসারণ করা অনিবার্যভাবে একটি বৃহত্তর, আরও জটিল VM তৈরি করে এবং প্রোটোকল ডিজাইনারকে ভিটালিক বর্ণনা করা এক বা অন্য সিদ্ধান্ত নিতে বাধ্য করে।



ইভিএম মডেলে এনশ্রাইনমেন্ট


এই মডেলের সাধারণ সমস্যা হল যে অ্যাবস্ট্রাকশন/এনশ্রাইনমেন্ট ডিকোটমি খুব বেশি সফটওয়্যার/হার্ডওয়্যার ডিকোটমির সাথে মিলিত। অর্থাত্, প্রোটোকলের মধ্যে যেকোন যুক্তি সংযোজন করা এটিকে VM-এ এমবেড করতে বাধ্য করে। সিস্টেমের অংশ "এনশ্রাইন্ড সফ্টওয়্যার" বা সফ্টওয়্যার প্রকাশ করার কোন উপায় নেই।


অপারেটিং সিস্টেমগুলি "সিস্টেম সফ্টওয়্যার" ধারণার সাথে এই দ্বিধাবিভক্তির সমাধান করেছে। এর একটি ঘনিষ্ঠ কটাক্ষপাত করা যাক.

অপারেটিং সিস্টেম মডেল

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


অপারেটিং সিস্টেম মডেল


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


অপারেটিং সিস্টেম মডেলে এনশ্রাইনমেন্ট



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

রেডিক্স ইঞ্জিন একটি অপারেটিং সিস্টেম হিসাবে

এই অপারেটিং সিস্টেম মডেলটিকে অনুপ্রেরণা হিসাবে ব্যবহার করে, রেডিক্স ইঞ্জিন একাধিক স্তর অন্তর্ভুক্ত করে, প্রতিটিতে একটি নির্দিষ্ট দায়িত্ব এবং বিমূর্ততা রয়েছে, যা সিস্টেম মডুলারিটি এবং প্লাগযোগ্যতার জন্য অনুমতি দেয়।


রেডিক্স ইঞ্জিন স্তর



এই ধরনের একটি মডুলার ডিজাইন সিস্টেম লজিক প্রয়োগ করার অনুমতি দেয় এবং নিম্নলিখিতগুলিকেও অনুমতি দেয়:


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


আসুন এখন এই স্তরগুলির প্রতিটির উপর যান এবং তাদের দায়িত্বগুলি কী তা দেখুন।

আবেদন স্তর

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


স্ক্রিপ্টো-তে লেখা অ্যাপ্লিকেশন, আমরা DeFi বিকাশের জন্য যে মরিচা-ভিত্তিক ভাষা তৈরি করেছি, এই স্তরে থাকে। স্ক্রিপ্টো প্রোগ্রামগুলি WASM প্রোগ্রামগুলিতে সংকলিত হয় ফাংশন এক্সপোর্টের একটি সেটের অ্যাক্সেস সহ যা প্রোগ্রামটিকে সিস্টেম/কার্নেল পরিষেবাগুলি অ্যাক্সেস করতে দেয়। এই সিস্টেম কল API লিনাক্সের মতই সিস্টেম কল , যা শেয়ার্ড I/O-তে অ্যাক্সেস প্রদান করে।

ভিএম লেয়ার

পরবর্তী স্তরে চলে যাওয়া, ভিএম স্তরটি অ্যাপ্লিকেশন স্তরের জন্য কম্পিউটিং পরিবেশ প্রদানের জন্য দায়ী। এর মধ্যে রয়েছে একটি টিউরিং-সম্পূর্ণ VM এবং সেইসাথে সিস্টেম স্তর অ্যাক্সেস করার জন্য ইন্টারফেস।


রেডিক্স ইঞ্জিন বর্তমানে দুটি ভিএম সমর্থন করে: একটি স্ক্রিপ্টো WASM ভিএম যা স্ক্রিপ্টো অ্যাপ্লিকেশনগুলি চালাতে ব্যবহৃত হয় এবং একটি নেটিভ ভিএম যা হোস্টের পরিবেশে সংকলিত নেটিভ প্যাকেজগুলি চালায়।


যদি আমরা বিশেষভাবে স্ক্রিপ্টো WASM VM এর দিকে তাকাই, তাহলে এটি দেখতে এরকম হবে:


স্ক্রিপ্টো WASM VM মডেল



এটি মূলত ইভিএম মডেলের মতো দেখতে হতে পারে, তবে দুটি গুরুত্বপূর্ণ পার্থক্য রয়েছে:


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


  • সিস্টেম কলের সংযোজন । সিস্টেম কল হল এমন একটি প্রক্রিয়া যার মাধ্যমে অ্যাপ্লিকেশন স্তর সিস্টেম স্তরের পরিষেবাগুলি অ্যাক্সেস করতে পারে, যেমন অন্যান্য অ্যাপ্লিকেশনগুলিতে আহ্বান করা বা কোনও বস্তুতে ডেটা লেখা। এই সিস্টেম কলগুলি বাস্তব CPU-তে সফ্টওয়্যার বাধা নির্দেশের অনুরূপ (যেমন, আইএনটি x86-এ নির্দেশনা)।

সিস্টেম লেয়ার

সিস্টেম লেয়ার সিস্টেম মডিউল বা প্লাগেবল সফ্টওয়্যারগুলির একটি সেট বজায় রাখার জন্য দায়ী যা সিস্টেমের কার্যকারিতা প্রসারিত করতে পারে। এগুলো লিনাক্সের মতই কার্নেল মডিউল .


প্রতিটি সিস্টেম কলে, সিস্টেম স্তর কার্নেল স্তরে নিয়ন্ত্রণ পাস করার আগে প্রতিটি সিস্টেম মডিউল কল করা হয়। কল করা হলে, প্রতিটি সিস্টেম মডিউল কিছু নির্দিষ্ট অবস্থা আপডেট করতে পারে (যেমন, ফি আপডেট করা খরচ) বা লেনদেন শেষ করতে আতঙ্কিত হতে পারে (যেমন, টাইপ চেকার ব্যর্থ হলে)।


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


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


কার্নেল স্তর

কার্নেল স্তরটি রেডিক্স ইঞ্জিনের দুটি মূল কার্যকারিতার জন্য দায়ী: স্টোরেজ অ্যাক্সেস এবং অ্যাপ্লিকেশনগুলির মধ্যে যোগাযোগ। এটি ডিস্ক এবং নেটওয়ার্ক অ্যাক্সেসের জন্য ঐতিহ্যবাহী অপারেটিং সিস্টেমের দায়িত্বের সাথে কিছুটা মিল।


রেডিক্স ইঞ্জিনের জন্য, এর মধ্যে নিম্নলিখিত নিম্ন-স্তরের ব্যবস্থাপনা রয়েছে:


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

সংরক্ষিত সফটওয়্যার

এই স্তরগুলি কীভাবে একটি DLT প্রোটোকলে এনশ্রাইনমেন্টের সাথে সম্পর্কিত? অপারেটিং সিস্টেমের কার্নেল স্তরের মতো, রেডিক্স ইঞ্জিনের এই মাঝারি স্তরগুলি সফ্টওয়্যার/হার্ডওয়্যার ডিকোটমি থেকে বিমূর্ততা/এনশ্রাইনমেন্ট ডিকোটমি ডিকপল করার জন্য প্রয়োজনীয় নির্দেশ প্রদান করে এবং "এনশ্রাইন্ড সফ্টওয়্যার" ধারণা তৈরি করে।


বিমূর্ততা/এনশ্রাইনমেন্ট বনাম সফ্টওয়্যার/হার্ডওয়্যারের ডিকপলিং



সিস্টেম-ওয়াইড লজিক প্রয়োগ করার ক্ষমতা বজায় রেখে সফ্টওয়্যারের নমনীয়তা এবং সুরক্ষা বৈশিষ্ট্যগুলি এনশরিনড সফ্টওয়্যার রয়েছে৷


র‌্যাডিক্স ইঞ্জিনের সফটওয়্যার

চলুন এখন রেডিক্স নেটওয়ার্কে চলমান কয়েকটি এনশ্রাইনমেন্টের উদাহরণ দেখি এবং দেখুন কিভাবে সেগুলি বাস্তবায়িত হয়।

সংরক্ষিত সম্পদ

Radix DeFi/Web3 প্ল্যাটফর্মের মূল পার্থক্যকারী হল ধারণা যে একটি সম্পদ (যেমন, সম্পদ) একটি মৌলিক আদিম যা ব্যবসায়িক যুক্তি থেকে আলাদাভাবে বোঝা উচিত। এই ধারণাটি এনশারিন করা সমস্ত dApps, ওয়ালেট এবং টুলিংকে একটি সম্পদের ইন্টারফেস এবং আচরণ কেমন দেখায় সে সম্পর্কে একটি সাধারণ বোঝার অনুমতি দেয়, যা কম্পোজিবিলিটি অনেক সহজ করে তোলে।


যদিও সংস্থানগুলি সিস্টেমের সবচেয়ে অন্তর্নিহিত অংশগুলির মধ্যে একটি, এটির সংযোজন বাস্তবায়নের জন্য শুধুমাত্র দুটি মডুলার সফ্টওয়্যার প্রয়োজন:


  • একটি নেটিভ প্যাকেজ যা বালতি, ভল্ট এবং প্রুফের মতো রিসোর্স অবজেক্টের যুক্তি পরিচালনা করে

  • একটি সিস্টেম মডিউল যা এই বস্তুর জীবনকালের পরিবর্তনগুলিকে প্রয়োগ করে (যেমন সম্পদের চলনযোগ্যতা এবং জ্বলনযোগ্যতা)


র‌্যাডিক্স ইঞ্জিনের সংরক্ষিত সম্পদ


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

এনশরাইড অনুমোদন এবং রয়্যালটি

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


সিস্টেম লজিক থেকে বিজনেস লজিক ডিকপলিং করার মডুলারিটি সুবিধাজনক ডেভেলপমেন্ট/ডিবাগিং বিকল্পের জন্যও অনুমতি দেয় যেমন স্বাভাবিক প্রমাণীকরণ চেক ছাড়াই একটি লেনদেনের পূর্বরূপ দেখার ক্ষমতা (কোথাও 10 মিলিয়ন USDC পাঠানোর ফলাফল অনুকরণ করতে চান? অনুমোদন অক্ষম থাকলে, আপনার পূর্বরূপ লেনদেন হতে পারে মিন্টিং করুন!)


প্রমাণীকরণ এবং রয়্যালটির জন্য চারটি মডুলার সফ্টওয়্যার প্রয়োজন:


  • প্রমাণীকরণ এবং রয়্যালটি নেটিভ প্যাকেজ যা অ্যাপ্লিকেশন স্তরকে যেকোন বস্তুর অনুমোদন/রয়্যালটি অ্যাক্সেস করতে দেয় (উদাহরণস্বরূপ, একটি পদ্ধতি অ্যাক্সেস করতে বা রয়্যালটি দাবি করার জন্য প্রমাণীকরণ নিয়ম পুনরুদ্ধার করা)।

  • কল করার এবং রয়্যালটি সংগ্রহ করার জন্য কলারের পর্যাপ্ত অনুমোদন আছে কিনা তা যাচাই করার জন্য একটি অবজেক্ট মেথড কলের আগে Auth এবং রয়্যালটি সিস্টেম মডিউলগুলি কল করা হয়।



র‌্যাডিক্স ইঞ্জিনের নিযুক্ত অনুমোদন এবং রয়্যালটি


সংরক্ষিত লেনদেন

ব্যবহারকারী এবং সিস্টেমের মধ্যে সঠিক ইন্টারফেস যেকোন সিস্টেম ব্যবহারযোগ্য হওয়ার জন্য সর্বোত্তম। ব্যবহারযোগ্য হওয়ার জন্য, ইন্টারফেসটিকে অবশ্যই ব্যবহারের সহজতা এবং শক্তি/নমনীয়তার মধ্যে সঠিক ভারসাম্য খুঁজে বের করতে হবে।


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


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


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


যেহেতু একটি লেনদেনের এন্ট্রি পয়েন্টটি অ্যাপ্লিকেশন স্তরে কাজ করে, ভাষা দোভাষী একটি লেনদেন প্রসেসর নেটিভ প্যাকেজ যোগ করে প্রয়োগ করা হয়।


র‌্যাডিক্স ইঞ্জিনের সংরক্ষিত লেনদেন


নিযুক্ত BLS

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


যেহেতু BLS লজিক স্টেটলেস, এটি সহজেই Scrypto WASM VM-এ অতিরিক্ত প্রিকম্পাইল হিসেবে যোগ করা যেতে পারে।


Radix Engine এর Enshrined BLS

উপসংহার

কোন DLT প্রোটোকলের জন্য কোনটা enshrine করতে হবে এবং কোনটা enshrine করা উচিত নয় তা গুরুত্বপূর্ণ। দুর্ভাগ্যবশত, শিল্পের বিদ্যমান ভিএম মডেল প্রতিটি এনশ্রাইনমেন্ট সিদ্ধান্তকে উচ্চ-স্টেকের সিদ্ধান্তে পরিণত করে।


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


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


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