Hard Fork ऐसा सहमति परिवर्तन है जिसमें नया वैधता समुच्चय पुराने समुच्चय का उपसमुच्चय नहीं होता। सामान्य उदाहरण विस्तार है: V(new), V(old) के बाहर की स्थिति स्वीकार करता है, जैसे पुराने नोड की सीमा से बड़ा ब्लॉक या ऐसी संरचना जिसे पुराना सॉफ़्टवेयर अमान्य मानता है। नए नियमों का सक्रियण पुराने नोड को बदलने के लिए बाध्य नहीं करता; वे अपने नियम लागू करते रहते हैं, इसलिए श्रृंखला की निरंतरता स्वैच्छिक समन्वय पर निर्भर करती है।
मूल नियमों द्वारा स्वीकार किए जाने वाले सभी ब्लॉक को V(old) कहें। नया सॉफ़्टवेयर यदि इस समुच्चय के बाहर का एक भी ब्लॉक स्वीकार करता है, तो परिवर्तन Hard Fork है। अक्सर वैध ब्लॉकों का दायरा बढ़ता है, लेकिन निर्णायक कसौटी संगतता है: यदि नए नोड के लिए वैध ब्लॉक पुराने नोड के लिए अमान्य हो सकता है, तो पुराना सत्यापनकर्ता अपने नियम बनाए रखते हुए नई श्रृंखला का अनुसरण नहीं कर सकता। [Bitcoin Developer Guide — Consensus rule changes]
पुराना पूर्ण नोड नए नियम को न जानता है, न स्वीकार करता है। अपडेट किए गए खनिक जब पुरानी सीमा से बड़ा ब्लॉक या नई अनुमत संरचना वाला ब्लॉक बनाते हैं, तो पुराना नोड अपने लिए वैध अंतिम ब्लॉक पर रहता है और उसके बाद की शाखा अस्वीकार करता है। उसे मतदान में हराया नहीं गया है; वह निश्चित नियमों के अनुसार अलग सहमति प्रोग्राम चला रहा है। [Bitcoin Developer Guide — Consensus rule changes]
निश्चित तारीख, ब्लॉक की ऊँचाई या खनिकों का संकेत अपडेट अपनाने वालों के बीच समन्वय कर सकता है, लेकिन अपडेट न अपनाने वाले नोड का सॉफ़्टवेयर नहीं बदलता। यदि नियमों के दोनों समूहों में आर्थिक रूप से महत्वपूर्ण प्रतिभागी बने रहें, तो दोनों श्रृंखलाएँ जारी रह सकती हैं। इसलिए Hard Fork की सक्रियण योजना विभाजन के जोखिम वाली स्थानांतरण योजना है। [Bitcoin Developer Guide — Consensus rule changes]
विभाजन बिंदु पर दोनों शाखाओं को समान पूर्ववर्ती UTXO इतिहास मिलता है। उसके बाद वे अलग लेनदेन की पुष्टि कर सकती हैं, अलग सीमाएँ अपना सकती हैं और अलग-अलग chainwork संचित कर सकती हैं। दोनों जारी रहें तो धारक के पास सामान्यतः दोनों श्रृंखलाओं पर संबंधित सिक्के होते हैं, जो बाद के नियमों, replay सुरक्षा और वॉलेट समर्थन पर निर्भर हैं। अब यह एक ही बही में एकल प्रविष्टि नहीं है। [BCHN Technical Bulletin — shared history and 2017 split]
Proof of Work शाखाओं की तुलना तभी करता है जब नोड उनके ब्लॉकों को वैध मान चुका हो। पुराने नियमों के अनुसार अमान्य ब्लॉक वाली शाखा के chainwork की तुलना पुराना नोड अपनी वैध श्रृंखला से नहीं करता; पहले ही उस उम्मीदवार को हटा देता है। इसलिए सत्यापन नियम बताए बिना ‘सबसे अधिक hashrate वाली श्रृंखला जीतती है’ कहना अधूरा है। [Bitcoin Developer Guide — Consensus rule changes]
हस्ताक्षरों के प्रारूप और लेनदेन के प्रारूप दोनों नेटवर्क पर समान होने के कारण, विभाजन के बाद एक ही हस्ताक्षरित लेनदेन दोनों नेटवर्क पर वैध हो सकता है। यही replay का जोखिम है। कोई fork सुरक्षा, अलग sighash नियम या अलग पता प्रारूप जोड़ सकता है, लेकिन ये स्वतंत्र उपाय हैं। उपयोगकर्ता को नेटवर्क, शेष राशि, व्युत्पन्न पते और एक्सचेंज की जमा राशि दर्ज करने तथा निकासी की नीतियों में अंतर समझना चाहिए। [Bitcoin Cash upgrade specification — 2017 hard fork]
Bitcoin Cash, 1 अगस्त 2017 को ब्लॉक ऊँचाई 478559 पर Bitcoin से अलग हुआ। उसने उस समय Bitcoin नोड द्वारा स्वीकार किए जाने वाले आकार से बड़े ब्लॉकों की अनुमति देने वाले नियम अपनाए और अपनी आगे चलने वाली श्रृंखला बनाई। Bitcoin नोड ने केवल BCH नियमों के अनुसार वैध ब्लॉकों को अस्वीकार किया; BCH नोड ने अपने वैध इतिहास का अनुसरण किया। यह उसी नेटवर्क में Bitcoin को अपडेट से बदलने के बजाय अलग नेटवर्क बनाने वाले Hard Fork का उदाहरण है। [Bitcoin Cash upgrade specification — 2017 hard fork] [BCHN Technical Bulletin — shared history and 2017 split]
हर असंगत विभाजन जानबूझकर बनाई गई नई मौद्रिक परियोजना नहीं है। सॉफ़्टवेयर की त्रुटि से अलग कार्यान्वयनों में अस्थायी मतभेद हो सकता है, और आपातकालीन रिलीज़ प्रतिभागियों को समान नियमों पर वापस लाने में मदद कर सकती है। मार्च 2013 में Bitcoin का विभाजन डेटाबेस और उसकी सीमाओं से जुड़े संस्करणों के अलग व्यवहार के कारण हुआ। खनिकों के समन्वित रूप से उस शाखा पर लौटने से इसका समाधान हुआ जिसे पुराने संस्करण 0.7 के नोड स्वीकार करते थे; यह BCH को लंबे समय तक अलग नेटवर्क के रूप में बनाए रखने से भिन्न है। [BIP 50 — March 2013 chain fork post-mortem]
Soft Fork वैधता समुच्चय को सीमित करता है ताकि V(new), V(old) के भीतर रहे। पुराना नोड संगत ब्लॉकों का अनुसरण कर सकता है, लेकिन नया प्रतिबंध लागू नहीं करता। Hard Fork में यह एकतरफ़ा संगतता नहीं होती: नया वैध ब्लॉक पुराने नोड के लिए अमान्य हो सकता है। खराब समन्वय से Soft Fork में भी विभाजन हो सकता है, लेकिन Hard Fork अपनी परिभाषा के अनुसार नए नियमों पर जाने की माँग करता है। [Bitcoin Developer Guide — Consensus rule changes]
डेवलपर कोड जारी कर सकते हैं, खनिक hashrate का आवंटन बदल सकते हैं, कंपनियाँ टिकर प्रतीक और जमा नीतियाँ चुन सकती हैं, और उपयोगकर्ता सॉफ़्टवेयर चुन सकते हैं। इससे दूसरों की सहमति अपने आप नहीं बदलती। पर्याप्त स्वतंत्र प्रतिभागी स्वेच्छा से दोनों नियम समूहों को बनाए रखें और महत्व दें तो विभाजन जारी रह सकता है; हर असंगत बदलाव से दो स्थायी रूप से सक्रिय नेटवर्क बनना आवश्यक नहीं है। किसी शाखा को ‘अपडेट’ कहना सामाजिक प्रचलन है, सहमति का नियम नहीं। [Bitcoin Developer Guide — Consensus rule changes]
संचालक को नेटवर्क पहचान, विशिष्ट सॉफ़्टवेयर रिलीज़, सहमति पैरामीटर, पीयर, श्रृंखला का सिरा, विभाजन बिंदु के ब्लॉक का हैश और संबंधित रिलीज़ नोट या चेकपॉइंट जाँचना चाहिए। बड़ी राशि के मामले में fork से मिले सिक्के खर्च करने से पहले वॉलेट और कार्यप्रवाह अलग रखना उचित है। ब्लॉक एक्सप्लोरर या टिकर प्रतीक मदद करते हैं, लेकिन अपने सत्यापन नोड का स्थान नहीं लेते। [Bitcoin Core v29.0: getblockchaininfo]
पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें Soft Fork, सहमति नियम, Full Node, Reorg, ब्लॉक आकार युद्ध, UTXO. इस प्रविष्टि का उल्लेख यहाँ भी है Soft Fork, BIP (Bitcoin Improvement Proposal), Reorg, ब्लॉक आकार युद्ध.