Ethash is the proof-of-work function in Ethereum-based blockchain currencies. It uses Keccak, a hash function eventually standardized to SHA-3. These two are different, and should not be confused. Since version 1.0, Ethash has been designed to be ASIC-resistant via memory-hardness (harder to implement in special ASIC chips) and easily verifiable.

It also uses a slightly modified version of earlier Dagger and Hashimoto hashes to remove computational overhead.

Previously referred to as Dagger-Hashimoto, the Ethash function has evolved over time. Ethash uses an initial 1 GB dataset known as the Ethash DAG and a 16 MB cache for light clients to hold. These are regenerated every 30,000 blocks, known as an epoch. Miners grab slices of the DAG to generate mix-hashes using transaction and receipt data, along with a cryptographic nonce to generate a hash below a dynamic target difficulty.

Floyd-Warshall Algorithm

The Floyd–Warshall algorithm is an example of dynamic programming, and was published in its currently recognized form by Robert Floyd in 1962. It is also known as all pair shortest path problem. Floyd–Warshall algorithm is an algorithm for finding shortest paths in a weighted graph with positive or negative edge weights (but with no negative cycles). <read on>

Bubble sort

Perhaps the first computer algorithm ever created (1963). Developed by system development corporation, Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in wrong order.
<read on>

K-nearest neighbor classification

One of the simplest, and rather trivial classifiers is the Rote classifier, which memorizes the entire training data and performs classification only if the attributes of the test object match one of the training examples exactly. An obvious drawback of this approach is that many test records will not be classified because they do not exactly match any of the training records. <read on>

Forward–backward algorithm

The forward-backward algorithm is an algorithm for computing posterior marginals in a hidden Markov model (HMM). It is based on dynamic programming, and has linear complexity in the length of the sequence. It is used as a component of several other algorithms, such as the Baum_Welch algorithm and block Gibbs sampling in factorial HMMs. <read on>


X11 algorithm was developed by Dash developers and its called a Proof-of-Work. The algorithm was based on multiple rounds of different hashes (blake, bmw, groestl, jh, keccak, skein, luffa, cubehash, shavite, simd, echo) by making it one of the safest cryptocurrency in existence.

The cryptocurrencies that are mined using this algorithm are:

  • MonetaryUnit
  • Karmacoin
  • StartCoin
  • Dash
  • XCurrency

It is an altcoin that was forked from the Bitcoin protocol. The currency permits fast transactions that can be untraceable. 45% of mined coins go to miners, 45% to masternodes, and 10% into a fund that the DAO invests.

Long short-term memory (LSTM)

Long short-term memory units (or blocks) are a building unit for layers of a recurrent neural network (RNN). <read on>


Scrypt is used in many cryptocurrencies as a proof-of-work algorithm. It was first implemented for Tenebrix and served as the basis for Litecoin and Dogecoin, which also adopted its scrypt algorithm. The Scrypt algorithm is more simple and quicker than the SHA-256 algorithm.

Scrypt’s hash rate is measured by Kilohashes per second, or one thousand hash computations per second. The cryptocurrencies that are mined using this algorithm are:

  • Dogecoin
  • Gulden
  • Litecoin
  • PotCoin
  • FeatherCoin
  • TagCoin
  • MidasCoin

The Boston Shuffle

Mysterious and possibly nefarious trading algorithms are operating every minute of every day in the nation’s stock exchanges.

In the aftermath of the “flash crash”, which saw the Dow plunge nearly 1,000 points in just a few minutes, a company called Namex spent weeks digging into the market recordings, replaying the day’s trades and trying to understand what happened.

Jeffrey Donovan (an engineer at Nanex) came up with the idea to plot the action around a stock sequentially at the millisecond range. When he tried it, he was blown away by the pattern. He called it “The Knife.

“When I pulled up that first chart, we saw ‘the knife,’ we said, that’s certainly algorithmic and that is weird. We continued to refine our software, honing the algorithms we use to find this stuff,” Donovan told The Atlantic.

Now that he knows where and how to look, he could spend all day for weeks just picking out these patterns in the market data. His examples can still be found online.

Belief propagation

Belief propagation is a message-passing algorithm for performing inference on graphical models, such as Bayesian networks and Markov random fields. It calculates the marginal distribution for each unobserved node, conditional on any observed nodes. Belief propagation is commonly used in artificial intelligence and information theory and has demonstrated empirical success in numerous applications including low-density parity-check codes, turbo codes, free energy approximation, and satisfiability.

The algorithm was first proposed by Judea Pearl in 1982, who formulated it as an exact inference algorithm on trees, which was later extended to polytrees. While it is not exact on general graphs anymore, it has been shown to be a useful approximate algorithm.