Hacker News new | ask | show | jobs
by tscs37 3107 days ago
As I mentioned, even with merges it still has the properties of a blockchain, just not the ones traditionally used by cryptocurrencies.

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)

2 comments

There is two definitions in play here for the word blockchain.

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.

Yes, only one block is the winner. It is whatever the maintainer of the git repository chooses as HEAD. This property is maintained by any number of out-of-band mechanisms such as Github pull requests and company-wide mandates never to "git push --force".

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.

Just semantics.

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.

> 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.

The maintainer must decide which blocks are valid. That's just as much of a consensus algorithm as Bitcoin just not as distributed and decentralized.
But isn't that exactly the point? That decision, with Bitcoin, is distributed and decentralized.

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.

Yes, bitcoin is decentralized and distributed. But blockchains don't have to be inherently.
I give up.