There aren't that many uses for blockchains (2022)
calpaterson.com
calpaterson.com
> SQL databases will continue to get faster as hardware speeds up - but blockchains only tend to get slower, as the volume of transactions grows.
This is also misleading, as there are systems like Solana which prioritize speed of confirmation, and do indeed get faster as hardware speeds up. It also allows for sub-cent fees (again, not based on a percentage of the amount moved).
This is not actually true, it still has the same scaling bottlenecks with state access but they are expressed differently (via hidden tx finality slowdowns) since it does not have an effective fee market.
Solana also ignores that part of the core reasoning that you'd want to use blockchains is for their decentralization and your ability to independently verify them in their pursuit of being able to claim 4000 tx/s. You need a 10 gigabit network connection to run a full node.
SQL databases also run slower under high load, which is totally independent of faster hardware allowing for faster databases vs the baseline
Re: independent verification, I agree with you. It's not a great tradeoff. I'm not here to shill Solana as a panacea or anything of the sort, just pointing out clear inaccuracies from the OOP.
We never utter the work blockchain because if you say "a blockchain" most people hear ** THE blockchain!! ** and either think we're a yet another bunch of scammers or worse, get tremendously excited thinking we're doing web3 or some other scam they want in on. Instead we say "we protect the data using Merkel trees."
We have the other buzzword problem too: we use some machine vision (for some safety matters) and use RNNs to determine some local operating parameters and to crunch data for some lab experiments. Even though we have two former AI research scientists on the team, none of us want to be lumped in with the big langage model folks, since that's not what we do (and the hype is insane).
The blockchain application: we have a shitload of sensors monitoring equipment we'll be deploying all over the world. Our revenue depends on the performance of this equipment. So every sensor is built into a little box that signs and timestamps its data. The data are aggregated by the equipment and streamed up to our servers (cough "the cloud"). Connectivity can be intermittent, so machines can offload data to topologically nearby installations.
It's actually pretty nice to be outside the hype bubbles. We just concentrate on our work instead, and mostly the prospective customers don't understand any of the tech, much less what those buzzwords mean.
But it’s to prove chain of custody / lack of tampering since revenue ultimately depends on the data.
Clearly some people do find them useful.
But you're probably thinking of either cases where 50% of the transactions are carried out by a much smaller segment of the population or where there is a dictatorship?
With crypto, you can move a billion dollars in 15 minutes to anywhere in the world for like $15, without giving away either source or destination. To do this, you need to send about 250 bytes of information to any node in the blockchain network, using any way possible, up to and including dictating these numbers by phone or writing them on a piece of paper and smuggling said piece to anybody with a non-censored internet connection.
Goverments can make this illegal, but it is impossible to enforce it. These 250 bytes are just another "illegal number", which can be written anywhere, sewn on your t-shirt, etched in stone, etc. There are many fully secure ways to transmit 250 bytes without anyone knowing about it (including governments). Therefore, there is a secure and bulletproof way to smuggle a billion dollars out of the country without getting stopped.
No one can do anything about it.
(Well, there is a crypto-sanctions mechanism which can taint some money on the blockchain and can make it difficult to sell on exchanges etc. But it just creates some inconvenience -- there are many ways to launder crypto, from mixers to bridges and coinjoin and anonymizing through fees arbitrage and whatever).
Maybe online, but with state actors the fear is what they can/will do to you IRL and how to avoid ever raising suspicion. And moving a billion dollars overnight is something that I think is impossible to do with raising eyebrows, regardless of the technical mechanism to move it.
I agree that if you made "using btc" illegal then you and I could still send each other BTC. But I believe that you would rapidly see the use of crypto die out if governments cut it off from trad-fi, which they could do trivially easily.
The point of a blockchain is that 1. There is a distributed consensus about the state of the blockchain (the one accepted by 51%+ of nodes) and 2. No one can alter information relating to your wallet without your keys. Git lacks either of these properties and these properties cannot be introduced without a centralized system like Github/Gitlab. Thus, Git is just a decentralized protocol, not a blockchain.
> No one can alter information relating to your wallet without your keys
Git has signing of commits etc. So the equivalent (no one can alter your presentation of the view of the code) can be enforced.
- - -
To focus on 1 specific concept of consensus, would be to also claim the very common idea of private blockchains is poorly named.
IMO no, this is one of those cases where a word means a lot more than just its component parts, much like how "television" means a lot more than just "anything where you do far-seeing."
The practical/effective distinction between what is promoted as "blockchain" and older stuff--like "a distributed database with cryptographic features"--involves:
1. Unrestricted global public membership, new nodes can be created by anyone at any time.
2. A global data structure that cannot have more than short-term conflicts or branches. (Hence a pruned "chain" instead of "tree".)
3. A cascade of other features all designed to stop someone from taking advantage of #1 and #2 to take over with an infinite army of sockpuppet nodes. (Proof of work, proof of stake, etc.)
In contrast, with git:
1. The default membership is "just me." Groups are ad-hoc as you find other people who you do (or don't) agree to work with and choose what to push/pull to one another.
2. Separate branches are extremely normal and can live indefinitely, and it's also normal to shift data from a conflicting branch or entirely rewrite subtrees.
3. There is no "majority rule" or "tiebreaker" logic, and thus no extra machinery to try to stop it.
Someone else mentioned consensus which is orthogonal. Git does not have that part.
But let's look at these paragraphs:
> Blockchain stocks fail criterion #2: there being no trusted party to host the database. The fact is that if you're going to hold the shares of a company, you explicitly need to trust them - so you may as well trust them to host your database.
> For example you need to trust that their published financial statements are accurate. You also need to trust that they will try to return your investment. Traditional companies hold their own register of shareholders (they just outsource the trading) and it is a problem very, very rarely.
Currencies work because we trust that the government (IE, the thing that governs,) keeps a stable value in the currency. IE, currencies are built on trust.
Even Bitcoin relies on trust: You have to trust the source code. You have to trust that there isn't a large bad actor perpetuating a >50% attack. You have to trust that, at some point in the future, your bitcoin will be worth something. Governments have it in their best interests to keep their currency valuable. (Unless you're post-WWI Germany and it's in your best interest to hyper-inflate your currency to make your debt worthless. IE, Germany realized that hyper-inflation was preferable to the economic toll of paying off their debt.)
This lesson, that currencies only work through trust, really negates the point of cryptocurrency for general-purpose usage.
At the end of the day, even if you gave the average person a venmo like UX that paid in any currency, instantly, for nearly zero fees, I still don't expect them to prefer it to a dollar bill or gold.
While the counterpoints regarding UX are very significant (lose all your money in one click, no undo, lack of support, difficult concepts that don't map to common consumer use cases), they can be solved through sheer effort. We did that on dns.xyz. Social login, gasless minting, rollup for fast interactions, all doable.
There is no escaping the fact that blockchains are slow databases. That they aren't particularly good at storing data. Much less private than one might think.
You do get consensus and attribution. You can use it as a sort of open standard or api where the items you've bought or the things you're written are open enough to be reused in the future.
None of these problems are pains that need solving. And they are inferior solutions compared with alternatives.
It is great tech. It is great intellectual exploration. It is a fun stack. It has made people money through unregulated speculation.
But it is tarnished, clunky, and not necessary.
The article espouses a very US centric view where the government is a trusted arbiter of all financial transactions and there is always a trusted third party to take on counterparty risk. This is obviously not the case all over the world.
The question is how much is that actually worth and can it support crypto's current market capitalization?
Crypto also has value as being able to create digital scarcity and ownership. For example, when you play games online today and you purchase cosmetic items or you play magic the gathering and buy cards, it's pretty silly that you only own a license to use those things for as long as the game exists and there is no way to trade them.
The above concept obviously falls flat when there is no effective scarcity, ie when everyone and their mother can produce nfts that are just jpegs with no actual use. Compare this to a magic the gathering or pokemon card that is just cardboard but still manages to maintain its value.
This is nonsensical. Unless two games support some agreed upon mesh/texture format you're never going to be able to transfer your SpongeBob NFT into Call of Duty. Games aren't going to import foreign mechanics into their engines, a fantasy RPG doesn't have a way to use your Laso-o-blast 5000. A Magic card is useless in a game of Pokémon. Your Magic card isn't an unbeatable poker hand.
Digital scarcity is a problem looking to insert itself where no problem needs to exist. The world doesn't need digital scarcity. There's enough scarcity in the world already.
The marginal cost of digital goods is effectively zero. It's an anti-feature to try to push the marginal cost above zero.
I think scarcity is obviously terrible for things like food and housing but for entertainment like above I don't think it is.
On the other hand, if you have a rare pokémon card and another player sees it in game, that’s a cool moment, blockchain or not.
In the same way that a heroin addict wants heroin.
As charitably as possible, I can only think of a situation where there was no central server and instead the game was peer to peer. But then, it's very hard to imagine how to run the other parts of the game in a way that prevents cheating and makes the items 'meaningful'. The hard part would not be the storage of agreed item data but running the world real time on the client without verification but trusted.
Peer to peer worlds are an exciting idea but blockchains just don't solve them.
The other way people seem to suggest is when the servers are offline? Usually, that means the game is dead but let's imagine they open sourced the server. Well, then I guess you either have to trust the new server admins (no need for blockchain) or you could only allow items generated by the original game server only. But in this case, too, you could simplify things by just having a private key signature from the original server and a public key on each client. No need for blockchain there either.
Please help me understand because I'm genuinely interested.
To make this beneficial to the game creators and artists, they can receive a percentage of each transaction made.
Do you have to support all assets on the chain? That has a very high barrier of entry, unless the assets are shared between games. But that’s not how art styles work, you can’t just drop a random asset in your game and expect it to fit in. So unless all the games are just reskins of each other that doesn’t make sense.
I guess it could be a mod situation? But then the platform holder can just do profit sharing a la Roblox.
Or do you only support certain assets? At that point why not just make your game off the chain and collab with other properties?
Can you detail why you would use blockchain to solve this?
If I wanted to keep things simple, and I already had to rely on a central server for the assets, why not also do verification there too? It seems like it would be a lot easier. The participating games still rely on your servers being available.
Or is it that the assets themselves are stored in a peer to peer fashion? In this case, how do you deal with the large size of the assets for each client? Blockchains are huge for the amount of data that they might contain, and game assets tend to be pretty big.
If the network runs only on the participating developer servers - maybe then the size isn't too big of a deal? But then those developers would still have to be trusted to participate (enforced via contract) so then it's back to the central server being a lot simpler solution.
The HN community grew sceptical of blockchain after some initial interest because it didn't seem to help in a lot of places it was marketed for.
The technology seems to stay alive because it turned out that it's a great vehicle for some kind of new multi-level-marketing. You can promise a piece of the action to people in some partially verifiable way. The tech is complicated enough that a lot of people think they own something when they don't.
Just because it is a good vehicle for scams doesn't mean it is not also useful for legitimate technology, but I haven't seen too many examples of the latter.
I feel like I must be missing something, because there's still massive amounts of counterparty risk. If you're engaging with a bad actor, the only thing that it can guarantee is that the transfer of payment is completed, but there are no guarantees around the exchange of value.
If you're trading with someone operating in bad faith, there is nothing about blockchain that is going to help you, and in fact it becomes much worse, because there is no mechanism for forcing refunds. At least with legal tender you have entire systems in place for dealing with bad actors. I'm more that willing to recognize there are massive problems with those systems, but I have never understood how blockchain replaces those systems.
Can you explain in detail what you mean when you say there isn't any counterparty risk?
I think what you are missing is that in all transactions in the current financial system there is an additional source of counterparty risk in the bank itself. When SVB failed, if the government did not intervene all depositors would have lost all the money stored in the bank and all pending transactions would also have been lost. Or if you use a credit card, if the issuing bank goes bankrupt between the time the purchase was made and the business received the funds in their bank the business would lose the thing they sold and not receive money for it.
This is not a risk I have really worried about. I much much larger problems dealing with bad faith actors dealing meatspace goods than I have with my bank.
Plus, you gloss over the fact that my money in the bank is actually federally insured. If both the bank and the federal insurance fails, I will have much larger problems than my bank account - there is unlikely a scenario where that happens and my basic livelihood is not threatened, and doubly unlikely that I'll have access to a reliable network for engaging with a blockchain.
You're describing things that are very unlikely.
Perhaps you're right about digital contracts? Maybe goods that can be encrypted are able to be effective traded without risk - though I have a hard time envisioning completely removing the risk of a bad actor. There will always need to be some kind of trusted third party to arbitrate, and block chains do not provide that.
Not to mention, I can't think of a single digital good that I've needed where the transaction would have been improved by using a blockchain cryptocurrency.
It happened not even a year ago with SVB. Also, like my original comment says, you are taking a very US centered perspective when you say things are low risk.
Why bother with blockchain?
Those cosmetics or digital MtG cards would be just useless strings of bytes without a game to use them in. Might as well tie them to the game explicitly, by storing them on the game's server. Also, there's a way to trade digital MtG cards in Magic: Online (not in Magic Arena though). A friend of mine has made a living trading those digital cards for many years (by running trading bots).
That's not the goal of trustless contracts.
The goal is that some resident of an oppressive nation can get a loan without being denied all access to finance at the whim of government-controlled bank. Can't trust your region's banks? Crypto is a wild land. But, it's a better alternative for billions of people.
It's easy to say that crypto is useless when you are in the top 2% of global wealth, a well-regulated banking system is scrambling to serve you, your government doesn't frequently confiscate your assets or inflate your hard-earned money to worthlessness.
And, it's easy to complain that crypto didn't magically spring from bottom-up grass-roots overnight, solving all financial problems by the poor for the poor in a single step before enriching a bunch of already-rich tech bros.
Creating a new global financial system from scratch is a lot of work. It requires a lot of investment, a lot of losses, a lot of hard-earned lessons. Blockchains have been demonstrating utility in that endeavor for 15 years. Growing from nothing to being valued higher than the global market of silver in that time.
Maybe "global financial system" is a small number of uses. But, it's a small number of rather large, rather important uses.
I’m skeptical because repossessing real-world collateral is a physical process, not something just done on in software.
This all happens via distributed execution of a smart contract. No banks or governments required.
Right now you can get a DeFi loan at places like changenow.io that don't even require you to sign in. You put up crypto collateral. When you pay back the loan with accumulated interest you get your collateral back. If your collateral drops in value to 50% of the loan amount, you lose it and are released from the loan.
You could pay for home that way. But, I wouldn't recommend it. Maybe there are more suitable options out there I'm unaware of. It's all definitely a work in progress :P
It was Descartes who made this scenario well known long before Kant.
I can't solve all of the worlds problems, for all possible situations, today, in pure crypto. It's new financial system that's just barely getting started.
The easiest solution would be to do a person-to-person trade of a house that's not owned by a bank. If it is owned by a bank, then the bank probably going to expect local currency. So, the buyer or seller will need to find a means to convert crypto to local money. Though with crypto ETFs taking off, banks are getting less picky by the day. As for "What if your govt just takes your home away?", crypto doesn't solve oppression directly in one step. It gives people a lot more freedom from government oppression. Ex: It gives them options to leave the country without worrying about how the govt is going confiscate their local currency in the process --because their wealth is not stored in local currency.
Some discussion then: https://news.ycombinator.com/item?id=32422082
One of the things this article gets wrong is how "facts about the real world" are made available to smart contracts.
It states that this is done via "a conventional program" and it makes the whole system "pointless".
Oracles can be set up in a way so that they rely on an incentive structure just like the rest of the system.
Example: The DAI stable coin does not hold its peg to the dollar because a conventional program feeds the DAI/USD price into the system.
The summary appears to be that participants can stake their non-DAI crypto assets into the system, and then borrow an equivalent amount of DAI at current prices minus a haircut (e.g. 80% of what they put in). This is the way DAI is created. Borrowers pay interest on their borrowed DAI. (How does this not result in a negative total amount of DAI? not sure)
If your borrowed DAI falls below another threshold (e.g. 90%) of the value of your collateral, you lose all your collateral. Someone somewhere gets to buy your collateral for only 90% of its dollar value in DAI, and is incentivized to do so because they can then get 100% of the value back on the open market. Therefore borrowers are incentivized to keep their borrowing below this threshold.
That's a pretty standard DeFi loan system; it seems there are also a lot more tacked-on bits which, I assume, prevent it from melting down in a similar way to all the other DeFi loan systems...
That one requirement is what triggers a exponential spray of additional features and complexity and tradeoffs, each one designed to curb the worst security-risks or performance-issues from the previous step until you get something not-too-horrible.
When you relax that requirement, everything can be reduced to a dramatically simpler, faster, easier-to-manage system, which often qualifies as a "traditional" distributed database.
_____
For example, take election voting records. Nobody actually needs to allow infinite/random nodes to pop up anywhere at any time simply to "Dude I saw that too" the data.
"Blockchain" proposals all carry serious risks, like: People losing their vote because they didn't stay at the polls for an hour to confirm that it went through and re-vote if it didn't; Some foreign government declaring their own National Botnet Day to fuck it up; Your own government pre-emptively investing bajillions in a short-term "defensive" CPU mob that you might not be able to trust either; etc.
In contrast, a far saner traditional approach: The election already relies on authorities for voter-rolls and candidate-choice. So have each US state runs 3-5 DB nodes, blend in 50 nodes from federal government agencies. That small networkof 200-300 computers get preloaded with one-another's public keys and IP addresses. The only other computers they need talk to are the ones reporting from respective state polling sites.
Safety comes from the fact that any attack (record tampering or plain day-ruining sabotage) would require an attacker to simultaneously hack, corrupt, or destroy many different groups/locations simultaneously, which is pretty unlikely. The system would be dramatically faster, cheaper, easier to audit, better able to tolerate local polling site connection outages, etc.
...Buuuut it doesn't drive the cryptocurrency PR hype machine. I'm OK with that.