The (practically) immutable nature of a block chain is genuinely fascinating and arguably very novel and new but the only reason everyone got excited was because the value of Bitcoin went to the moon.
I assume there is some growth hack idea here somewhere.
> but the only reason everyone got excited was because the value of Bitcoin went to the moon
I'm a blockchain minimalist, but I'd say that there are at least 2 other reasons why blockchains are interesting:
1) A trustless, distributed digital ledger.
But it turns out that _in most cases_, we are OK with a trusted, centralized, institutional clearing agent that maintains the ledger. The benefits are numerous as long as we trust the institution/agent.
2) An immutable record of transactions.
This follows (1), though: if you trust the institution, you trust that there won't be a malicious mutation of your records and in general, because the records are mutable, they can also easily canceled or reversed which also turns out to be generally beneficial.
So I do think blockchains do have some unique use cases where they would be beneficial (e.g. I think property (land, home, car) titles is a good one, car accident/repair history), but there are just way too many where they add no value.
You still have to trust that data was recorded into a blockchain correctly/faithfully.
So you can never truly remove trust. I'm not sure a immutable ledger is any more useful than a database if there is still some sort of required trust component.
>So I do think blockchains do have some unique use cases where they would be beneficial (e.g. I think property (land, home, car) titles is a good one, car accident/repair history)
All of those use cases are subject to the Oracle Problem (you have to trust whoever initially put the information on the blockchain, and also that nothing happened later to the real world entity that wasn't captured on the blockchain). As such, they are horrible use cases for blockchain.
There is a difference in that the trust is now distributed as opposed to centralized.
> you have to trust whoever initially put the information on the blockchain
In all of those cases, that trust is already inherent in the documents filed by the entities/institutions. But the thing is, they also become gatekeepers of those records (e.g. titles) which seems to be a great use case for a distributed system.
> and also that nothing happened later to the real world entity that wasn't captured on the blockchain
This is also the case with paper records; your car title isn't automatically tied to whether your car is totaled or sold. You update the record based on a change in the status of the material object it represents whether it is a paper or digital update or a blockchain update.
> they are horrible use cases for blockchain
I'd disagree; having an immutable record of ownership is valuable; especially so in countries where a centralized institution may not be trustworthy.
Especially with transactions around something like a car where there are multiple entities that are reliant on the record (your state DMV (and multiple sub-agencies), an electronic toll vendor, your insurance provider, your loan provider, maybe your landlord for an assigned parking space), having a distributed ledger to access and immutably modify the data would be a boon.
For titles on homes which are subject to liens, it would be a great consumer benefit to be able to access this information without paying several hundred dollars for a title search.
> I'd disagree; having an immutable record of ownership is valuable; especially so in countries where a centralized institution may not be trustworthy.
The idea that the blockchain can save you in this situation seems like pure fantasy to me. A record of ownership is only useful if the government is willing to enforce it. Otherwise it's not worth the paper/bits it's written on.
> For titles on homes which are subject to liens, it would be a great consumer benefit to be able to access this information without paying several hundred dollars for a title search.
This is useful, but doesn't require blockchain at all. Just a public API/database and a set of legislation that would force use of said API. A blockchain would require the same legislation anyways to ensure completeness.
> But it turns out that _in most cases_, we are OK with a trusted, centralized, institutional clearing agent that maintains the ledger. The benefits are numerous as long as we trust the institution/agent.
Who is "we"? I'm not ok with trusting banks and clearing houses with my money. I'm vehemently opposed to it.
I don't trust banks to act responsibly, and neither do I trust auditors to be thorough. I'll happily continue using crypto, with real SecOps, multi-sig auth, 2FA with hardware keys (and no SMS), multi-stage cold storage withdrawal with live self-hosted chain-analysis and no yearly account fee.
> So I do think blockchains do have some unique use cases where they would be beneficial (e.g. I think property (land, home, car) titles is a good one
Two years ago I had a discussion on land registries. No, blockchain is a terrible tech for them. See comment and the discussion around https://news.ycombinator.com/item?id=27212564
Not all of them. There are two very specific use cases that it has value as:
1. A decentralised/trust-less "source of truth" for coordination between mutually distrusting parties. This was the "novel" innovation for Bitcoin and it's been refined with the less energy intensive consensus algorithms. Not everything needs this and arguably fairly few things do but for the projects that benefit from trust-less coordination as an option, I'm not sure there's a better alternative yet.
2. As a decentralised marketplace for a given resource. The most common one is the basic cryptocurrency which is a fee market for inclusion in the ledger. Past that however are Storage, Data routing (i.e. VPN or onion routing), and Verifiable Compute (or non-accuracy-critical compute like 3d rendering).
Outside of those, I'd also argue it's useful for privacy preserving transactions (like monero, etc) but I know some people will disagree that that's "just for criminals".
Don't get me wrong, a lot of cryptocurrency or blockchain projects are practically an abstraction over git or a database but there are a number of very useful things you can do with blockchains that you just can't do with git or a db.
The "decentralized" is not a requirement. For example, nobody really needs a "decentralized marketplace". They just need a "marketplace".
Mediation and arbitration are well known methods when trust is missing. A joint venture with a database can do anything the blockchain community built more efficiently.
Doesn't really make any sense. A regular database with digital signatures chained per transaction gives you all the benefits without any of the downsides of a blockchain.
The same way humans have for millennia: relying on authority, reputation, and auditing. Blockchains have enormous overhead because they’re trying to be anonymous but once you need real-world connections you’re already giving that up, which makes it much cheaper to simply rely on those existing relationships.
Historically, that was things like documents being stamped or sealed by a trusted third party witness, escrow agents to hold funds or property until some transaction finished, auditors confirming that a particular good was in the expected condition, etc. In every case, anonymity would be a negative because you want to know, for example, that your notary doesn’t have a criminal history or a reputation for sloppy record keeping.
In the electronic era, that could be implemented using PKI where different parties register keys (or more likely corporate CAs) and use those to sign transactions or witness having seen a particular record. That’s similar to a blockchain in terms of trust but orders of magnitude more efficient and robust since it doesn’t require a network connection to a complex distributed service.
How do you agree on which signatures or information are actually part of the database? How do you decide who gets to add new entries to the database?
Unless there is some meaningful method for maintaining the current state and each atomic change to that state going backwards, you are losing security guarantees.
You can go down the git route but history is trivially rewrite-able and while git is decentralised, it has no mechanism for coming to a consensus about which history is the right one.
Now you are back to determining consensus. You can either just say "X is the authority" and use a hosted git repo but if that's not viable for your threat model, you are pretty much back to cryptocurrency style consensus (probably Proof of Stake or Proof of Authority depending on your threat model).
Proof of work is slow, wasteful, and provides no benefits to the proposed problem (chain of custody tracking).
Proof of stake makes no sense for this use case because there's nothing to stake.
"Proof of Authority" is effectively just a centralized DB.
Agreed on PoW (with the exception of Proofs of Useful Work where it is still slow but not outright wasteful).
Proof of Stake makes sense here not because you are implementing your own PoS system. Instead you are using an existing system and checkpointing onto it. This changes trust assumptions (now trusting the network to operate properly) and isn't the solution for all projects.
Proof of Authority also makes sense and isn't just a centralised DB. Instead it is giving trusted members of the community some fraction of the total authority and requiring a majority of the members to agree on the state for the system to progress. This is similar to but still distinct from distributed database consensus algorithms like Raft or Paxos. The primary distinction is that Raft & Paxos assume that all authenticated participants are fully trusted/non-malicious.
Byzantine Paxos (and Byzantine Raft as proposed in some research papers) begin to address this by attempting to achieve Byzantine Fault Tolerance but they each make different trade-offs. Even then however they tend to lack the flexibility that some types of PoA can have in allocating trust (think of PoA as PoS where the stake is units of trust allocated to each authority).
What it comes down to IMHO is that while blockchains are clearly a terrible solution when you definitively trust an organization to operate in good faith, they are still better than a lot of the alternatives when everyone doesn't fully trust any one participating org but they do collectively trust all parties to be mutually distrustful.
No, git uses a merkle tree, which the blockchain also uses. That’s the only similarity. It doesn’t rely on a massively distributed system to get the next time stamp for the next commit.
Git is decentralised, not distributed. You get the whole git database (for want of a better word) when you clone it, unless you use the —unshallow option.
The immutable nature of the blockchain is not the interesting part, and in most cases you're far better off just using Kafka/EventStore for that. The only revolutionary thing brought by cryptocurrencies was truly anonymous trustless transactions, and that's a very niche requirement in a world of government and law.
The (practically) immutable nature of a block chain is genuinely fascinating and arguably very novel and new but the only reason everyone got excited was because the value of Bitcoin went to the moon.
I assume there is some growth hack idea here somewhere.