News for hackers. Stuff that matters.
Re:“We already store data. In a database. It works well” by kgraves on Tuesday February 11, 2020 @03:49AM (#22297037)
A stable battle tested database isn’t cool anymore, this is 2020, Jim. /s

Jokes aside, I would rather see a working proof of concept 'Blockchain Wikipedia' being made from this crowd rather than have them shout suggestive buzzwords at Jimmy Wales.

That being said, I wonder if Linus is open to making Git commits work on the bitcoin blockchain, might have to ask him someday.

Re:“We already store data. In a database. It works well” by mrb on Tuesday February 11, 2020 @04:08AM (#22297108)
Actually, Git is technically a blockchain.

Commit hashes are a hash of the previous commit hash + new data. The structure (history) is replicated in a decentralized way on every user's node. The only missing thing is a proof-of-work, but that is optional in the definition of a blockchain.

Re:“We already store data. In a database. It works well” by CiPHPerCoder on Tuesday February 11, 2020 @05:20AM (#22297387)
> Actually, Git is technically a blockchain.

No.

You can say that git reduces to a Merkle tree. And blockchains use Merkle trees.

But you can't say that git is a blockchain.

https://gist.github.com/joepie91/e49d2bdc9dfec4adc9da8a8434f...

https://paragonie.com/blog/2017/07/chronicle-will-make-you-q...

Re:“We already store data. In a database. It works well” by bob1029 on Tuesday February 11, 2020 @06:02AM (#22297563)
I would argue the Merkle tree (or any other recursive signature algorithm) is the most important quality of a blockchain. To say that git is technically a blockchain is not entirely inaccurate IMO.

I think you are looking for the other qualities that typically apply to a blockchain such as the implicit need to "mine" its resources. Git simply produces these resources incidentally. I think this is the only major difference.

Re:“We already store data. In a database. It works well” by CiPHPerCoder on Tuesday February 11, 2020 @06:42AM (#22297718)
> I would argue the Merkle tree (or any other recursive signature algorithm)

A Merkle tree is not a recursive signature algorithm, because a hash function is not a signature algorithm.

https://paragonie.com/blog/2015/08/you-wouldnt-base64-a-pass...

(Yes, you can build signature algorithms out of hash functions, but definitions matter.)

Re:“We already store data. In a database. It works well” by meowface on Tuesday February 11, 2020 @09:09AM (#22298560)
It's still missing important pieces. They both fall under the superset of "hash chain" / Merkle tree, but cryptocurrency blockchains are designed to deal with the possibility of bad actors. Git can't ensure trust, unless you PGP sign commits.

Git + PGP + some computationally expensive mechanism to broadcast verified PGP key attributions + a consensus algorithm might be a little bit like a blockchain, but I can't think of a good use case for that. Git repos generally aren't intended to be pushed to by the whole world.

Re:“We already store data. In a database. It works well” by hannasanarion on Tuesday February 11, 2020 @09:49AM (#22298867)
A blockchain doesn't ensure trust either. The blockchain "trusts" whoever has the most powerful hash cracking array.
Re:“We already store data. In a database. It works well” by meowface on Tuesday February 11, 2020 @11:38AM (#22299803)
I should've said "attempt to ensure trust".
Re:“We already store data. In a database. It works well” by CiPHPerCoder on Tuesday February 11, 2020 @10:04AM (#22298991)
Incidentally, this is a problem I've worked on previously.

https://github.com/paragonie/libgossamer/tree/master/docs

Re:“We already store data. In a database. It works well” by andrewflnr on Tuesday February 11, 2020 @10:48AM (#22299367)
The most important part of a block chain is its consensus mechanism. The merkle tree is relatively trivial.
Re:“We already store data. In a database. It works well” by jnwatson on Tuesday February 11, 2020 @01:31PM (#22301105)
There's significant difference in opinion of what part of the Bitcoin protocol is the "blockchain". Usually, people talk about the persistent stuff being the blockchain. In that case, bits sitting in storage don't implement a protocol, therefore don't have a consensus mechanism.

In other words, the blockchain is just the data structure, the consensus sits outside of that as a distributed protocol.

Of course, parts of that data structure enable the protocol to work, which is the most interesting property of the blockchain, but that's just blocks, merkle trees, and chained signatures.

Re:“We already store data. In a database. It works well” by andrewflnr on Tuesday February 11, 2020 @03:41PM (#22302602)
If you're focusing on the construction of the term "blockchain", you're already lost. The name is a red herring. It's very clear that the innovative aspect of the technology, the part that enabled all the interesting applications, is the protocol layered on top of the merkle tree. That's the part that needed a new name, and deserved a better one than it got.
Re:“We already store data. In a database. It works well” by ascar on Tuesday February 11, 2020 @08:18AM (#22298202)
I know Git and Blockchains are said to be examples for (usage of) Merkle trees, but I fail to see how they're actually (using) a merkle tree.

Using the hash of a parent node as input to a nodes hash alongside the nodes data creates a link, but it doesn't create a merkle tree. In a Merkle tree the parent node is the hash of the hashes of its child nodes and only leafes have data. These are entirely different definitions and also serve completely different purposes (linking to a parent node vs efficient lookup of membership of some data in a larger dataset).

Could someone clear up my confusion and explain to me where Git/Blockchain use a Merkle tree in their fundamental functionality? Or is the term Merkle tree simply misreferenced a lot?

Re:“We already store data. In a database. It works well” by CiPHPerCoder on Tuesday February 11, 2020 @09:03AM (#22298515)
Re:“We already store data. In a database. It works well” by nebulous1 on Tuesday February 11, 2020 @08:26AM (#22298254)
in bitcoin the transactions are the leaves
Re:“We already store data. In a database. It works well” by ascar on Tuesday February 11, 2020 @08:37AM (#22298319)
Could you please elaborate how that ends up as a Merkle tree?

In a merkle tree the leaves are not linked and they have a tree structure of parent hashes on top. Git and Blockchain nodes are linked and the fundamental architecture doesn't need a tree structure of hashes on top. While this tree structure on top might be useful, it would be an optimization, but not part of the fundamental architecture. Again, what am I missing?

Re:“We already store data. In a database. It works well” by nebulous1 on Tuesday February 11, 2020 @09:04AM (#22298522)
This might be complicated by the fact that "merkle trees" and git/blockchain invert the parent/child relationship. The root of the git/blockchain trees changes every time a commit/block is added, and the child nodes are called "parent commits" in git. Also the shape isn't going to have a wide base or be balanced like a binary search tree or similar.

When you say that "git and blockchain nodes are linked", I think you might be not abstracting the concepts from the form the data usually takes. For instance in git you might be thinking of a commit as a single package with all its source changes, headers, parent details and hash, but it terms of it being a merkle tree the leaf node would be non-hash parts (source code, non-hash headers etc) and the "tree on top" would be the hashes. This tree structure of hashes are absolutely part of the fundamental architecture of git/blockchain.

Re:“We already store data. In a database. It works well” by hestefisk on Tuesday February 11, 2020 @08:13AM (#22298172)
If Git is a blockchain, the. ZFS is a blockchain too.
Re:“We already store data. In a database. It works well” by ms4720 on Tuesday February 11, 2020 @08:42AM (#22298354)
Don't tell Oracle
Re:“We already store data. In a database. It works well” by ptx on Tuesday February 11, 2020 @04:33AM (#22297199)
Although Git also uses a chain of hashes, just like a blockchain, I'm not sure using this definition of blockchain (i.e. optional consensus protocol) is very useful, because then we need another word for the kind of thing that Bitcoin is. (On the other hand, perhaps the uselessness of the definition suits the uselessness of the concept itself.)

If Git is like using a hammer to hammer nails, blockchain (with consensus protocol) enables you to write without a pen by using the hammer to hit your thumb until it bleeds. And Wikipedia already has a pen that works.

Re:“We already store data. In a database. It works well” by neilalexander on Tuesday February 11, 2020 @06:04AM (#22297573)
> I'm not sure using this definition of blockchain (i.e. optional consensus protocol) is very useful

Honestly, "blockchain" as a word feels ill-defined and badly understood at the best of times. You could argue that "blockchain" deconstructs to nothing more than a "chain" of "blocks". What "blocks" actually are is up to the imagination, proof-of-work or other algorithms aside.

I get frustrated when people hail "blockchains" as the solution to everything because the term is so vague in everyday use that it's effectively meaningless.

Re:“We already store data. In a database. It works well” by icebraining on Tuesday February 11, 2020 @10:19AM (#22299105)
I always thought it was clear: it was the combination of Merkle chains with a proof of investment (work, stake, etc), since that combination was the real novelty, worthy of a new name. It was quite confusing to see people calling "blockchain" to one of the pre-existing concepts. It's like calling any wheel a "bicycle".
Re:“We already store data. In a database. It works well” by dboreham on Tuesday February 11, 2020 @07:57AM (#22298073)
Hashlinked, content-addressed, etc.
Re:“We already store data. In a database. It works well” by benaadams on Tuesday February 11, 2020 @04:16AM (#22297135)
Well the commits are proof-of-work; though the validation is done by human (assuming the user doesn't have commit access on the main branch)

However its more of a Merkle tree https://en.wikipedia.org/wiki/Merkle_tree; which blockchain is also.

Re:“We already store data. In a database. It works well” by jakear on Tuesday February 11, 2020 @04:31AM (#22297189)
Proof of work is just some mechanism for a 3rd party to verify you actually invested “value” into the chain. That’s a PR.

Are there any traditional block chains where the proof of work is actually an investment into the chain? Such that the structure of the chain represents something of actual value (not a series of rare hashes), and additions to the chain add to that value? A la git. One potential example would be neural networks on a chain, where the work is training the network, and the value is intrinsic in the well-fitted resultant model.

Re:“We already store data. In a database. It works well” by trevelyan on Tuesday February 11, 2020 @05:34AM (#22297440)
Saito (saito.tech) pays for routing work rather than hashing work. Requires solution to 50 percent attack but means that all fees pay for the work of running the network rather than unrelated activities like hashing or staking.
Re:“We already store data. In a database. It works well” by PinguTS on Tuesday February 11, 2020 @06:06AM (#22297578)
There is one in industrial protocols for functional safety. It is called Ethercat Safety.
Re:“We already store data. In a database. It works well” by runeks on Wednesday February 12, 2020 @04:20AM (#22307268)
No, it’s not. The two technologies solve two different problems.

A blockchain is basically a single, global Git repository, where each commit is a “block” and the data inside that block/“commit” are transactions.

The defining difference between Git and a blockchain is that blockchains define which branch (commit history) is the correct one — the branch that you should put your commit on top of.

Blockchain provides a means to arrive at a consensus on which commit history (branch) is correct, while Git does not.

Re:“We already store data. In a database. It works well” by phire on Tuesday February 11, 2020 @07:45AM (#22298001)
There are no blocks, just bare commits.

There is no chain, it's a DAG.

Re:“We already store data. In a database. It works well” by raghavtoshniwal on Tuesday February 11, 2020 @07:57AM (#22298076)
Off topic but it is considered difficult for NLP models to do sarcasm detection (because it’s a really hard problem, no widely available datasets, some context awareness is required, etc.)

For better or worse, in the last few years we have been generating a dataset on social forums by using “/s” at the end of sarcastic statements.

I’ll try and mine the “/s” statements on HN at least and see if I get somewhere.

Re:“We already store data. In a database. It works well” by skrebbel on Tuesday February 11, 2020 @10:27AM (#22299174)
That's going to be a great data set! Most people who use "/s" are great at sarcasm.
Re:“We already store data. In a database. It works well” by tveita on Tuesday February 11, 2020 @10:01AM (#22298955)
There is some prior art for this https://arxiv.org/abs/1704.05579
Re:“We already store data. In a database. It works well” by duckmysick on Tuesday February 11, 2020 @09:18AM (#22298626)
Humans have problems detecting written sarcasm. Not surprising that NLP models struggle with it too.

It's difficult because even if you have the context, the original poster can change classification after being called out by replying "oh, I was just kidding/I was being sarcastic". The same comment may and may not be sarcastic at the same time, Schrödinger's cat style.

That being said, it's an interesting problem. Hope you find something good.

Re:“We already store data. In a database. It works well” by neilalexander on Tuesday February 11, 2020 @04:32AM (#22297195)
> making Git commits work on the bitcoin blockchain

What does this even mean?

Re:“We already store data. In a database. It works well” by mamon on Tuesday February 11, 2020 @04:53AM (#22297284)
That every Git commit would take few hours and cost you transaction fee in Bitcoins.
Re:“We already store data. In a database. It works well” by joshschreuder on Tuesday February 11, 2020 @05:01AM (#22297321)
At least you have a good excuse to abandon your pet open source projects
Re:“We already store data. In a database. It works well” by hallihax on Tuesday February 11, 2020 @07:23AM (#22297886)
On the plus side, the whole world gets to reject your terrible commits?
Re:“We already store data. In a database. It works well” by tclancy on Tuesday February 11, 2020 @07:56AM (#22298066)
The lights would go out in a few weeks.
Re:“We already store data. In a database. It works well” by rwiggum on Tuesday February 11, 2020 @06:51PM (#22304272)
"Blockchain Wikipedia" exists and the co-founder of Wikipedia, Larry Sanger, was involved for a while. It's called Everipedia and it uses the EOS blockchain: https://en.wikipedia.org/wiki/Everipedia
Re:“We already store data. In a database. It works well” by somesortofsystm on Tuesday February 11, 2020 @05:01AM (#22297318)
> 'Blockchain Wikipedia'

I mean, isn't this basically just Hugo and IPFS behind a Brand?

Re:“We already store data. In a database. It works well” by dsr_ on Tuesday February 11, 2020 @07:02AM (#22297797)
Yes, but much slower and more expensive.
Re:“We already store data. In a database. It works well” by tclancy on Tuesday February 11, 2020 @07:57AM (#22298075)
You forgot environmentally damaging.
Re:“We already store data. In a database. It works well” by ghoshbishakh on Tuesday February 11, 2020 @04:56AM (#22297299)
I think we should read about blockchains and understand it first. Then only we can actually decide whether it can actually be helpful for a particular problem.

A general rule of thumb is: Don't use blockchain if a database maintained by a single organization (person / company / government ) is sufficient. If multiple people interact, or multiple organizations interact and together want to maintain some data where they all collaborate and take decisions on how the data is changed then only we need blockchain.

So when I think about it, wiki can definitely be helped by blockchains.

Re:“We already store data. In a database. It works well” by sweeneyrod on Tuesday February 11, 2020 @06:02AM (#22297566)
Wikipedia does have a database that is in its sole control though. The fact that people outside the organisation interact with that database (as is the case in most uses of databases) is irrelevant; the interaction is controlled and mediated by Wikipedia.
Re:“We already store data. In a database. It works well” by Tomte on Tuesday February 11, 2020 @04:58AM (#22297309)
No. "Multiple entities interact" may be a necessary condition for using a blockchain, but it's certainly far from a sufficient condition.
Re:“We already store data. In a database. It works well” by twrx3 on Tuesday February 11, 2020 @05:07AM (#22297345)
Yes, only when they cannot trust each other.
Re:“We already store data. In a database. It works well” by ghoshbishakh on Tuesday February 11, 2020 @05:05AM (#22297341)
Agreed. The sufficient condition is you cannot blindly trust all those entities.
Re:“We already store data. In a database. It works well” by Tomte on Tuesday February 11, 2020 @05:13AM (#22297356)
That's still far from sufficient.

Existing businesses have coped with that for hundreds of years.

You can have joint-ventures, where all participants send emissaries to, you can negotiate rights to view the books or other ways to create transparency. You can have contracts, backed by a legal system and state courts.

You can do many things. Blockchains are only one of those possibilities.

Most important question when somebody tries to sell you a blockchain: "What's the traditional way to do it?"

Correct answer: "People usually do X, but our blockchain proposal has advantages Y and Z."

Incorrect answer: "Nobody has ever solved that problem before!"