The key in public-key encryption is based on a hash value. This is a value that is computed from a base input number using a hashing algorithm. Essentially, the hash value is a summary of the original value. The important thing about a hash value is that it is nearly impossible to derive the original input number without knowing the data used to create the hash value.
Hashing is the transformation of a string of characters into a usually shorter fixed-length value or key that represents the original string. Hashing is used to index and retrieve items in a database because it is faster to find the item using the shorter hashed key than to find it using the original value. It is also used in many encryption algorithms.
A hash function is any function that can be used to map data of arbitrary size to data of fixed size. The values returned by a hash function are called hash values, hash codes, digests, or simply hashes. One use is a data structure called a hash table, widely used in computer software for rapid data lookup. Hash functions accelerate table or database lookup by detecting duplicated records in a large file.
X11 is the name of a chained hashing algorithm, which is used for the ‘Proof of Work’ calculations which secure the network of some cryptocurrencies. It is known as a chained algorithm because it uses 11 different algorithms which are chained together. These are: blake, bmw, groestl, jh, keccak, skein, luffa, cubehash, shavite, simd, and echo.
It is ASIC-resistant and suitable for both CPU mining and GPU mining.
X11 was developed in order to overcome some significant drawbacks associated with previously used cryptocurrency mining algorithms such as SHA-256 (Bitcoin) or Scrypt (Mavrodi Coin, etc). The biggest of these drawbacks was the fact that electronics companies had developed specialist hardware, called ASICs, for mining coins which used the SHA-256 and Scrypt mining algorithms. This had the effect of making the networks more centralized – controlled by a small group of powerful miners, whereas the original vision for cryptocurrency was for ordinary users to be able to take part in securing the network and earning rewards through mining. Mining centralization reducing network security, reduces the number of people with a stake in running the network who naturally become its advocates, and may increase the likelihood of mined coins being instantly ‘dumped’ as businesses need to cover costs and take profits whereas individuals may not have to.
By designing the X11 algorithm to be well suited to use with general purposes CPU processors and commonly used GPU graphics cards, and by cycling through many different algorithms rather than using a single algorithm, it makes it difficult for manufacturers to develop ASICs for coins which use this algorithm. Although it is possible that ASICs will eventually be produced, X11 coins are expected to remain ASIC-resistant for at least the short and medium term future.
The use of 11 different algorithms also increases the security of coins using this method against brute force attacks. Brute force attacks against coins, such as Bitcoin, which use other algorithms are not currently possible, but may conceivably be possible at some point in the future.
Another additional benefit of this algorithm compared to SHA-256 and Scrypt is the fact that it is less intensive and therefore uses less electricity. Computers running other algorithms tend to run very hot and use up a lot of electricity. For example, a graphics card running the Scrypt algorithm will produce 30% more heat than the same card running X11 – and this excess heat reduces the lifespan of the hardware as well as reducing overall efficiency.