Why can't miners meet the difficulty by picking a low number for the block hash?What is preventing me from simply constructing a hash that's lower than the current target?Why is the hash rate pumped near difficulty calculations?How is it that concurrent miners do not subvert each other's work?Difficulty for hash (reversed function of “does hash met difficulty/target”)Why didn't the difficulty adjust for the first 30,240 blocks?Why wouldn't miners change the protocol? (e.g. change difficulty)How is mining difficulty defined (formula)?Why can't a Bitcoin fork take over?When computing the hash, do you need anything after the number of difficulty bits?

What is the purpose of Strength, Intelligence and Dexterity in Path of Exile?

Wrong Stamping of UK Visa

Create a list of snaking numbers under 50,000

Printing a list as "a, b, c." using Python

Generic method to call API functions with simple retrial on errors

Inspiration for failed idea?

Why is "I let him to sleep" incorrect (or is it)?

What control character is ^ in the buffer in a file open in vim?

I feel cheated by my new employer, does this sound right?

What is the following VRP?

Defending Castle from Zombies

Why military weather satellites?

How can I reply to coworkers who accuse me of automating people out of work?

Coupling two 15 Amp circuit breaker for 20 Amp

having problems with greek characters in a table using csvsimple

Journal published a paper, ignoring my objections as a referee

Why are JWST optics not enclosed like HST?

Moscow SVO airport, how to avoid scam taxis without pre-booking?

Count the number of triangles

Do multi-engine jets need all engines with equal age to reduce asymmetry in thrust and fuel consumption arising out of deterioration?

Can a network vulnerability be exploited locally?

Should I use the words "pyromancy" and "necromancy" even if they don't mean what people think they do?

How to understand payment due date for credit card?

Why did Lucius make a deal out of Buckbeak hurting Draco but not about Draco being turned into a ferret?



Why can't miners meet the difficulty by picking a low number for the block hash?


What is preventing me from simply constructing a hash that's lower than the current target?Why is the hash rate pumped near difficulty calculations?How is it that concurrent miners do not subvert each other's work?Difficulty for hash (reversed function of “does hash met difficulty/target”)Why didn't the difficulty adjust for the first 30,240 blocks?Why wouldn't miners change the protocol? (e.g. change difficulty)How is mining difficulty defined (formula)?Why can't a Bitcoin fork take over?When computing the hash, do you need anything after the number of difficulty bits?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








2















In terms of 'proof of work' my novice understanding is that miners are tying to come up with a 64-digit hexadecimal number, "hash," that is less than or equal to the target hash.



Can't miners always get lower than the target has by inputting "63 zeros followed by a 1?



Beginner here, I apologize for my simplistic understanding.










share|improve this question









New contributor



jack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





















  • Possible duplicate of What is preventing me from simply constructing a hash that's lower than the current target?

    – chytrik
    5 hours ago

















2















In terms of 'proof of work' my novice understanding is that miners are tying to come up with a 64-digit hexadecimal number, "hash," that is less than or equal to the target hash.



Can't miners always get lower than the target has by inputting "63 zeros followed by a 1?



Beginner here, I apologize for my simplistic understanding.










share|improve this question









New contributor



jack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





















  • Possible duplicate of What is preventing me from simply constructing a hash that's lower than the current target?

    – chytrik
    5 hours ago













2












2








2








In terms of 'proof of work' my novice understanding is that miners are tying to come up with a 64-digit hexadecimal number, "hash," that is less than or equal to the target hash.



Can't miners always get lower than the target has by inputting "63 zeros followed by a 1?



Beginner here, I apologize for my simplistic understanding.










share|improve this question









New contributor



jack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











In terms of 'proof of work' my novice understanding is that miners are tying to come up with a 64-digit hexadecimal number, "hash," that is less than or equal to the target hash.



Can't miners always get lower than the target has by inputting "63 zeros followed by a 1?



Beginner here, I apologize for my simplistic understanding.







difficulty proof-of-work block-validity block-hash






share|improve this question









New contributor



jack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.










share|improve this question









New contributor



jack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








share|improve this question




share|improve this question








edited 8 hours ago









Murch

36.5k27 gold badges120 silver badges354 bronze badges




36.5k27 gold badges120 silver badges354 bronze badges






New contributor



jack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








asked 9 hours ago









jackjack

111 bronze badge




111 bronze badge




New contributor



jack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




New contributor




jack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

















  • Possible duplicate of What is preventing me from simply constructing a hash that's lower than the current target?

    – chytrik
    5 hours ago

















  • Possible duplicate of What is preventing me from simply constructing a hash that's lower than the current target?

    – chytrik
    5 hours ago
















Possible duplicate of What is preventing me from simply constructing a hash that's lower than the current target?

– chytrik
5 hours ago





Possible duplicate of What is preventing me from simply constructing a hash that's lower than the current target?

– chytrik
5 hours ago










2 Answers
2






active

oldest

votes


















4















The hash is a result of computing two rounds of SHA256 on the block header. If you set the hash yourself, when other nodes try to verify the hash by performing the aforementioned computation, it will not (however, there is an infinitesimal chance) result in "63 zeros followed by a 1". I suggest reading about hash functions.



The only reliable way to create a valid hash is to continuously compute the hash on the actual block header, while modifying the contents of the block so that the block is still valid (e.g. nonce, transactions, block version, etc.), but gives you a lot of tries (guesses) until you get an output that is valid. It is basically brute forcing, so having fast, efficient mining hardware is an advantage.



See also: Block Hashing Algorithm






share|improve this answer
































    1















    The block hash is the digest of hashing the block header with SHA-256d. This digest must meet the difficulty requirement when interpreted as a number, and since it's unique is also used as an identifier for the block.



    The hash cannot be picked arbitrarily, as that would require you to revert a hash function. This contradicts the pre-image resistance property of cryptographic hash functions which states:




    Given a hash h, it is difficult to find a message m that for which h = hash(m).




    In fact, the proof-of-work puzzle of trying to find a block which has a specific prefix is essentially requiring miners to solve a much easier sub-problem: finding a partial pre-image.



    In conclusion, the only practical way for a miner to pick a block hash is by finding a block header whose digest meets the difficulty statement.






    share|improve this answer

























    • Not a programmer here, so I'm trying to understand this on simple terms. Let's use numbers 0-9. Target hash is 6. One miner picks number 2, which is below the target hash, is this sufficient?

      – jack
      8 hours ago











    • Where does this simple analogy break down?

      – jack
      8 hours ago






    • 1





      Yes, any number that is smaller than the target hash meets the difficulty. But they cannot just "pick" 2. They have to try many block templates until they find one which happens to hash to 2. :)

      – Murch
      7 hours ago











    • @jack to be more explicit, the miner does not pick a hash. The miner picks a header, from which the hash is computed.

      – stewbasic
      48 mins ago













    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "308"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    noCode: true, onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );






    jack is a new contributor. Be nice, and check out our Code of Conduct.









    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f90095%2fwhy-cant-miners-meet-the-difficulty-by-picking-a-low-number-for-the-block-hash%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    4















    The hash is a result of computing two rounds of SHA256 on the block header. If you set the hash yourself, when other nodes try to verify the hash by performing the aforementioned computation, it will not (however, there is an infinitesimal chance) result in "63 zeros followed by a 1". I suggest reading about hash functions.



    The only reliable way to create a valid hash is to continuously compute the hash on the actual block header, while modifying the contents of the block so that the block is still valid (e.g. nonce, transactions, block version, etc.), but gives you a lot of tries (guesses) until you get an output that is valid. It is basically brute forcing, so having fast, efficient mining hardware is an advantage.



    See also: Block Hashing Algorithm






    share|improve this answer





























      4















      The hash is a result of computing two rounds of SHA256 on the block header. If you set the hash yourself, when other nodes try to verify the hash by performing the aforementioned computation, it will not (however, there is an infinitesimal chance) result in "63 zeros followed by a 1". I suggest reading about hash functions.



      The only reliable way to create a valid hash is to continuously compute the hash on the actual block header, while modifying the contents of the block so that the block is still valid (e.g. nonce, transactions, block version, etc.), but gives you a lot of tries (guesses) until you get an output that is valid. It is basically brute forcing, so having fast, efficient mining hardware is an advantage.



      See also: Block Hashing Algorithm






      share|improve this answer



























        4














        4










        4









        The hash is a result of computing two rounds of SHA256 on the block header. If you set the hash yourself, when other nodes try to verify the hash by performing the aforementioned computation, it will not (however, there is an infinitesimal chance) result in "63 zeros followed by a 1". I suggest reading about hash functions.



        The only reliable way to create a valid hash is to continuously compute the hash on the actual block header, while modifying the contents of the block so that the block is still valid (e.g. nonce, transactions, block version, etc.), but gives you a lot of tries (guesses) until you get an output that is valid. It is basically brute forcing, so having fast, efficient mining hardware is an advantage.



        See also: Block Hashing Algorithm






        share|improve this answer













        The hash is a result of computing two rounds of SHA256 on the block header. If you set the hash yourself, when other nodes try to verify the hash by performing the aforementioned computation, it will not (however, there is an infinitesimal chance) result in "63 zeros followed by a 1". I suggest reading about hash functions.



        The only reliable way to create a valid hash is to continuously compute the hash on the actual block header, while modifying the contents of the block so that the block is still valid (e.g. nonce, transactions, block version, etc.), but gives you a lot of tries (guesses) until you get an output that is valid. It is basically brute forcing, so having fast, efficient mining hardware is an advantage.



        See also: Block Hashing Algorithm







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 9 hours ago









        JBaczukJBaczuk

        5,8121 gold badge5 silver badges25 bronze badges




        5,8121 gold badge5 silver badges25 bronze badges


























            1















            The block hash is the digest of hashing the block header with SHA-256d. This digest must meet the difficulty requirement when interpreted as a number, and since it's unique is also used as an identifier for the block.



            The hash cannot be picked arbitrarily, as that would require you to revert a hash function. This contradicts the pre-image resistance property of cryptographic hash functions which states:




            Given a hash h, it is difficult to find a message m that for which h = hash(m).




            In fact, the proof-of-work puzzle of trying to find a block which has a specific prefix is essentially requiring miners to solve a much easier sub-problem: finding a partial pre-image.



            In conclusion, the only practical way for a miner to pick a block hash is by finding a block header whose digest meets the difficulty statement.






            share|improve this answer

























            • Not a programmer here, so I'm trying to understand this on simple terms. Let's use numbers 0-9. Target hash is 6. One miner picks number 2, which is below the target hash, is this sufficient?

              – jack
              8 hours ago











            • Where does this simple analogy break down?

              – jack
              8 hours ago






            • 1





              Yes, any number that is smaller than the target hash meets the difficulty. But they cannot just "pick" 2. They have to try many block templates until they find one which happens to hash to 2. :)

              – Murch
              7 hours ago











            • @jack to be more explicit, the miner does not pick a hash. The miner picks a header, from which the hash is computed.

              – stewbasic
              48 mins ago















            1















            The block hash is the digest of hashing the block header with SHA-256d. This digest must meet the difficulty requirement when interpreted as a number, and since it's unique is also used as an identifier for the block.



            The hash cannot be picked arbitrarily, as that would require you to revert a hash function. This contradicts the pre-image resistance property of cryptographic hash functions which states:




            Given a hash h, it is difficult to find a message m that for which h = hash(m).




            In fact, the proof-of-work puzzle of trying to find a block which has a specific prefix is essentially requiring miners to solve a much easier sub-problem: finding a partial pre-image.



            In conclusion, the only practical way for a miner to pick a block hash is by finding a block header whose digest meets the difficulty statement.






            share|improve this answer

























            • Not a programmer here, so I'm trying to understand this on simple terms. Let's use numbers 0-9. Target hash is 6. One miner picks number 2, which is below the target hash, is this sufficient?

              – jack
              8 hours ago











            • Where does this simple analogy break down?

              – jack
              8 hours ago






            • 1





              Yes, any number that is smaller than the target hash meets the difficulty. But they cannot just "pick" 2. They have to try many block templates until they find one which happens to hash to 2. :)

              – Murch
              7 hours ago











            • @jack to be more explicit, the miner does not pick a hash. The miner picks a header, from which the hash is computed.

              – stewbasic
              48 mins ago













            1














            1










            1









            The block hash is the digest of hashing the block header with SHA-256d. This digest must meet the difficulty requirement when interpreted as a number, and since it's unique is also used as an identifier for the block.



            The hash cannot be picked arbitrarily, as that would require you to revert a hash function. This contradicts the pre-image resistance property of cryptographic hash functions which states:




            Given a hash h, it is difficult to find a message m that for which h = hash(m).




            In fact, the proof-of-work puzzle of trying to find a block which has a specific prefix is essentially requiring miners to solve a much easier sub-problem: finding a partial pre-image.



            In conclusion, the only practical way for a miner to pick a block hash is by finding a block header whose digest meets the difficulty statement.






            share|improve this answer













            The block hash is the digest of hashing the block header with SHA-256d. This digest must meet the difficulty requirement when interpreted as a number, and since it's unique is also used as an identifier for the block.



            The hash cannot be picked arbitrarily, as that would require you to revert a hash function. This contradicts the pre-image resistance property of cryptographic hash functions which states:




            Given a hash h, it is difficult to find a message m that for which h = hash(m).




            In fact, the proof-of-work puzzle of trying to find a block which has a specific prefix is essentially requiring miners to solve a much easier sub-problem: finding a partial pre-image.



            In conclusion, the only practical way for a miner to pick a block hash is by finding a block header whose digest meets the difficulty statement.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 8 hours ago









            MurchMurch

            36.5k27 gold badges120 silver badges354 bronze badges




            36.5k27 gold badges120 silver badges354 bronze badges















            • Not a programmer here, so I'm trying to understand this on simple terms. Let's use numbers 0-9. Target hash is 6. One miner picks number 2, which is below the target hash, is this sufficient?

              – jack
              8 hours ago











            • Where does this simple analogy break down?

              – jack
              8 hours ago






            • 1





              Yes, any number that is smaller than the target hash meets the difficulty. But they cannot just "pick" 2. They have to try many block templates until they find one which happens to hash to 2. :)

              – Murch
              7 hours ago











            • @jack to be more explicit, the miner does not pick a hash. The miner picks a header, from which the hash is computed.

              – stewbasic
              48 mins ago

















            • Not a programmer here, so I'm trying to understand this on simple terms. Let's use numbers 0-9. Target hash is 6. One miner picks number 2, which is below the target hash, is this sufficient?

              – jack
              8 hours ago











            • Where does this simple analogy break down?

              – jack
              8 hours ago






            • 1





              Yes, any number that is smaller than the target hash meets the difficulty. But they cannot just "pick" 2. They have to try many block templates until they find one which happens to hash to 2. :)

              – Murch
              7 hours ago











            • @jack to be more explicit, the miner does not pick a hash. The miner picks a header, from which the hash is computed.

              – stewbasic
              48 mins ago
















            Not a programmer here, so I'm trying to understand this on simple terms. Let's use numbers 0-9. Target hash is 6. One miner picks number 2, which is below the target hash, is this sufficient?

            – jack
            8 hours ago





            Not a programmer here, so I'm trying to understand this on simple terms. Let's use numbers 0-9. Target hash is 6. One miner picks number 2, which is below the target hash, is this sufficient?

            – jack
            8 hours ago













            Where does this simple analogy break down?

            – jack
            8 hours ago





            Where does this simple analogy break down?

            – jack
            8 hours ago




            1




            1





            Yes, any number that is smaller than the target hash meets the difficulty. But they cannot just "pick" 2. They have to try many block templates until they find one which happens to hash to 2. :)

            – Murch
            7 hours ago





            Yes, any number that is smaller than the target hash meets the difficulty. But they cannot just "pick" 2. They have to try many block templates until they find one which happens to hash to 2. :)

            – Murch
            7 hours ago













            @jack to be more explicit, the miner does not pick a hash. The miner picks a header, from which the hash is computed.

            – stewbasic
            48 mins ago





            @jack to be more explicit, the miner does not pick a hash. The miner picks a header, from which the hash is computed.

            – stewbasic
            48 mins ago










            jack is a new contributor. Be nice, and check out our Code of Conduct.









            draft saved

            draft discarded


















            jack is a new contributor. Be nice, and check out our Code of Conduct.












            jack is a new contributor. Be nice, and check out our Code of Conduct.











            jack is a new contributor. Be nice, and check out our Code of Conduct.














            Thanks for contributing an answer to Bitcoin Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f90095%2fwhy-cant-miners-meet-the-difficulty-by-picking-a-low-number-for-the-block-hash%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

            Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

            Ласкавець круглолистий Зміст Опис | Поширення | Галерея | Примітки | Посилання | Навігаційне меню58171138361-22960890446Bupleurum rotundifoliumEuro+Med PlantbasePlants of the World Online — Kew ScienceGermplasm Resources Information Network (GRIN)Ласкавецькн. VI : Літери Ком — Левиправивши або дописавши її