For centuries, people have tracked information using a ledger: a simple chronological list of data. Bushels of wheat. Hogsheads of wine. Deaths from plagues. Deaths from curses. Days since all those locusts. How many witches in town these days. Ledgers!
As the scope of human activity has expanded, so have ways to track and synchronize data. Last century, information became (primarily) digital and our collective ledgers moved from paper to computers. This opened up many new possibilities, and databases—systems of enhanced, interrelated, electronic ledgers—were invented to harness the power of this new paradigm. Information was suddenly searchable, sortable, shareable, and transportable.
Today, databases underpin nearly every digital service. But the database’s origins in the pre-internet, pre-global era have begun to limit its usefulness, or at least call into question its ubiquity. Databases need a central authority to maintain them, and that authority has absolute power over what the database contains. For example, if Facebook wanted to change your Instagram to be just pictures of awesome swords, they could do that, unilaterally. You would just have to accept the swords. Or if a bank wanted to deduct 100 dollars from your checking account, they could do it. There, you’d surely notice and complain. But what if they only took a penny a day?
As the world has become more connected and our interactions more digital we’ve needed something more resilient and more collaborative, something that will work at scale but not be subject to any single political ideology, personal motive, or corporate incentive, to manage our data.
Invented in 2009, blockchain is an answer to that need.
Blockchain is a method for keeping data synchronized across multiple, independent stakeholders. Where a traditional database is perfect for tracking records for a single entity, blockchain allows a group of entities, who might be unrelated and who might all have an incentive to alter their shared data, to agree on and maintain a single dataset.
Since the incentive to edit data in your own favor is very strong in financial systems, blockchain has so far been most useful for tracking money. Here’s the generic idea of how it works.
The Basic Idea Behind Blockchain
First, computers that want to share data join together on a network by running the same blockchain software. As data comes into the network—for example, as people spend and send money—the data is grouped together into “blocks” for verification. Then, on a regular schedule, usually every few minutes or even every few seconds, the connected computers vote on the current block of data, saying, in effect, “yes all this looks good to me” (or not). If the current block is rejected, then the network will vote on it again when the next block is submitted. If the current block is accepted, meaning the network agrees the data it holds is valid, it’s appended to the system’s entire past history of validated data blocks. So the data is “chained” together. Eventually, a long, connected chain of blocks forms.
This chain is stored on each computer on the network, and the appending happens using cryptographic functions that make it easy to tell if any past transaction has been altered in even the slightest way. So each time a block of data is added, the integrity of all previous data is, in effect, confirmed by the whole network.
If you wanted to cheat and, say, alter any past transaction (so, say, you have more money than you are supposed to), you’d have to somehow alter the histories across all the independent computers on the system. Or join the network with enough new computers to vote your cheats into “fact.” This is called a 51% attack. In large systems like Bitcoin, such an attack would be impossibly expensive—you’d have to run too many computers. On Stellar, such attacks are impossible, by design. Submitting bad data in real-time also doesn’t work because eventually your selfish intention will be voted down and the network will agree on the right data.
As you can expect there’s quite a bit of technical detail that goes into all this. The initial paper describing the first blockchain system is ingenious, and we highly recommend reading it.
Important Blockchain Products
At Stellar, we don’t look at blockchain as a competition. There’s a lot of good software out there! Here are some resources to start if you’re looking to get a broad understanding of the blockchain space. Keep in mind, a lot of these are created and maintained by other communities and companies, so we can’t vouch for their up-to-the-minute accuracy.
Created a decade ago by the still-anonymous “Satoshi Nakamoto”, Bitcoin is the source and inspiration for basically all blockchain systems. Many popular platforms like Litecoin and Dogecoin are straightforward derivatives of BTC. Stellar doesn't use the same technology, but many of its basic principles are the same.
- This is a good basic technical/conceptual Bitcoin primer.
- This is another good overview, which ties in some of what motivated the creation of the technology.
- This Op-Ed (by Meridian speaker Carlos Hernandez) lays out one of the best positive effects of decentralized currency. Bitcoin is largely a curiosity for Americans, and might never evolve past that, but it has a real use case as an economic safe haven in many parts of the world. Stellar is hoping to build something as powerful but more user-friendly and more compatible with the existing monetary system.
Ethereum is the second-biggest blockchain platform. It’s similar in some ways to Bitcoin, but it was imagined as something more versatile than just Bitcoin—which was designed pretty much just to be a currency. Ethereum was built to become another internet-style network or “world computer”—it has its own programming language (Solidity) that theoretically allows you to create any kind of program inside the Ethereum network. Such programs, called decentralized applications or “dapps”, would be (theoretically) resistant to government control and oversight.
Ethereum is known for “smart contracts” (contracts that execute automatically) and the many Ethereum-derived tokens issued on the network via Solidity. So far, Ethereum’s ambition exceeds its capabilities—the network is slow and clogged and the complexity of Solidity makes Ethereum programs buggy and exploitable. Despite its flaws, however, many devs find Ethereum to be an inspiring example of a new programming paradigm.
- A basic (and somewhat idealistic) Ethereum primer.
- The DAO–the “Digital Autonomous Organization”—was an early, idealistic Ethereum project that famously went sideways.
- Stellar vs. Ethereum. Stellar and Ethereum are similar in that they allow people to issue other assets (besides lumens and ether, respectively.) This post dives into why Stellar is better for most use cases.
Stellar was created in 2014, after Bitcoin but before Ethereum. Stellar uses a much more environmentally-friendly syncing mechanism than either platform and was designed specifically for remittances and payments, so it has “cashlike” delays between transactions (i.e. very short) and it’s more or less free to use (transactions cost way less than a penny). Like Ethereum, Stellar allows you to issue other assets (say, a digital representation of a dollar or a peso) and to trade them very easily within the network.
Unlike almost all other blockchain systems, Stellar can connect to real-world endpoints, so people can turn their digital representations of money into something they can actually spend. Growing that network of real-world partners is a big focus for the Stellar Development Foundation.
- These videos, made by Coinbase, a popular U.S.-based exchange, provide more context and information about Stellar.
- Lumenauts.com is a Stellar community site with a lot of great Stellar explainers. They’re bundled into a course that is a very thorough overview of the platform.
A few other projects worth checking out
Z Cash’s tech is Bitcoin-derived but it’s been modified to protect the privacy of its users. Instead of publishing all transactions on a public ledger that anyone can trace or audit, it keeps the specific account and transaction information anonymous. Here's a great Radiolab podcast about how Zcash was created. They do a good job making a very technical topic much more accessible.
Basic Attention Token
This is an example of an Ethereum-based project. They’re trying to redefine how internet advertising works by creating a more efficient “attention economy” using their token and their Brave browser.
Another Ethereum project. It’s a decentralized exchange protocol that allows people to trade their coins peer-to-peer, rather than have the exchange itself in the middle like with Coinbase. RadarRelay is an example of what you can build on it.