Priority Queue on Ethereum with a 15 ETH Bug Bounty
github.com
github.com
However, I think smart contracts are fascinating and wish more people would keep an open mind.
Smart contracts can’t even do anything interesting without a trusted source of data input. The threat model and legal questions of smart contracts are another huge deterrent for most businesses.
Latency, throughput, security threats, and cost are all fairly understood with normal databases, yet with blockchain software all of these are measurably worse.
Where are the completed successful smart contracts deployed?
Why would any person or business want/need to use an existing blockchain when some bug or mining operator might cause a catastrophe of that system, who would they sue for damages?
A single user who spent less than $5000 crashed the entire market for Ethereum last summer. Most of the supply of ETH, XMR, BTC and other crypto tokens are owned by a very small population of crypto-oligarchs.
It all seems like a marketing scheme to sell cyber beanie babies to people who are unfamiliar with the engineering flaws in distributing computing and the marketing lies from “investors” who need to pump the price on their magic beans.
As the locus of economy shifts more and more away from physical widgets and into information, the value of information goes up in relation to physical widgets. This makes Blockchain a practical, if not all-encompassing, tool for verification.
Compare a plain old car - the software onboard is a small fraction of its value - to any half-decent workstation, where the value of software can easily exceed the hardware's value several-fold.
Proving I had certain information at certain time point - e.g., a license for the software, or CAD design or other valuable file I've created - can easily provide a lot of value. And in this case "trusted source of information" is the mere fact of existence of a cryptographically secured license file naming me as the licensee at certain time point. Easily securable with the Blockchain.
The blockchain solves the problem of proving ownership of a transferable asset. If you just want to prove that you have certain information at a certain time point there are much simpler solutions: Publicly release the hash of a message (let's say: "I created this using the licence key XXX-XXX-XXX" + signature from your private key) on Twitter/Facebook/Github/Archive.org etc.
Or even better: Sign a contract and send it to your law firm. Once someone breached a licence/contract you need to involve lawyers/regulators anyway.
This has been true for the last 30+ years yet almost never happens because it's not actually that useful.
[0]: https://www.nist.gov/programs-projects/nist-randomness-beaco... [1]: https://beacon.nist.gov/home
I think it is only important for a business when public trust is important. For example, a news agency could publish its articles in a public blockchain so the original article and any updates to that article would forever be auditable from that blockchain.
- 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.
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.
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.
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?
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.
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.
>- 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.
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
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.
ipfs [0] already provides persistent immutable links.
Creating a torrent with a feed for updates [1] would also provide distributed storage and hashing of the content with the ability to publish updates.
Or they could create a git repo and encourage others to mirror the git repo, such that they couldn't rebase away history without those mirrors noticing.
Or, and here's a radical idea, they could physically print and deliver papers to people, which means any updates would have to be included as noted amendments in future delivered papers.
However, why would any business want to do this? News sites these days are built on complex dynamic content and ads, which is antithetical to distributing the content in any such ways. If you can download just the text of the article, they're losing ad views. If you download the ads too, it now changes each time a new person purchases an ad on their ad network.
This is blockchain trying to dream up a problem for publishers which those publishers don't think they have. If they did have that problem, a git repo would be the most mature and simple way to implement it, not "blockchain" which includes nothing as mature as git under its umbrella.
Fair enough, it was just an example... maybe a bad example of when public trust is needed for something.
But, that level of trust and audibility would be nice in this era of conspiracies and fake news. I remember watching CNN on 9/11 and they reported that Flight 93 was shot down over Pensylvania. Maybe that was bad reporting, maybe it was accurate. But, now I can't find that footage anywhere.
I would love to find that footage now. Find out exactly what they said. Find out who their source was. Find out if it was bad reporting with bad sources, or find out if it was something more. Without that footage, it's just hearse and I'm sure we'll never know the truth about it now.
They even have a CNN section including a full recording of their broadcast on the morning of 9/11 [0]. I'm not going to waste the time watching this to see if they miss-reported some detail or not because I've got better things to do.
I don't see how blockchain helps here still; the problem with storing video is that copyright is complicated and there's a lot of it which costs a lot to store, not that we don't have the means to store and audit it.
> that level of trust and audibility would be nice in this era of conspiracies and fake news
Being able to see changes to articles doesn't actually help with those problems. Better journalistic practices help. People thinking critically helps. Removing the absurd click-bait headlines we've ended up on might help. Making news not be for-profit might help (related to the former). Changing the format of the fake news doesn't make it any less fake.
It seems like blockchain is being used as this idealistic thing which surely, if implemented, would not suffer from as many or more flaws than the status quo, when in reality no blockchain based thing has reached mainstream usability or mainstream users yet (arguably excepting bitcoin).
[0]: https://archive.org/details/CNN_20010911_130000_CNN_Live_Thi...
But back to Civil. Why would I care that Forbes is going to publish SOME of their articles on this blockchain? Their site uses HTTPS, I'm always sure that the content I'm looking at actually came from Forbes. I never need to question that the person in their byline is who they say they are, and I'm not sure how a blockchain would help if I didn't: it seems like their big plan is to just put badges on articles?
This sounds like a grasp at relevance via blockchain hype.
I'm willing to be convinced that I'm wrong, but I feel pretty safe predicting that this will go nowhere. It doesn't solve a problem that Forbes actually has.
The only thing the Blockchain has proven to be useful for is cons in the form of speculation, akin to Ponzi scheme. I've seen it argued that it allows people to move away cheaply from bad currencies. Companies like PayPal and Stripe allow for the same already, and they use real currencies.
I second my sibling, newspapers have no interest in transparency.
Then the news agency issues a retraction. It's already the case that the Internet will not forget, whether via the Internet Archive or http://www.newsdiffs.org/ .
Both those sites are also subject to laws and can easily retract information if necessary.
In much the same way data can be retracted from printed copies of newspapers that already have widely circulated copies in both personal and institutional/library hands: by publishing a subsequent retraction later in the chain, like any other change.
I disagree, I mean... the whole point of journalism is to get to the truth -- in other words, to make an event transparent.
At least read the writings of Szabo before you decide what smart contracts are and aren't good for.
There are many several interesting applications here and now around trustless atomic swaps. Not necessarily between assets but cryptographic keys in general (for example DRM systems).
> It all seems like a marketing scheme to sell cyber beanie babies
Well, if it has a marketing budget then it isn't really trustless as there is some central authority to market it. Be careful out there. Rapidly increasing valuations attract scammers like sugar to flies.
What problem could early steam powered cars solve that horses couldn’t solve better? I doubt the earliest ones performed better than the animal based solutions for ANY specific use.
Yet writing off automobiles at that stage would’ve been a mistake only obvious in retrospect.
Especially for something as truly bizarre as Ethereum, why write it off at this early stage?
So, where are the results?
Your car analogy doesn't add up, for quite a while horses were undoubtedly more convenient than automobiles. Then automobiles improved and took over. We have a similar situation with electric cars today.
Blockchain technologies are not a few cycles of optimizations away from being able to compete with PostgreSQL, they work fundamentally differently and they have fundamentally, per design, strong limitations about how efficient they can be. That's the cost of trustless decentralization.
To overcome these limitations you don't need "a blockchain but more better", you need a fundamental breakthrough in the way these things work. I suppose you could hope for such a breakthrough but that's akin to hoping that we're going to figure out cold fusion and solve the energy crisis. Sure, it can happen but it's not unreasonable to be skeptical of it.
What are these truly innovative uses for a nested chain of data blobs whose contents include a hash of the previous link?
He isn't praising anything. He is simply saying not being anti-something that early. The world isn't all black and white, there's nuance, not being anti-something doesn't means praising it.
> I don’t understand why you would be anti- something so new at all. >[...] > why write it off at this early stage?
What if there's actually nothing good that we can do out of it but you aren't there to talk against it? Well it will die naturally. What if there's actually something good that we can do with it but there's a bunch of anti-something people? Well that add unnecessary friction to something good being made and that just make you a jerk adding it.
You see how it's better?
I agree that a token based currency is not required, I'm just interested in what people define a blockchain as for intellectual curiosity.
A (potentially distributed) datastructure of some kind, which resembles a linked-list, and ensures its integrity using some sort of cryptographic hash of the previous link such that changing any link but the most recent invalidates the whole chain. Literally -- a chain of (data) blocks.
A non-engineering description of a "blockchain" should be considered to be misleading.
edit - also, I'd take cryptocurrencies more seriously if they could stay out of the headlines for a while
https://en.wikipedia.org/wiki/Paxos_(computer_science)
You're thinking of a distributed ledger, which combine blockchains with consensus protocols
If a new invention is truly transformative, it will thrive even after long doubt. At this stage the public, forced demonstration of cryptocurrencies deserve to be criticized no matter it will be successful or not. (I don't want to criticize general cryptocurrency researchers of course, because, well, they are just studying.)
Is there anything that your argument wouldn’t work for? Do you truly have to wait a decade before making any judgements about the hype around a technology? When will we be able to say if smart contracts have been overhyped?
The only reason they would even make sense to pursue would be because of how successful the train was. Similar to how this bitcoin stuff makes more sense when you look at the success of the internet/paypal/amazon.
In what - concrete - way is bitcoin related to the success of Amazon or the internet? Please be specific and don't hand-wave if you're going to make such bold claims.
[1] https://knowledgenuts.com/2014/02/24/gasoline-used-to-be-con...
[2] http://www.attendly.com/rockefellers-unconventional-approach...
This is similar to train->car.
It feels like the world suddenly discovered the hammer, and now we think everything is a nail
This narrative that "Internet time" transforms the world every other year should have died in the 90s. Real work takes time.
Building the infrastructure for the Internet took decades. Even after it won, most people used modems over badly insulated copper wire for the better part of ten years.
The reason nobody has found a good use for block chain yet is that the only time it offers any benefits over a traditional relational data store is when you cannot trust anybody. The truth is you can trust someone almost all the time. And even if you can’t really, it might be more efficient to just pretend. The truth is that trust is a substantial optimization and it eliminates vast quantities of waste and inefficiency in the proof of work model. That’s why people don’t want blockchains.
A really clean way of expressing this idea is that when you deposit a paper check at the bank they don’t check the signature. They don’t check the signature because they trust you, or rather it’s more efficient to just assume the money is being deposited legitimately. The amount of effort signature verification takes makes it more expensive than just eating the fraud losses. The same is true in many of these block chain powered proof of work situations. The cost of computing the proof of work outweighs the cost of managing fraud. Not to mention all the ridiculous fraud perpetrated on this unregulated market but that’s neither here nor there.
I wonder if investors are pushing developers away from infrastructure plays, towards consumer apps and sub-platforms.
I imagine that's happening in VR. I hear a lot about headsets, games, medical applications, etc, but I haven't heard anyone get excited about research into better Fresnel lens production.
“Code bounties are a great use-case for cryptocurrency.”
If it gets leaked/hacked, there will be temptation to cash it out. Follow it and get quick notification that your security has been breached.
So maybe instead of building strawmen you could tell us what you find so fascinating about smart contracts? Who knows, you might end up convincing some of us haters. Not me though, I'm too busy wishing with my entire being for it to fail. It's better than running for cardio.
Because smart contracts can do that. Pretty neat, huh?
Are Smart Contracts interesting? Sure. But they don't address all areas of contract law very well, and they certainly seem like they could well be misused as a way to circumvent a lot of the protections we currently have in place.
Are cryptocurrencies interesting? Again yes, but they don't actually appear to be a very good fit for anything in particular, and they do seem to have a lot of poor economic ideas baked in.
So while blockchains are an interesting set of data structures, a lot of the hate and disparagement comes from the (almost 10) years of relentless hype coupled with the complete failure for any of the great promises to appear. Instead we see exactly what was predictable - hoarding and speculation, scams and fraud.
Does it occur to you someone might've had an open mind, and made up their mind?
Your comment assumes such isn't possible, yet your comment polarises the discussion (aka "flamebait") which isn't about the linked article at all. The amount of comments which are on-topic in this thread is zero with a large amount spawning from your initial post. Yet, the linked article is fascinating? Well, I'd love to read the on-topic discussion on it to read about it further.
Given the generally high level of comments here at HN, I wonder if it has ever crossed your mind that it might, just might, not actually be knee-jerk hate but you simply being wrong in the novelty and general awesomeness of cryptocurrencies?
[1] https://www.notion.so/Yet-Another-Rant-About-Blockchains-ece...
1) I don't think smart contracts should be programmed in JavaScript,
2) it would be better if smart contracts were actually treated as law,
3) most problems that are currently being hyped/solved with blockchain would better be solved with a public signed git repository, and
4) blockchains, as currently implemented, are immensely wasteful (I'm hoping this changes with more research).
I recently had to use the concept of table doubling to improve a system where rough estimation was being used to determine the size of a data structure. It certainly felt good to recall the concept of table doubling and design a system using it's concepts.
This sounds like a bad idea, since it would allow other people to extract the script and put it inside a transaction that’s published on the real network, thus unfairly claiming the bounty.
Why should I reveal my cards for $3K?
Bitcoin not blockchain.
Also, what do you mean by "Bitcoin not blockchain"?
Oh, and also, why trust this random ad-hoc group of self-appointed economists (the core dev team) over a selected group of professional economists with degrees an arms-length away from politics (the federal reserve)? None of it makes sense. If the core team wants to create more bitcoin they can. Just like the fed.
Inflation is not a bad thing - it's solely a regular haircut for unproductive capital. Nobody should be hoarding cash. They should invest. Salaries are indexed for inflation so they don't go down. This isn't rocket science.
This theory is fundamentally flawed, because it assumes that whoever receives the “new money” buys consumer goods. If this is indeed what happens, then prices should increase. But what if he buys bonds?
If newly produced money is used, not to buy consumer goods (or commodities), but bonds, then the injection of new money into the economy has the opposite effect on the price level, because the new money is used to improve the efficiency of production. E.g. if a producer of chickens sells a $250m bond (bought with “new money”) and invests the proceeds in a chicken plant[1], the price of chickens will decrease, due to increased productivity of producing chickens.
In the above scenario, the only price that will increase is the price of bonds, which is the same as a falling rate of interest (the rate of interest is inversely proportional to the price of the bond). And this is exactly what has been happening for the past 35 years or so[2].
[1] https://markets.businessinsider.com/news/stocks/costco-plans...
[2] https://awealthofcommonsense.com/wp-content/uploads/2015/12/...
"In principle, it could be argued that Cantillon Effects focus on the short-term effect of changes in money supply, but that money neutrality is a long term characteristic of money. Short-run effects in resource allocation are typically not denied, usually due to the fact that they alter “sticky” prices, such as wages." It then goes on to argue that Money Neutrality shouldn't be taken as a given.
I don't think the article states money neutrality is fallacious, though, and I couldn't find any substantiating claims within it. I suppose the argument I am making is for money neutrality. That yes, the initial recipients of capital are temporarily advantaged being able to purchase assets are pre-inflation prices. However, over time, this does balance out. The market makes it so. I'm not sure, maybe I'm missing something? I'd love to read more on this if you think I am.
That said Bitcoin has a worse Gini ratio than any banana republic, worse wealth distribution and all sorts of other economic factors, and an unbounded cost to transact that as a fixed fee unfairly burdens the poor -- that just make it worse all around than the existing USD based financial system.
If you believe this, you lack a fundamental understanding of btc.
What Exactly Did the Bug Do?
The obvious worst part of this bug was the inflation exploit. An attack could create new bitcoins at will, exceeding the 21 million hard cap limit that is currently in place. This would absolutely destroy confidence in not only Bitcoin, but every cryptocurrency.
https://www.livebitcoinnews.com/cve-2018-17144-the-aftermath...
You could say the same thing about the implementation of the protocols that the banks use, who also store your money as an imaginary balance in their computer systems.
Unless a hacker finds a flaw that lets them siphon off bitcoin without anyone noticing, all the holders would have to do is fork the chain with flaw fixed. Bitcoin is just an P2P shared accounting book, after all, and if someone is able to write an illegal entry in there, the entry can be scrubbed and rewritten. As long as over 50% of the miners believe it's the right thing to do, it becomes the new official record. This actually has happened before and played out exactly as I just wrote: https://en.bitcoin.it/wiki/Value_overflow_incident
If a bank is hacked, who can say really what will happen? Because of secret courts and shadowy government agencies, all you really have is blind trust. Could you go and audit the US Dollar and be sure that there isn't more being created than what the government tells us? It would take you years even if you could, and even then, I'd bet you dollars to donuts that if the government was doing something they didn't want you to know about, they'd block you from finding out.
Bitcoin can be audited by anyone at anytime. Just download the blockchain, and run a program to process it, and you'll know immediately. In fact, the official client does exactly this, and won't accept a blockchain that doesn't pass its internal audit.
> It’s almost like in the thousands of years of traditional currency people have thought of this and implemented mitigations. It is fascinating to watch bitcoin replay the entire history of traditional banking in fast forward.
In the thousands of years of traditional currency, no one was able to create a currency that limited the number of coins created in a way that anyone can publicly check, shared with the ability to transmit very quickly and anonymously large sums across the globe.
This makes cryotocurrency unique, and the old traditional ways of handling money do not apply to it.