proof of work क्या है?
परिभाषा · Proof of work (PoW)
एक ऐसा सिस्टम जिसमें ब्लॉक जोड़ने का हक उसे मिलता है जो सबसे पहले block header का hash target से नीचे ढूंढ ले। इसे ढूंढने में बहुत बड़ी संख्या में guesses लगते हैं; इसे चेक करने में एक hash लगता है।
Satoshi Nakamoto ने इसे 2008 में Bitcoin whitepaper में समझाया था, Adam Back के Hashcash पर आधारित, जो ईमेल स्पैम को महंगा बनाने का एक पुराना आइडिया था। वैलिड हैश ही प्रूफ है। काम किए बिना तुम्हें ये नहीं मिलता, और कोई भी देख सकता है कि तुमने काम किया है।
इस पेज का बाकी हिस्सा हर हिस्से को समझाता है, और ऊपर वाला बॉक्स तुम्हें इसे आज़माने देता है: यह असली Bitcoin हेडर फ़ॉर्मैट है, जो तुम्हारे ब्राउज़र में लाइव हैश होता है। माइनिंग की बड़ी तस्वीर के लिए हमारा पूरा Bitcoin माइनिंग गाइड देखें।
proof of work कौन-सी समस्या हल करता है?
Bitcoin के पीछे कोई कंपनी, बैंक या एक server नहीं होता जो सब चला रहा हो। हजारों कंप्यूटर ledger की अपनी-अपनी कॉपी रखते हैं, और उन्हें इस पर सहमत होना होता है कि अगला block कौन सा आएगा और payments किस क्रम में हुईं। वरना कोई एक ही coin को दो बार खर्च कर सकता है।
ऑनलाइन simple vote काम नहीं करता, क्योंकि कोई भी हजार fake computers बनाकर हजार बार वोट कर सकता है। इसे Sybil attack कहते हैं। Proof of work इसका रास्ता काट देता है: तुम्हारी बात hashes में मापी जाती है, और hashes के लिए बिजली और hardware चाहिए।
अगले block में किसकी चलती है?
हर नोड पर एक वोट
एक हमलावर मुफ्त में 60 नकली नोड्स शुरू करता है और 12 ईमानदार नोड्स को outvote कर देता है।
हर hash पर एक वोट
ईमानदार माइनर्स 88%हमलावर 12%
वही 60 नोड्स हमलावर के असली हार्डवेयर को शेयर करते हैं, इसलिए मिलकर भी उनका वज़न 12% ही रहता है। कॉपी बनाना मुफ़्त है, हैश नहीं।
Bitcoin के block header के अंदर क्या होता है?
माइनर्स पूरा ब्लॉक हैश नहीं करते। वे उसके 80-byte हेडर को हैश करते हैं, जो बाकी सब पर commit करता है। ये वही छह fields हैं जो तुमने ऊपर वाले बॉक्स में एडिट किए थे:
| फ़ील्ड | Bytes | इसके अंदर क्या होता है | इसे कौन बदलता है |
|---|---|---|---|
| वर्ज़न | 4 | block कौन-से rules को follow करता है | बहुत कम बदलता है |
| पिछले ब्लॉक का hash | 32 | पिछले ब्लॉक का हैश, जो चेन को जोड़ता है | हर नए ब्लॉक के साथ नया |
| मर्कल रूट | 32 | ब्लॉक की सभी transactions का एक fingerprint | माइनर, जब transactions या extra nonce बदलते हैं |
| समय | 4 | miner के हिसाब से block कब बना (Unix time) | माइनर, सीमाओं के भीतर |
| Bits | 4 | टारगेट, 4 bytes में पैक किया हुआ | नेटवर्क, हर 2,016 ब्लॉक्स पर |
| नॉन्स | 4 | फिर से try करने के लिए एक free नंबर | माइनर, हर guess पर |
क्योंकि हेडर में पिछले block का hash शामिल होता है, पुराने block में बदलाव करने से उसका hash बदल जाता है। इससे अगला header टूट जाता है, और उसके बाद वाला भी। जब ये पेज बनाया गया था, हमने 2009 का असली genesis block हमारे server पर, उसी code से चेक किया जो hero इस्तेमाल करता है:
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Bitcoin में SHA-256 कैसे काम करता है?
SHA-256 किसी भी इनपुट को एक 256-बिट नंबर में बदल देता है, जिसे 64 hex कैरेक्टर्स में लिखा जाता है। Bitcoin इसे हेडर पर दो बार चलाता है (लोग इसे SHA-256d कहते हैं)। माइनिंग के लिए जो बातें काम की हैं, वो सीधी हैं:
इनपुट वही, आउटपुट वही
निर्धारित
एक ही हेडर, किसी भी कंप्यूटर पर, हमेशा वही हैश देता है। इसी वजह से जाँच काम करती है।
256 bits
फिक्स्ड साइज
एक छोटी लाइन हो या पूरी किताब, hash हमेशा 64 hex characters का ही होता है।
एक-तरफ़ा
वापस जाने का कोई शॉर्टकट नहीं
तुम ऐसा input निकाल नहीं सकते जो तुम्हें मनचाहा hash दे। तुम बस अलग-अलग inputs ट्राय कर सकते हो।
≈ 50%
Avalanche
एक अक्षर बदलो और करीब आधे बिट्स पलट जाते हैं। हीरो में ग्रिड देखकर समझो।
वही आख़िरी बात proof of work का दिल है। टारगेट के करीब वाला हैश तुम्हें अगले guess के बारे में कुछ नहीं बताता, इसलिए वैलिड ब्लॉक तक पहुंचने का कोई चालाक शॉर्टकट नहीं है। हर माइनर एक ही लॉटरी चला रहा है, और प्रति सेकंड ज़्यादा hashes बस ज़्यादा टिकट खरीदते हैं।
Target क्या होता है, और शुरुआत में इतने सारे zero क्यों होते हैं?
टारगेट एक 256-बिट नंबर होता है। कोई ब्लॉक तब वैध है जब उसका हैश, नंबर की तरह पढ़ने पर, टारगेट के बराबर या उससे कम हो। क्योंकि छोटे नंबर 0 से शुरू होते हैं, कम टारगेट का मतलब है शुरुआत में ज़्यादा 0। हर अतिरिक्त hex 0 का मतलब है औसतन 16 गुना ज़्यादा अंदाज़े।
एक valid block ढूंढने के लिए औसतन जितने hashes चाहिए
- हीरो में टॉय ब्लॉक · 4 शुरुआती hex 065,536
- Bitcoin का सबसे आसान target (2009) · 8 शुरुआत के hex zeros, bits 1d00ffff4,294,967,296
- आज का Bitcoin block · करीब 20 leading hex zeros (live estimate)6.0 × 1023
नेटवर्क हर 2,016 ब्लॉक्स पर, करीब दो हफ्ते में, टारगेट को एडजस्ट करता है, ताकि जितना भी hashrate जुड़े या निकले, ब्लॉक्स करीब हर दस मिनट में आते रहें। अभी नेटवर्क करीब 1003 EH/s पर चल रहा है (लाइव, हर घंटे अपडेट)। ये एडजस्टमेंट कैसे काम करता है, वो हमारे Bitcoin mining difficulty guide में है, और यूनिट्स के लिए hashrate explainer देख लो।
nonce क्या है, और extra nonce क्या होता है?
nonce (“number used once”) वो 4-बाइट फील्ड है जिसे माइनर हर guess पर बदलते हैं। यही एक फील्ड है जो सिर्फ बदले जाने के लिए रखा गया है। दिक्कत ये है कि 4 बाइट्स से सिर्फ करीब 4.3 बिलियन वैल्यूज़ मिलती हैं, और आधुनिक मशीनें इसे लगभग तुरंत ही चबा जाती हैं।
माइनर का लूप
- 01
हर नॉन्स आज़माओ
0, 1, 2 और आगे 4,29,49,67,295 तक। यही वे सारे वैल्यूज़ हैं जो 4 bytes में आ सकती हैं।
- 02
जल्दी खत्म हो जाता है
एक अकेली 100 TH/s मशीन करीब 43 millionths of a second में ये सब कर लेती है।
- 03
एक्स्ट्रा नॉन्स बदलो
माइनर अपनी रिवॉर्ड ट्रांजैक्शन (coinbase) में एक खाली फील्ड को एडिट करता है।
- 04
नया merkle root
वो ट्रांजैक्शन बदल गई, तो merkle root बदलता है और हर nonce फिर से नए hashes देता है।
इसलिए माइनर extra nonce भी बदलते हैं, coinbase में रखे कुछ खाली बाइट्स। coinbase ब्लॉक की पहली ट्रांजैक्शन होती है, जो माइनर को पे करती है। नया coinbase मतलब नया merkle root, और मतलब फिर से आज़माने के लिए अरबों नए nonces। mining pool में पूल हर माइनर को extra nonce की अपनी रेंज देता है, ताकि कोई किसी और का काम दोबारा न करे।
block ढूँढना महंगा क्यों है, लेकिन उसे check करना सस्ता क्यों है?
ब्लॉक ढूँढने के लिए
≈ 6.0 × 1023 हैश
पूरा नेटवर्क, उसकी सारी मशीनें, करीब दस मिनट तक अंदाज़े लगाती हैं।
लाइव अनुमान, हर घंटे अपडेट होता है।
इसे जाँचने के लिए
1 हैश
कोई भी node, एक सस्ता laptop भी, 80-byte हेडर को एक बार hash करता है और उसे target से एक millisecond से भी कम समय में compare कर देता है।
माइनर को तब तक hashes ट्राई करने पड़ते हैं, जब तक कोई टारगेट के नीचे न आ जाए। बाकी सबको बस हेडर को एक बार hash करना होता है और compare करना होता है। लागत का यही असंतुलन हजारों आम कंप्यूटर्स को, माइनर्स पर भरोसा किए बिना, चेन verify करने देता है जिन्होंने इसे बनाया।
नीचे सर्च वाला हिस्सा खुद आज़माओ। यह डेमो हीरो से आसान ब्लॉक फ़ॉर्मैट इस्तेमाल करता है, लेकिन यह वही double SHA-256 वाली लॉटरी है, और मिला हुआ हर ब्लॉक पिछले वाले से लिंक होता है।
इंटरैक्टिव · ब्राउज़र में एक ब्लॉक माइन करके देखो
असली SHA-256d प्रूफ-ऑफ-वर्क, सरल किया हुआ हेडर
ब्लॉक हैश (डबल SHA-256)
Transactions बदलो: एक अक्षर बदलते ही hash पूरी तरह बदल जाता है।
प्रयास: 0
तुम्हारा हैशरेट: लागू नहीं
समय: 0.0 s
longest-chain rule क्या है, और 51% अटैक क्या होता है?
कभी-कभी दो माइनर लगभग उसी पल एक ब्लॉक ढूंढ लेते हैं, और नेटवर्क के पास थोड़ी देर के लिए दो वर्ज़न हो जाते हैं। नोड्स उस चेन को फॉलो करते हैं जिसके पीछे कुल काम सबसे ज़्यादा होता है। लोग इसे longest chain कहते हैं, लेकिन असल में ये सबसे भारी वाली होती है: हाई difficulty पर कुछ ब्लॉक्स, लो difficulty पर ज़्यादा ब्लॉक्स से भी भारी पड़ सकते हैं।
किसी पेमेंट को उल्टा करने के लिए, हमलावर को उस पेमेंट से पहले से शुरू करके, बाकी सब से ज़्यादा भारी चेन बनानी पड़ेगी। ऊपर जुड़ने वाला हर नया ब्लॉक (एक confirmation) हमलावर को और पीछे कर देता है। व्हाइटपेपर ने इसकी संभावना निकाली है; उन्हें देखने के लिए स्लाइडर चलाओ:
इंटरैक्टिव · क्या हमलावर पकड़ सकता है?
Bitcoin व्हाइटपेपर, सेक्शन 11 वाला फॉर्मूला
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
हमलावर कितने blocks पीछे है (confirmations)। Bars में log scale है, एक in a million से लेकर certain तक।
10% hashrate के साथ, 6 confirmations के बाद payment को फिर से लिखने की संभावना 0.024% है, और 1 confirmation के बाद 20.5% है।
50% या उससे ज़्यादा होने पर हमलावर आखिरकार जीत जाता है। इसे ही 51% अटैक कहते हैं। यह गंभीर है, लेकिन इसकी कुछ सीमाएँ हैं:
ज्यादातर hashrate के साथ, अटैकर ये कर सकता है
- हाल के ब्लॉक्स को अपनी चेन से बदल देना
- जो कॉइन्स उन्होंने खुद को भेजे, उन्हें डबल-स्पेंड करना
- अपने ब्लॉक्स में कुछ ट्रांजैक्शन छोड़ देना
फिर भी, वे नहीं कर सकते
- दूसरों के वॉलेट से कॉइन्स खर्च करना
- ब्लॉक रिवॉर्ड के अलावा भी कॉइन्स बनाना
- सबके लिए बिटकॉइन के नियम बदल दो
इसीलिए एक्सचेंज बड़े डिपॉज़िट पर कई confirmations का इंतज़ार करते हैं। छह एक आम rule of thumb है।
proof of work में इतनी energy क्यों लगती है?
क्योंकि energy ही security है। एक valid block इस बात का proof है कि असली बिजली खर्च हुई थी। History बदलने के लिए हमलावर को कम से कम उतना फिर से खर्च करना होगा, और जब तक honest network आगे बढ़ता रहता है, तब तक खर्च करते रहना होगा।
energy कहाँ खर्च होती है, और उसके बदले क्या मिलता है
Block reward और fees
हर ब्लॉक के लिए नया BTC और फीस, और पेमेंट उसे मिलता है जो इसे ढूंढता है।
मशीनें और बिजली
माइनर्स उतना ही खर्च करते हैं जितना रिवॉर्ड उनके लिए worth होता है।
नेटवर्क हैशरेट
वो सारी खर्च की गई ताकत hashes per second के रूप में दिखती है।
हिस्ट्री बदलने की लागत
हमलावर को इसे हर ब्लॉक पर, एक के बाद एक, ज्यादा खर्च करके पछाड़ना पड़ता है।
इतनी बिजली कितनी है, और वो कहां से आती है, इस पर ठीक-ठाक बहस होती है। Cambridge index अनुमान ट्रैक करता है, और हमारी Bitcoin mining energy guide में सारे नंबर समझाए गए हैं। हर halving रिवॉर्ड के नए-coin वाले हिस्से को काट देता है, इसलिए समय के साथ उस security budget का बड़ा हिस्सा फीस को उठाना पड़ता है।
Proof of work बनाम proof of stake: फर्क क्या है?
Proof of stake (PoS) अगले ब्लॉक प्रोड्यूसर को उन लोगों में से चुनता है जो coins को डिपॉज़िट के तौर पर लॉक करते हैं, न कि उन लोगों में से जो बिजली खर्च करते हैं। Ethereum ने 2022 में proof of work से proof of stake पर स्विच किया। ये रहा एक फेयर साइड-बाय-साइड:
| प्रूफ़ ऑफ़ वर्क | Proof of stake | |
|---|---|---|
| अगला block कौन जोड़ता है | पहला माइनर जो टारगेट से नीचे वाला हैश ढूंढ ले | एक validator जिसे उसके stake के अनुपात में चुना जाता है |
| इसे सुरक्षित क्या रखता है | चेन के बाहर खर्च हुई बिजली और हार्डवेयर | चेन के अंदर लॉक कॉइन्स, जिन्हें धोखा करने पर छीना जा सकता है |
| Energy का इस्तेमाल | जानबूझकर ऊंचा | कम |
| हिस्सा लेने के लिए | मशीनें और सस्ती बिजली | स्टेक करने के लिए कॉइन्स |
| सेटलमेंट | हर कन्फर्मेशन के साथ ज़्यादा सुरक्षित होता जाता है | स्पष्ट फाइनलिटी चेकपॉइंट्स |
| मुख्य आलोचना | ऊर्जा का इस्तेमाल और माइनिंग का केंद्रीकरण | स्टेक का सिमटना और ज़्यादा जटिल डिज़ाइन |
| ट्रैक रिकॉर्ड | Bitcoin, 2009 से | Ethereum, 2022 से |
Bitcoin के developers ने proof of work को बनाए रखा है क्योंकि इसकी cost system के बाहर होती है, इसलिए कोई भी अपने पास मौजूद coins से control खरीद नहीं सकता। Proof of stake के समर्थक energy बचत और तेज finality की तरफ इशारा करते हैं।
क्या तुम खुद proof of work चलाए बिना mining से bitcoin कमा सकते हो?
हाँ। CloudMineCrypto के साथ तुम फोन या ब्राउज़र से बिना किसी हार्डवेयर, शोर या बिजली के बिल के bitcoin फ्री में माइन करते हो। फ्री 8-hour प्लान क्लेम करो, और ads देखकर, गेम्स खेलकर, ऑफ़र्स पूरे करके और रोज़ check-in करके और फ्री प्लान जोड़ो। जब तक तुम्हारे प्लान चलते हैं तुम्हारा BTC बैलेंस बढ़ता रहता है, और तुम अपने खुद के वॉलेट में withdraw करते हो, Lightning सहित।
हर प्लान की एक हैशरेट होती है। आपका अनुमान पूरे नेटवर्क में उस हैशरेट के हिस्से को, प्रति घंटे 6 ब्लॉक और ब्लॉक रिवॉर्ड से गुणा करके मिलता है। आपके रिवॉर्ड का अनुमान लगाने के लिए ऐप इसी फ़ॉर्मूले का इस्तेमाल करता है (नियम और सीमाएँ लागू हैं)। ज़्यादा स्पीड चाहिए? वैकल्पिक पेड प्लान से हैशरेट बढ़ती है। पुष्टि करने से पहले कीमत दिखाई जाती है।
जानने लायक: रिवॉर्ड्स एस्टिमेट हैं, जो नेटवर्क के साथ बदलते रहते हैं और गारंटीड नहीं हैं, और कोई प्लान किसी मशीन या पूल की ओनरशिप नहीं देता। विड्रॉल पर लिमिट्स लागू हो सकती हैं या वेरिफिकेशन ज़रूरी हो सकता है। डिटेल्स reward rules और free Bitcoin mining guide में हैं। Terms apply.
अक्सर पूछे जाने वाले सवाल
आसान शब्दों में proof of work क्या है?
ये ब्लॉक जोड़ने को असली मेहनत वाला काम बनाने का तरीका है। माइनर्स ब्लॉक हेडर को बार-बार हैश करते हैं, nonce नाम का एक नंबर बदलते रहते हैं, जब तक रिजल्ट target से नीचे न आ जाए। उस हैश को ढूंढने में बेहिसाब guesses लगते हैं, लेकिन कोई भी उसे एक ही hash से चेक कर सकता है।
Bitcoin में nonce क्या होता है?
ब्लॉक हेडर में 4-byte का एक नंबर, जिसे माइनर हर अनुमान पर बदलते हैं। इसमें करीब 4.3 अरब संभावित वैल्यू होती हैं। जब ये खत्म हो जाती हैं, तो माइनर coinbase transaction के अंदर extra nonce बदलते हैं। इससे नया merkle root बनता है और hashes का नया सेट मिलता है।
Bitcoin SHA-256 को दो बार क्यों चलाता है?
Bitcoin 80-byte हेडर को SHA-256 से hash करता है और फिर उस result को एक बार और hash करता है। Satoshi ने कभी इसकी वजह नहीं बताई। आम समझ ये है कि इससे length-extension attacks से बचाव होता है और extra safety margin मिलता है।
51% अटैक किसी को क्या करने देता है?
जिसके पास ज़्यादातर hashrate हो, वो प्राइवेट में एक लंबी चेन बना सकता है और हाल के ब्लॉक्स को बदल सकता है। इससे वो अपने ही कॉइन्स को double-spend कर सकता है या कुछ ट्रांजैक्शन्स को ब्लॉक कर सकता है। वो दूसरों के कॉइन्स खर्च नहीं कर सकता, नियमों से बाहर नए कॉइन्स नहीं बना सकता, और न ही सबके लिए नियम बदल सकता है।
क्या proof of stake, proof of work से बेहतर है?
इसमें ऊर्जा बहुत कम लगती है, और सिक्योरिटी stake के तौर पर लॉक किए गए कॉइन्स से आती है। Proof of work में सिक्योरिटी एक बाहरी लागत, बिजली और हार्डवेयर, से जुड़ी होती है, और 2009 से Bitcoin इसे चला रहा है। दोनों में अलग trade-offs हैं, इसलिए कौन बेहतर है ये इस पर निर्भर करता है कि तुम किस चीज़ को ज्यादा अहम मानते हो।
क्या मैं अपने खुद के hardware के बिना mining से bitcoin कमा सकता हूँ?
हाँ। CloudMineCrypto ऐप में तुम फ्री माइनिंग प्लान क्लेम करते हो (फ्री प्लान, ads, गेम्स, ऑफ़र्स और डेली check-in), और जब तक वे चल रहे होते हैं तुम्हारा BTC बैलेंस बढ़ता रहता है। फिर तुम अपने खुद के वॉलेट में withdraw करते हो। रिवॉर्ड्स तुम्हारे प्लान के hashrate और लाइव नेटवर्क डेटा पर आधारित अनुमान हैं, इनकी गारंटी नहीं है, और प्लान से किसी हार्डवेयर की ownership नहीं मिलती।
स्रोत और आगे पढ़ने के लिए
- Bitcoin: A Peer-to-Peer Electronic Cash System (व्हाइटपेपर) · Satoshi Nakamoto, bitcoin.org
- ब्लॉकचेन गाइड: ब्लॉक हेडर, प्रूफ़ ऑफ़ वर्क, कॉइनबेस · बिटकॉइन डेवलपर डॉक्यूमेंटेशन
- Mining guide: solo mining, pools, getblocktemplate · बिटकॉइन डेवलपर डॉक्यूमेंटेशन
- डिफिकल्टी · बिटकॉइन विकी
- कन्फर्मेशन · बिटकॉइन विकी
- Cambridge Bitcoin Electricity Consumption Index · कैम्ब्रिज सेंटर फ़ॉर ऑल्टरनेटिव फ़ाइनेंस
- Mining dashboard: hashrate, difficulty, हाल के ब्लॉक्स · mempool.space
इस पेज पर लाइव आंकड़े (नेटवर्क हैशरेट, ब्लॉक रिवॉर्ड, BTC कीमत) CloudMineCrypto API से आते हैं, हर घंटे रिफ्रेश होते हैं, और जहां दिखते हैं वहां लेबल किए गए हैं। यह गाइड शैक्षणिक है, वित्तीय सलाह नहीं। CloudMineCrypto कोई निवेश उत्पाद नहीं है; ऐप में रिवॉर्ड्स अनुमान हैं और इनकी गारंटी नहीं है।
आपने पढ़ लिया कि यह कैसे काम करता है। अब इसे होते हुए देखें।
CloudMineCrypto ऐप में मुफ्त 8-घंटे का माइनिंग प्लान क्लेम करें और लाइव नेटवर्क डेटा से अपने अनुमानित BTC को बढ़ते देखें। न हार्डवेयर, न कार्ड।