Cryptocurrency Algorithms
SHA-256. Before digging into the specifics of this algorithm—which is by far the most-used in mining—we'll address the most common question about it: What the heck does “SHA” stand for? Well, it stands for “secure hash algorithm.” It's a calculation method designed to make sure the information in a data set (or, in digital currency, a data block) has not been altered from its original form. It's secure because it's encrypted, or coded, and can only be accessed by people who have its code.
The SHA-2 set of algorithms was developed and issued as a security standard by the United States National Security Agency (NSA) in 2001. SHA-256 is a member of the SHA-2 “family.” As you may have guessed, this group of algorithms followed SHA-0 (released in 1993) and SHA-1 (released in 1995 as a replacement for its predecessor).
This specific algorithm is called SHA-256 because it generates digests that are 256 bits in size. This means that a specific piece of data (or datum, to be technically correct) is translated and encoded into a 256-bit code. The resulting encrypted data is referred to as “hash.” Block processing time for SHA-256 generally ranges from six to ten minutes.
SHA-256-D. This term is often used synonymously with SHA-256—and, indeed, both algorithms are very closely related. In fact, many experts consider SHA-256-D to simply be a subset of SHA-256. You may also hear the term “SHA-256 double/doubled;” that's what the “D” stands for. With SHA-256-D, the data is translated into 256-bit hash, just as described above. However, it's taken a step further, and that hash is run through the process a second time, encrypting the hash once more. Despite the extra step, the time it takes for SHA-256-D to process a data block is the same as SHA-256: six to ten minutes.
It should be noted that, in the cryptocurrency industry, many people don't bother to split hairs, and both processes are referred to simply as SHA-256.
SHA-1. To date, the only digital currency that uses this algorithm is IxCoin (IXC). SHA-1 is an older algorithm, and it differs from SHA-256 in that the hash in generates is only 160 bits, as opposed to 256. Processing time for SHA-1 is roughly comparable to that of SHA-256, ranging from five to eight minutes.
Scrypt. This is a multi-layered algorithm that begins, believe it or not, by running data through the SHA-256 hash process. It then uses elements of the Stochastic Approach for Link-Structure Analysis (SALSA) algorithm to complete hash generation. Scrypt's detractors claim this takes a lot more memory than SHA-256 does, but its lower energy and resource demands seem to overshadow that in the minds of most miners. Unlike SHA-256, Scrypt miners can set the hash size to a smaller number; this (among other factors) makes it a faster mining algorithm. As a result, Scrypt can fully process a data block in as little as thirty seconds—though it's argued this carries a slight risk to transaction security, until after a few more blocks (or generations) can be processed.
Momentum. This is the proprietary mining algorithm used by Protoshares (PTS). At the heart of Momentum is the SHA-512 protocol, which means the hash generated by Momentum is created in 512-bit pieces. (SHA-512 is a member of the SHA-2 set of algorithms, just like SHA-256). Beyond this, little more is known about what enhancements are used to complete the hashing and mining process with Momentum. Understandably, Protoshares is keeping as much information as they possibly can secret about their algorithm. Momentum's targeted processing time for a single data block is five minutes.
Chances are, when it comes to cryptocurrency mining, you'll hear references to SHA-256 and Scrypt, because they're by far the most-used. But we thought you might enjoy this closer look at all the algorithms that are currently in play in the industry today.
No comments