a BLOCKCHAIN is a Byzantine-Fault-Tolerant decentralised singleton fixed-function state-transition system

    or it could also be defined as

    a shared database that is securely synchronised between parties, who don’t trust each other, but build a time-series of archivable data together.

    Edited on September 14, 2017
    Blockchains can be thought of, at a high level, as a database of transactions. The transactions are simply exchanges of some amount of value (e.g. 0.35 Bitcoin) between two people. Many people participate in the blockchain system by transferring value between each other. But this isn’t like a typical SQL database. It has some special properties that make it useful:

    Decentralized: the database is not stored in a single place as is typical of many websites today. The database is stored everywhere, by everybody. This provides a high level of fault tolerance so that if one person were to lose their copy of the database, many other copies exist elsewhere and can be refetched. Centralized databases are also prone to attacks as we have seen with countless hacks. Decentralization prevents any single attacker/authority/government from having the power to shut down the database i.e. it can never be shut down or destroyed

    Secure: since a copy of the entire database is stored everywhere, everyone with a copy participates in securing the database i.e. making sure there are no fraudulent transactions. As people transfer amounts of value between each other, they create new transactions in the system. These new transactions need to be verified as legitimate before being stored permanently in the database. The verification of transactions is done by solving a mathematical puzzle, also known as “mining”. Whoever solves the puzzle first receives a reward e.g. some Bitcoin, and then the new transactions get stored in the database.

    Incentivized: since their is a monetary reward for mining transactions, it motivates people to participate in the system and help secure it. The reward for mining is to offset the miner’s cost of computational power required to solve the mathematical puzzles.

    Pseudonymous: people participate in the blockchain system by transferring value to each other. They use pseudonyms when transferring these values, instead of personally identifiable information like a name, email or bank account number. This ensures a certain degree of privacy when participating in the blockchain. A pseudonym in the Bitcoin blockchain looks like “1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa”, also known as a Bitcoin address.

    Public: since the entire database is stored and secured by everybody, it means that the information in it can be publicly viewed e.g. everyone can see all the transactions. However, because everyone operates under a pseudonym, the personal identities of the people involved in the transactions remains hidden. This means that if someone knows your Bitcoin address, they can lookup the amount of Bitcoin you have at that address, as well as transactions going in and out of your address. This is okay because while everyone can see the balances and transactions, only the owner of a Bitcoin address can move money out of it.

    Some popular examples of blockchain-based systems are Bitcoin and Ethereum. Bitcoin is just one example of an application built on top of blockchain technology, whereas Ethereum generalizes that idea and allows for building any sort of application on a blockchain.