An Algorithm to Make Online Currency as Trustworthy as Cash

WIRED: Through bitcoin and other digital currencies, so many activists, entrepreneurs, and opportunists are chasing the dream. They envision a world where we can trade money as easily as we trade data, where anyone can send and receive currency from any machine on earth, where our financial system is controlled not by big banks or big government but by the people.

The trouble is: we need a way ensuring that the people can be trusted, that this vast network of machines can reliably keep track of our money, that no one can game the system and make off with money that isn’t rightful theirs (or, at least, that no one will game things too easily). Bitcoin tackles this issue using a rather elaborate online system where people build specialized computers, or “mining rigs,” that do little more than solve random math problems all day long. But David Mazières is proposing a new method, one that affords trust—perhaps even a greater level of trust—without relying on the expensive and power-hungry mining operations that drive bitcoin.

David Mazières is a professor of computer science at Stanford University. But right now, he’s on leave at Stellar, a San Francisco non-profit that’s seeks an extreme version of that dream. Stellar aims to create a worldwide network of machines that lets anyone send any currency and have it arrive as any other—bitcoin could arrive as dollars, euros as yen, Brazilian real as dogecoin—and last summer, the organization asked Mazières to show that all those machines could keep each other accurate and honest.

The result is a new kind of algorithm. You can think of as a mathematical model for online trust, and it can help drive not only the Stellar network, but all sorts of other online systems that seek to operate without a central authority, from digital currencies to stock markets to email services. As Mazières describes it, at the highest of levels, the algorithm provides a way for a vast network of machines to reach a reliable consensus. “It’s a way of having everyone in the world agree on something,” he says. And this include everyone agreeing that everyone else is on the up-and-up.

Achieving Consensus

It’s a fascinating, if rather complicated, proof, and today, Stellar and Mazières are sharing it with the world. They’re releasing a paper that describes this “consensus algorithm,” seeking comment from outside academics and developers, and they’re open sourcing a new version of the Stellar software that makes use of it. Stellar had previously open sourced software for running its money network, but according to project founder Jeb McCaleb, it didn’t work all that well with a large number of machines—and it needed a way of ensuring trust. “We never really had a good proof for why the system works,” he says. “We needed to show that anyone can plug into the system, and it can remain robust.”

Dan Boneh, a computer science and electrical engineering professor at Stanford who specializes in cryptographic systems, has reviewed the paper, calling it “pretty interesting.” The algorithm, he says, could help build a wide range of online systems that require many machines to securely and accurately work in concert. “It can serve any system that’s based on quorums, where we must all agree on what the state of the world is,” he says. “It can be used for payments transactions, the exchange of property rights, financial trading, all the standard applications of a trust ledger.”