Git को "ब्लॉक चेन" क्यों नहीं माना जाता है?




hash blockchain (4)

Git की आंतरिक डेटा संरचना डेटा ऑब्जेक्ट्स का एक पेड़ है, जिसमें प्रत्येक ऑब्जेक्ट केवल अपने पूर्ववर्ती को इंगित करता है। प्रत्येक डेटा ब्लॉक हैशेड है। संशोधित हैश (बिट त्रुटि या हमला) एक मध्यवर्ती ब्लॉक पर ध्यान दिया जाएगा जब सहेजा गया हैश वास्तविक हैश विचलित नहीं करेगा।

यह अवधारणा ब्लॉक चेन से कैसे भिन्न है?
Git को ब्लॉकचेन के उदाहरण के रूप में सूचीबद्ध नहीं किया गया है, लेकिन कम से कम सारांश में, दोनों डेटा संरचना विवरण एक जैसे दिखते हैं: डेटा ब्लॉक, एकल दिशा रिवर्स लिंकिंग, हैश, ...)।

तो यह अंतर कहां है, कि Git को ब्लॉक चेन नहीं कहा जाता है?


क्रिप्टोक्यूरेंसी ब्लॉकचैन के विपरीत; git में p2p भरोसेमंद सर्वसम्मति तंत्र नहीं है।


Git और blockchains समान दिखाई देने का कारण यह है कि वे दोनों अपने अंतर्निहित डेटा संरचना के रूप में मर्कल पेड़ों का उपयोग कर रहे हैं। मर्कल ट्री एक ऐसा पेड़ है, जहां प्रत्येक नोड को उनकी सामग्री के क्रिप्टोग्राफिक हैश मान के साथ लेबल किया जाता है, जिसमें उनके बच्चों के लेबल शामिल होते हैं।

गिट का निर्देशित एसाइक्लिक ग्राफ बिल्कुल वैसा ही है, जैसा कि प्रत्येक नोड (टैग, कमिट, ट्री या ब्लॉब ऑब्जेक्ट) पर एक मर्कल ट्री को उसकी सामग्री और उसके "बच्चे" के लेबल के साथ लेबल किया जाता है। ध्यान दें कि कमिट करने के लिए, "बच्चे" शब्द को माता-पिता की गिट की समझ के साथ थोड़ा संघर्ष होता है: माता-पिता का मानना ​​है कि कॉमिट्स के बच्चे हैं , आपको बस ग्राफ को एक पेड़ के रूप में देखने की जरूरत है जो इसे फिर से जड़ते हुए बढ़ती रहती है।

ब्लॉकचैन इस से बहुत मिलते-जुलते हैं, क्योंकि वे भी इस तरह से बढ़ते रहते हैं, और वे डेटा की अखंडता को सुनिश्चित करने के लिए इसकी मर्कल ट्री प्रॉपर्टी का भी इस्तेमाल कर रहे हैं। लेकिन आमतौर पर, ब्लॉकचेन को केवल मर्कल पेड़ों की तुलना में अधिक समझा जाता है, जहां वे "बेवकूफ सामग्री ट्रैकर" गिट से अलग हो रहे हैं। उदाहरण के लिए, ब्लॉकचेन का आम तौर पर एक ब्लॉक स्तर पर एक उच्च विकेंद्रीकृत प्रणाली होने का मतलब है (सभी ब्लॉकों को एक ही स्थान पर होने की आवश्यकता नहीं है)।

ब्लॉकचेन को समझना कठिन है (व्यक्तिगत रूप से, मैं अभी भी इसके बारे में सब कुछ समझने से बहुत दूर हूं), लेकिन मैं गिट इंटर्ल्स को मर्कल पेड़ों को समझने का एक अच्छा तरीका मानता हूं जो निश्चित रूप से ब्लॉकचेन के बारे में एक बुनियादी हिस्से को समझने में मदद करता है।


git कई कारणों से ब्लॉकचेन तकनीक का उदाहरण नहीं है (ये पहली बार दिमाग में आए थे):

  1. ब्लॉकचेन कार्यान्वयन में, ब्लॉकचेन में जोड़े जाने से पहले प्रत्येक ब्लॉक को स्वतंत्र रूप से कई बार सत्यापित किया जाता है। यह वास्तव में ब्लॉकचेन प्रौद्योगिकी के बारे में सबसे महत्वपूर्ण चीजों में से एक है और यही इसकी "अनहोनी" को सुनिश्चित करता है। दूसरी ओर, कई git परियोजनाओं को स्वतंत्र सत्यापन की आवश्यकता नहीं होती है, और जब वे करते हैं, तो उन्हें भंडार में प्रतिबद्ध होने से पहले केवल एक व्यक्ति को एक बदलाव पर हस्ताक्षर करने की आवश्यकता होती है। इसलिए, सत्यापन के अधिकांश एक बिंदु पर, जिस पर आपको भरोसा करना चाहिए, git ब्लॉकचेन प्रौद्योगिकी के मूल सिद्धांतों में से एक को तोड़ता है।

  2. कई सर्वरों पर git रिपॉजिटरी का डुप्लिकेट होना आवश्यक नहीं है। आप स्थानीय रूप से git रिपॉजिटरी से काम कर सकते हैं और यदि आपकी स्थानीय डिस्क दूषित हो गई है, तो आप सब कुछ खो देंगे। ब्लॉकचेन तकनीक का अर्थ है कि सर्वरों पर बही का प्रजनन।

  3. आप git इतिहास को फिर से लिख सकते हैं। एक git push <remote> <branch> --force जहां <branch> से पहले की स्थिति में सेट किया गया है कि <remote> इतिहास को फिर से लिखना होगा। ब्लॉकचेन में, बही एक अपरिवर्तनीय इतिहास है।


Blockchain किसी भी ब्लॉक की कोई श्रृंखला नहीं है।

Blockchain वह है जब दो या दो से अधिक होने पर मुख्य श्रृंखला का निर्धारण करने का एक तरीका होता है , और जब उस निर्धारण के लिए किसी केंद्रीय प्राधिकरण की आवश्यकता नहीं होती है।





blockchain