4 ms·
Reading any programming language in general is difficult for majority of the people. That does not mean that computers are useless. There were bugs in the early
by RexetBlell 9y ago
Reading any programming language in general is difficult for majority of the people. That does not mean that computers are useless. There were bugs in the early implementations of web browsers, that does not mean that the Internet is useless. There was a bug in the Mars orbiter software (I think it was in 99) where it crashed due to some miscalculation after spending hundreds of millions on development. Does this mean that using software for space exploration is a bad idea?
I'll give you an example contract that I think could be useful: an escrow service. Let's say you want to pay someone for their work, but only if they do it. You deposit the payment into a contract with 3 keys. The contract can send money only to two places. Either back to you, or to the worker. Each key has a vote where to send the money. Once any 2 of the 3 keys have voted the money is sent. You give 1 key to yourself, 1 key to the worker and 1 key to the third party. If you are satisfied with the work, you and the worker both vote to send the money to the worker and the money gets sent without bothering the 3rd party. The third party only gets involved and decides how to vote ONLY if there is a disagreement, which should be infrequent. In a world without cryptocurrencies it's much harder to implement this. The third party would have to be much more involved. It would hold the funds for a while and then have to transfer the money. You also have to be concerned what if the 3rd party runs away with the money. This contract can be written once, and even formally verified. Anyone can than create an instance of it for their needs and specify the addresses of the 3 key holders. Basically you upload a "class" to the blockchain and anyone can create an instance of that class for themselves.
- lmm 9y ago> Reading any programming language in general is difficult for majority of the people. That does not mean that computers are useless. There were bugs in the early implementations of web browsers, that does not mean that the Internet is useless. There was a bug in the Mars orbiter software (I think it was in 99) where it crashed due to some miscalculation after spending hundreds of millions on development. Does this mean that using software for space exploration is a bad idea? But the whole point of a contract as a program was that it was supposed to be easier to debug, and that wasn't true. Whereas the point of using software for space probe navigation is that it can navigate almost as well as a human while requiring less air. > I'll give you an example contract that I think could be useful: an escrow service. Let's say you want to pay someone for their work, but only if they do it. You deposit the payment into a contract with 3 keys. The contract can send money only to two places. Either back to you, or to the worker. Each key has a vote where to send the money. Once any 2 of the 3 keys have voted the money is sent. You give 1 key to yourself, 1 key to the worker and 1 key to the third party. If you are satisfied with the work, you and the worker both vote to send the money to the worker and the money gets sent without bothering the 3rd party. The third party only gets involved and decides how to vote ONLY if there is a disagreement, which should be infrequent. In a world without cryptocurrencies it's much harder to implement this. The third party would have to be much more involved. It would hold the funds for a while and then have to transfer the money. You also have to be concerned what if the 3rd party runs away with the money. This contract can be written once, and even formally verified. Anyone can than create an instance of it for their needs and specify the addresses of the 3 key holders. Basically you upload a "class" to the blockchain and anyone can create an instance of that class for themselves. Standardised escrow contracts and escrow services already exist, and charge fairly small fees. There are published template contracts and anyone with the legal skills can use such a contract themselves, and anyone without legal skills can pay any reasonably qualified lawyer to use them. Turning this into code that anyone with programming skills can use and anyone without can pay a qualified programmer to use doesn't seem to make much difference. The problem of not having a trustworthy third party sounds difficult but it isn't really, at least in countries with a functioning legal system etc. (The hard part of running an escrow service is determining whether the thing that was supposed to be paid for has actually happened - whether the grain was of acceptable quality, whether the house was as described, etc. - and the blockchain doesn't help with that part at all)
- Shorel 9y ago> But the whole point of a contract as a program was that it was supposed to be easier to debug, and that wasn't true. Whereas the point of using software for space probe navigation is that it can navigate almost as well as a human while requiring less air. No, another point of a contract as a program is that once it is ready, and considered bug free by many, it can be reused potentially unlimited times, with all the productivity increase that it implies. It can free people from having to pay the expensive lawyers.
- lmm 9y agoI'm sure there are standard published escrow contracts where you can write in your own names and details. It seems like it would be much the same process with a published "contract program".
- will_brown 9y ago>In a world without cryptocurrencies it's much harder to implement this. You mean the entire history of the World which includes the creation of contracts thousands of years ago and independent/third parties (courts/legal systems) to determine things like enforceability, legality, breaches and defenses? I'm afraid cryptocurrencies aren't anymore useful or capable of any of those things anymore than say...a tulip. When people refer to "smart contracts" what is actually possible is a specific type of funding contract, in which funds are held in a third party account until the funding amount hits a predetermined level at which point the funds are transferred...no different than kickstarter or gofund me does only cryptocurrencies are not centralized with readily identifiable entities that can be held liable in the instance of a breach. However, everyone is using smart contract as a marketing term to imply something much greater which doesn't exist, basically they are marketing smart contracts as a replacement for lawyers and courts as a sort of ai that can determine if a contract is completed or breached and perfect enforcement accordingly...that is the tulip, and no one is stepping in to correct this misinformation. Even in the crowd funding example, once predetermined levels are reached and finds released, a smart Contract can't enforce anything to ensure the funded party actually performs according to their promises.