Skip to content

Comment on Priority Queue on Ethereum with a 15 ETH Bug Bountyparent

Comments

It's exhausting arguing with the same bogus "use cases" every other week but here goes in short:

- In your scenario you're not decentralized, you have a clear authority: the news agency

- The news agency can broadcast a signed merkle tree of the articles it publishes alongside the normal newspaper/news program etc... For instance through their website.

- Anybody who cares about it could maintain a copy of this signed tree locally.

- If the news agency censors or edits an article anybody with a copy of the original tree can prove it by showing that their tree has a valid signature from the news agency and yet the hashes don't match.

There, problem solved without having to worry about proof of work, proof of stake, transaction costs, 50% attacks of what have you.

If I personally published a signed merkle tree... I think I'm too much of a nobody for people to download it to keep me honest you know. Unless I pay them to do it of course.

So then the problem is, I need to go to some entity that is famous enough. And I need my tree to connect to theirs. And all this on the cheap. I'm not a aware of any such thing in existence.

Another nice thing about the blockchain is that the timestamps of the signatures are provable.

And also nice is that there are no record keepers to whom which pressure can be applied.

If I personally published a signed merkle tree... I think I'm too much of a nobody for people to download it to keep me honest you know. Unless I pay them to do it of course.

In the original scenario I assumed that there were third party people interested in detecting or even preventing modification of articles after they're published. If nobody cares about it then the whole thing is moot to begin with.

If your scenario is that you'd like to be able to timestamp data that has value to you but not others (say, something patent-related) then it's a different scenario and then yes, the blockchain might make sense, although you could also use many other trusted, albeit centralized, third parties to achieve the same thing. Making a public post of Facebook or some other big website for instance. The incentives would have to be very high for these companies to modify post dates for a scam. Even more so if you post it to several websites. I think there are also services who will add your signature to a merkle tree and then publish it in a newspaper for instance.

But I agree that in this situation publishing the hash on a blockchain is actually a good solution. It's simple and easy to program for. But keep in mind that this only works as long as the currency is valuable enough to keep miners honest and rewarded for their work (otherwise people will be able to attack the blockchain and rewrite history). So if a cryptocurrency fails and its value collapses then suddenly your proofs become worthless as a side effect.

Or, instead of paying to implement, operate and maintain that system forever, and also hoping that someone independent will store copies forever (because without that independent third party, the news agency's whole system is irrelevant)... maybe they could permanently store a hash of published revisions on a public blockchain for $0.05 each.

It's just another option that might turn out to be useful for some.

Although, I feel like there are other complications in the news agency use case. For instance, many potential changes to an article are irrelevant to meaning, so they don't imply bad intentions, despite having a totally different hash. If the only copy of an article is on the newspaper's site, then a simple format update a year later could break all the hashes. [edit] I mean so it would become impossible to check whether the article had been changed. A typical hash function doesn't give any sense of edit distance.

GP post doesn't seem to consider the apparent need to also keep unchanged copies of the original articles. Those would be much too expensive to store on today's typical blockchains.

I'm sure those problems have been discussed before, maybe solved, but I wonder if these issues make this news agency case less suitable for a simple Blockchain implementation?

If I understand what you're proposing you want to store the entire articles themselves in the blockchain. That indeed offers many benefits but it's also prohibitively expensive. In practice people will only store small hashes in the tree which can be then used to authenticate offline data. That means that you need somebody to archive that offline data to really make sense of the signed data so you have exactly the issues that you're describing if nobody cares to do it.

The fact that storing data on the blockchain is expensive is also not an optimization problem that can be solved easily with incremental optimizations, it stems from the fact that the data is transferred and mirrored forever on thousands of nodes. If storing data on the blockchain was cheap you'd quickly run into scalability problem. People who run Blockchain nodes don't want to mirror Wikipedia, the output of all the world's newspaper and child porn archives on their servers.

No, of course I'm not proposing anything like that. On the contrary, I was saying that it seemed impossible. Can't you see we actually agree about that!

I pointed out other possible problems with the original suggestion that news agencies should use blockchains. But you seem to completely misunderstand those words as being an attempt to support that original suggestion. Why?

I'm amazed that your reply to me repeats almost exactly what I had just said: "[blockchain could] store a hash of published revisions ... [but] copies of the original articles would be much too expensive to store on today's typical blockchains."

I hope this won't sound rude, but I've got to suggest that you read what people are actually saying, instead of assuming you know what they're going to say.

No wonder you have so many "exhausting arguments".... you're not listening to anyone but yourself.

Just because I feel like arguing a bit, here goes:

- In your scenario you're not decentralized, you have a clear authority: the news agency Only due to current technical limitations. Shift to Blockchain, get distributed news agencies, with reporters[1] residing all over the world. Think of the time and costs saved by not having to send reporter out of a central office
- The news agency can broadcast a signed merkle tree of the articles it publishes alongside the normal newspaper/news program etc... For instance through their website. Doesn't help a bit, given how they have total control over the content of the website, they could just as easily swap out the merkele root and claim it is the original one. Blockchain denies them this sleight of hand.
- Anybody who cares about it could maintain a copy of this signed tree locally. ...and there's a well known tool for distributing that in a verified & timestamped format - Blockchain.
- If the news agency censors or edits an article anybody with a copy of the original tree can prove it by showing that their tree has a valid signature from the news agency and yet the hashes don't match. Introduces a 'he-said, she-said' problem. Which the Blockchain neatly avoids.

[1] possibly with a lot more "citizen journalists" who do the reporting as a side activity, rather than mostly plain old full-time journalists.

Shift to Blockchain, get distributed news agencies, with reporters

You'll have to break that one down for me. Can the blockchain also cure male pattern baldness? Asking for a friend.

and there's a well known tool for distributing that in a verified & timestamped format - Blockchain.

News agencies typically already have a way to distribute information since that's literally their job. Even if they don't they could just tweet it or whatever. That's not really a problem.

Introduces a 'he-said, she-said' problem. Which the Blockchain neatly avoids.

No it doesn't, if you can provide a valid signature from the "News Org" public key that doesn't match the article's checksum then it proves that "News Org" at some point signed conflicting data, proving that something has been tempered with. It doesn't matter if the person pointing that out is some anonymous user on 8chan, as long as the signature is valid it can only mean that the news organization did something shady or that their key got compromised.

That's the whole principle behind public key cryptography. I signed this comment before posting it, which means that if tomorrow I delete this message and you kept a copy you could show that I in fact authored it (or at least endorsed it somehow): https://pastebin.com/XKnQSFew

Shift to Blockchain, get distributed news agencies, with reporters[1] residing all over the world

The associated press didn't seem to need a blockchain to have reporters scattered across the world. They simply recruited reporters that lived across the world.

What you're talking about sounds more like twitter or facebook where you have "reporters" (aka users) write poorly written updates from around the world.

Doesn't help a bit, given how they have total control over the content of the website, they could just as easily swap out the merkele root and claim it is the original one

If you've ever force pushed to a git repo, you know why this is hard. Regardless, blockchain doesn't solve this, per the next point.

Introduces a 'he-said, she-said' problem. Which the Blockchain neatly avoids.

The blockchain avoids it by insisting whoever spent the most energy is the source of truth.

Let's say an attacker wishes to insist the correct hash is Y, not X, and thus paint the news agency as a liar for having a story up with hash X.

All that person has to do is use more energy to publish a longer blockchain that includes Y... and the news agency doesn't really have an incentive to spend a lot of energy protecting the blockchain probably, so it won't be hard.

The incentive of mining makes sense for money. It doesn't make much sense for this case.

and there's a well known tool for distributing that in a verified & timestamped format - Blockchain.

I'd go with "git", "rsync", "ftp", or "bittorrent" as well known tools for distributing some files, whether they're timestamped or not.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.