Blockchain

হার্ড কাঁটা, নরম কাঁটা, ডিফল্ট এবং জবরদস্তি

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

কাঁটাচামচের ধরনগুলি ব্যাখ্যা করার জন্য এখানে একটি ভেন ডায়াগ্রাম রয়েছে:

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

এটি ছাড়াও, হার্ড কাঁটাচামচের জন্য প্রায়ই একটি বড় সমালোচনা দেওয়া হয় যে হার্ড কাঁটাগুলি "জবরদস্তিমূলক"। এখানে যে ধরনের জবরদস্তি উহ্য তা শারীরিক বল নয়; বরং, এটা নেটওয়ার্ক প্রভাবের মাধ্যমে জবরদস্তি. অর্থাৎ, যদি নেটওয়ার্ক A থেকে B তে নিয়ম পরিবর্তন করে, তারপরও যদি আপনি ব্যক্তিগতভাবে A পছন্দ করেন, যদি বেশিরভাগ অন্যান্য ব্যবহারকারী B পছন্দ করেন এবং B তে স্যুইচ করেন তাহলে আপনাকে B-তে স্যুইচ করতে হবে আপনার ব্যক্তিগত অসম্মতি সত্ত্বেও চালু থাকার জন্য অন্য সবার মতো একই নেটওয়ার্ক।

হার্ড কাঁটাচামচের সমর্থকদের প্রায়শই একটি নেটওয়ার্কের "প্রতিকূলতা দখল" করার চেষ্টা করে এবং ব্যবহারকারীদের তাদের সাথে যেতে "বাধ্য" বলে উপহাস করা হয়। উপরন্তু, চেইন বিভক্ত হওয়ার ঝুঁকি প্রায়ই হার্ড কাঁটাচামচকে "অনিরাপদ" হিসাবে বিল করতে ব্যবহৃত হয়।


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

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

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

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

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

এখন, অত্যন্ত বিতর্কিত কাঁটাগুলির দিকে নজর দেওয়া যাক, বিশেষ করে কাঁটা যেখানে মাইনার/ব্যালিডেটর পছন্দ এবং ব্যবহারকারীর পছন্দগুলির মধ্যে বিরোধ রয়েছে৷ এখানে তিনটি ক্ষেত্রে রয়েছে: (i) দ্বিপাক্ষিক হার্ড কাঁটা, (ii) কঠোরভাবে প্রসারিত হার্ড কাঁটা, এবং (iii) তথাকথিত "ব্যবহারকারী-অ্যাক্টিভেটেড সফ্ট ফর্কস" (ইউএএসএফ)। একটি চতুর্থ বিভাগ যেখানে খনি শ্রমিকরা একটি নরম কাঁটাচামচ সক্রিয় করে ব্যবহারকারীর সম্মতি ছাড়াই; আমরা পরে এটি পেতে হবে.

প্রথমত, দ্বিপাক্ষিক হার্ড কাঁটা। সেরা ক্ষেত্রে, পরিস্থিতি সহজ। দুটি মুদ্রা বাজারে ব্যবসা করে এবং ব্যবসায়ীরা দুটির আপেক্ষিক মূল্য নির্ধারণ করে। ETC/ETH কেস থেকে, আমাদের কাছে অপ্রতিরোধ্য প্রমাণ রয়েছে যে খনি শ্রমিকরা তাদের নিজস্ব আদর্শিক দৃষ্টিভঙ্গি নির্বিশেষে তাদের লাভকে সর্বাধিক করার জন্য মূল্যের অনুপাতের উপর ভিত্তি করে তাদের হ্যাশরেটকে কেবল কয়েনে বরাদ্দ করার সম্ভাবনা বেশি।

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

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

দ্বিতীয় প্রান্তের ক্ষেত্রে যদি অসমতা খুব বড় হয়, তাহলে বড় চেইন 51% ছোট চেইনকে আক্রমণ করতে পারে। এমনকি 10:1 অনুপাতের সাথে একটি ETH/ETC বিভক্ত হওয়ার ক্ষেত্রেও, এটি ঘটেনি; তাই এটা অবশ্যই একটি দেওয়া হয় না. যাইহোক, এটি সর্বদা একটি সম্ভাবনা যদি প্রভাবশালী চেইনের খনি শ্রমিকরা বিচ্ছিন্নতার অনুমতি দেওয়ার চেয়ে জবরদস্তি পছন্দ করে এবং এই মানগুলির উপর কাজ করে।

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

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

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

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

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

এখন, আমাদের তিনটি নিয়ম রয়েছে:

  1. আসল নিয়ম যেখানে opcode X সর্বদা বৈধ।
  2. নিয়ম যেখানে opcode X শুধুমাত্র বৈধ যদি বাকি লেনদেন নতুন নিয়ম মেনে চলে
  3. নিয়ম যেখানে opcode X সর্বদা অবৈধ।

উল্লেখ্য যে (2) হল (1) এর সাপেক্ষে একটি নরম-কাঁটা, এবং (3) হল (2) এর সাপেক্ষে একটি নরম-কাঁটা। এখন, (3) এর পক্ষে শক্তিশালী অর্থনৈতিক চাপ রয়েছে এবং তাই নরম কাঁটা তার উদ্দেশ্য পূরণ করতে ব্যর্থ হয়।

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

উত্স: https://vitalik.eth.limo/general/2017/03/14/forks_and_markets.html