News for hackers. Stuff that matters.
Re:Don't get caught up in blockchain hype by tscs37 on Thursday December 14, 2017 @12:24AM (#15920138)
It's not a redefinition, it's a definition that has been around since the 1990's [0], the only requirement for a blockchain is A) directed linked list (block points to previous block) and B) cryptographic security (use hashes as block index)

Bitcoin is merely the first application to use Blockchain in a decentralized proof-of-work manner.

Re:Don't get caught up in blockchain hype by jacquesm on Thursday December 14, 2017 @12:31AM (#15920165)
A git repository is a Merkle tree.

http://en.wikipedia.org/wiki/Merkle_tree

A bitcoin blockchain is also a Merlke tree.

But a git repository is not a blockchain.

Re:Don't get caught up in blockchain hype by tscs37 on Thursday December 14, 2017 @12:35AM (#15920176)
It is a blockchain is you don't merge since you have a commit pointing at a previous commit, (block points to block), merges point to two parents but Ethereum has that almost with uncle blocks.

The commit log of a repo is almost certainly a blockchain, which is why I mentioned "to some extend"

Re:Don't get caught up in blockchain hype by jacquesm on Thursday December 14, 2017 @12:38AM (#15920183)
You are simply wrong.

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.

Re:Don't get caught up in blockchain hype by tscs37 on Thursday December 14, 2017 @12:44AM (#15920204)
As mentioned, the git commit log, not the entire repo, which is more organized like a merkel tree, though that is only really the storage.

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.

[0]: https://en.wikipedia.org/wiki/Blockchain

Re:Don't get caught up in blockchain hype by jacquesm on Thursday December 14, 2017 @12:57AM (#15920246)
"if you don't have any merges" -> so, not a blockchain.

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.

Re:Don't get caught up in blockchain hype by tscs37 on Thursday December 14, 2017 @01:07AM (#15920271)
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)

Re:Don't get caught up in blockchain hype by pests on Thursday December 14, 2017 @02:06AM (#15920468)
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.

Re:Don't get caught up in blockchain hype by sirclueless on Thursday December 14, 2017 @03:13AM (#15920703)
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.

Re:Don't get caught up in blockchain hype by pests on Friday December 15, 2017 @04:05AM (#15930547)
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.

Re:Don't get caught up in blockchain hype by jacquesm on Thursday December 14, 2017 @11:56AM (#15923918)
> 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.

Re:Don't get caught up in blockchain hype by tscs37 on Thursday December 14, 2017 @03:16AM (#15920714)
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.
Re:Don't get caught up in blockchain hype by pests on Friday December 15, 2017 @03:57AM (#15930518)
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.

Re:Don't get caught up in blockchain hype by tscs37 on Friday December 15, 2017 @05:44AM (#15930920)
Yes, bitcoin is decentralized and distributed. But blockchains don't have to be inherently.
Re:Don't get caught up in blockchain hype by jacquesm on Thursday December 14, 2017 @01:15AM (#15920304)
I give up.
Re:Don't get caught up in blockchain hype by TheDong on Thursday December 14, 2017 @12:42AM (#15920197)
You didn't include the reference link. The term "blockchain", as used these days, refers to the distributed system underlying cryptocurrencies.

That's not a thing that has existed since the 90s nor is it a thing with so few requirements.

Re:Don't get caught up in blockchain hype by tscs37 on Thursday December 14, 2017 @12:47AM (#15920211)
The first paper on blockchains was published in January 1991 (revised/received in 1990) [0]

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

[0]: https://link.springer.com/article/10.1007/BF00196791

[1]: https://en.wikipedia.org/wiki/Blockchain

Re:Don't get caught up in blockchain hype by sirclueless on Thursday December 14, 2017 @03:29AM (#15920769)
The common consensus for the term "blockchain" is not based on the 1991 paper, but on Bitcoin's use of similar technology to make a distributed ledger. The term itself is relatively recent, and was not used until well after Satoshi's paper. For example, Harvard Business Review describes it this way:

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

Re:Don't get caught up in blockchain hype by zaarn on Thursday December 14, 2017 @03:42AM (#15920811)
I have to agree with GP here.

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

Re:Don't get caught up in blockchain hype by sirclueless on Friday December 15, 2017 @12:18AM (#15929819)
I think a lot of people would disagree with you. There are obviously many methods besides proof-of-work to achieve consensus, but a blockchain cannot properly be called a "blockchain" unless there is some consensus protocol. Not every DAG of digital hashes is a blockchain.

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.

Re:Don't get caught up in blockchain hype by zaarn on Monday December 18, 2017 @03:42AM (#15950314)
In git the consensus protocol is "whatever the maintainer thinks is the correct HEAD" or "what the maintainers can agree on to be 'master'". There are many ways you can achieve consensus.