1. 41
  1. 11

    I think it’s good that we’re going through this downturn, because it will help to flush out projects that aren’t worthwhile. Although I believe in blockchain, it’s undeniable that there’s a lot of hype and fraud floating around.

    The author is absolutely correct that blockchain doesn’t solve untrustworthy data-entry. At best a blockchain makes it easier to audit those issues when they arise, since the tamper-proof log could include the credentials of whoever signed off on the data. If my “smart mango” tests positive for pesticides, in theory we could follow the logistics chain backwards to find who is accountable.

    Ethereum smart contracts suffer from the same problem – if a smart contract needs any data from the outside world, it has to rely on an “oracle” which is trusted to provide accurate information. Some people are working on decentralized oracles, but as far as I know it’s an open problem.

    A common theme I’m noticing is that most of blockchain’s problems occur on the interface between the chain and the real world. “Three exchanges got hacked” is not an indictment of bitcoin itself, so much as whatever code was powering their webserver. Vulnerabilities in bitcoin proper are few and far between, the most notable being the transaction malleability issue that was fixed by segwit.

    The example of buying an ebook with an escrow smart contract is a bit tortured. Since the ebook is off-chain it’s just as complicated for blockchains to deal with as the mango. If you were trading bitcoin for a different crypto-asset, you could perform a cross-chain atomic swap [definition] [example] and avoid the need for escrow altogether.

    Where blockchain really has a chance to shine is digital asset management. Since they represent ownership of real assets, they have real value. And since tokenized securities exist on-chain, they are compatible with atomic swapping. Today it’s difficult to trade assets without the help of a broker (and paying brokerage fees). Blockchains are open 24/7 and cut out the middleman.

    Blockchain is often compared to the internet, but I think a better comparison is the invention of corporations and tradable paper shares. Lord knows there’s been plenty of corporate fraud, but that doesn’t mean joint-stock ownership is a bad idea.

    1. 7

      Blockchain is definitely over hyped, but calling it “crappy tech with a bad vision for the future” is going a bit too far, in my opinion. In a democracy, the trustworthiness of an election isn’t assured simply because we trust any one party to be unbiased and fair. It’s trustworthy because we have established, non-partisan systems that ensure every stakeholder has an equal say in the outcome. Voting is controlled by all parties with an equal stake, and backed by rule of law. Blockchain is just a generalized form of this on the internet.

      In blockchain, by setting up the incentives in a way where no one group can manipulate the history of the ledger, we can ensure the trustworthiness of the transactions. While blockchain is probably overrated right now, it doesn’t mean that it’s not a novel solution that allows us to create trustworthy systems that mirror those we’ve already built through the use of open societies, democracy, and institutional reputations. Blockchain probably isn’t going to replace all monetary systems or governments, but will be a useful tool in providing a basis of trust for the next iteration of our societies.

      That being said, I think there are definitely issues right now with getting the technology to a place where the average person can truly manage to keep their keys private and understand the smart contracts with out a ton of technical knowledge. If that problem can’t be solved, then it will always be difficult for these technologies to be used effectively by individuals, as opposed to just organizations that have the resources necessary. If it’s use is only at the organization level, then there’s less of a use for it since organizations could just as easily use already established systems of trust like the legal system, instead of the blockchain. So in that regard, the author probably has a point.

      I’m not trying to be a blockchain salesperson, but I think it is a very useful algorithm which has a lot of potential. Bitcoin as a way to pay for goods and services doesn’t always work right now. Just the fact that there was no digital item with true scarcity before it, and now there is shows that it must be somewhat useful.

      Anyway, I didn’t mean to rant or dump write a wall of text here in the comments.

      1. 4

        In blockchain, by setting up the incentives in a way where no one group can manipulate the history of the ledger, we can ensure the trustworthiness of the transactions.

        That distributed, signed logs or hash-chains as they were called before Bitcoin can help as a building block isn’t something I dispute. I mentioned a few here as examples. Blockchains and those building on it took it further into less believable territory. Author calls out some of that.

        “ but will be a useful tool in providing a basis of trust for the next iteration of our societies.”

        This kind of statement ignores the fact that lawmakers, police, and courts can destroy things that challenge or compete with them like they have for many other things. The countries even make international agreements on things like banking or intellectual property when something challenges many of them at once. This doesn’t even include what the schemes’ own dependencies like owning organizations, developers, or miners might do. These blockchain-based systems of trust do not and will not exist in isolation with all the human factors built on top of it. If anything, it’s been happening the other way so far with human factors driving and breaking the idealist models.

        I expect more of the same until we see examples of lawmakers, courts, developers, hackers, malicious investors, etc being powerless to negatively influence blockchain-based solutions. If they keep that power, then we’ll be dealing with them using a lot of the same mechanisms we already do. Might as well keep and fix efficient models in that case.

      2. 7

        Submitted this mainly for the stuff on how most applications aren’t starting from real problem statement, what they claim to do vs what they’re is doing (eg data-entry example), stuff on trust or problem resolution angles being similar to hold systems, and fixes to traditional methods (my solution, too) making more sense. Probably better to read his earlier article he links in the beginning first, too, but it’s not necessary for above points.

        1. 5

          Projects based on the elimination of trust have failed to capture customers’ interest because trust is actually so damn valuable

          I think the key misunderstanding he has about cryptocurrencies, and even many people who know a lot about them, is that behind the “trustless world” veil is a utopian and optimistic view about people. The core central principle of why this stuff actually works is because MOST PEOPLE ARE TRUSTWORTHY. Otherwise you wouldn’t create a system that requires more than 51% of people to do the right thing.

          Cryptocurrency advocates actually deep down believe people can govern themselves. I believe people can govern themselves. I think people are good and trustworthy by default. What cryptocurrencies do is reward the trustworthy, and punish those that are not.

          If this isn’t a “people are great” view of the world, I don’t know what is. In my opinion, those that believe we NEED police and we NEED the government and we NEED the military, those people are the true pessimists and have a vulgar view of humanity.

          1. 11

            Yes, this “people are great” viewpoint is exactly the naivety that fuels many libertarian fantasies. But it is wrong, and it isn’t even self consistent: you can’t simultaneously believe that people are self interested rational economic agents AND essentially good too. Those are different, typically mutually exclusive things.

            Being a self interested rational economic agent means you will skirt tax law to better yourself, pollute the environment instead of paying more for expensive eco-friendly options, ignore homelessness because it isn’t your problem, etc. And most people do those things, so we know that most people CAN’T be trusted to make better choices. People are fundamentally jerks, and need nannying for grownups (I.e. government). It is ignorant to think otherwise.

            1. 4

              Be careful with who you mean when you say “libertarian”. Are you talking about American Libertairian? or the European variety? Judging from your criticism, you clearly mean American Libertarian. Keep in mind the cryptocurrency community isn’t solely composed of American style Libertarians.

              I think your criticism about the rational self interest being a contradiction with “people are great” viewpoint is valid. However, your pessimistic conclusion is wrong about people. Do you believe that people are rational economic agents?

              And most people do those things, so we know that most people CAN’T be trusted to make better choices.

              You are clearly proving my point, which is the true pessimists are people who believe everyone is fundamentally a jerk and therefore we need a state. Just because we have one now doesn’t mean it proves people are jerks. Slave systems lasted for thousands of years, feudalism lasted another thousand. The current system of countries won’t last forever either. Progress is made.

              What I think is true, is that people are good at adapting to any environment they are in, and if they grow up in that environment, they see it as normal. In other words, we are great at normalizing anything. It doesn’t mean people’s nature is the same as that environment.

              This is why I believe the computer is man’s greatest invention. Computers have the potential to amplify and enhance our abilities. Douglas Engelbart envisioned them as extensions of our mind.

              We have these amazing tools to connect and enrich humanity, to let people grow and become super people. That’s why I write software. But yes, the money helps, but please don’t tell anyone I would be doing this for free too, lets keep it our little secret ;-)

              1. 4

                You are clearly proving my point

                Yes, I’m saying pessimism on this subject is the correct position based on the actions of real life people.

                It doesn’t mean people’s nature is the same as that environment.

                If you can somehow change human nature so we naturally take care of each other without coercion, I’m all in. But I don’t see how software development or absence of government will suddenly make people care about, say, the poor.

                1. 4

                  I think you have it exactly backwards. It’s the environment that is creating uncaring people, not the nature. The coercion is what is creating uncaring people. Proof is that other environments have caring people. Our environment promotes certain traits over others. Are people capable of not caring ? of course. Is the the natural state of man? hell no.

                  When the Europeans came to the Americas, they found egalitarian cultures. These cultures were not primitives who were naive about civilization. It turns our the Americas had a gigantic civilization along the Mississippi that rivaled Europe, but disappeared hundreds of years before the Europeans visited. These tribes were refugees of civilization. In other words, they structured their culture to prevent the horrors of civilization from happening again. Unfortunately it made them vulnerable to extermination by the barbarians.

                  1. 5

                    The coercion is what is creating uncaring people. Proof is that other environments have caring people.

                    That’s not proof, there are many other variables involved: like the size of the population, the technology level of the civilization, etc. Sociology rarely has such black and white explanations.

                    A bigger issue, though, is that even if you are right: we have no viable transition plan. If you were to drop government regulation tomorrow, we would have decades before all of these “environment created jerks” die off, and on the odd chance you’re wrong, we are stuck that way indefinitely.

                    At least with regulation we can now provide basic human care to each other: shelter, food, medicine. That’s a much less bad worst case than your way (even if the best case isn’t quite so kumbaya).

                    1. 4

                      We also don’t need to speculate about this given Republicans usually vote anti-regulation. We’ve seen them deregulate quite a few things. One of those resulted in near collapse of our financial system. More recently them working against net neutrality is reinforcing some abusive practices. Similar problems in food, medicine, and legal liability for companies. The amount of evil goes up after the regulations are removed. Those evils are of course the very reason they were there.

                        1. 4

                          Potholes are there because the voters and government are doing nothing. It takes some tiny group operating at a loss to cover the problem others are generating. The problem will continue as this one does in many areas. The solution is so rare it’s newsworthy.

                          If anything, the link proves pessimism is justified despite the occasional efforts by great folks like that.

                          1. 2

                            Really? Just picture yourself saying something similar right before the American civil war

                            ‘If anything , these abolitionists proves pessimism is justified despite the occasional efforts by great folks like that’. Doesn’t that sound funny?

                            1. 4

                              You always have to cherry pick to back your optimistic predictions. Pick something in my lifetime. Nah, I’ll make it easier: just the past 18 years. In that time span, people will have been born, gone through school, and entered college with ambition to change the world. What have they seen that turn major problems on their head across the nation in terms of the big causes? Last I checked, we’ve been losing ground with the protests on quite a few not going so well. The villians even won several times from Patriot Act to Middle Eastern policy to 2008 bailout + immunity to reduced liability for pharma murder to brief wins on net neutrality followed by rollbacks recently. We also got a Middle Eastern-like dictator who beat the fascist both of which mock the important parts of the Constitution.

                              What would you show, not tell, the person wanting to get active that was a revolutionary good happening in their lifetime? Or even major resistance that worked with persistence on the topic over time vs fire-and-forget, temporary victory? I’m not getting much popping in my head.

                              1. 3

                                This one is easy, Rojava is happening now and is the best example I can think of. It is still a fight but they are kicking some major ass. Read their constitution. Watch this Documentary.

                                1. 1

                                  I was talking about the U.S.. It’s cool people are fighting to make things better in other countries, though.

                                  1. 2

                                    Antifa in the US are pretty cool. The white supremacists are saying Antifa are winning .

                      1. 1

                        I’d really like some references about the Mississipi civilization you are talking about.

                        I knew nothing about it!

                          1. 2

                            Here’s you a fun article to start with from an infotainment site. Just Google anything you find questionable. ;)

                            1. 3

                              Just Google anything you find questionable.

                              Doesn’t work: I’ve just searched “Google” on Google… :-D

                              (Funny read, thanks)

                2. 2

                  Nice article. Actually the core argument (you should not trust software that you cannot debug and understand) apply as well to so many systems.

                  To me, for example, it’s the main proof that the AI research lacks barely competent programmers.

                  However I’d like to talk about another point that the author touches:

                  Instead of directing resources to the elimination of trust, we should direct our resources to the creation of trust

                  It’s actually my own conclusion that I reached from another perspective: you fix many internet issues (trolls, spam, physhing, fake accounts…) if you remove the anonymity that protect misbehaviors.

                  I know that this is a counter intuitive solution (if it is a solution) but I see nobody even try to explore a pretty large solution space without much reason.

                  The fact is that you cannot really build trust over the internet if you are not sure who you are trusting.

                  And indeed certification authority are expensive trusted parties that are used to remove anonymity from some nodes, just because the infrastructure does not provide it by itself!

                  What do you think about this?

                  1. 2

                    The core argument: you should not trust software that you cannot debug and understand

                    But the core argument is wrong. This is what formal verification does. For example, even if you don’t understand how register allocator works in CompCert, you should trust that CompCert will never make a register allocation mistake. Verification is not trivial, but it is also not meaningless. You need to check formal specification matches your understanding, there is no shortcut there, but you can definitely trust some software without understanding its implementation details.

                    DAO is a good example. DAO was a prodigal contract in the sense of https://arxiv.org/abs/1802.06038. So if you ran the checker authors proposed, one of two things happen: either you find the contract was prodigal, or you find, without understanding the contract in detail, nevertheless it can never leak the fund to arbitrary users. (This example is somewhat defective because it is kind of obvious that the checker was written precisely so that DAO bug can be found. But the principle works.)

                    1. 3

                      This example is somewhat defective because it is kind of obvious that the checker was written precisely so that DAO bug can be found. But the principle works.

                      The principle works in principle, indeed.

                      I’m all for formal verification of simple programming languages.

                      But you not just need whole-program verification (including libraries and runtimes and their interactions), you need to verify the environment: you must ensure that the environment interacting with the program works as specified.

                      Without that formal verification is very useful to automatically detect some bugs, but to my knowledge no formally verified language claim to produce non trivial bug free programs only.

                      Thus the most reliable way to security is still simplicity and competent reviews.

                      Competent reviews are not enough.
                      Simplicity is not enough.
                      Full test coverage is not enough.
                      Whole-program formal verification is not enough.

                      All these things just help to improve trust we put in the programmers.

                      1. 5

                        but to my knowledge no formally verified language claim to produce non trivial bug free programs only.

                        The honest ones only claim to reduce bugs a lot. The imperfection of human knowledge and tools combined with intrinsic complexity means some can slip in there. The closest things to consistently producing non-trivial programs that are bug-free or nearly bug-free were Cleanroom and SPARK Ada. Those are really good defect rates which don’t even represent height of what can be achieved given people often stick to one tool too much instead of combining them. The SPARK developers just added more support for automatically handling floating point, too. That might make it even better for smart contracts.

                      2. 2

                        Most people can’t do formal verification. Those works take to long to replace a lot of existing contracts. The stuff in contracts might be hard to formalize. They also might formalize the wrong thing that analysis or executions might show. Many reasons to keep the code human-verifiable. In high-assurance systems, all of the assurance activities were required for an EAL6-7 certification for exactly that reason. Think checks and balances.

                      3. 2

                        Anonymity does protect misbehavior. However, misbehavior is usually defined by some authority, and in a global arena like the internet one persons misbehavior is another persons moral obligation. Before you can remove anonymity you would first need to standardize the worlds morality. I have serious doubts that you could do such a thing in any reasonable time frame or at all.

                        1. 1

                          First, thanks for responding.

                          one persons misbehavior is another persons moral obligation

                          Most of times, it’s not a matter of morality, as it is for drug dealers, killers, child porn and so on.

                          But I see the risks for minorities, actually.

                          However I don’t see how we could not have anonymous informations inside an indentificable network as we have identificable information in an anonymous network.

                          Before you can remove anonymity you would first need to standardize the worlds morality.

                          Isn’t this what american capitalism has been trying (with an astonishing success) from 1950?

                          Still technically a global shared morality is not required (just like it’s not required in any state): what you need is just a global government.

                          Which is going to happen shortly (on a geopolitical scale).

                          I could bet a coffee it’s a matter of at most 2 hundreds years (probably just a couple of generations).

                          The point is: how many wars and death will happen before? And could a non anonymous network help to make the transition smoother and wiser?