Bitcoin.com

বিটকয়েন স্ক্রিপ্ট ভাষা কী?

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

সর্বশেষ আপডেট
প্রকাশিত
পড়ার সময়৩ মিনিটে পড়ুন
লিখেছেন
Neil Author
নীল ভেলার্ডো
Crypto content specialist since 2017; reviews iGaming platforms firsthand
পর্যালোচনা করেছেন
Graham Stone Author Image
গ্রাহাম স্টোন
What is the Bitcoin Script Language?

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

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

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

স্ব-কাস্টোডি ব্যবহার করে আপনার বিটকয়েন নিরাপদে পরিচালনা করুন বিটকয়েন ডট কম ওয়ালেট অ্যাপ.

মূল বিষয়গুলো

  • বিটকয়েন স্ক্রিপ্ট একটি স্ট্যাক-ভিত্তিক প্রোগ্রামিং ভাষা যা বিটকয়েন প্রোটোকলে নির্মিত এবং এটি নির্ধারণ করে যে কোন শর্তে যেকোনো বিটকয়েন আউটপুট ব্যয় করা যেতে পারে।
  • প্রতিটি বিটকয়েন লেনদেনে দুটি স্ক্রিপ্ট থাকে: প্রাপক দ্বারা নির্ধারিত একটি লকিং স্ক্রিপ্ট (ScriptPubKey) এবং ব্যয়কারী দ্বারা প্রদত্ত একটি আনলকিং স্ক্রিপ্ট (ScriptSig)। লেনদেন বৈধ হতে উভয় স্ক্রিপ্টই সফলভাবে কার্যকর হতে হবে।
  • বিটকয়েন স্ক্রিপ্ট ইচ্ছাকৃতভাবে টিউরিং-কমপ্লিট নয়। এতে কোনো লুপ নেই, এক্সিকিউশনগুলোর মধ্যে কোনো স্থায়ী অবস্থা নেই, এবং স্ক্রিপ্টের আকারে কঠোর সীমা রয়েছে। এর ফলে প্রতিটি স্ক্রিপ্ট নিশ্চিতভাবেই সমাপ্ত হয়, যা একটি নিরাপত্তা বৈশিষ্ট্য, কোনো সীমাবদ্ধতা নয়।
  • স্ক্রিপ্টিং ভাষা পাঁচটি প্রধান ফরম্যাটের মাধ্যমে বিকশিত হয়েছে: P2PK, P2PKH, P2SH, SegWit (P2WPKH/P2WSH), এবং Taproot (P2TR), প্রতিটিই পূর্বের সংস্করণগুলোর সাথে সামঞ্জস্য রেখে সম্ভাবনার পরিধি বাড়িয়েছে।
  • ট্যাপরুট (নভেম্বর ২০২১) Schnorr স্বাক্ষর, গোপনীয়তার জন্য MAST-ভিত্তিক ব্যয় পথ, এবং ভবিষ্যতের আপগ্রেডগুলো আরও পরিচ্ছন্নভাবে পরিচালনার জন্য অন্তর্নির্মিত ব্যবস্থাসহ একটি উন্নত স্ক্রিপ্টিং ভাষা হিসেবে ট্যাপস্ক্রিপ্ট প্রবর্তন করেছে।
  • বিটকয়েন স্ক্রিপ্টে নির্মিত বাস্তব-বিশ্বের ব্যবহারের ক্ষেত্রে রয়েছে মাল্টিসিগনেচার ওয়ালেট, সময়-লকড লেনদেন, হ্যাশ টাইম-লকড কন্ট্রাক্ট (লাইটনিং-এর ভিত্তি), এসক্রো এবং ডিসক্রিট লগ কন্ট্রাক্ট।
  • ইথেরিয়াম স্মার্ট কন্ট্র্যাক্টের বিপরীতে, বিটকয়েন স্ক্রিপ্ট স্টেটলেস: প্রতিটি স্ক্রিপ্ট সম্পূর্ণ বিচ্ছিন্নভাবে চলে এবং অন্য কোনো লেনদেনের বিষয়ে কোনো ধারণা রাখে না। এটি একটি ইচ্ছাকৃত স্থাপত্যগত পছন্দ।
  • ২০২৬ সালে বিটকয়েন স্ক্রিপ্ট উন্নয়নের সবচেয়ে সক্রিয় ক্ষেত্র হলো covenant opcodes, বিশেষ করে OP_CTV (BIP-119) এবং OP_CAT (BIP-347), যা স্ক্রিপ্টগুলোকে একটি ব্যয় লেনদেন কীভাবে দেখতে হবে তা সীমাবদ্ধ করার সুযোগ দেবে। এগুলোর কোনোটিই এখনও মেইননেটে সক্রিয় হয়নি।

বিটকয়েন স্ক্রিপ্ট কী?

বিটকয়েন স্ক্রিপ্ট হল একটি স্ট্যাক-ভিত্তিক, স্টেটলেস স্ক্রিপ্টিং ভাষা যা বিটকয়েন প্রোটোকলে নির্মিত। বিটকয়েন নেটওয়ার্কে প্রতিটি লেনদেনের আউটপুটে একটি লকিং স্ক্রিপ্ট (ScriptPubKey নামে পরিচিত) থাকে, যা তহবিল খরচ করার শর্তগুলো নির্দিষ্ট করে। যে কেউ সেই তহবিল খরচ করতে চাইলে তাকে একটি আনলকিং স্ক্রিপ্ট (ScriptSig নামে পরিচিত, অথবা SegWit ও Taproot লেনদেনে witness data) প্রদান করতে হবে, যা সেই শর্তগুলো পূরণ করে।

এই ভাষাটি তার কাঠামো গ্রহণ করেছে ফর্থ থেকে, যা ১৯৬০-এর দশকে তৈরি একটি ন্যূনতম স্ট্যাক-ভিত্তিক প্রোগ্রামিং ভাষা। Forth-এর মতো, Bitcoin Script বাম থেকে ডানে পড়ে, স্ট্যাক নামে একটি ডেটা স্ট্রাকচারে কাজ করে এবং রিভার্স-পোলিশ নোটেশন (RPN) ব্যবহার করে, যেখানে অপারেটরগুলো অপারেন্ডের পরে আসে, আগে নয়। এটি একবারে একটি নির্দেশনা কার্যকর করে, কোনো লুপ নেই এবং কার্যকর করার মধ্যে কোনো স্থায়ী মেমোরি বহন করে না।

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

বিটকয়েন স্ক্রিপ্ট কীভাবে কাজ করে: স্ট্যাক মডেল

বিটকয়েন স্ক্রিপ্ট কীভাবে কাজ করে তা বুঝতে হলে আপনাকে স্ট্যাক বুঝতে হবে। স্ট্যাক হল একটি ডেটা স্ট্রাকচার যা Last-In, First-Out (LIFO) ভিত্তিতে কাজ করে। একটি প্লেটের স্তূপ কল্পনা করুন: আপনি শুধুমাত্র উপরের দিক থেকে যোগ বা অপসারণ করতে পারেন। বিটকয়েন স্ক্রিপ্টে, ডেটা স্টেকে পুশ করা হয় এবং অপকোড (অপারেশন কোড) উপরের অংশে থাকা যেকোনো ডেটাকে পরিচালনা করে।

যখন একটি বিটকয়েন নোড একটি লেনদেন বৈধতা যাচাই করে, তখন এটি ধারাবাহিকভাবে দুটি স্ক্রিপ্ট চালায়:

  1. আনলকিং স্ক্রিপ্ট (ScriptSig বা উইটনেস) কয়েন ব্যয়কারী ব্যক্তি দ্বারা প্রদান করা হয়। এটি স্টেকে ডেটা ঠেলে দেয়, সাধারণত একটি ডিজিটাল স্বাক্ষর এবং একটি পাবলিক কী।
  2. লকিং স্ক্রিপ্ট (ScriptPubKey) ব্যয় হওয়া আউটপুটে সংযুক্ত। এতে স্ট্যাক ডেটায় অপারেশন করে এবং ব্যয়ের শর্তাবলী পূরণ হয়েছে কিনা যাচাই করে এমন অপকোড রয়েছে।

যদি স্ক্রিপ্টটি কোনো ত্রুটি ছাড়াই চলে এবং শেষে স্ট্যাকে শূন্য নয় এমন মান (TRUE) রেখে যায়, তাহলে লেনদেনটি বৈধ। যদি এটি ব্যর্থ হয় বা FALSE রেখে যায়, নোড লেনদেনটি প্রত্যাখ্যান করে এবং এটি কখনোই কোনো ব্লকে অন্তর্ভুক্ত হয় না।

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

ধাপ-ধাপ: একটি স্ট্যান্ডার্ড P2PKH লেনদেন

Pay-to-Public-Key-Hash (P2PKH) হল মূল বিটকয়েন লেনদেন ধরন, যা ২০০৯ সাল থেকে ব্যবহৃত হচ্ছে। P2PKH ঠিকানাগুলি "1" দিয়ে শুরু হয়। বাস্তবে ScriptPubKey এবং ScriptSig কেমন দেখায় তা এখানে দেখুন:

স্ক্রিপ্ট আনলকিং (ScriptSig):

<স্বাক্ষর> <পাবলিক কী>

লকিং স্ক্রিপ্ট (ScriptPubKey):

OP_DUP OP_HASH160 <public key hash> OP_EQUALVERIFY OP_CHECKSIG

যখন নোড উভয়কে একত্রে সংযুক্ত করে এবং একসঙ্গে কার্যকর করে, তখন স্ট্যাক অপারেশনগুলো ধাপে ধাপে এগিয়ে যায়:

  • ScriptSig থেকে স্বাক্ষর এবং পাবলিক কী স্ট্যাকে পুশ করা হয়।
  • ওপি_ডুপ স্ট্যাকের শীর্ষে পাবলিক কী-এর অনুলিপি তৈরি করে
  • ওপি_হ্যাশ160 ডুপ্লিকেটটির হ্যাশ তৈরি করে (প্রথমে SHA-256, তারপর RIPEMD-160), যা একটি 20-বাইট হ্যাশ উৎপন্ন করে।
  • লকিং স্ক্রিপ্টের পাবলিক কী হ্যাশ স্ট্যাকে পুশ করা হয়।
  • ওপি_ইক্যুয়ালভারিফাই যাচাই করে যে দুইটি হ্যাশ মিলছে কিনা। যদি না মিললে, সম্পাদন থেমে যায় এবং লেনদেন ব্যর্থ হয়।
  • OP_CHECKSIG যাচাই করে যে স্বাক্ষরটি পাবলিক কী-এর জন্য বৈধ।

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

বিটকয়েন অপকোডসমূহের ব্যাখ্যা

বিটকয়েন অপকোডগুলো হল সেই পৃথক কমান্ডগুলো যা একটি স্ক্রিপ্ট গঠন করে। প্রতিটি একক বাইটের, ফলে ২৫৬টি সম্ভাব্য অপকোড স্লট রয়েছে। এর মধ্যে প্রায় ৮০টি বর্তমানে মেইননেটে সক্রিয়। বাকিগুলো সংরক্ষিত, নিষ্ক্রিয়, অথবা ট্যাপস্ক্রিপ্টের সাথে প্রবর্তিত OP_SUCCESS ফরোয়ার্ড-কম্প্যাটিবিলিটি মেকানিজমে বরাদ্দ।

অপকোডগুলো কয়েকটি বিভাগে বিভক্ত:

  • ডেটা পুশ অপকোডসমূহ স্ট্যাকে পাবলিক কী, স্বাক্ষর এবং হ্যাশের মতো মানগুলো পুশ করুন।
  • গণিত অপকোড যোগ, বিয়োগ এবং তুলনা অপারেশন সম্পাদন করুন। উল্লেখযোগ্যভাবে, গুণ ও ভাগ অক্ষম করা হয়েছে।
  • ক্রিপ্টোগ্রাফিক অপকোড হ্যাশিংয়ের জন্য OP_SHA256, OP_HASH160, OP_SHA1 এবং স্বাক্ষর যাচাইয়ের জন্য OP_CHECKSIG অন্তর্ভুক্ত করুন।
  • প্রবাহ নিয়ন্ত্রণ অপকোড শর্তসাপেক্ষ লজিক সক্ষম করুন: OP_IF, OP_ELSE, OP_ENDIF, OP_NOTIF
  • স্ট্যাক ম্যানিপুলেশন অপকোডসমূহ OP_DUP (শীর্ষ আইটেমটি অনুলিপি করা), OP_DROP (শীর্ষ আইটেমটি সরানো), এবং OP_SWAP (শীর্ষ দুইটি আইটেম বিনিময় করা) অন্তর্ভুক্ত করুন।

২০১০ সালে স্যাটoshi নাকাamoto তাদের মূল বাস্তবায়নে দুর্বলতা আবিষ্কৃত হওয়ার পর কয়েকটি অপকোড নিষ্ক্রিয় করেছিলেন। এর মধ্যে রয়েছে OP_CAT (দুটি স্ট্যাক আইটেম সংযুক্ত করা), OP_MUL (গুণ করা) এবং OP_DIV (বিভাজন করা)। তাদের অনুপস্থিতি বিটকয়েন স্ক্রিপ্টের প্রকাশক্ষমতায় দীর্ঘমেয়াদী প্রভাব ফেলেছে, এবং ২০২৬ সালে সবচেয়ে সক্রিয়ভাবে বিতর্কিত কয়েকটি বিটকয়েন আপগ্রেড প্রস্তাবনায় তাদের মধ্যে কিছু পুনরায় সক্রিয় করা হবে কি না তা নিয়ে আলোচনা হচ্ছে।

হেক্স মান এবং বর্ণনা সহ সম্পূর্ণ অপকোড রেফারেন্সের জন্য, বিটকয়েন উইকি স্ক্রিপ্ট পৃষ্ঠা এটিই কর্তৃত্বপূর্ণ উৎস।

নন-টিউরিং কমপ্লিট কেন একটি বৈশিষ্ট্য

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

গভীর যুক্তিটি আক্রমণ পৃষ্ঠ (attack surface) নিয়ে। একটি টিউরিং-সম্পূর্ণ ভাষা যেকোনো গণনা প্রকাশ করতে পারে। সেই প্রকাশক্ষমতাই সেই জায়গা যেখানে বাগগুলো বাস করে। ইথেরিয়ামের সলিডিটি ইতিহাসের অন্যতম ব্যয়বহুল সফটওয়্যার দুর্বলতা তৈরি করেছে। ২০১৬ সালের DAO হ্যাক একটি স্মার্ট কন্ট্র্যাক্টে রিএন্ট্রেন্সি ত্রুটি কাজে লাগিয়ে প্রায় ৬০ মিলিয়ন ডলারের ক্ষতি (তৎকালীন মূল্যে) ঘটিয়েছিল, যা শেষ পর্যন্ত ইথেরিয়াম নেটওয়ার্কের একটি বিতর্কিত হার্ড ফর্কের দিকে নিয়ে যায়। বিস্তৃত DeFi ইকোসিস্টেমে একাধিক বছর ধরে স্মার্ট কন্ট্র্যাক্ট এক্সপ্লয়েটের মাধ্যমে শত শত মিলিয়ন ডলারের তহবিল নিষ্কাশিত হয়েছে।

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

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

তবে 'নন-টিউরিং কমপ্লিট' মানে 'জটিল লজিক করার অক্ষমতা' নয়। বিটকয়েন স্ক্রিপ্ট মাল্টি-পার্টি স্পেন্ডিং রিকোয়ারমেন্ট, সময়ভিত্তিক শর্ত, হ্যাশ প্রিইমেজ উন্মোচন এবং এসবের সমন্বয় সমর্থন করে। দ্য লাইটনিং নেটওয়ার্ক, যা প্রতিদিন লক্ষ লক্ষ পেমেন্ট রাউট করে, সম্পূর্ণরূপে বিটকয়েন স্ক্রিপ্ট প্রিমিটিভের উপর নির্মিত।

স্ক্রিপ্টের ধরন: P2PKH থেকে ট্যাপরুট পর্যন্ত বিবর্তন

বিটকয়েনের স্ক্রিপ্টিং স্তর ২০০৯ সাল থেকে উল্লেখযোগ্যভাবে বিকশিত হয়েছে, প্রতিটি আপগ্রেড একটি নতুন লেনদেন ফর্ম্যাট প্রবর্তন করে এবং পূর্বের সবকিছুর সাথে পশ্চাদগামী সামঞ্জস্য বজায় রাখে।

P2PK (পেই-টু-পাবলিক-কি, ২০০৯)

প্রাথমিক ফরম্যাট, যা প্রথম বিটকয়েন লেনদেনে ব্যবহৃত হয়েছিল, যার মধ্যে ব্লক ১৭০-এ স্যাটوشی হ্যাল ফিনিকে করা পেমেন্ট অন্তর্ভুক্ত। তহবিল হ্যাশের পরিবর্তে সরাসরি পূর্ণ পাবলিক কী-তে লক করা হতো। আজকাল নতুন লেনদেনে এটি খুব কমই ব্যবহৃত হয়, কারণ এটি ব্যয় করার আগে পাবলিক কী অন-চেইনে প্রকাশ করে, যা কী প্রথমে হ্যাশ করার তুলনায় দুর্বল নিরাপত্তা অবস্থান হিসেবে বিবেচিত হয়।

পি২পিকেএইচ (পেমেন্ট-টু-পাবলিক-কি-হ্যাশ, ২০০৯)

এক দশকেরও বেশি সময় ধরে প্রচলিত স্ট্যান্ডার্ড ফরম্যাট। P2PKH তহবিল লক করে পাবলিক কী-এর হ্যাশে, কী-এর নিজে নয়, ব্যয় করার মুহূর্ত পর্যন্ত পাবলিক কী-কে ব্যক্তিগত রাখে, একটি সংক্ষিপ্ত ২০-বাইটের ঠিকানা তৈরি করে, এবং "1" দিয়ে শুরু হওয়া সকল ঠিকানার ভিত্তি গঠন করে। Unchained (এপ্রিল 2026) এর অন-চেইন ডেটা অনুযায়ী, P2PKH ঠিকানাসমূহ বর্তমানে খননকৃত বিটকয়েন সরবরাহের প্রায় 43% ধারণ করে।

P2SH (পে-টু-স্ক্রিপ্ট-হ্যাশ, ২০১২, BIP 16)

২০১২ সালের ১ এপ্রিল সফট ফর্ক মারফত P2SH জটিল ব্যয় স্ক্রিপ্টের বোঝা প্রেরকের থেকে গ্রহণকারীর ওপর স্থানান্তরিত করল। আউটপুটে পূর্ণ লকিং স্ক্রিপ্ট এম্বেড করার পরিবর্তে, P2SH "রিডিম স্ক্রিপ্ট" এর ২০-বাইট হ্যাশে কমিট আউটপুট করে। পূর্ণ স্ক্রিপ্ট তখনই প্রকাশ পায় যখন কয়েনগুলো ব্যয় করা হয়। এতে মাল্টিসিগ সাধারণ ব্যবহারকারীদের জন্য ব্যবহারযোগ্য হয়ে ওঠে: ২-অফ-৩ মাল্টিসিগ সেটআপে আর পেমেন্টের সময় প্রেরকের কাছে তিনটি পাবলিক কী-ই দৃশ্যমান থাকা বাধ্যতামূলক ছিল না। P2SH ঠিকানাগুলো "3" দিয়ে শুরু হয়।

প্রোটোকল স্তরে P2SH যাচাইকরণ কীভাবে কাজ করে তার বিস্তারিত বিবরণের জন্য, developer.bitcoin.org-এর লেনদেন গাইড রিডিম স্ক্রিপ্ট মেকানিজম ধাপে ধাপে ব্যাখ্যা করে।

P2WPKH এবং P2WSH (নেটিভ সেগউইট, ২০১৭, BIP 141)

সেগ্রেগেটেড উইটনেস, যা আগস্ট ২০১৭-এ ব্লক ৪৮১,৮২৪-এ সক্রিয় করা হয়েছিল, স্বাক্ষর ডেটা মূল লেনদেন কাঠামোর বাইরে একটি পৃথক উইটনেস কাঠামোতে স্থানান্তরিত করেছে। উইটনেস ডেটা ৭৫% ওজন ছাড় পায়, যা SegWit লেনদেনকে উল্লেখযোগ্যভাবে সস্তা করে তোলে। একটি স্ট্যান্ডার্ড একক-ইনপুট, দুই-আউটপুট P2WPKH লেনদেনের ওজন প্রায় 141 ভার্চুয়াল বাইট, যেখানে সমতুল্য P2PKH লেনদেনের জন্য এটি 226 ভার্চুয়াল বাইট, অনুসারে স্পার্কের বিটকয়েন ঠিকানার ধরন বিশ্লেষণ ২০২৬ সালের মার্চ থেকে। SegWit লেনদেন পরিবর্তনশীলতাও ঠিক করেছে, যা লাইটনিং নেটওয়ার্কের পূর্বশর্ত ছিল। নেটিভ SegWit ঠিকানাগুলি "bc1q" দিয়ে শুরু হয়।

P2TR (পে-টু-ট্যাপরুট, ২০২১, BIPs ৩৪০/৩৪১/৩৪২)

ট্যাপরুট ২০২১ সালের নভেম্বর মাসে ব্লক ৭০৯,৬৩২-এ সক্রিয় হয়েছিল এবং এটি সেগউইটের পর থেকে বিটকয়েনের স্ক্রিপ্টিং স্তরের সবচেয়ে গুরুত্বপূর্ণ আপগ্রেড। এটি শ্নর স্বাক্ষর, MAST সমর্থনের সাথে একটি নতুন আউটপুট প্রকার, এবং ট্যাপস্ক্রিপ্টকে একটি আপডেটকৃত স্ক্রিপ্টিং ভাষা হিসেবে প্রবর্তন করেছিল। ট্যাপরুট ঠিকানাগুলো "bc1p" দিয়ে শুরু হয়।

ট্যাপরুট এবং ট্যাপস্ক্রিপ্ট: ২০২১ সালে বিটকয়েন স্ক্রিপ্টিং ভাষা কীভাবে পরিবর্তিত হয়েছিল

ট্যাপরুট কোনো একক পরিবর্তন নয়। এটি তিনটি বিটকয়েন উন্নয়ন প্রস্তাব যা একসঙ্গে ডিজাইন করা হয়েছে এবং একই সময়ে সক্রিয় করা হয়েছে।

BIP 340: শ্নর স্বাক্ষর

বিটকয়েন প্রথমে ECDSA (এলিপ্টিক কার্ভ ডিজিটাল সিগনেচার অ্যালগরিদম) ব্যবহার করত। স্যাটوشی আংশিকভাবে এটি বেছে নিয়েছিলেন কারণ সেই সময়ে শ্নর স্বাক্ষরগুলো পেটেন্ট-সুরক্ষিত ছিল। সেই পেটেন্ট ২০০৮ সালে মেয়াদোত্তীর্ণ হয়, এবং ট্যাপরুট অবশেষে প্রোটোকলে শ্নর স্বাক্ষর যুক্ত করে।

Schnorr স্বাক্ষরগুলি 64 বাইট আকারের, যেখানে ECDSA-এর জন্য তা 71–73 বাইট। আরও গুরুত্বপূর্ণ হলো, এগুলো MuSig2 নামে একটি স্কিমের মাধ্যমে কী অ্যাগ্রিগেশন সমর্থন করে। কী অ্যাগ্রিগেশন একাধিক স্বাক্ষরকারীকে তাদের পৃথক কী ও স্বাক্ষরগুলোকে একত্রিত করে একটি একক সম্মিলিত কী ও স্বাক্ষরে পরিণত করতে দেয়, যা ব্লকচেইনে সাধারণ একক-স্বাক্ষর পেমেন্ট থেকে অন-চেইনভাবে পার্থক্য করা যায় না। Taproot-এর সহযোগী কী পথের মাধ্যমে 2-of-3 মাল্টিসিগ ওয়ালেট থেকে ব্যয় করা লেনদেন ব্লকচেইনে একটি সাধারণ পেমেন্টের মতোই দেখায়। এটি জটিল হেফাজত ব্যবস্থায় বিটকয়েন ধারণকারী যে কাউকে প্রকৃত গোপনীয়তা সুবিধা প্রদান করে।

BIP 341: পে-টু-ট্যাপরুট এবং MAST

P2TR দুটি ব্যয় পথ সহ একটি নতুন আউটপুট ধরন উপস্থাপন করে:

  • একটি প্রধান পথ Schnorr স্বাক্ষর ব্যবহার করে ব্যয় করা, যখন সব পক্ষ একমত হয় এবং সবচেয়ে সহজ, সবচেয়ে সস্তা পথ চায়।
  • একটি স্ক্রিপ্টের পথ MAST (Merkelized Abstract Syntax Tree, যা এই ধারণার Taproot বাস্তবায়ন) ব্যবহার করে ব্যয় করুন।

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

২০২৪ সালের হিসাবে, ট্যাপরুট-এর বিটকয়েন লেনদেনে অংশ প্রায় ৪২% এ বৃদ্ধি পেয়েছে, যা মূলত অর্ডিনালস এবং BRC-20 ইনস্ক্রিপশন কার্যকলাপের কারণে, মার্চ ২০২৬-এ স্পার্ক কর্তৃক উদ্ধৃত গ্লাসনোড ডেটা অনুযায়ী। সেই অংশটি পরবর্তীতে বাজার পরিস্থিতির সাথে ওঠানামা করেছে, তবে অবকাঠামোটি এখন প্রধান ওয়ালেট এবং এক্সচেঞ্জগুলোতে মানসম্মত। বিটকয়েন অপটেকের ট্যাপরুট বিষয় পৃষ্ঠা Taproot-কে ঘিরে চলমান প্রোটোকল উন্নয়ন পর্যবেক্ষণ করে।

BIP 342: ট্যাপস্ক্রিপ্ট

Tapscript হল Taproot-এ স্ক্রিপ্ট-পাথ ব্যয়ের জন্য ব্যবহৃত আপডেটকৃত স্ক্রিপ্টিং ভাষা। এটি লিগ্যাসি বিটকয়েন স্ক্রিপ্টের সাথে অধিকাংশ অপকোড শেয়ার করে, তবে বেশ কিছু অর্থবহ পরিবর্তন এনেছে:

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

মিনিস্ক্রিপ্ট

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

বিটকয়েন স্ক্রিপ্ট কী সক্ষম করে: বাস্তব-বিশ্বের ব্যবহারিক উদাহরণ

নিম্নলিখিত লেনদেন ধরণগুলি আজ বিটকয়েন মেইননেটে সক্রিয় রয়েছে, সবই বিটকয়েন স্ক্রিপ্ট প্রিমিটিভের উপর নির্মিত:

বহু-স্বাক্ষর (মাল্টিসিগ) ওয়ালেট ব্যয় অনুমোদনের জন্য N-এর মধ্যে Mটি ব্যক্তিগত কী প্রয়োজন। একটি কোম্পানির কোষাগার যেকোনো উত্তোলনের জন্য ৫টির মধ্যে ৩টি অনুমোদন চাইতে পারে। বিবাহিত দম্পতি যৌথ সঞ্চয়ের জন্য ২টির মধ্যে ২টি ব্যবহার করতে পারে। Taproot এবং Schnorr কী অ্যাগ্রিগেশনের মাধ্যমে, সহযোগিতামূলক মাল্টিসিগ ব্যয় এখন অন-চেইনে স্ট্যান্ডার্ড একক-স্বাক্ষর লেনদেনের থেকে অবিচ্ছিন্ন।

সময়-সীমাবদ্ধ লেনদেন নির্দিষ্ট ব্লক উচ্চতা বা সময় অতিবাহিত হওয়ার আগে তহবিল স্থানান্তর রোধ করতে OP_CHECKLOCKTIMEVERIFY (CheckLockTimeVerify বা CLTV) এবং OP_CHECKSEQUENCEVERIFY (CheckSequenceVerify বা CSV) ব্যবহার করুন। প্রয়োগের মধ্যে রয়েছে উত্তরাধিকার পরিকল্পনা, কর্মচারী টোকেন ভেস্টিং সময়সূচি, জোরপূর্বক সঞ্চয় ব্যবস্থা, এবং লাইটনিং নেটওয়ার্ক চ্যানেলে ব্যবহৃত জরিমানা লেনদেন।

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

এস্ক্রো ব্যবস্থাগুলি P2SH বা Taproot স্ক্রিপ্টে তহবিল লক করে, যা মুক্তি পাওয়ার আগে একাধিক পক্ষের সম্মতি প্রয়োজন, সাধারণত একজন তৃতীয় পক্ষের সালিশকারী টাইব্রেকার কী ধারণ করে।

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

বিটকয়েন স্ক্রিপ্ট বনাম ইথেরিয়াম স্মার্ট কন্ট্র্যাক্টস

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

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

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

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

বিটকয়েনের ওপর আরও প্রোগ্রামযোগ্যতা চান এমন প্রকল্পগুলো স্তরভিত্তিকভাবে নির্মিত হয়। লাইটনিং নেটওয়ার্ক পেমেন্ট পরিচালনা করে। DLC প্রোটোকলগুলো বাহ্যিক ডেটার সাথে সংযুক্ত আর্থিক চুক্তি পরিচালনা করে। Ark এবং Liquid Network-এর মতো লেয়ার-২ সিস্টেমগুলো বিভিন্ন স্কেলেবিলিটি প্রোফাইল পূরণ করে। এর কোনোটিই বেস-লেয়ার স্ক্রিপ্টিং মডেল পরিবর্তন করার প্রয়োজন পড়ে না।

কভেন্যান্ট বিতর্ক: বিটকয়েন স্ক্রিপ্টে কী পরিবর্তন হতে পারে

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

২০২৬ সালের জুন পর্যন্ত প্রধান প্রস্তাবনাগুলি হল:

  • OP_CTV (BIP-119, চেকটেমপ্লেটভেরিফাই)জেরেমি রুবিনের রচিত এই প্রস্তাবটি একটি একক অপকোড যোগ করে যা একটি UTXO-কে লেনদেনের সংস্করণ, লকটাইম, ইনপুট সংখ্যা, সিকোয়েন্স, আউটপুট সংখ্যা এবং আউটপুটসহ একটি নির্দিষ্ট, পূর্বনির্ধারিত ব্যয় টেমপ্লেটে আবদ্ধ করে। এটি নকশাগতভাবে অ-পুনরাবৃত্তিমূলক, সবচেয়ে রক্ষণশীল প্রধান প্রস্তাবনা হিসেবে বিবেচিত, এবং প্রধানত ভল্ট, জট নিয়ন্ত্রণ, এবং কিছু লাইটনিং উন্নয়নকে লক্ষ্য করে। এপ্রিল ২০২৬ পর্যন্ত, OP_CTV-এর জন্য স্পিডি ট্রায়াল সংকেতকরণের একটি সময়সীমা নির্ধারণ করে টেবিলে সুনির্দিষ্ট মোতায়েন প্যারামিটার রয়েছে, তবে সক্রিয়করণের জন্য প্রয়োজনীয় ব্যাপক সম্প্রদায়গত ঐক্যমত এখনও অর্জিত হয়নি, অনুযায়ী BlockEden-এর এপ্রিল ২০২৬ সালের চুক্তি বিশ্লেষণ.
  • ওপি_ক্যাট (বিআইপি-৩৪৭)ইথান হেইলম্যান এবং আরমিন সাবুরি দ্বারা প্রস্তাবিত, এটি ২০১০ সালে স্যাটোশি নিষ্ক্রিয় করা একটি অপকোড পুনরায় সক্রিয় করবে। OP_CAT দুটি স্ট্যাক আইটেম সংযুক্ত করে, যা বর্ণনায় সহজ কিন্তু তাৎপর্য্যে ব্যাপক। যখন এটি শ্নর স্বাক্ষরের সাথে মিলিত হয়, তখন এটি চুক্তিসদৃশ লেনদেন অন্তর্দৃষ্টি সক্ষম করে। বিটকয়েন সাইনেট টেস্ট নেটওয়ার্কে, sCrypt-এর অন-চেইন বিশ্লেষণ অনুযায়ী, OP_CAT APO বা CTV-এর তুলনায় উল্লেখযোগ্যভাবে বেশি ডেভেলপার লেনদেন তৈরি করেছে। OP_CAT ইতিমধ্যেই লিকুইড নেটওয়ার্ক এবং ফ্র্যাক্টাল বিটকয়েনে সক্রিয় রয়েছে এবং এর সাথে কোনো এক্সপ্লয়েট যুক্ত নেই। BIP-347-এর একটি আনুষ্ঠানিক প্রস্তাব নম্বর এবং এর পেছনে সক্রিয় গবেষণা রয়েছে, তবে মেইননেট সক্রিয় করতে যে সম্প্রদায়গত ঐক্যমত্য প্রয়োজন, তা এখনও গড়ে ওঠেনি।
  • এলএনহ্যান্স OP_CTV-কে OP_CHECKSIGFROMSTACK (CSFS) এবং OP_INTERNALKEY-এর সাথে একত্রিত করে, যা নন-ইন্টার‌্যাক্টিভ চ্যানেল খোলা এবং আরও কার্যকর বহু-পক্ষীয় চ্যানেল ব্যবস্থাপনার মতো লাইটনিং নেটওয়ার্ক চ্যানেল নির্মাণে নির্দিষ্ট উন্নতির লক্ষ্যে কাজ করে।

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

উপসংহার

বিটকয়েন স্ক্রিপ্ট হল নেটওয়ার্কে প্রতিটি লেনদেনের নীচে থাকা অদৃশ্য অবকাঠামো। অধিকাংশ ব্যবহারকারী সরাসরি এর সংস্পর্শে আসে না। ওয়ালেটগুলো বৈধ স্ক্রিপ্ট তৈরি করে, সেগুলো স্বাক্ষর করে এবং মেকানিক্স কখনোই প্রকাশ না করে সম্প্রচার করে। কিন্তু প্রতিটি পেমেন্ট, প্রতিটি লাইটনিং চ্যানেল, প্রতিটি সময়-সীমাবদ্ধ পরিকল্পনা, প্রতিটি মাল্টিসিগ ভল্ট—সবই চলে সেই একই স্ট্যাক-ভিত্তিক বিটকয়েন স্ক্রিপ্টিং ভাষায়, যা ২০০৯ সালে প্রোটোকলের সঙ্গে প্রথম চালু হয়েছিল।

স্ক্রিপ্টিং স্তর তখন থেকে উল্লেখযোগ্যভাবে বৃদ্ধি পেয়েছে, P2SH জটিল ব্যয়কে ব্যবহারিক করেছে, SegWit ফি কমিয়েছে এবং Lightning সক্ষম করেছে, এবং Taproot Schnorr স্বাক্ষর, MAST-ভিত্তিক গোপনীয়তা, এবং Tapscript-এর ভবিষ্যত-সামঞ্জস্যপূর্ণ অপকোড ডিজাইন এনেছে। বর্তমানে সক্রিয়ভাবে আলোচনার মধ্যে থাকা কভেন্যান্ট প্রস্তাবনাগুলো পরবর্তী সম্ভাব্য অধ্যায়কে প্রতিনিধিত্ব করে। এগুলো সক্রিয় হবে কিনা এবং কখন তা হবে, তা ২০২৬ সালের মধ্যভাগে পর্যন্ত প্রকৃতপক্ষে অনিশ্চিত।

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

Frequently Asked Questions

What does Bitcoin Script actually do?
Bitcoin Script defines the spending conditions attached to every transaction output on the network. When you receive bitcoin, the transaction includes a locking script specifying what must be provided to spend those funds. When you spend them, your wallet produces an unlocking script satisfying those conditions. Every full node validates this independently.
Why doesn't Bitcoin Script have loops?
Loops were excluded so every script terminates in bounded time. A script that can loop indefinitely is a denial-of-service risk: a single malicious transaction could force every node to do unbounded work. Bitcoin solves this structurally rather than through computation metering. Every script is guaranteed to halt.
What is the difference between ScriptSig and ScriptPubKey?
ScriptPubKey is the locking script attached to a transaction output, defining the conditions for spending. ScriptSig is the unlocking script provided by the spender and must satisfy those conditions. In SegWit and Taproot transactions, unlocking data lives in a separate witness field, but the validation logic is identical.
How did Taproot change Bitcoin Script?
Taproot (November 2021) introduced three upgrades: Schnorr signatures enabling key aggregation and improved privacy; Pay-to-Taproot (P2TR) with MAST so only the spending path actually used is revealed on-chain; and Tapscript as an updated scripting language with cleaner opcode design and OP_SUCCESS opcodes creating a clean path for future soft forks.
Can Bitcoin do smart contracts?
Bitcoin supports conditional spending rules, a limited form of smart contract, but not stateful general-purpose contracts like Ethereum's. Layer-2 protocols such as Lightning, DLCs, and Ark extend what is possible above the base layer. Covenant opcodes like OP_CTV and OP_CAT could expand Script further, but none have activated on mainnet.
What are Bitcoin covenant opcodes?
Covenant opcodes would let a script constrain what the spending transaction must look like, not just who signs it. Use cases include vaults, more efficient Lightning channels, and multi-stage financial instruments. The leading proposals are OP_CTV (BIP-119) and OP_CAT (BIP-347). Neither has activated on Bitcoin mainnet as of June 2026.
What is a UTXO and how does it relate to Bitcoin Script?
A UTXO (Unspent Transaction Output) is a discrete chunk of bitcoin that exists on-chain and has not been spent. Every UTXO carries a locking script defining the conditions for spending it. When you hold bitcoin, you hold UTXOs with locking scripts only you can satisfy. Bitcoin Script defines and enforces those conditions.
What is Miniscript?
Miniscript is a structured way of writing a subset of Bitcoin Script that is automatically analyzable and composable. Where raw Script is difficult to audit, Miniscript policies can be verified for correctness by software and used to generate valid scripts across different wallet implementations. It does not extend what Script can do but makes existing capabilities far more accessible to developers.

Bitcoin.com ওয়ালেট দিয়ে নিরাপদে বিনিয়োগ শুরু করুন।

এখন পর্যন্ত ৮৫ মিলিয়নেরও বেশি ওয়ালেট তৈরি হয়েছে। আপনার বিটকয়েন এবং ক্রিপ্টোকারেন্সি নিরাপদে কেনা, বিক্রি, বিনিময় এবং বিনিয়োগ করার জন্য যা কিছু প্রয়োজন।

A screenshot of the Bitcoin.com Wallet app

Bitcoin.com ওয়ালেট ডাউনলোড করতে স্ক্যান করুন।

এই QR কোডটি আপনার মোবাইল ডিভাইস দিয়ে স্ক্যান করুন, আপনাকে স্বয়ংক্রিয়ভাবে সঠিক স্টোর পৃষ্ঠায় পুনঃনির্দেশ করা হবে।