News for hackers. Stuff that matters.
Re:You Do Not Need Blockchain: Popular Use Cases and Why The... by naasking on Friday February 22, 2019 @02:33PM (#19228359)
> Guys, this works. It's literally how the world works.

There's no question that it works. The question that blockchain-like solutions seek to explore, is whether it works better than a technological solution which can eliminate most of the layers you describe.

The world is deeply complex, more complex than any single human can understand. If operating in the world can be simplified to the point of being understandable by individuals, or if the size of the foundations you have to trust or rely on can be made significantly smaller, that could be worth it.

Re:You Do Not Need Blockchain: Popular Use Cases and Why The... by Barrin92 on Friday February 22, 2019 @03:37PM (#19228893)
But you're not making anything simpler. There is a reason we have lawyers and courts and insurers and whatever middle men are supposed to be cut out, and that is because contracts, and insurance and law are hard, and nobody wants to write 200 smart contracts a day where one mistake empties your wallet in unrecoverable ways.

These institutions exist because division of labour and trusted institutions are a way to handle complexity and to pool risk. If my lawyer screws up or the court screws up there's an institution I can go to. If I make an error in my smart contract because I work eight hours a day and know nothing about contracts then I'm just royally screwed.

You're not making things simpler by eliminating the institutions whose professional job it is to manage risk and trust and handing it back to everyone.

That is why all systems are centralised to some degree, because it's how we manage complexity. That's also why not everyone forks the entire blockchain and piece by piece crypto transactions move onto managed exchanges, and it's why we all work in companies where people have property rights and hierarchies rather than just run around as individuals sub-contracting each other 50 times per day.

Re:You Do Not Need Blockchain: Popular Use Cases and Why The... by kosievdmerwe on Friday February 22, 2019 @04:08PM (#19229126)
Also if you get forced at gun point to sign a smart contract giving your money away (or say a company which takes longer to transfer), what would be your recourse in a trustless world?

There's no recourse for deliberate fraud, sure you could read a contract before signing it and know exactly what it does, but you can hide surprising behaviors in innocent looking code. The Underhanded C Challenge (http://www.underhanded-c.org/) proves this.

Re:You Do Not Need Blockchain: Popular Use Cases and Why The... by naasking on Friday February 22, 2019 @04:29PM (#19229278)
That's why smart contract languages should be simple and analyzable by third-party tools and provide statically verifiable guarantees that are readable by ordinary humans.

That's also why current smart contract languages are largely failures.

Re:You Do Not Need Blockchain: Popular Use Cases and Why The... by pnw_hazor on Friday February 22, 2019 @08:14PM (#19230886)
Complicated deals (hell even simple deals) require complicated concise language. If you use simple language. You will still have to go to court to argue about what 'what' means in the context of your deal.

Legal documents are complicated because we live in a complicated world. And, humans are terrible communicators who have no idea what they want but they somehow "know" what the otherside meant when they agreed to the deal. Even though there are unforeseen circumstances, mistakes, course of conduct that is inconsistent with the contract, and so on.

If it was easy to do, it would be easy to do. Note, legalese is a bad thing, and modern American lawyering is trying to get away from it, but it still doesn't make things simple to understand, just less gobblygook filler language.

Re:You Do Not Need Blockchain: Popular Use Cases and Why The... by naasking on Friday February 22, 2019 @08:28PM (#19230953)
> Complicated deals (hell even simple deals) require complicated concise language. If you use simple language. You will still have to go to court to argue about what 'what' means in the context of your deal.

The lambda calculus, the SK combinator calculus and Turing machines are all very "simple" languages, but suffice to describe any computable function. There is also no ambiguity in their execution. Lack of ambiguity is exactly one of the benefits of smart contracts.

> Legal documents are complicated because we live in a complicated world.

Legal documents are complicated mostly because natural language is ambiguous, thus requiring considerable verbosity. Programming languages, and specifically smart contract languages, can be designed to be unambiguous, and thus avoid one significant complicating factor.

> If it was easy to do, it would be easy to do.

First, no one said it was easy.

Second, computers haven't even been around for a century. The earliest conceptions of smart contracts were in the mid to late 90s IIRC. That's barely 20 years. Are you advancing the argument that if we haven't solved a problem in 20 years which took millennia to solve via social institutions, then it's unsolvable?

Re:You Do Not Need Blockchain: Popular Use Cases and Why The... by pnw_hazor on Friday February 22, 2019 @09:02PM (#19231107)
You are always going to have disagreements about what the words mean in the context of particular a case.

I can see smart contract tools continuing to evolve to help draft or validate contract language. There are some enterprise contract management systems that do some this already. But, if things go sideways, IRL facts have to be interpreted in view of the contract you will still need lawyers and courts.

Also, not sure how equitable grounds for breach could be accounted for. A person can have the law (contract, statutes, etc.) squarely on her side and still lose a case because of equitable reasons that are not anticipated by the contract or statutes at play.

2 + 2 doesn't always equal 4 in a court of law.

And, if such systems become available, it seems unlikely that contracts will more understandable to layman. Instead of trusting their lawyers or legalese, people will have to trust the code/proofs.

edit: typos 2x

Re:You Do Not Need Blockchain: Popular Use Cases and Why The... by warkdarrior on Friday February 22, 2019 @06:13PM (#19230051)
And how do you trust those third-party tools? How do you know they are not colluding with one smart-contract writer to steal your money?
Re:You Do Not Need Blockchain: Popular Use Cases and Why The... by naasking on Friday February 22, 2019 @08:19PM (#19230910)
Three points:

1. Smaller trusted computing base. That's the whole reason I'm suggesting crypo might provide a more reliable foundation than a layered social structure.

2. Open source tools will exist.

3. Verification is more feasible now than ever. The more money that's involved, the more people will want formal guarantees. The Ether "thefts" of the past few years have highlighted exactly the deficiencies that I've been pointing out in these past few comments. Already some new contract languages have been proposed that are formally verified, simpler and provide meaningful static guarantees, with little meaningful loss in expressiveness. This situation will only improve in the coming years.

Re:You Do Not Need Blockchain: Popular Use Cases and Why The... by naasking on Friday February 22, 2019 @03:44PM (#19228939)
You assume too much. Our current systems evolved over millennia. Cryptocurrency is less than 10 years old. Nobody thinks the current state of the tech is what everyone will end up using, where you have to write your own smart contracts using an inscrutable smart contract programming language.

Nevertheless, having an impartial, inherently trusted computing base is a promising foundation. What you then need on top is various forms of static analysis that make smart contracts scrutable by mere humans (and preferably writable by mere humans). That's how you collapse the complexities and largely eliminate the need for centralizing risk and analysis.

Edit: it's like you're expecting people to do word processing using punch cards. That's where cryptocurrency tech is right now, and the more mature programming and UI/UX of today is where we should expect it to be in 10-20 years.