> However, decentralized immutability means that nothing can be done should an unintended action occur with your account.
The alternative is the current state of affairs. In Canada this means banks unilaterally decide what is mutable and what is not depending on what suits them.
Someone's bank account was compromised via credential-stuffing and money was wired to an offshore account? Sorry, immutable - pick a better password next time, dummy. It's not the bank's responsibility to, say, implement modern 2FA.
Hacks and compromises are forcing these systems to improve at a rapid rate, whereas banks have been able to largely avoid such wholesale improvements via legal and political means. If it's in the contract, you're out of luck.
My bank accounts and credit cards have all essentially forced modern 2FA implementation over the past few years (USA). And the handful of times I've had fraudulent activity on my cards, it's been reversed and settled within a matter of days. From my perspective I actually think modern banking (again, USA-specific) has been improving pretty rapidly in terms of customer experience (shout out to Ally Bank).
I've actually had an incident of e-commerce fraud related to my checking account quite a while ago, and Ally Bank conducted a week-long review and determined it was fraudulent, put the money back in my account, and sent me a new debit card. It was pretty painless from what I remember.
The real irony is this protection is a complete fantasy by the crypto community. Business still operates in-the-real and is still subject to legal action. It doesn't matter how irreversible the block chain is if you can be sued.
The only difference at the moment is people are using crypto to skirt long standing consumer protections. Merchants naturally have more power in court than any individual so the power has really shifted away from the consumer.
But again, the legal system is king. It doesn't matter what the computer says.
>But again, the legal system is king. It doesn't matter what the computer says.
There are plenty situation where you dont want or need or can have a legal system to be king. For example:
- Cross jurisdiction business, where there is no easy way to sue.
- Lottery/betting like systems where the systems rules are the rules people agreed on and its intentionally that there are no way to dispute/sue anyone.
- DEX (decentral exchanges) order books are public, participant anonymous or pseudonymous and settlement must be final and indisputable. If that's not the case you may as well use a traditional trading solution with a third party handling the trade. You can sue everyone then but you will have a really hard time proofing if the operator itself cheated. Also you have a middlemen who takes a cut for doing essentially nothing. And on top of that you also have the additional risk of getting sued yourself.
I'm sure there is plenty more.
It dont see why people keep trying to declare crypto systems or the traditional system to be the "winner" there is no winner there is choice and people pick the winner for each use case.
But you miss my point. There is no choice. If you are bound by a legal system, crypto doesn't get you out of that. There are situations, as you say, where crypto might be better than the existing legal void but that is the vast minority.
Ive been trading both on traditional exchanges and on a DEX since a few years. I choose depending on availability of the assets ofc as not all assets can be traded on both systems (yet) but I'm defensively not bound by any legal system when I choose the DEX. Its not just technically impossible to reverse a trade its also legally impossible. I have no clue from whom I bough or to whom I sold something and it may as well have been multiple parties for a single trade. There is no way to sue or get sued or revert anything.
>... but that is the vast minority.
How would you know?
I just made 3 examples above that came to my mind who all bring clear benefits and 2 of them are not even legal voids. Lotteries/betting/trading are very well regulated but why would you choose to use a system thats objectively worse (cost of the third party) if you can have it without.
I gain nothing from the fact that I could theoretically sue some big trading or betting corp. All I want is the system to be fair and cheap. I have no intention to sue anyone if I f**up and the fact that someone could sue me because his loses are my profit is quite frankly very scary. Who would want that.
Or imagine you bet against someone and you win, but then you get nothing because it turns out the other parties played with money they dont actually have.
I surely prefer a system where I get what I won and if the other party didn't have the legal right to lose that money the legal system can deal with the parties who stole it I want nothing to do with that.
Not if it's some decentralized offshore thing. Which legal system are you going to use to sue bitcoin, and where is their office to send the paperwork?
A deeper diagnosis is that any banking system with clawback/immutability is fundamentally going to have to be permissioned and somewhat closed. You have to know who every participant is, and everyone has to be subject to a risk analysis. A fraud risk anywhere in the system is a fraud risk everywhere in the system. This leads to a huge amount of inefficiency and rampant anti-competitive business arrangements. We still pay ~3% fees on credit card payments (in the US) that haven't dropped in decades -- despite the fact that nearly every IT business has seen 99%+ cost decreases since the 1970s.
There's nothing wrong with mutability as an idea. If people want to build closed and mutable systems with a clawback feature, they should be able to. But those closed systems should be built on top of an electronic funds transfer system, they shouldn't be built into it. Then there's a chance you might actually see some competition.
Honestly this current state of affairs seems like a much better alternatives. I'll take any reversibility vs no reversibility. I only wish there was more reversibility. In terms of vulnerability to hacking (which you alluded to in your 2FA discussion), traditional finance is way more robust and loses less money as fraction of total volume.
Clear and transparent reversibility in cases like fraud is something you want your payments infrastructure to implement in a standard and process driven way.
What we have so far, is a lot of non-transparent, ad-hoc and community based reverses (like when a lot of people got hacked on ETH a couple of years ago and memory serves they forced a fork on chain to remidiate).
As DeFi starts to trend in this direction, crypto will become less and less cool, and more and more like a new implementation of an old system, just with intermediaries like Coinbase and Uniswap vs Chase, Goldman and the CFTC or whatever.
You can build reversibility on top of non-reversible platforms. Not the other way around. Look into bitcoin “vaults” for some interesting research in this area.
But I literally don't want non-reversible transactions. I cannot think of a case where non-reversibility is desired. I understand you can build reversibility on top, but why? Better to just have an underlying fully-reversible platform -- something that traditional finance is moving towards.
Edit: looking at vaults looks like it is just a way to secure your cold storage wallet. But I want reversibility in my hot wallets, that's the one that's most likely to be compromised anyways.
> But I literally don't want non-reversible transactions. I cannot think of a case where non-reversibility is desired. I understand you can build reversibility on top, but why?
Others do have use cases for such transactions. And even if you want reversibility, different transactions may call for different policies and implementations for reversibility. If you hard-code one reversibility mechanism in the lowest layer, you prevent alternative policies.
Consider, for instance, a monetary exchange. You pay X in one currency, and get Y in another. If the transaction in X is reversible, someone can pay X, get Y, then get X back. Even if Y is reversible, it's not guaranteed that the two are linked such that either both transactions happen or neither do.
If you build reversibility on top of an underlying system, you can provide many different implementations of it. For instance, you could use an escrow service, which guarantees that they hold two things to be exchanged before passing along either one. Consider a domain name escrow service (confirm exclusive ownership of the domain before releasing payment), or an artistic commission escrow service (provide a watermarked/partial preview, release the full version and the payment at the same time).
Tying this back to the article: it's absolutely a high risk to make large quantities of money subject to a fully automated system with no oversight or controls. On the other hand, fully automated systems enable systems and experiments that wouldn't be possible otherwise. There's value in having both reversible and non-reversible systems, and selecting an appropriate system for the type of transaction and the value and risk involved.
While I agree with that wiki page, we currently have a system that works and is resource efficient. Crypto offers a system that doesn't work and is currently resource inefficient.
Is there some future state with PoS/lightning network/etc that will make crypto more attractive than traditional finance? maybe! But it's hard for me to see bitcoin being that.
More than anything, finance should not be a dark forest.
A versioned filesystem is not reversible (since the pre-reversion version would still exist, only the new version will have the reversion). In that sense it's like normal blockchain where you can append an equal and opposite transaction (so final state looks like a reversion).
This is why I like financial systems with attached legal systems, so you have a human-driven mechanism for disputes as opposed to "code is law, you're out of luck".
https://burgerswap.gitbook.io/burgerswap-en/ - "BurgerSwap is a democratized AMM on Binance Smart Chain with the following main functions: Swap, Liquidity Pool, Governance, ERC20-BEP20 token transfer [cross] Bridge, Burger Shack, Farm, and IFO. BurgerSwap strives to provide the most decentralized and democratic user experience for DeFi believers all around the world. Users can earn rewards by providing liquidity and participating in governance on BurgerSwap. On BurgerSwap, users control the assets and the platform."
And then... https://www.rekt.news/burgerswap-rekt/ - "At around 3 am on May 28th (UTC+8), $7.2M was stolen from #BurgerSwap in just 14 servings. [...] This exploit was made possible by the fact that the attacker could do reentrance and make a second swap before reserves, which are used to calculate the number of tokens in swaps, were updated."
>Writing complex software without bugs is impossible.
I agree it's almost impossible to acheive bug free code (let alone unexploitable code that an adversary can experiment with) but look at crypto. Now go look at any industry where safety is important. Automative. Aviation. Look at the procedures in place for putting software in an ASIL-D application or take a look at the mind-numbing procedures specified in DO-254.
It's not like these guys are actually making any attempt to actually write bug-free applications.
What crypto lacks and has underpinned all large-scale commerce throughout the history of civilization is a robust justice system. Mistakes will always be made and bad actors will always endeavor to exploit them.
To date it's generally fallen to software updates to make things right, which entails a huge amount of friction and risk of hard forks (diluting capital and your users).
I have a hunch the tech will evolve toward a cryptocurrency which integrates an effective, decentralized judicial system of some sort. With a mechanism for dispute arbitration and a culture inclined to correct obvious system errors or severe abuse. Hitting the right balance will be tricky but it could prove more robust over the long term and really supercharge the decentralized economy.
The incentives for finding exploits is free, irreversible, almost-untraceable money. It is hard to beat that and is why these platforms keep being exploited no matter how hard devs try to find bugs.
The flip side of that is, any smart contract that has stood the test of time (say compound, makerdao, etc) should be expected to be rock solid, because the incentives to hack them are very strong.
Eh, I wouldn't be so sure. Just because no one has found it, doesn't mean it's not there. There have been major exploits discovered in widely used applications that had been sitting there for years (Heartbleed comes to mind). While you can certainly be more confident with older smart contracts, that confidence will never reach 100%.
I mean nothing is 100% secure, including our current financial system. There's non-zero chance that the whole system could collapse tomorrow (even worse than in 2008).
Also, big difference wrt to something like heartbleed is that any exploits in these smart contracts will be known immediately when even the tiniest amounts are moved.
These hacks have always happened, the difference is that, in the past, the users data would get sold on the black markets, now instead these hackers can get paid directly by the company more easily.
What you should blame instead is companies that can't do the bare minimum to protect themselves, that pipeline company for example didn't even bother revoking access from an ex-employee, literally bare minimum.
Also, this shows why crypto is the perfect currency for the internet and you'll probably be disappointed if you keep waiting for "the bubble" to pop.
> Writing complex software without bugs is impossible. There are so many unexpected edge cases you will never think of them all no matter how large or small the team is.
Yes and: Whenever you add new features you will create new edge cases for existing code.
So even if you could evaluate all edge cases of existing code you would have to do that on your existing code base for all changes going forward.
Decentralisation, guaranteed immutability, entirely trustless system are the things that made a bitcoin worth tens of thousands with a market cap of hundreds of millions. Otherwise it would be worth nothing, it's just a record in a public database.
There are people (many, smart people) literally paying millions or billions to add a simple record to that database; there's many more- hackers, organised criminals, state agencies, that would love to able to change that record. The amount of pressure that that simple database is able to withstand, and the amount of trust that has been able to gain, are mind blowing. So that's a success, I'd say.
This whole "code is law" thing came out of the following:
Within programming, you have contracts, i.e. function definitions. This is taken by the non-tech people, blew up and got the attention of all people have 1) no idea how code works, 2) have no idea how the law works.
While great for spreading the word, it also spread the WRONG word. This is one of the reasons why "nobody understands blockchain". It's because the communication is plain wrong.
What you wrote is an invention. Code is law came from, let's say, "techno utopians" that really believed you can programatically organize this way. See the concept of DAO for example.
So, code is law came from programmers that thought code is law. It's not a misunderstanding.
The ETH fork was caused about the difference wrt code is law.
This is not about cryptocurrency, but smart contract transparency, which actually has very little to do with cryptography. There are standard interfaces like ERC-20 and ERC-721, and there are marginally-standard contract templates like OpenZeppelin, and there are ways to verify the code generated by a certain compiler, but every implementation of the standard has unique code. This is absolutely silly, and a major oversight by the Foundation. Certik does great work (usually), but they really should not have nearly the level of business they do. A smart contract standard should specify the exact code used for deployment, and only allow variance in deployment data. This should be easily determinable from a wallet or smart contract itself, whether direct or by proxy. And execution behavior should be specified exactly, prior to signature, or rejected with minimal cost, and no benefit to the miner. There is some of this in the intent of EIP 1559, but, to my mind, the burn fee is too high to enable safe rejection of exploitive behavior. Also, nothing has been done about transaction ordering. This would be easy to fix by setting the order by the same random beacon that selects the validator, or perhaps a moderately difficult VDF puzzle starting from the beacon entropy. It seems that 1559 is moving in the direction of institutionalizing MEV and dark pooling. I don't see this as necessary to secure the network - although maybe it helps the price by boosting the validator yield. Okay, I've rambled long enough - could go longer. All this is and was both predictable and preventable.
History repeats itself. In 2000 I saw the same enthusiasm of young people around how much money they are going to make on the Internet.
The parallel that is important to understand is that Pets.com went bankrupt, but the idea that people would buy their groceries (including pet food) on the internet was correct and very common 20 years later. No one should be surprised if Bitcoin may goes down to 5k. But you should be surprised if no-one is using distributed ledgers 20 years from now.
The use case for buying groceries on the internet was clear (getting food without having to go pick it up yourself). It was just a question of things getting big enough for the economics to work.
The use case for distributed ledgers is not at all clear, after over a decade of tinkering.
You could be right, but I wouldn't be surprised either way.
> However, decentralized immutability means that nothing can be done should an unintended action occur with your account.
All that's needed is an elegant identity system that privately ties identity with transactions so that only the stakeholders can share their transactions while the ledger itself is public.
That way "Decentralized Immutability" can co-exist with mutability through law in case something terrible happens. You don't need to change the history, you simply need to make a court order to create an additional transaction that reverts the disaster. Just like how when a hacker gets caught stealing money, they are forced to send the money back (additional transaction) instead of deleting the original stealing transaction from the bank account and rewriting as if nothing happened.
The thing is, pseudo-Turing complete blockchains like Ethereum (and all EVM-like blockchains) are not really fit for this purpose because the entire logic is on chain. UTXO based blockchains like Bitcoin is optimized for this since each transaction can act as evidence trail.
How does a 3rd party (a court) make that transaction happen without either physically compelling the criminal (not necessarily possible in other countries), or having some kind of master key (which breaks decentralization).
With a bank, they have a financial incentive to stay a part of the international banking system at least.
Public and irreversible doesn't have to mean decentralized. The court orders the bank to reverse it on their ledger just like they reverse it today in the accounts - only the ledger requires a public and immutable reversal.
Describing code review as an 'inefficiency' doesn't seem right. Developing code without review is not more efficient than with code review. It may be faster (at first) to skip code review, but the output is going to be lower quality. You're just cutting a corner, and it's going to bite you in the future. Nothing efficient about that.
Well, the price fell drastically and the Bitcoin 2021 conference still happened (the biggest crypto conference ever), El Salvador still decided to recognize Bitcoins as legal tender, Paraguay is on the way to do the same, Miami still wants to become the crypto/bitcoin capital of the world, and senators attended the Bitcoin conference in support of it (I understand there's plenty of opposition as well).
Transaction costs here ( a stable country) costs 10 cents.
Bitcoin is currently at 4,5 $. I wouldn't buy any bread with it.
Online platforms also didn't care about crypto after they implemented it in 2017. History repeats itselves.
And i think the problems of those countries are bigger and won't be solved by Bitcoin. Guess we'll just have to wait and see about adoption, just like in 2017 when it never happened.
I doubt a country like El Salvador can afford 100$ fees for transaction or deal with BTC private key. A lot of people there even have a bank account with fancy mobile UI and phone support for pwd recovery.
The message from the president of El Salvador and the company that he asked to draft the bill specify that there's a huge % of the population that is unbanked, and unable to receive important financial products because they don't qualify due to the current standards in traditional systems.
Bitcoin doesn't cost $100 in fees and is currently changing to a system (proof of stake) that will use an infinitesimal amount of energy compared to before.
Fiat finances all wars. Without money printers, people push back against the true levels of taxation involved in modern Geo-politics.
US peeps like to mock other currencies that fall to inflation, and how the despotic governments were printing their way out of debts, but refuse to acknowledge money printing is used in much the same way here. We only get away with it as we're currently the top dog.
Governmental military industrial complexes spend way more resources than Bitcoin. Bitcoin's energy expenditure is required to keep government's from killing it because of the risk it poses to their fiat based control. Bitcoin's energy expenditure is about reducing democide and drawing down military industrial complexes for a peaceful cooperative future.
So if we all switch to crypto then the incentives to go to war would go away? How does that even supposed to work? We go to war for 1) land 2) resources 3) religion/various -isms. Crypto solves none of these (well, it potentially makes (2) worse).
As I said, it precludes the means of financing wars. If US citizens had to pay for the costs of hegemony directly, people would actually push back. Instead we get ever inflating and impossible to afford housing and a declining standard of living without understanding why.
I don't think there's anything that would preclude the us government from selling bitcoin treasury bonds (accepting bitcoin with the promise to pay more back at a later date, basically). Even if the block chain didn't support it, the contract (bond) can still exist off-chain.
If it took off, and non technical people became more engaged in the space, I really don't see a reason to assume that traditional banks wouldn't accept bitcoin deposits and offer off-chain loans (re-creating the fractional reserve system we have today as well). Unless there was some law preventing it.
I think those two tools together would enable the US government to take on increasing debt loads in bitcoin, and to inflate the currency pool in one of the ways it's able to do with the dollar (the reserve ratio). So I'm sure they'll figure it out.
So far it would seem the US Civil war started on hard money and turned to fiat.
> Demands for money in the Civil War rapidly exceeded the availability of specie (gold and silver) and the capacities of the private banking system. The governments in both the North and the South began to print their own currencies as a temporary wartime expedient. In the Union, competing currencies were eventually curtailed by a 10% tax on privately printed notes. Many of the former note-issuing businesses successfully liquidated or amalgamated and others were converted into “national banks” under the National Banking Act of 1863.
Clearly that's just one case, but it will take me a while to gather further evidence.
Edit:
Seems federal reserve bills were in use through both World Wars while silver certificates dwindled out of existence as they were exchanged for silver.
> Following the financial panic of 1907, the Federal Reserve banking system was established to provide a safety “buffer” between the government and the economy. A new Federal Reserve Bank Note currency was able to be sustained through the Great Depression of the 1930s while most other forms of American currency were abandoned
So from a United States Centric view, fiat took us through some large wars.
I'll check on some other countries, but at this point I think it's fair to ask you to provide some evidence to back your statement.
> In fact, all of the biggest wars were without fiat money
I was more thinking of pre-20 century wars. However, it is true that world wars caused countries to shift away from gold. After wwi many countries did return (british pound, german mark), but after wwii they had a more permanent switch.
I think the HN community is very critical and skeptical in general. They're good at pointing out flaws and criticizing them, but that's the good reason we're all here. If you just want to hear flourishes you should go to crypto reddit or something.
Most skepticism here comes from the point of view that the technology overcomplicates without providing commensurate ROI.
The political part comes from blockchain ignoring basic social constructs and believing that they are ushering in some new glorious future. The constant portrayal of this is what turns off a bunch of people.
But the root of it is that the technology is really only useful for finance. Trust breaks down at the transition point from real world to digital.
Also, the only stuff which has meaningful usage has become centralized, thereby going against the ethos. There are expected social constructs from the greater society that blockchain will have a hard time meeting. Thus while being interesting from an academic standpoint, the vast majority seems like a pyramid scheme
Personally I think blockchain, in its the current state actually does worse to the status quo, and its inevitable. I mean, the ones that control wealth, now have a technology that guarantees their wealth propagates into the future (law cannot confiscate your crypto). Anyway, that is what is already happening in society.
From the point of view of the technology I think the BTC paper is brilliant. Specially the hashcash mechanism invented by Adam Back and what it tries to capture.
The purpose of Bitcoin is to decentralize central banks and to create money that is separated from nation states - money that cannot be controlled by nation states - the freedom money. The only way to do that is to use a blockchain with proof-of-work.
Blockchain went wrong when it started looking at other problems to solve. There are none. There are no monopolies that need to be broken down.
The alternative is the current state of affairs. In Canada this means banks unilaterally decide what is mutable and what is not depending on what suits them.
Merchant accepting payments? 100% mutable, merchant beware.
Someone's bank account was compromised via credential-stuffing and money was wired to an offshore account? Sorry, immutable - pick a better password next time, dummy. It's not the bank's responsibility to, say, implement modern 2FA.
Hacks and compromises are forcing these systems to improve at a rapid rate, whereas banks have been able to largely avoid such wholesale improvements via legal and political means. If it's in the contract, you're out of luck.