12 ms·
I’ve read several technical, non-fluff books on the topic, and I’ve developed smart contracts on Ethereum for decent hourly wage (paid out in fiat). And I’ve s
by mypastself 5y ago
I’ve read several technical, non-fluff books on the topic, and I’ve developed smart contracts on Ethereum for decent hourly wage (paid out in fiat).
And I’ve still come to roughly the same conclusion as you. Either my reading comprehension is poor, or there is little actual value in the vast majority of blockchain applications. Digital cash, as defined in the Bitcoin whitepaper, still seems like the only real use case.
Other uses are fun for a developer to read and learn about, but that’s just about the only real value you can extract from them.
Well, and making quick developer buck, which is the equivalent of selling shovels to prospectors in a gold rush. The main difference being that it’s merely a jpeg of a shovel.
- pcthrowaway 5y agoIf you've developed smart contracts, I'm surprised you don't consider the capability of trustless financial instruments (peer-to-peer lending and pooled lending, for example) to be pretty useful as well
- lmohseni 5y agoIf you’ve ever written code, and if you’ve ever written a bug, then you will understand that code as law is terrible idea, especially when it comes to finance.
- kingkool68 5y agoExhibit A https://twitter.com/0xfoobar/status/1517680400142716929?s=21&t=TNcpruuS6Q2DXoftSnkb6w https://twitter.com/0xfoobar/status/1517680400142716929?s=21...
- cableshaft 5y agoYikes. Wasn't aware of that one. Thanks for sharing it. I like smart contracts but you really have to be super careful with them, and ideally they should all be audited by a third party before launch, to help catch stuff like this. But even that's not a guarantee crap like this won't happen sometimes.
- arcticbull 5y agoSmart contracts have two modes of operation: 1) Upgradeable - where an authority has the right to replace the live contact at any time and rug-pull everyone. That's not trustless, and it's no better than running an app in AWS. 2) Non-upgradeable - where you simply have a self-funding bug bounty waiting to get popped. Even if they're audited. They're not smart, and they're not interesting, to me anyways.
- pcthrowaway 5y agoRe: Upgradeable contracts, there is often some governance method that removes the power from just one person, but there's usually also a time-delay, so that in theory at least, users of the contract can see that an upgrade has happened and remove their interaction with it if they don't like the new contract. This is quite different from having money in a bank where policy changes and government seizures or freezes may happen without warning.
- OJFord 5y agoA terrible idea, or just terrible in practice, and in particular with the current state of tooling and understanding etc.? For every lawyer relishing a loophole there's surely another wishing for a more codified less ambiguous language than even Legalese English. (I'm no cryptocurrency advocate, hold a small amount, have never written a 'smart contract', I just find it interesting and somewhat compelling. As an idea at least, yes I've written bugs.)
- thowaway_420_69 5y ago^ you will understand that code as law is terrible idea, especially when it comes to finance. Why are we relying on code for controlling Safety-critical system? e.g. Nuclear Reactors, Autopilot of aircrafts, docking of two separate free-flying space vehicles, and weapon of mass destruction launch and control machines. All of them use "code", is finance more critcal than systems which are kill capable.
- orwin 5y agoWell, nuclear reactor use dumb electronics overrides, and each time an operation is done inside, each operation is done with human supervision. Override mechanisms are regularly tested and used. If your override is not dumb/simple enough, and you rely on code, you have the 380 max. What are the override, who are the supervisors for cryptocurrency?
- aidenn0 5y agoIn the cases of those I'm familiar with, most code in the system does not need to be bug-free for safety, and the code that does is kept simple and heavily reviewed at the binary level. For most contacts, it is not financially feasible to use the techniques developed for safety-critical software.
- CJefferson 5y agoAll of that code usually has a human override, and it can be turned off, fixed and upgraded. Also, it isn't (in the main) in the public and under constant probing attack.
- JohnBooty 5y agoWhy are we relying on code for controlling Safety-critical system? e.g. Nuclear Reactors Because humans can't perform calculations quickly enough to compute math millions of times per second? Computers work well when there are a finite set of fixed, quantitative inputs and outputs: if x < 20, do y Many parts of law are a lot more complex and can't be reduced to such formulas. Suppose you're suing an employer for wrongful termination. They say your job performance sucked and that's why you were fired. You say it was a hostile workplace, and when you tried to point that out you were fired in retaliation. Go write some code to evaluate that. Let us know when you're done. Should be pretty exciting. Hopefully we can retain all of the judges and lawyers now that they're not needed any more.
- ZeroGravitas 5y agoI'm not sure this is convincing. If there's some actual benefit, then crappy code that can be iterated is fine. Anything you do today with computer code was likely done worse in the past with worse code. So what is the actual benefit of "peer-to-peer lending and pooled lending" that blockchain technology provides that makes it worth iterating through these early mistakes? I'd guess the answer usually involves dodging regulations in some way. Which isn't blockchain specific, lots of 'innovations' in tech or business are basically workarounds that let you dodge taxes or regulations or exploit externalities.
- antihero 5y agoThe whole point of the legal system is that whilst it's defined as clearly as possible, there is always going to be some flexibility and interpretation, and a human element, so if someone finds a technical loophole but is clearly defrauding everyone they can still be put in jail. Of course, it isn't perfect, but the idea of law being absolute (as in code is law) is absurd as we lack the capability to consider every eventuality when we release code.
- ZeroGravitas 5y agoYeah, but it's the absolutism that's the issue, not the buggy code. When designing automated replacments for any business process you have to deal with the same 'exceptions'. You could just accept "computer says no" as the desired outcome in exchange for the efficiency, and let hackers take your money because "hey, they beat the system! It's theirs now" but that's a choice, not a limitation of the tech itself. Unless the tech's only benefit is that "computer says no" or "hacker took your money" is final, which doesn't actually sound like a benefit.
- zzonk 5y agoThe problem is that if you allow overrides in the computer absolutism, corrupt governments will use these overrides to their benefit. And you’re back to the square one.
- giantg2 5y ago"If you’ve ever written code, and if you’ve ever written a bug, then you will understand that code as law is terrible idea, especially when it comes to finance." If your argument is that there could be bugs in the code, then how is this different from the law today? The legal system is rife with abuses and injustices. It most certainly has bugs as-is.
- pirate787 5y agoIndeed, bugs are a feature
- LightG 5y agoLOL
- mejutoco 5y agoThe difference is the judge that applies the law and looks at the context. Not that it is perfect.
- giantg2 5y agoYou could still have judges looking at the context. The blockchain would only be for the written statutes and code. Judges can also be incompetent. Just look at how magistrates don't even need a law degree nor pass the Bar.
- NovemberWhiskey 5y ago
- kybernetikos 5y ago> code as law is terrible idea I don't know exactly what you mean by 'code as law', and I'm sure there are extremists that think smart contracts make law obsolete, but they are just wrong. Fraud via smart contract is still fraud. Theft via smart contract is still theft. There's nothing about having automatic processing of transactions that means you get to just ignore the legal system in your country. And that's fine, proper and good. Automatic processing of complex transactions is phenomenally useful, even if it doesn't make legal systems obsolete. Simplest example - with smart contracts transacting assets where the canonical record of ownership is on the blockchain, you can have a smart contract act as escrow for you, making sure that the transaction happens atomically without having to pay someone to hold the assets for you and release them once they have both. It is a better, more efficient solution than any that the traditional financial system has been able to come up with. In fact, it is exactly linking the legal world and the blockchain world that means that you can apply some of the same benefits of immediacy and atomicity to more assets in the real world. All that is needed is for the legal system to recognise blockchains as the canonical record of ownership of real assets. The real world legal system makes blockchain technology more useful, not less.
- myownpetard 5y agoWith smart contracts there is only the code. There is no external trusted documentation that says what the intention of the code is. If the contract allows for an action to occur, then that action is permissible. It's the old quote taken to an extreme, "The good news about computers is that they do what you tell them to do. The bad news is that they do what you tell them to do." If there is a 'bug' that allows anybody to empty a smart contract, well it turns out that you were just hosting a complex coding competition with a prize.
- kybernetikos 5y ago> There is no external trusted documentation that says what the intention of the code is. Working out what both parties intended a contract to mean and what it should mean, sometimes in contradiction of what it actually says is exactly what the legal system does. You can't evade the legal system by writing your contract in a different form. Weirdly I think this idea comes from thinking law is code when it isn't.
- deebosong 5y agoI am a laymen who is skeptical of cryptocurrency tech, mostly because of what I'm seeing (hype, greed, fomo, and apparently no real use-cases). If... crypto were to be able to reverse transactions... would that completely undermine the whole point of it and make it look absolutely stupid? Do you think the solution to irreversible transactions would be to then have some kind of algo that would then send back a mistaken transaction after getting checked by some intermediary checkpoint? Would that then make the whole point of cryptocurrency also completely pointless? What on earth are people dumping resources into all this as digital currency or even investment/ speculation vehicles if they don't address the irreversible transaction part, or try to compensate for it somehow? It seems utterly anxiety inducing otherwise, where you'd have to quadruple check, then quadruple check again, and then sleep on it and then quadruple check 4 more times before you do any kind of sizable transaction.
- tromp 5y ago> It seems utterly anxiety inducing otherwise, where you'd have to quadruple check, then quadruple check again, and then sleep on it and then quadruple check 4 more times before you do any kind of sizable transaction. That's mostly due to transactions being non-interactive. If the receiver has to prove their ability to spend the received funds before being allowed to receive them, then most of this anxiety disappears. Certain blockchain designs require transactions to be interactive in this way.
- tsimionescu 5y ago> If the receiver has to prove their ability to spend the received funds before being allowed to receive them If I want to send you some crypto money in exchange for you mowing my lawn, how do you prove that you can spend the received funds? And if I accidentally send it twice, why would I care that you can spend them twice, unless I have some way to compel you to send half back?
- tromp 5y ago> how do you prove that you can spend the received funds? You prove it by producing a partial signature for the transaction (a transaction essentially requires a multisig by both sender and receiver). > And if I accidentally send it twice You couldn't send it twice because the transaction consumes an input utxo. Paying twice would require two different transactions with two different multisignatures.
- moron4hire 5y agoAlso, if you've ever been let off with a warning for some minor infraction, or had a generous client who ignored a late-by-a-few-hours delivery, or...
- lottin 5y agoTrustless financial instruments are not very useful to begin with, because finance requires trust (as does any economic activity). For example, there is no way to actually do financing (that is, trading future consumption for present consumption) without a trusted authority that has the power to re-allocate assets.
- Helitioo 5y agoYour smart contract is only smart inside your Blockchain. As soon as you use it for anything outside of it, you have the same issue. How do I proof to someone else that I did what I should have done to get paid? By trust. Your smart contract can't verify that I did my part of the contract if it is outside of the Blockchain. So what did you win? Nothing. Now you can work up a network of trust but you know this concept is much older than crypto and doesn't need a Blockchain. And certain blockchains are looking for trust worthy entities to decentralize their own blockchains. Now you even splitting up your trust in independent trust areas. Do you know what trust system already exist? Which unites a lot of people? And is based on PoS? Our current fiat and geopolitical system. Is it perfect? No. But we develop this system for a long time now
- unholiness 5y agoThe current state is, roughly: Government-backed contracts are ultimately enforced by litigation, which is judged by a judge, who is appointed and judged by the state government, who are appointed and judged by the governor, who is appointed and judged by democratic elections. A couple factors make the current system powerful: - Each decision-maker is roughly motivated to seek truth and behave honestly by the judgement of the next level up, so i.e. impeachment of judges should be rare - The hierarchical structure makes enforcement exponentially cheaper than every human voting on every contract outcome. Neither government contracts nor smart contracts can offer 100% correct validation of every contract. All they can do is attempt to set up a structure which tries to motivate the right thing and tries to make litigation somewhat cheap. It seems a bit silly, though, to think there's no room for improvement there, both in performance and correctness. 1) By making all decisions public, you can make judging those decisions easier 2) By making all decisions public, you can easily reuse a single judgement in many decisions 3) By using machines instead of humans, there is dramatically more bandwidth for a much broader range of contracts 4) The topology of this network only really lets people vote at a single point – where a governor is elected every n years, which is hardly robust feedback. etc. I mostly agree with your conclusion on most parts of crypto but we shouldn't thing that "government is a solved problem" is a sweeping rebuttal of all smart contracts.
- 5y ago
- LightG 5y agoNice theory you have there. It'd be a shame if real world legal issues got in the way.
- ZeroGravitas 5y agoBut even 'digital cash' doesn't need this, for most definitions and use cases. Even if we're talking about smuggling money out of authoritarian regimes, or buying soft drugs, or hiring hitmen online, I'm not sure it makes any actual sense compared with alternatives. Feels like a way for people who've been convinced that government doesn't work to feel like they're re-inventing government with extra steps, mixed with a cult/mlm/ponzi scheme.
- etherael 5y agoI was convinced government doesn't work and indeed that is the only reason I am interested in blockchain applications. Watching first hand how badly the entire affair has gone has been very useful into getting insight into why government doesn't work, which I still firmly believe. However I am no longer under the illusion doing away with it and replacing it with a blockchain based substitute is either cheap or easy, and if we skipped a hundred years into the future and it turned out that the end result looked almost indistinguishable from what is presently described as government I would not be altogether shocked. I would however consider that amongst the worst possible outcomes. It may well be that there is a necessary deadweight economic loss to pay based on the nature of human social interaction at scale and this loss cannot be avoided entirely, only minimised to a certain extent.
- HWR_14 5y agoSo, at no point did you consider that you were wrong in your base assumption and government does in fact work? Because it looks like you examined anarchistic alternatives to government, found them all worse than government, and then didn't do the (to me) obvious thing if updating your "government can be good" possibility.
- etherael 5y ago> So, at no point did you consider that you were wrong in your base assumption and government does in fact work? Of course, many dozens of thousands of times throughout my life, desperately wished for that to be the case. Unfortunately there is no evidence for this and immense amounts of evidence for the contrary. > Because it looks like you examined anarchistic alternatives to government, found them all worse than government I didn't say I found them worse than government at all, I said the first hand experience was very useful for seeing directly why government is as broken as it is, because all the same "incentive of last resort" mechanisms are typically in play in blockchains. It still turns out to be much better so far if measured by deadweight economic loss for economic coordination between a given transaction volume. This is also why I said I would not be too surprised if it just becomes the next iteration of government. People who think that the government is desirable and its political structures are useful, parliamentary democracy, voting, departments that run projects and are accountable to elected officials, all of that kind of thing. You could clone it with a blockchain much more reliably and with much more auditability than you have with the multi-century old variations thereof running on some variant of "trust me" that we have currently. Thus you could at least say "Yeah sure this is bad, but at least we can prove that everybody is following the rules on all elections, transactions, etc, and we have all the signed blocks to prove that from genesis" rather than the current trust-free alternative of an endless propaganda machine spinning whatever it wants people to believe at any given point in time with zero proof whatsoever.
- baby 5y ago> Digital cash, as defined in the Bitcoin whitepaper, still seems like the only real use case. IMO the big breakthrough of crypto past bitcoin is that we figured out that cryptocurrencies can use money incentives to run other applications than just payments. People are doing all sorts if things, many scams but also many useful applications.
- tngranados 5y agoAny example of those many useful applications?
- deleted 5y ago[deleted]
- drunkpotato 5y agoI don’t believe the OP was asking if people are doing things or if there are useful applications, but rather if there are useful applications that can only be done, or done better, in crypto.
- antihero 5y agoWhen I first heard about Ethereum I figured the value it would bring was incentivising everyone to create a worldwide supercomputer of the sorts we've never even seen before that can do really amazing computational work as opposed to bitcoin which just seems to crunch numbers entirely pointlessly. Any ideas why that never happened?
- danuker 5y agoFor one, the computational work for checking everyone's transactions on everyone's computer (i.e. blockchain) is consuming the computing power of the people interested. Until sharding provides a tunable level of security, we will see this waste of computing power. Then, that might enable more payments for cheaper, which might let you pay by the minute and such. But the second main brake in adoption is legal. Many countries' jurisdictions require lots of bureaucracy to earn money from various places of the world. For example, EU has VAT, which requires bureaucracy for EU country-to-country payments even if you are exempt (Register of Intra-Community Operators). This negates pretty much all the advantage of trustless/decentralized businesses (ease of payments).
- unbalancedparen 5y ago>For one, the computational work for checking everyone's transactions on everyone's computer (i.e. blockchain) is consuming the computing power of the people interested. With ZKP there won't be a need to run every transaction on everyone's computer
- theov 5y agoI think electronic cash such as Bitcoin indeed has value. A decentralized world computer such as Ethereum imo can also have tremendous value, but NFTs are.. pretty dumb. The ecosystem is still in its infancy. Whenever a new technology appears, it takes a while for people to discover good use cases. This process involves a lot of trial and error. I believe most crypto projects out there today will be dead within a few years. Similar to what happened with the internet around the dot-com bubble.
- Freestyler_3 5y agoIf you have digital cash, you might want to spend it somewhere. Services tailored to work with the system from the ground up, then later they can be absorbed into conventional companies.