Blockchain-based applications benefit from several unique features that are not found in applications built with standard databases. Most of these features can be summarized in the following statement: it does not matter who runs a blockchain because so single entity “owns” it. What this means functionally is that data and programs stored on a blockchain will be safe against removal, and will perform accurately (as written), regardless of who is doing the work of adding new entries and archiving past ones. This is a description of an idealized blockchain system, one in which the incentives of the participants have been properly balanced. But it accurately describes the most popular blockchain platforms in operation today.
- Collaboration among competitors – Entities that would normally be in competition with one another have a common platform in which they can openly collaborate without fear that one will surreptitiously circumvent the rules.
- Flexibility – It neither matters who the participants in a blockchain are, nor whether they remain the same over time. Therefore, applications can be built in which the composition of the stakeholders is continuously shifting.
- Resilience – An open invitation leads to a diversity of participants, each of which has a full copy of the blockchain running the application. This redundancy makes the system resilient to attacks and resistant to censorship.
- Distributed Verification – Programs and data reside in multiple locations and can be verified by many parties independent of one another.
Although the design and code for most blockchains are publicly available, their updates and releases are not formally verified or validated for security and reliability. Such practices have led to coding errors, vulnerabilities, and bugs that have caused substantial financial loss to users.
Blockchains are fast becoming a repository for applications known as “smart contracts.” Smart contracts are transactions that are programmed to follow complex rules, which, in the setting of a blockchain, are then automatically and irreversibly executed. For example, a blockchain could be used to make a transaction that would execute only if the Pittsburgh Steelers were demonstrated to have won the Super Bowl in 2018.
Writing smart contracts is a new skill that is fraught with peril. Once written, these programs are irreversible. Developers must be sure that the code they write does what they think it does. Developers must also understand the business logic of their programs, to ensure that they function exactly as intended.
Cryptocurrency was the first blockchain application. Bitcoin gave the individual full possession over her money in the digital realm by making her the owner of a cryptographic key necessary for the transfer of funds. But the transfer between individuals is only the most basic program you can perform on a unit of value.
More complex transaction types can be built into a cryptocurrency that replicate the full suite of financial instruments, such as loans, bonds and stocks, now offered by most institutions.