![]() ![]() Without it, two completely different Bitcoin blocks may be represented by the exact same hash, allowing attackers to potentially switch out blocks. ![]() This breaks the third property of uniqueness. ![]() A birthday attack is a scenario where an attacker is able to produce the same hash as another input by using a completely different input (called a collision). ![]() Here is what that process looks like: Input to SHA-256(first round):ģc6c55b0e4b607b672b50f04e028a6951aed6dc97b91e103fb0f348c3f1dfa00ĭouble hashing is used to safeguard against birthday attacks. This means that the output of the original SHA-256 function is then put right back into the SHA-256 function to obtain another output. Interestingly enough, in the majority of places where hashing is used in the Bitcoin protocol, double hashing is used. Here is an example of a SHA-256 function input and output (you can try it out yourself here): Input to SHA-256:ħ7077b1f4c3ad44c83dc0bdb8d937e9b71c0ef07a35c2664bb7da85be738eacf A hash function’s input results in a completely unique output The output of the SHA-256 function is usually referred to as the hash of its input. It always outputs a 256 bit number (the most basic unit of computation), which is usually represented in the hexadecimal number system with 64 characters for human-readability. This is a specific cryptographic hash function that has been mathematically proven to hold the above properties. In particular, the creator of the Bitcoin protocol, Satoshi Nakomoto, chose to use the SHA-256 hash function as the basis for Bitcoin mining. These rules provide the foundation that enables Bitcoin mining to secure the network. Irreversible - Given an output of a hash function, the original input is unable to be obtained.Unique - Every input into the function should result in a completely random and unique output (in other words, no two inputs result in the same output).Fast - Computing the output of the hash function, given any input, is a relatively fast process (doesn’t need heavy computation).Deterministic - for any input into the cryptographic hash function, the resulting output will always be the same.However, there are four special properties of these functions that make them invaluable to the Bitcoin network. The underlying technology that powers this immutability and security is cryptographic hashing.Ī cryptographic hash function is a mathematical function that, simply put, takes any input and maps it to a fixed-size string. The Bitcoin blockchain is often described as a database that is cryptographically secure and, subsequently, immutable. Why Mining Works: Cryptographic One-Way Hashing This article will explore all the technical components and moving parts of proof-of-work, and how they seamlessly synchronize with one another to allow Bitcoin to be the decentralized platform it is today. In order to truly understand these questions (and any possible answers), you need to have a fundamental understanding Bitcoin mining itself and its evolution. Often times, proof-of-work is described as a “cryptographic puzzle,” but what is that puzzle, really? People are increasingly concerned about and interested in the environmental impact of Bitcoin mining, the security and degree of decentralization of the underlying model, and even the potential impact of a quantum computing breakthrough on the future of Bitcoin and other cryptocurrencies. By Subhan Nadeem How Bitcoin mining really worksĪs Bitcoin approaches mainstream adoption and recognition, its fundamental security model, characterized as mining, is being put under the spotlight and scrutinized more and more everyday. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |