hacktricks/blockchain/blockchain-and-crypto-currencies
2024-02-04 16:44:21 +00:00
..
README.md Translated ['a.i.-exploiting/bra.i.nsmasher-presentation/README.md', 'a. 2024-02-04 16:44:21 +00:00

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

मूलभूत शब्दावली

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

सहमति तंत्र

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

प्रूफ ऑफ वर्क, एक और सामान्यत: उपयोग किया जाने वाला सहमति तंत्र, सौजन्य की पुष्टि करने के लिए गणनात्मक प्रतिभा की पुष्टि करता है, लेनदारियों की पुष्टि के लिए एक संभावित हमलावर को वैध करने के लिए आवश्यक होता है कि वह वैधानिक सक्षमता का बड़ा हिस्सा प्राप्त करें।

प्रूफ ऑफ वर्क (PoW)

यह लेनदारियों कई लेनदारियों को चुनेंगे और फिर प्रूफ ऑफ वर्क की गणना शुरू करेंगे। उपकर्णों में सबसे अधिक गणना संसाधनों वाला उपकर्ण संभावना है कि प्रूफ ऑफ वर्क को पहले पूरा करेगा और सभी लेनदारियों के शुल्क प्राप्त करेगा।

प्रूफ ऑफ स्टेक (PoS)

PoS इसे आवश्यक करता है कि मान्यकर्ताओं के पास कुछ मात्रा में ब्लॉकचेन टोकन हों, संभावित हमलावरों को ब्लॉकचेन पर एक बड़ा हिस्सा अर्जित करने के लिए टोकन की आवश्यकता होती है। इस प्रकार की सहमति में, जितने अधिक टोकन एक खननकर्ता के पास होंगे, उतनी ही संभावना है कि खननकर्ता को अगला ब्लॉक बनाने के लिए कहा जाएगा। PoW की तुलना में, इसने खननकर्ताओं द्वारा खपत की जा रही ऊर्जा को बहुत कम कर दिया

बिटकॉइन

लेनदारियाँ

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

बिटकॉइन में एक डिजिटल हस्ताक्षर उत्पादित करने का पहला भाग गणितीय रूप से निम्नलिखित रूप में प्रस्तुत किया जा सकता है: सिग = एफसिग(एफहैश(एम),डीए)

जहाँ:

  • _डी_ए चिह्नन निजी कुंजी है
  • एम लेनदारी है
  • एफहैश है हैशिंग फ़ंक्शन
  • एफसिग है साइनिंग एल्गोरिथम
  • सिग परिणामकारी हस्ताक्षर है

साइनिंग फ़ं

2 btc --> 4 btc
3 btc     1 btc

मान लें कि एक का आउटपुट चेंज है और दूसरा आउटपुट भुगतान है। दो व्याख्यान हैं: भुगतान आउटपुट या 4 BTC आउटपुट है या 1 BTC आउटपुट है। लेकिन अगर 1 BTC आउटपुट भुगतान राशि है तो 3 BTC इनपुट अनावश्यक है, क्योंकि वॉलेट केवल 2 BTC इनपुट खर्च कर सकती थी और इसके लिए कम माइनर शुल्क देना पड़ता। यह एक संकेत है कि वास्तविक भुगतान आउटपुट 4 BTC है और 1 BTC चेंज आउटपुट है।

यह वह समस्या है जिसके लिए ट्रांजैक्शन में एक से अधिक इनपुट होते हैं। इस लीक को ठीक करने का एक तरीका यह है कि चेंज आउटपुट को किसी भी इनपुट से अधिक बनाने के लिए अधिक इनपुट जोड़ें, उदाहरण के लिए:

2 btc --> 4 btc
3 btc     6 btc
5 btc

मजबूर पता पुनरउपयोग

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

यह हमला कभी-कभी गलती से धूल अटैक कहलाता है।

वॉलेट्स का सही व्यवहार यह है कि खाली पतों पर जमी मुद्रा को खर्च न करें।

अन्य ब्लॉकचेन विश्लेषण

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

ट्रैफिक विश्लेषण

कुछ संगठन आपके ट्रैफिक को स्निफ़ कर सकते हैं जिसमें आप बिटकॉइन नेटवर्क में संचार कर रहे हैं।
यदि प्रतिकूल एक लेन-देन या ब्लॉक देखता है जो पहले से आपके नोड से नहीं गया था, तो यह यह जान सकता है कि लेन-देन आपके द्वारा किया गया था या ब्लॉक आपके द्वारा खनित किया गया था। इंटरनेट कनेक्शन शामिल होने के कारण, प्रतिकूल व्यक्ति को खोजे गए बिटकॉइन सूचनाओं के साथ IP पता जोड़ने में सक्षम होगा।

एक हमलावर जो सभी इंटरनेट ट्रैफिक को स्निफ़ नहीं कर सकता है लेकिन जिसके पास बहुत सारे बिटकॉइन नोड हैं ताकि वह स्रोतों के करीब रह सके वह यह जान सकता है कि कौन से IP पते लेन-देन या ब्लॉक की घोषणा कर रहे हैं।
इसके अलावा, कुछ वॉलेट समय-समय पर अपने अनपुष्ट लेन-देन को फिर से प्रसारित करते हैं ताकि वे व्यापक रूप से प्रसारित हो सकें और खनित किए जा सकें।

पतों के मालिक के बारे में जानकारी प्राप्त करने के लिए अन्य हमले

अधिक हमलों के लिए पढ़ें https://en.bitcoin.it/wiki/Privacy

अनाम बिटकॉइन

बिटकॉइन गुमनामता से प्राप्त करना

  • नकद व्यापार: नकद का उपयोग करके बिटकॉइन खरीदें।
  • नकद के समर्थक: गिफ्ट कार्ड या समान क्रय करें और उन्हें ऑनलाइन बिटकॉइन के लिए विनिमय करें।
  • खनन: खनन सबसे गुमनाम तरीका है बिटकॉइन प्राप्त करने का। यह सोलो-खनन के लिए लागू है क्योंकि खनन पूल आम तौर पर हैशर का IP पता जानते हैं।
  • चोरी: सिद्धांत में एक और गुमनाम बिटकॉइन प्राप्त करने का तरीका है उन्हें चुराना।

मिक्सर

एक उपयोगकर्ता एक मिक्सिंग सेवा को बिटकॉइन भेजेगा और सेवा उपयोगकर्ता को विभिन्न बिटकॉइन वापस भेजेगी, एक शुल्क कम करके। सिद्धांत में, एक प्रतिकूल व्यक्ति ब्लॉकचेन को अवलोकन करते समय आने और जाने वाले लेन-देन को जोड़ने में असमर्थ होगा

हालांकि, उपयोगकर्ता को मिक्सिंग सेवा पर भरोसा करना होगा कि वह बिटकॉइन वापस करेगी और यह भी नहीं रिकॉर्ड सहेज रही है धन के प्राप्त और भेजे जाने के बीच संबंधों के बारे में।
कुछ अन्य सेवाएं भी मिक्सर के रूप में उपयोग की जा सकती हैं, जैसे बिटकॉइन कैसीनो जहां आप बिटकॉइन भेज सकते हैं और बाद में उन्हें पुनः प्राप्त कर सकते हैं।

कॉइनजॉइन

कॉइनजॉइन विभिन्न उपयोगकर्ताओं के कई लेन-देनों को केवल एक में मिलाएगा ताकि एक अवलोकन के लिए अधिक कठिन हो जाए कि कौन सा इनपुट किस आउटपुट से संबंधित है
यह एक नई स्तर की गोपनीयता प्रदान करता है, हालांकि, कुछ लेन-देन जहां कुछ इनपुट और आउटपुट राशियाँ संबंधित हैं या बाकी इनपुट और आउटपुट से बहुत अलग हैं बाहरी अवलोकन द्वारा संबंधित हो सकते हैं

बिटकॉइन के ब्लॉकचेन पर (संभावित) कॉइनजॉइन लेन-देन आईडी के उदाहरण हैं 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a और 85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238

https://coinjoin.io/en
कॉइनजॉइन के लिए समान लेकिन बेहतर और एथीरियम के लिए आपके पास टॉर्नाडो कैश

2 btc --> 3 btc
5 btc     4 btc

ब्लॉकचेन और क्रिप्टो-मुद्राएं

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

यदि PayJoin लेन-देन कार्यान्वित होते तो यह सामान्य-इनपुट-स्वामित्व संकेतक को व्यावहारिक रूप में पूरी तरह गलत साबित कर देता। जैसे ही वे अनुसंधान योग्य होते हैं, हमें यह भी पता नहीं चलेगा कि वे आज का उपयोग कर रहे हैं या नहीं। जैसा कि लेन-देन अनुसंधान कंपनियाँ अधिकांशत: उस संकेतक पर निर्भर करती हैं, इसलिए 2019 के रूप में PayJoin विचार के बारे में बहुत उत्साह है।

बिटकॉइन गोपनीयता अच्छी प्रथाएं

वॉलेट समक्रमण

बिटकॉइन वॉलेट को उनके शेष और इतिहास के बारे में जानकारी प्राप्त करनी चाहिए। दिसंबर 2018 के बाद सबसे व्यावहारिक और निजी मौजूदा समाधान हैं पूर्ण नोड वॉलेट (जो अधिकतम निजी है) और क्लाइंट-साइड ब्लॉक फ़िल्टरिंग (जो बहुत अच्छा है) का उपयोग करना।

  • पूर्ण नोड: पूर्ण नोड पूरे ब्लॉकचेन को डाउनलोड करते हैं जिसमें बिटकॉइन में हुई हर ऑन-चेन लेन-देन शामिल है। इसलिए एक प्रतिकूल जो उपयोगकर्ता की इंटरनेट कनेक्शन को देख रहा है, वह यह नहीं जान पाएगा कि उपयोगकर्ता किस लेन-देन या पतों में रुचि रखता है।
  • क्लाइंट-साइड ब्लॉक फ़िल्टरिंग: क्लाइंट-साइड ब्लॉक फ़िल्टरिंग काम करता है जिसमें फ़िल्टर बनाए जाते हैं जो ब्लॉक में हर लेन-देन के लिए सभी पते को शामिल करते हैं। फ़िल्टर यह जांच सकते हैं कि क्या एक तत्व सेट में है; गलत पॉजिटिव्स संभव हैं लेकिन गलत नेगेटिव्स नहीं। एक हल्के वॉलेट को ब्लॉकचेन में हर ब्लॉक के लिए सभी फ़िल्टर डाउनलोड करना होगा और अपने खुद के पतों के साथ मिलान की जांच करेगा। उन ब्लॉक्स को जो मिलान करते हैं, उन ब्लॉक्स का पूरा डाउनलोड पीयर-टू-पीयर नेटवर्क से किया जाएगा, और उन ब्लॉक्स का उपयोग वॉलेट के इतिहास और वर्तमान शेष प्राप्त करने के लिए किया जाएगा।

टॉर

बिटकॉइन नेटवर्क का उपयोग पीर-टू-पीर नेटवर्क करता है, जिसका मतलब है कि अन्य पीयर आपका आईपी पता सीख सकते हैं। इसलिए यह सिफारिश की जाती है कि आप हर बार बिटकॉइन नेटवर्क के साथ बातचीत करना चाहें तो टॉर के माध्यम से कनेक्ट करें

पते का पुनः उपयोग न करना

पतों का एक से अधिक बार उपयोग करना गोपनीयता के लिए बहुत हानिकारक है क्योंकि यह अधिक ब्लॉकचेन लेन-देन को जोड़ता है जिसमें साबित होता है कि वे एक ही एकाधिकारी द्वारा बनाए गए थे। बिटकॉइन का सबसे निजी और सुरक्षित तरीका यह है कि हर व्यक्ति को जो आपको भुगतान करता है, उसे एक नया पता भेजा जाए। प्राप्त किए गए सिक्के खर्च कर दिए जाने के बाद पता कभी भी फिर से उपयोग नहीं किया जाना चाहिए। साथ ही, जब बिटकॉइन भेजा जाए, तो एक नया बिटकॉइन पता मांगा जाना चाहिए। सभी अच्छे बिटकॉइन वॉलेट में उपयोगकर्ता इंटरफेस होता है जो पते के पुनः उपयोग को निषेधित करता है।

एकाधिक लेन-देन

किसी को एक से अधिक ऑन-चेन लेन-देन के साथ भुगतान करना राशि-आधारित गोपनीयता हमलों जैसे राशि संबंध और गोल नंबर को बहुत अधिक कम कर सकता है। उदाहरण के लिए, यदि उपयोगकर्ता किसी को 5 BTC भुगतान करना चाहता है और वे नहीं चाहते कि 5 BTC मूल्य आसानी से खोजा जा सके, तो वे 2 BTC और 3 BTC के मूल्य के लिए दो लेन-देन भेज सकते हैं जो मिलाकर 5 BTC के बराबर होते हैं।

छुट्टी से बचाव

छुट्टी से बचाव वहाँ लेन-देन इनपुट और आउटपुट को ध्यानपूर्वक चुना जाता है ताकि किसी भी छुट्टी की आउटपुट की आवश्यकता न हो। किसी भी छुट्टी की अभाव गोपनीयता के लिए उत्कृष्ट है, क्योंकि यह छुट्टी की पहचान संकेतकों को तोड़ता है।

एकाधिक छुट्टी आउटपुट

यदि छुट्टी से बचाव विकल्प नहीं है तो एक से अधिक छुट्टी आउटपुट बनाने से गोपनीयता में सुधार हो सकता है। यह भी छुट्टी की पहचान संकेतकों को तोड़ता है जो सामान्यत: केवल एक ही छुट्टी आउटपुट होने का अनुमान करते हैं। जैसा कि यह विधि सामान्य से अधिक ब्लॉक स्पेस का उपयोग करती है, छुट्टी से बचाव अधिक उत्तम है।

मोनेरो

जब मोनेरो विकसित किया गया था, तो पूरी रूप से पूर्ण गुमनामी की आवश्यकता थी जिसे यह हल करने का प्रयास किया गया था, और बड़े हिस्से में, यह उस शून्यता को भर दिया है।

इथेरियम

गैस

गैस एक इ