9 ms·
By this logic so is every financial software system, though.
by TTPrograms 8y ago
By this logic so is every financial software system, though.
- JeremyBanks 8y agoMost are built on reversible foundations. Mind you, Ethereum apparently was too. :P
- TTPrograms 8y agoThe important question is if you think it's possible to create impervious functions of ~100 lines of code. I tend to think that with modern formal verification systems this is a feasible goal. Otherwise you have to stick with closed-source security-through-obscurity and rely on legal reversal. This seems pretty weak to me, though - ex, if a stock exchange was hacked, sure you could reverse it legally, but the market disruption would take years to recover. Regardless of the specific nature of crypto, I think formally verifiable open systems are both achievable and a worthwhile goal.
- mannykannot 8y agoI am not sure what your position here is: that you can do whatever you want, or at least a lot of useful things, in ~100 lines of code? That if your software is broken down into functions no bigger that ~100 lines of code, and they have each been individually verified, then their composition has also been verified? Or something else? There is also the matter of verifying the platform itself.
- CryptoPunk 8y agoRegarding your last point, the platform itself can be fixed if it has any malfunctions. The issue is only with an application built on top of the platform malfunctioning while the platform operates exactly as it's supposed to. In that case there is no redress as the platform is for all intents and purposes immutable when it's working correctly.
- mannykannot 8y agoYou are seriously underestimating what it would take to verify the platform. We are not talking about just a few hundreds of lines of code here.
- CryptoPunk 8y agoWhat I meant is that an error in the platform is not catastrophic, because in those cases, the blockchain can be paused, fixed, and if need be, rolled back. In other words, errors that occur due to malfunctions in the platform are reversible. Errors in applications built on top of it are not.
- xwvvvvwx 8y ago> There is also the matter of verifying the platform itself The Ethereum virtual machine has been formally verified. https://www.ideals.illinois.edu/handle/2142/97207 https://www.ideals.illinois.edu/handle/2142/97207
- mannykannot 8y agoThank you for bringing this to my attention. If I am following along correctly, it does not so much verify the deployed EVM as it provides a formal and executable semantics for an EVM that satisfies the test suite, and the authors demonstrate its use in finding some real-world problems, which is exactly the sort of thing that we want: "These properties make KEVM an ideal formal reference implementation against which other implementations can be evaluated. We proceed to argue for a semantics-first formal verification approach for EVM contracts, and demonstrate its practicality by using KEVM to verify practically important properties over the arithmetic operation of an example smart contract and the correct operation of a token transfer function in a second contract." From the paper, it seems that the latter example could have found a bug that caused problems in a deployed Ethereum contract.
- KirinDave 8y agoBut that's almost definitely true, and every bank in the world loses millions of whatever currency they hold every year to fraud. The primary difference is that banks are encouraged to cooperate to recover these. In the blockchain world, it's incredibly difficult to recover losses and people suggest "no-takesies-backsies" is an ethical method of doing business while wracked by fraud.
- api 8y agoThey aren't immutable. They can be fixed.
- acdha 8y agoDoesn't that require the active cooperation of all parties involved?
- api 8y agoOr the implicit third party of the state, more specifically the legislative and judicial branches. I think the bottom line is that contract law is an AI-hard problem-- meaning it takes a "real intelligence" to negotiate and enforce contracts. Simple logical rule sets implemented in code are too dumb.
- acdha 8y agoAgreed — I find it really odd how many people are willing to assume that another complex field must be easy just because they've never thought about it in depth.
- jacques_chester 8y agoBugs in financial software can typically be unwound by the parties involved, or by courts, or both. This is less true for a scheme designed to be irreversible in itself.
- mikekchar 8y agoTraditional finance isn't any easier to unwind than bitcoin. If I give you $5 I can't magically "erase" that transaction. The $5 bill doesn't materialise back in my pocket. Instead, I get the police to force you to give the money back. As an accountant, if you erase a transaction (even if it was a mistake), you can go to jail. What you do it make a balancing transaction to correct the mistake. Nothing is stopping you from doing the same thing with bitcoin. Making it so you can't erase or hide the previous transaction just enforces rules that already exist -- and it a great feature. The main difference is that it is infeasible to hold large amounts of cash, and so we usually allow a third party to hold on to our money. That third party will usually hand over your money if requested by the government (some overseas banks are notable exceptions!!). With bitcoin I can hold on to it myself and not have to worry about the actions of a third party. Secondly, even if you horde cash, it's hard to secure it. It's basically impossible to make it so that only you can access it. With Bitcoin, it is easy to secure a large amount of value and ensure that only you can access it. Bizarrely, a large number of people totally ignore this advantage... This is the entire point of bitcoin. With the hype, fraud and what not, people often assume that bitcoin must have been developed as a scam. But I really do believe that the purpose was to allow people to have access to money and not have to rely on a third party who probably doesn't have your best interests at heart. It's not really surprising that criminals will be interested in this kind of system. They are the ones with the highest need. The government can't freeze your account. The interesting question is: do we need that kind of security? Do we trust the banks and government to act appropriately with our money?
- drngdds 8y agoHow do you secure large amounts of Bitcoin? Keeping it all in a hardware wallet is a lot like keeping all your money in a safe in your closet, and keeping it on your computer or in an exchange is even worse.
- drngdds 8y agoThe big difference is that you'll probably lose everything you stole and also go to prison if you exploit a bug in a regular financial service. You probably won't be able to make legitimate users of that service lose all their money.