That's definitely the definition some companies are operating under.. but really?
WALs and journals have existed for ages and both fit the definition of a directed list of blocks.
Hell, ext2 and FAT fit that definition (inodes forming a directed list of block-references).
I guess we all store our data on something that's technically a blockchain by your definition.
Bitcoin is merely the first application to use Blockchain in a decentralized proof-of-work manner.
http://en.wikipedia.org/wiki/Merkle_tree
A bitcoin blockchain is also a Merlke tree.
But a git repository is not a blockchain.
The commit log of a repo is almost certainly a blockchain, which is why I mentioned "to some extend"
Think of a blockchain as only one strand (say, the leftmost strand, from a leaf all the way to the root) of a Merkle tree. Think of a git repository as the whole tree. So no, they are not equivalent.
If they were there would never be a way to have more than one branch depend on a previous one.
The commit log is a strict DAG, if you don't have any merges, it is a strict blockchain, otherwise it gets fuzzy but is close enough.
I never said it's equivalent but that is what a blockchain is; "A blockchain [...] is a continuously growing list of records [...] which are linked and secured using cryptography."[0]
This doesn't mention "Can't be a merkle tree" for one, but also doesn't mention "can't consist of branches which merge again" or "requires proof of work" or "must use signatures" (cryptography refers to the hashes normally but can refer to anything else too)
Git also acts like a blockchain, if you change the past (edit a past commit) you need to update all following commits for the new hash and their children hashes and anyone who has the repository must do a force pull, similarly to how Bitcoin rejects fork chains with less proof-of-work.
It might be worth mentioning that Bitcoin also uses MerkleTrees for storage as they are very good for quickly comparing sets.
A blockchain does not necessarily process financial transactions at all and I don't see why it must be a requirement.
What you are saying is that you can use git in such a way that you get something resembling a blockchain but - again, and it is getting tiresome - that does no imply equivalence between git and the blockchain.
I really don't understand why you keep arguing.
You still have blocks (commits) pointing to other blocks (commits). Some blocks just points to multiple other blocks (think the uncle system in ethereum, which is just exactly that; temporary forks that are still included into the chain)
In the version you mean, how does the blockchain (git, or any other blockchain by your definition) respond when two valid blocks are canidates to be added to the end of the chain?
Is only one block the winner? How is this property maintained as the blockchain grows?
These are the questions and issues the blockchain others in this thread mean can deal with, while, for example, these questions don't exactly make sense for, for example, git.
Seriously though, it just seems like a question of semantics. Is a blockchain just a specific sort of Merkle tree -- thus making Bitcoin a blockchain plus a distributed consensus protocol? Or does calling something a blockchain necessarily imply some consensus protocol already.
It doesn't. But for all practical purposes at this point in time it might as well.
You can search right now and find programming 'blockchain tutorials', targeting the cryptocurrency community, that go on to describe only linked blocks chained together via some embedded hash of a subset of the previous blocks (meta)data. This is what others in various comments are calling a cryptograpically secured blockchain.
Other tutorials will set up a mempool (pending transactions) or get peers communicating. I've never seen peer discovery or any discussion on chain value (ie height vs accumulated difficulty) for chain selection.
We've always been able to decide how to add an element to the end of a (possibly cryptographically secure) chain of blocks.
What separates the two definitions of blockchain in this thread is exactly the distributed and decentralized choosing of the top block.
That's not a thing that has existed since the 90s nor is it a thing with so few requirements.
>The term "blockchain", as used these days, refers to the distributed system underlying cryptocurrencies.
That's how you prefer to use it but it doesn'T change how it's defined [1]
"At its most basic, blockchain is a vast, global distributed ledger or database running on millions of devices and open to anyone" [1]
That incorporates at least two concepts that are typically associated with the term "blockchain" that go beyond the basic cryptographic data structure: they are distributed, and they are open. Lots of technologies use a similar data structure; git uses a similar data structure. But when a silicon valley startup comes to you and pitches you on their "hot new blockchain tech" they probably don't mean git.
[1]: https://hbr.org/2016/05/the-impact-of-the-blockchain-goes-be...
>but on Bitcoin's use of similar technology to make a distributed ledger.
That doesn't really change a thing. Bitcoin merely uses a blockchain to ensure consensus, if all nodes are trusted then you don't need proof of work and you can switch to simply linking the list (see Git or Ethereum Testnets), and the contents of the blockchain are mostly irrelevant too (you can put anything on there, transactions are merely one type of thing you put in there)
At it's most basic, a blockchain is just a directed graph of nodes where a cryptographic method links two nodes together in a child-parent relationship. Everything else is just added fluff for the specific usecase.
Under your definition, every CBC mode stream cipher could be called a blockchain, which just makes the term meaningless. It was coined for a specific purpose: to describe how Bitcoin and related cryptocurrencies operate at a technical level, especially how they guarantee integrity and prevent double-spending.