I thought with the wave of fraudulent ICOs and zero regulation in the industry that Blockchain-related technologies were like Kryptonite to legitimate developers.
Blockchain in and of itself is separate from Cryptocurrency, though many people use them interchangeably, but what are some of the real-world use cases for a shared trust model? International escrow payments?
There is literally zero application or real world usage for "blockchain" outside of currency. Anybody claiming otherwise is a deceiving you, or being deceived themselves.
There's this thing where there's swathes of people running around calling themselves "blockchain developers", or people wanting a "blockchain engineer", but basically nobody can describe what this actually entails. What happens in reality is that you make a bunch of handwavey statements about how this can be done better with a block chain, make a proof of concept in whatever the most hipster language that looks sort of interesting, but has nothing at all under the hood, and then move on.
For "blockchain" to be applicable, you have to acknowledge that you've no other solution to trust or maintainability than to use the most expensive key value store in-existence, with huge limitations, probabilistic integrity, and immense developmental and operational cost. When you hear of some large company replacing all of their infrastructure for tracking packages or whatever with "the blockchain", you should interpret this as an admission that they can't run a copy of postgresql safety and are looking for a hyped up brogrammer to make something flashy sounding instead.
It's not really that applicable there either. NameCoin attempted this in 2010 and ran into some serious engineering issues with non-obvious outcomes. It's not reasonable for every device to store the multi gigabyte UTXO, so delegation to DNS revolvers is necessary on some level. Ideally you'd be able to do something with attestation to prove that the results came from the blockchain itself, but you can not.
Due to the UTXO design in Namecoin, you can attest that a particular record existed, but you can't ever compactly prove it exists. This distinction is important because it means that you as the client have no way of knowing if a returned result is stale and has been changed to something entirely different.
You don't necessary need to download a multi gigabyte UTXO anymore :)
Blockchain tech is young and a lot of thing are going on - and 2010 was prehistory for blockchain
I share your detest of the "blockchain", but there are some real world non-currency usage.
Consider a decentralized timestamping service for example. That's useful if you want to anonymously disclose a critical bug, but want the ability to prove you had knowledge beforehand (and thereby proving you were the one who disclosed it).
Do you even need a blockchain for that? Can't you just encrypt a message detailing your discovery, and publish the result? Then at a later date, you can prove it was you by decrypting the message.
And how would you prove your encrypted message existed beforehand, and that you didn't just backdate the message after the discovery has been made public?
For that you need to publish your encrypted message that's somehow connected with a timestamp. If you can you might be able to get it included in a journal or a newspaper (which is what Robert Hook did in 1660), or use a trusted third party that verifies your timestamp.
Embedding a hash of your message in the blockchain is another way, which is arguably easier, more secure and trustless.
As others have said, you could just tweet it (or a hash of it). Or post a video on youtube, or email it to a mailing list, or whatever. There's countless ways to publish information with a timestamp that's very difficult to fake.
Those are "easily" manipulated if the issue is important enough to someone powerful enough. Sure, you could carpet-bomb and publish your hash on many different platforms under jurisdictions with competing interests, but at this point you've just invented a poor man's blockchains.
Blockchains are the systematization and democratization of that strategy. And those points are what technology is all about.
__
Sure, to write our next shared article we can just have our Word files and call-up each other and exchange paragraphs over WhatsApp. Yet for some reason some people nerd out on unintuitive over-engineered CRDTs. That can't be useful to anyone, can it?
> Those are "easily" manipulated if the issue is important enough to someone powerful enough
Perhaps in theory, but in practice it's not really true, especially with regard to the nature of information that is worthwhile to censor; the kind of situation where the powers-that-be would hack twitter to manipulate the timestamp of a hash string are very far-fetched.
"Very difficult" is context dependent. It might be difficult for you and me to backdate a tweet, but easy for a Twitter employee or a hacker with a 0-day exploit.
You also introduce the risk of your message getting deleted, for whatever reason.
And these ways may also break your anonymity or leak your exploit if you're not careful.
Society has plenty of trust functions. If you can’t rely on them, it’s not unreasonable to think that your blockchain evidence won’t help you either.
Suppose you post your finding generally, then I see it, and post it to the blockchain timestamped as my own. Then you say, “hey, I was first”. The blockchain is bad here because it’s incomplete.
If we mandate that only the blockchain can determine truth, then, if I really want to own that claim, I can hit you with a wrench until I have the private key, and now I am the owner of truth.
Trustless societies suck. We should be trying to increase social trust.
Timestamp proofs are interesting but a little hard to find a solid use for in that context. Most people are very happy trusting a post on a mailing list, or even the standard at this point for security researchers is a hash of your disclosure on twitter or IRC. It almost never needs to be cryptographic proof, only social.
They also have a significant issue in that they are non-exclusive. Imagine I timestamp the following messages.
for i in {1..999999}:
print "on the 21st of Feb 2022 the Bitcoin price will be exactly $i"
By revealing only a single proof of the possible million, I can prove once and for all that I have complete foresight, and you can't ever prove that I didn't make that prediction. Lots of these things have not entirely obvious issues like that. posting a million hashes on Twitter might raise some eyebrows, posting a million lines on IRC will get me K-lined. I have actually timestamped all of those messages though.
It's not foolproof of course, and it might be overkill for many, but consider this example:
You've found one of the most catastrophic bugs in Bitcoin ever, and you know that the developers are extremely skeptical of anything. The community is also divided and full of toxic people who will try to discredit anything you do.
Now, will you be satisfied with just posting a hash on IRC or on the mailing list? Are you sure people won't distrust you from posting on "the wrong IRC channel"?
I would assume you'll want as solid a proof as you can construct. Therefore you'll timestamp your message on the blockchain in addition to posting on social media somewhere.
And exactly this is what awemany did when he discovered CVE-2018–17144, one of the most catastrophic bugs in Bitcoin ever:
How about this? Write your bug report. Sign the bug report with your private key. Anonymously publish the bug report, the signature and the public key. Later when required, prove that you wrote the bug report by using your private key to sign a new message or a challenge message sent by any challenger.
The idea is to replace social proof (that the timestamps are correct wherever it is published) with cryptographic proof, but I commented below on some of the pitfalls of doing so.
No, yours relies on social proof (the post being public somewhere) as the timestamp. Nothing about what you described is different from just posting a hash of the prediction beforehand.
This could work, as long as you trust the ones you file your bug report to. This isn't always the case for white hat hackers who interact with big corporations for example. You also don't always want to disclose the actual vulnerability beforehand to everyone either, to give them time to fix them.
If these things don't hold then you still need to find a trusted way to publish your hash or encrypted message so you can get your timestamp.
This may indeed be a valid use case, and Bitcoin fulfills it. You don’t need to build a separate blockchain, you just need to know how to embed a hash into a Bitcoin block and how to point to it which is technically easy.
Also it’s unclear how a separate blockchain with this sole function would work. You need the monetary incentive of bitcoin mining and proof of work to make the security model work so that the time stamp can be trusted. The security of the Bitcoin blockchain is not a computer science problem, it’s an economic one. That’s why the only application it works with is cryptocurrency, with time stamping being a nice byproduct.
Blockchain can be useful outside of crypto, or even leveraging crypto for anything that needs trust.
Example: you might take a fingerprint of a recorded interview and save that to a block chain. When you distribute the interview the receivers can verify it hasn't been tampered with based on the fingerprint and when it was added to the chain.
This way you don't need to trust the source of the video or the person giving you a fingerprint, as that's stored immutably.
What does that prove? The person can tamper with the recording before publishing it on the blockchain.
The limiting feature of blockchains is that they cannot integrate with real world (i.e. non-blockchain) data without trusting the data provider. And at that point, the key feature of blockchains (no need to trust anyone) is completely lost.
The key feature has always been that the data cannot be retroactively changed, eg log entries removed, inserted (between existing records) or modified. That's what enables cryptocurrencies: nobody can go back and alter account balances without leaving a trace, edits have to go through new transactions or protocol change.
In case of a video, blockchain could be used to tamper-proof security footage. You can always manipulate the incoming data (cover the cameras etc), but once data has been recorded (whatever it may be), there's no going back and overwriting it.
I'm surprised how oblivious the HN crowd is to how huge this is for the enterprise and government sector where data like land registry or citizenship records (see Obama's birth certificate, GWB's military record) have to be kept provably untampered for up to a century.
> but what are some of the real-world use cases for a shared trust model?
Document management. Once recorded in the blockchain, documents cannot be altered, removed nor replaced without leaving a trace. This is valuable in any database that deals with historic data that needs to be provably untampered: financial records, contracts, permits & licenses, etc.
I think there is potential to reduce costs of operating a business with a blockchain by removing a class of middlemen through better automation and standardization. Here's some examples that might work:
- If we run all transactions a business makes through a blockchain with the right tooling the accounting & taxation could be massively automated, submitting P&L reports and other extremely expensive accounting processes could be completely replaced with code
- If all IPOs were run as ICOs, it would take out an entire class of banker, who are currently extracting value that could be captured elsewhere
- Any service that provides one-sided transactions. E.g. donating to charity - you could build a cheaper and more transparent service that allows people to donate to a charity, directly into their accounts (and potentially onward). Imagine going onto justgiving.com and donating directly to a recpient without any middle-men (aside from the blockchain itself)
I'm not sure how much of the blockchain trust model you specifically need for this, but if you think of blockchain technology as an open data structure and global, distributed computer the use cases start to materialize, even if we're not ready for them yet, if ever.
I do not know the validity of the source, but can anyone else confirm or reject the claim of the rising demand for blockchain developers.
I looked a lot into the technology a year or two ago, but never really got around to applying the knowledge. It has since been my personal opinion that the demand seemed to vane and the number of actual useful implementations diminish as well?
this is way to simplistic. "Blockchain" as "AI" or other sufficiently popular concepts are mere projects spaces of peoples hopes and fears.
A question now may be: can this "Blockchain" Idea give rise to technology which in turn helps people to coordinate better?
Its really interesting there projects who mandate for more transparency through blockchain and then there are projects who ride on "everything" should be private.
The answer to such problems very seldom lies in extremes but in the mediation between possible options.
Many Ethereum projects but also IPFS now finally offer tangebile (beta) products. In many traditional metrics they are lagg behind mainstream projects. But since decentralization over centralization and collaboration over competition are real values interesting things begin to emerge.
Now I could be counting to 3 until the next person jumps here on and (projects his values or antagonist dreams on this) says capitalism is it and socialism was the worst thing in history!!!111
But maybe a room can grow which is neither capitalism nor socialism but yet better. So lets start to ponder , some impossible thoughts - using this blockchain thing.
Building better technology - finding better ways to coordinate with people - in the real world. Through digital technology but not only limited to or by it.
An anecdotal perspective: I am doing blockchain-related innovation work in the B2B software industry and often interact with academia and public institutions (research funding providers), as well as with other software vendors. Our problem is that academia and funding providers are way too happy to write papers and fund work on blockchain, while many of the more reasonable software vendors are very careful to not position themselves as blockchain hype idiots. What I see is that we sometimes have to cater to public expectations and at least do some prototyping around blockchain, just to take part in the discussion and to have a clearly articulated position on why blockchain is not a game changer for our particular part of the industry (even if it will take off, it is just one of many technologies in an application stack). I think organizations that embrace the hype a bit more hire some developers to do blockchain-related work to be able to claim that their products are blockchain-based. However, I think the amount of positions that serious, stable companies have open for blockchain developers are negligible. For now, blockchain should be ignored, by all practical means, by anyone who scouts for technologies to learn to increase future career perspectives.
We can see the numbers for ourselves. Do a quick search on SO jobs, linkedIn and angellist to see which companies are hiring for blockchain stack expertise. From what I've seen it's a 1:5 ratio.
The idea that blockchain is the most in-demand technology skill does not pass the smell test. Blockchains don't actually solve any business problems unless you're in the ICO or cryptocurrency exchange business.
Most of the positions advertised have some amusing attributes if you read the description. We want someone with a PHD in cryptography that knows ReactJS. Yes I'm serious.
" Blockchains don't actually solve any business problems"
We have seen a lot of bullshit projects (and keep seeing many), but your affirmation shows a clear lack of knowledge about what is going on with blockchain !
It's true. Blockchains can't really be seen as a tool helping existing businesses and their problems. It's like saying "emergent economies in Africa solve my business' problems".
Businesses don't control blockchains. They're more of a low level platform on top of which new types of businesses can grow.
For a seemingly real-world application of Blockchain technology, Fluree DB [1] has announced a Blockchain/graph-database secure-communications contract with the U.S. Air Force [2]. The Fluree platform seems a compelling base for similar applications.
51 comments
[ 2.8 ms ] story [ 106 ms ] threadBlockchain in and of itself is separate from Cryptocurrency, though many people use them interchangeably, but what are some of the real-world use cases for a shared trust model? International escrow payments?
There's this thing where there's swathes of people running around calling themselves "blockchain developers", or people wanting a "blockchain engineer", but basically nobody can describe what this actually entails. What happens in reality is that you make a bunch of handwavey statements about how this can be done better with a block chain, make a proof of concept in whatever the most hipster language that looks sort of interesting, but has nothing at all under the hood, and then move on.
For "blockchain" to be applicable, you have to acknowledge that you've no other solution to trust or maintainability than to use the most expensive key value store in-existence, with huge limitations, probabilistic integrity, and immense developmental and operational cost. When you hear of some large company replacing all of their infrastructure for tracking packages or whatever with "the blockchain", you should interpret this as an admission that they can't run a copy of postgresql safety and are looking for a hyped up brogrammer to make something flashy sounding instead.
Due to the UTXO design in Namecoin, you can attest that a particular record existed, but you can't ever compactly prove it exists. This distinction is important because it means that you as the client have no way of knowing if a returned result is stale and has been changed to something entirely different.
for example... the sale of the .org TLD
Consider a decentralized timestamping service for example. That's useful if you want to anonymously disclose a critical bug, but want the ability to prove you had knowledge beforehand (and thereby proving you were the one who disclosed it).
For that you need to publish your encrypted message that's somehow connected with a timestamp. If you can you might be able to get it included in a journal or a newspaper (which is what Robert Hook did in 1660), or use a trusted third party that verifies your timestamp.
Embedding a hash of your message in the blockchain is another way, which is arguably easier, more secure and trustless.
Blockchains are the systematization and democratization of that strategy. And those points are what technology is all about.
__
Sure, to write our next shared article we can just have our Word files and call-up each other and exchange paragraphs over WhatsApp. Yet for some reason some people nerd out on unintuitive over-engineered CRDTs. That can't be useful to anyone, can it?
Perhaps in theory, but in practice it's not really true, especially with regard to the nature of information that is worthwhile to censor; the kind of situation where the powers-that-be would hack twitter to manipulate the timestamp of a hash string are very far-fetched.
You also introduce the risk of your message getting deleted, for whatever reason.
And these ways may also break your anonymity or leak your exploit if you're not careful.
A blockchain backed timestamp is simply better.
Suppose you post your finding generally, then I see it, and post it to the blockchain timestamped as my own. Then you say, “hey, I was first”. The blockchain is bad here because it’s incomplete.
If we mandate that only the blockchain can determine truth, then, if I really want to own that claim, I can hit you with a wrench until I have the private key, and now I am the owner of truth.
Trustless societies suck. We should be trying to increase social trust.
They also have a significant issue in that they are non-exclusive. Imagine I timestamp the following messages.
By revealing only a single proof of the possible million, I can prove once and for all that I have complete foresight, and you can't ever prove that I didn't make that prediction. Lots of these things have not entirely obvious issues like that. posting a million hashes on Twitter might raise some eyebrows, posting a million lines on IRC will get me K-lined. I have actually timestamped all of those messages though.You've found one of the most catastrophic bugs in Bitcoin ever, and you know that the developers are extremely skeptical of anything. The community is also divided and full of toxic people who will try to discredit anything you do.
Now, will you be satisfied with just posting a hash on IRC or on the mailing list? Are you sure people won't distrust you from posting on "the wrong IRC channel"?
I would assume you'll want as solid a proof as you can construct. Therefore you'll timestamp your message on the blockchain in addition to posting on social media somewhere.
And exactly this is what awemany did when he discovered CVE-2018–17144, one of the most catastrophic bugs in Bitcoin ever:
https://medium.com/@awemany/600-microseconds-b70f87b0b2a6
If these things don't hold then you still need to find a trusted way to publish your hash or encrypted message so you can get your timestamp.
Here's a simple walkthrough of how to do it in the Bitcoin Cash blockchain for instance:
https://whycryptocurrencies.com/timestamping_service.html
Also it’s unclear how a separate blockchain with this sole function would work. You need the monetary incentive of bitcoin mining and proof of work to make the security model work so that the time stamp can be trusted. The security of the Bitcoin blockchain is not a computer science problem, it’s an economic one. That’s why the only application it works with is cryptocurrency, with time stamping being a nice byproduct.
Blockchain tech is already being used to secure logs of enterprise services. GE Predix platform, with blockchain-based integrity provided by Ericsson, is a notable example: https://www.ericsson.com/en/press-releases/2017/5/ericsson-l...
Example: you might take a fingerprint of a recorded interview and save that to a block chain. When you distribute the interview the receivers can verify it hasn't been tampered with based on the fingerprint and when it was added to the chain.
This way you don't need to trust the source of the video or the person giving you a fingerprint, as that's stored immutably.
The limiting feature of blockchains is that they cannot integrate with real world (i.e. non-blockchain) data without trusting the data provider. And at that point, the key feature of blockchains (no need to trust anyone) is completely lost.
In case of a video, blockchain could be used to tamper-proof security footage. You can always manipulate the incoming data (cover the cameras etc), but once data has been recorded (whatever it may be), there's no going back and overwriting it.
I'm surprised how oblivious the HN crowd is to how huge this is for the enterprise and government sector where data like land registry or citizenship records (see Obama's birth certificate, GWB's military record) have to be kept provably untampered for up to a century.
Document management. Once recorded in the blockchain, documents cannot be altered, removed nor replaced without leaving a trace. This is valuable in any database that deals with historic data that needs to be provably untampered: financial records, contracts, permits & licenses, etc.
- If we run all transactions a business makes through a blockchain with the right tooling the accounting & taxation could be massively automated, submitting P&L reports and other extremely expensive accounting processes could be completely replaced with code
- If all IPOs were run as ICOs, it would take out an entire class of banker, who are currently extracting value that could be captured elsewhere
- Any service that provides one-sided transactions. E.g. donating to charity - you could build a cheaper and more transparent service that allows people to donate to a charity, directly into their accounts (and potentially onward). Imagine going onto justgiving.com and donating directly to a recpient without any middle-men (aside from the blockchain itself)
I'm not sure how much of the blockchain trust model you specifically need for this, but if you think of blockchain technology as an open data structure and global, distributed computer the use cases start to materialize, even if we're not ready for them yet, if ever.
I looked a lot into the technology a year or two ago, but never really got around to applying the knowledge. It has since been my personal opinion that the demand seemed to vane and the number of actual useful implementations diminish as well?
A question now may be: can this "Blockchain" Idea give rise to technology which in turn helps people to coordinate better?
Its really interesting there projects who mandate for more transparency through blockchain and then there are projects who ride on "everything" should be private.
The answer to such problems very seldom lies in extremes but in the mediation between possible options.
Many Ethereum projects but also IPFS now finally offer tangebile (beta) products. In many traditional metrics they are lagg behind mainstream projects. But since decentralization over centralization and collaboration over competition are real values interesting things begin to emerge.
Now I could be counting to 3 until the next person jumps here on and (projects his values or antagonist dreams on this) says capitalism is it and socialism was the worst thing in history!!!111
But maybe a room can grow which is neither capitalism nor socialism but yet better. So lets start to ponder , some impossible thoughts - using this blockchain thing.
Building better technology - finding better ways to coordinate with people - in the real world. Through digital technology but not only limited to or by it.
We have seen a lot of bullshit projects (and keep seeing many), but your affirmation shows a clear lack of knowledge about what is going on with blockchain !
Businesses don't control blockchains. They're more of a low level platform on top of which new types of businesses can grow.
[1] https://flur.ee/ [2] https://www.ledgerinsights.com/airforce-blockchain-fluree-se...
"Blockchain" experience seems to run at distant last place to everything else.