GOPHERSPACE.DE - P H O X Y
gophering on hngopher.com
HN Gopher Feed (2017-07-19) - page 1 of 10
 
___________________________________________________________________
153k Ether Stolen in Parity Multi-Sig Attack
256 points by campbelltown
https://etherscan.io/address/0xb3764761e297d6f121e79c32a65829cd1...
___________________________________________________________________
 
icelancer - 1 hours ago
Black hat hackers nabbed $31MM in ETH. Not a bad payday due to a
coding error.https://etherscan.io/address/0xb3764761e297d6f121e79c3
2a6582...
 
  state - 1 hours ago
  This whole crypto currency thing has an incredible bug bounty
  program.
 
niahmiah - 2 hours ago
Let me guess... another hard fork to undo this.
 
  LeoPanthera - 1 hours ago
  The same old tired snark, in every single Ethereum-related story.
 
    dna_polymerase - 1 hours ago
    But it's true. If "code is law" is your key feature you don't
    simply undo a "code is law" decision and gain investors trust.
 
    ythn - 1 hours ago
    You prefer a hard spoon? ...it'll hurt more
 
  lettergram - 1 hours ago
  Hard fork can't even undo this, from my understanding.
 
    urda - 1 hours ago
    > Hard fork can't even undo this, from my understanding.This is
    completely incorrect.A hard fork can undo anything, it's just
    backing up before this happened and continuing down another
    path as if it didn't.
 
    sushid - 1 hours ago
    Why wouldn't hard fork be able to undo this transaction?
 
    olegkikin - 1 hours ago
    I'm pretty sure a hard fork can undo anything on the block
    chain. You can start over from the block before the hack.
    There's probably a cleaner solution than that though.
 
      csomar - 1 hours ago
      The problem is, how do you reassign the funds after the
      hardfork? The funds are attached to addresses and not
      persons.
 
        pyrale - 1 hours ago
        You can revert the funds to the address that paid into the
        contract in the first place, since transactions are public.
 
          csomar - 1 hours ago
          That wouldn't move the money to their rightful owner but
          to the previous owner.
 
          [deleted]
 
          olegkikin - 55 minutes ago
          I don't think that's correct. If you only revert the
          stolen money transactions and all the branches of them
          since, almost nobody loses. The few stolen ETH that got
          sold will be a loss, but it's nothing compared to $35M.
 
        wyldfire - 1 hours ago
        Start at block n-1, disable the buggy contract, leave the
        "stolen" funds where they were.
 
  dvcc - 1 hours ago
  I know this is a joke, but what would prevent the thief from
  attaching high transaction costs to the withdrawal of ETH from
  the target wallets? Say they place 50% of the value into the
  transaction costs - miners would assume a healthy profit off of
  the theft and it wouldn't be beneficial for them to rollback the
  chain.
 
curiousgal - 1 hours ago
Maybe it was a feature not a bug.
 
abhi3 - 2 hours ago
That's like 30 Million USD at current prices? This is close to the
DAO hack in USD value, not another fork now surely?
 
  52-6F-62 - 1 hours ago
  A hard fork couldn't undo the damage if everybody wanted to. The
  exploiter/hacker/scammer, whatever you want to label them, can
  move ETH into other coins on exchanges immediately. This will
  cause an innocent party to buy them, removing any chance of
  reversal affecting the person[s] responsible.During the DAO hack,
  the funds were prevented from moving anywhere so a hard fork
  caused a direct reversal.That's my understanding, anyway.
 
  sinieovercosie - 1 hours ago
  ETH was also worth a lot less at that time. DAO hackers took a
  lot more than 150k ETC.
 
  sna1l - 1 hours ago
  It is all about the relative scale to the current mkt cap
 
tudorw - 19 minutes ago
Entropy, not something you want from a currency, also, paper money
is not magic, it's a network of trust. I think block chain
applications are out there, I just don't think cryptographic
currencies are their best use.
 
codewiz - 1 hours ago
Can someone ELI5?I use Parity, I have a wallet contract deployed,
it's night and I'm wearing sunglasses.
 
  codewiz - 1 hours ago
  Oh shit:
  https://www.reddit.com/r/ethereum/comments/6oalcq/important_...
 
  jerrylives - 1 hours ago
  Apparently it's an issue with the initWallet() function which is
  used to set the owner of the wallet
 
kevinwang - 1 hours ago
Can anyone explain?  Don't know what I'm looking at.
 
  52-6F-62 - 1 hours ago
  There was a faulty contract in Parity's multi-sig wallet, which
  is more like a vault than a typical wallet.The page linked to
  here is the blockchain address of whoever exploited that fault
  and was able to take control of a large number of wallets and
  forward all of the ETH to their account.They've sold ~20 ETH so
  far (~4100 USD), and have ~150,000 sitting at that address still.
 
[deleted]
 
notsofastbuddy - 1 hours ago
Parity shipped with a built-in Solidity contract to implement
multi-sig wallets. That contract had a vulnerability that is now
being exploited.Importantly, the contract is not part of the
Ethereum protocol, so other implementations and non-multi-sig
Parity wallets are safe.
 
dvcc - 1 hours ago
Can someone explain how immutable contracts get updated? From what
I understand you can have one contract forward requests to another,
and you can use some storage in the forwarding contract to
determine the real target contract. But why would someone
participate in a contract that is mutable?I guess I am just
wondering how this contract can be updated, given its on the
blockchain and considered immutable.
 
  pimeys - 53 minutes ago
  There are architectural ways as you said, but basically you don't
  update them. You know the possible bugs, you document the
  contract, methods and your process early on, you write tons of
  tests, use auditing tools, do code review with the team, hire
  somebody to audit your code, test it with bounties, implement
  emergency stops and speed bumps and some proper monitoring.When
  it's about your money, you should be able to do all that.And yes,
  Solidity is pretty horrible. I hope there will be better options
  such as Idris in the future.
 
tbarbugli - 1 hours ago
how much money is that?
 
  vkou - 1 hours ago
  ~30 million USD.
 
  joeblau - 1 hours ago
  If you click though it says:  ETH USD Value:    $31,070,106.18 (@
  $203.05/ETH)
 
abhi3 - 1 hours ago
For some context: http://www.coindesk.com/30-million-ether-
reported-stolen-par...
 
finnh - 1 hours ago
I've posted this before [0], but it's still apropos regarding the
foolishness that is Ethereum.[Ethereum] only makes sense if all of
the following obtain:(a) the code is 100% bug-free (b/c accidents
cannot be rewound)(b) all code-writers are 100% honest (their code
does what they say)(c) all contract participants are 100% perfect
code readers (so as to not enter into fraudulent
contracts)(Strictly speaking, only one of (b) and (c) needs to be
true).None of these conditions will ever obtain.[0]
https://news.ycombinator.com/item?id=14471465
 
  52-6F-62 - 1 hours ago
  This is somehow the top comment, but doesn't deal with the issue
  at hand. In fact it entirely ignores it.The theft wasn't due to
  an issue in the core protocol of Ethereum, it's due to faulty
  code in a single piece of software (as you can see throughout the
  rest of the thread).It's a matter of poor engineering practices,
  not a flaw in the fundamentals of the protocol.If an engineer
  designed a bridge, and it failed due to a flaw in the design --
  say the math on a strut's angle was bad and the bridge collapsed
  causing millions in damages and took a few lives. Do you blame
  steel, all steel, and everybody who uses steel in construction as
  foolhardy?  Or do you blame the engineer, the safety inspectors,
  and the company that oversaw the project?
 
    Pulcinella - 1 hours ago
    Well for one, perhaps systems should not be designed in such a
    way that a single flaw or mistake brings down the entire
    system...
 
      52-6F-62 - 1 hours ago
      Absolutely. A critique one could also point at TCI/IP before
      anyone running servers began to load balance their websites
      and other services.Would you blame the the steel (or the
      concept of bridges in whole) for the Tacoma Narrows bridge
      waving in the wind?
 
        true_religion - 54 minutes ago
        The whole point of TCP/IP was understanding that networks
        are unreliable, and introducing schemes check for the
        receipt of packets, handling lost ones, and changing
        connection parameters dynamically so fewer packets would be
        lost in the future.In essence, TCP/IP is engineers trying
        their utmost to design a system where a single flaw doesn't
        result in the whole data stream being corrupted.Add HTML
        browsers into it, which is extremely tolerant of input
        mistakes and you have a total system that will handle
        random losses pretty well.
 
    AlexandrB - 1 hours ago
    > The theft wasn't due to an issue in the core protocol of
    EthereumTrue enough, but what the parent pointed out is that
    this class of problems is due to a flaw in the core concept of
    Ethereum - which is much worse than just a flaw in the
    protocol.To extend your analogy - Ethereum is like if a company
    advocated for building bridges using a process that made the
    bridge's integrity unverifiable using traditional engineering
    means. Some bridges may hold up, some may fail, with no clear
    way to identify which bridges will do what.
 
      52-6F-62 - 1 hours ago
      I understand your counterpoint, but I don't think it's
      accurate. I mean, if it isn't verifiable, then how would it
      at all be exploitable, and then patchable?Even so, any
      product designed for the network could be tested to death on
      any of the available testnets. It would be foolish not to ram
      any project up against everything in that environment, which
      is why I suggest poor practice as a primary cause.It was an
      oversight, to be sure, and a major one. (that's not nearly
      strong enough language, but I want to be civil)
 
        AlexandrB - 1 hours ago
        > I mean, if it isn't verifiable, then how would it at all
        be exploitable, and then patchable?Let's assume you're
        right and smart contracts are verifiable. Verifiable by
        whom? I can assure you that my non-techie friends could not
        verify a smart contract themselves, so they will have to
        trust some authority that verifies the contract for them.
        The chain of trust now moves entirely into meatspace again
        and will be subject to the same economic and social forces
        as existing financial systems. So what has Ethereum
        accomplished other than adding an automated intermediary to
        transactions?For a real-life example of what this might
        look like consider HTTPS. In theory SSL allows you to
        cryptographically verify the identity of the site you're
        looking at. In practice your ability to do this is still
        bounded by the competence of third parties like browser
        vendors and the integrity of CAs issuing certificates.
 
    Moshe_Silnorin - 1 hours ago
    Solidity is a pretty core part of Ethereum at this moment. It
    is demonstrably utter garbage, as this bug illustrates.
 
    finnh - 1 hours ago
    Well, the original comment that I excerpted from was discussing
    the flaw in the very idea of smart contracts superseding human-
    readable agreements (ie, "the code is the law, and anything we
    say about the code is just so much noise").So, yes, in
    reposting I generalized from "smart contracts are a bad idea"
    to "Ethereum is a bad idea".  Considering how essential the
    smart contract is to essence of Ethereum, I feel comfortable
    making that generalization.Side note: "the essence of ethereum"
    would make a great subtitle for Drakkar Noir.
 
  twblalock - 1 hours ago
  I would add one more point: even if both participants in a
  contract fully understand and agree to the contract, the contract
  could still be thrown out under contract law for many reasons --
  unconscionability, agreement to commit a crime, etc.If Ethereum
  becomes popular enough, one day the participants in an Ethereum
  contract are going to sue each other, and the judge is not going
  to be impressed by arguments that the contract is intended to be
  immutable. You can't opt out of contract law just by saying that
  you opt out of contract law.
 
    omarchowdhury - 1 hours ago
    If we enter a contract that we all know is intended to be
    immutable, why would a judge not enforce that? I can understand
    buried and obfuscated immutability clauses, but if the parties
    know exactly what they're getting into, the parameters of
    justice are contained.
 
      fusiongyro - 1 hours ago
      > why would a judge not enforce that?Because the purpose of a
      judge is to interpret the law, not enforce Ethereum software
      invariants.
 
      fatbird - 1 hours ago
      the parameters of justice are containedIt just doesn't work
      like this.
 
        SittingTemplar - 24 minutes ago
        Thank you for this.
 
      twblalock - 1 hours ago
      Judges throw out contracts that both parties agreed to on a
      regular basis, even if both parties knew exactly what they
      were getting in to.Agreement is not the only prerequisite for
      a legally enforceable contract. The contract also needs to
      avoid certain unenforceable things like unconscionable
      clauses, or agreements to do things that are illegal.
 
    calafrax - 36 minutes ago
    Right. Ethereum is just a medium for recording a contractual
    agreement. Using ethereum should not make contracts any more
    enforceable in the eyes of the law.In many cases I would assume
    the opposite will occur: plaintiffs will claim that there was
    no contract formation because because the technical mumbo-jumbo
    of computer code is incomprehensible to a layman.I suspect that
    courts will react quite favorably to this argument seeing as
    how they have a natural interest in maintaining their
    jurisdiction.
 
      twblalock - 4 minutes ago
      I'm just amazed that people want to cut the courts out of
      jurisdiction over contracts. The courts are a legal recourse
      if you get screwed.Why give up those rights and let a
      computer program (or rather, it's creators) dictate that
      you're screwed if you make a mistake? I mean, contract law
      exists because that kind of strict arrangement proved
      unsatisfactory in real life in the past.
 
  grandalf - 1 hours ago
  Not really true.  Nothing has to be perfect if there is insurance
  infrastructure. People should not use contracts they have no
  reason to trust.As a contract becomes more important it should be
  viewed/vetted/trusted by as many entities as possible.  Users of
  the contract should pay an insurance fee that goes to the
  vetters, who promise to reimburse in case of unpredictable
  behavior.Yes, this means applying some meatspace solutions to
  Ether.  However the smart contract infrastructure itself is ideal
  for implementing this.  Ethereum offers immutability, and
  blockchains can foster new kinds of trust, but trust still has to
  grow organically in the ecosystem.
 
    vesinisa - 1 hours ago
    Seems like a chicken and egg problem. The crypto currency space
    is currently so fraught with fraud and crime that I assume no
    sensible insurer would touch it with a long stick. Insurers
    need  a boatload of seed capital and - if they would be to act
    as expert intermediaries as you suggest - must invest lots and
    lots of R&D to due diligence. But as long as ETH mostly remains
    a get rich quick scheme for computer criminals, any such
    insurer party would only stand to loose all seed capital they
    invested.
 
      grandalf - 55 minutes ago
      Hah I am not sure if you are joking.> The crypto currency
      space is currently so fraught with fraud and crimeThe lack of
      KYC requirements has led to some criminals using
      cryptocurrencies, but BTC is fully public and so money
      laundering, counterfeiting, and tax evasion both go away when
      we move to a public blockchain.Those three crimes are all so
      much bigger and more costly to society than the petty crime
      that has fled KYC to use the blockchain that I think the
      truth is the opposite of your insinuation.
 
    abalone - 1 hours ago
    > Users of the contract should pay an insurance feeWhich would
    make such contracts significantly more expensive than regular
    contracts that are reversible by trusted intermediaries and
    legal authorities.Paying out insurance claims is much more
    expensive than simply reversing a transaction. This is part of
    the reason Bitcoin never took off as an alternative to credit
    cards. Consumer protections are much more expensive to wrap
    around immutable transactions.
 
      grandalf - 48 minutes ago
      > Which would make such contracts significantly more
      expensive than regular contracts that are reversible by
      trusted intermediaries and legal authorities.You assert this
      but don't offer proof.  The cost of fraud is baked into all
      areas of our economic system to the point where it's very
      difficult to establish how much it is costing society.
      Arguably the massive innovations in counterfeiting prevention
      in the past decades indicate that counterfeiting is a major
      problem.  Money laundering and tax evasion are the other big
      crimes that impose significant social cost which public
      blockchain systems solve beautifully.The larger a percentage
      of the economy that is transacted via a public blockchain,
      the less opportunity for all sorts of crime.  The existence
      of the "trusted intermediaries and legal authorities" as well
      as the elaborate enforcement mechanisms that accompany them,
      are themselves a cost.> This is part of the reason Bitcoin
      never took off as an alternative to credit cardsThis does not
      make sense as Bitcoin is not a mechanism for extending
      consumer credit.> Consumer protections are much more
      expensive to wrap around immutable transactionsProtections
      against what?  Confusing interest rate terms or cards sold to
      college students?  Bankruptcy or minimum payment rules?  All
      these sorts of things would apply equally to a credit card
      denominated in BTC so I'm not sure what you mean.
 
        frankydp - 14 minutes ago
        Parent is referring to the transaction mechanism of the CC
        providers, not consumer credit.Fraud is a function of
        humans not the currency.  The reason large systems to
        protect from fraud are baked in, is because there are a lot
        of humans that commit fraud.  The blockchain would only
        provide a well documented account of the fraud, with no
        tooling to remove the assets from the fraudster.
        Chargebacks are a blessing when you need them and a curse
        when you receive them, but something that the economy has
        deemed a necessary evil mostly because there are a lot of
        fraudsters in the world.
 
          grandalf - 4 minutes ago
          > Chargebacks are a blessing when you need them and a
          curse when you receive them, but something that the
          economy has deemed a necessary evil mostly because there
          are a lot of fraudsters in the worldThis is an excellent
          point, and I think it's an example of how an
          institutional mechanism evolved to help address
          fraud.There's absolutely no reason to think chargebacks
          would not come to exist if commerce were dominated by ETH
          or BTC transactions.The difference is that the
          infrastructure to do chargebacks, merchant account
          underwriting, etc., can be built very easily with
          relatively few lines of code.
 
    anigbrowl - 1 hours ago
    What if the insurance doesn't pay out because it too is a
    flawed contract?
 
      grandalf - 1 hours ago
      Various insurance contracts could be applied redundantly
      and/or recursively, and of course over time the real-world
      characteristics ought to become known and the price of
      insurance for well understood contracts should approach free.
 
    twblalock - 1 hours ago
    > Ethereum offers immutability, and blockchains can foster new
    kinds of trust, but trust still has to grow organically in the
    ecosystem.If you need a source of trust outside of the
    blockchain, why would you need the blockchain after such trust
    has been obtained?
 
      thiagocsf - 1 hours ago
      Automation? Guaranteed immutability?
 
      grandalf - 1 hours ago
      > outside of the blockchainThe blockchain offers
      characteristics (immutability, consensus, distributed backup)
      that allows entities to trust each other efficiently.But when
      you introduce a non-trivial smart contract, there is a chance
      that it (a black box) has behavior that is not obvious from
      its source code.Since the behavior of the contract will cause
      immutable changes to the blockchain, and since humans can't
      perfectly mentally model all conceivable source code
      behaviors and interactions, there must be some other
      mechanism for establishing that the behavior of the contract
      matches the common understanding of what the contract
      does.This could be sandbox testing, parameter range
      verification, formal verification, star ratings, etc.  As the
      would-be user of a contract I generally want some reason to
      trust it.Ethereum offers the building blocks to create an
      elaborate vetting, verification, simulation, etc. system.
      Thusfar, existing institutions have leveraged their own
      reputations to make users of Ethereum comfortable trusting
      their contracts. The DAO is an example of the folly of this,
      but many other contracts are examples of the reasonableness
      of it.Over time, Ethereum will build the right meta building
      blocks to create very rich trust mechanisms which put the
      meatspace hedging/insurance industry to shame while also
      shedding much of the inefficiency that ambiguous legal
      enforcement creates.
 
      splintercell - 1 hours ago
      It's about the structuring of the trust. I trust that someone
      from the hospital will triage me when I get to the emergency
      room, but that kind of trust is very different than if there
      is an online service which does remote triaging when I am on
      my way to the hospital.When the proponents of this service
      are claiming that you don't have to trust the hospital that
      they would get someone to triage you, instead you can have
      your own assigned triage Nurse, you're claiming "But you
      still have to trust that this third party agency will have
      someone on the remote location to triage you, then what's the
      point of using this service?"
 
      baddox - 1 hours ago
      I'm not sure if I understand your question. It's still nice
      to be able to choose who the trusted party is.
 
    AlexandrB - 1 hours ago
    > Not really true. Nothing has to be perfect if there is
    insurance infrastructure.Why not just use a traditional
    financial institution then? What's the benefit of the
    complexity of a blockchain if it's still unreliable without the
    added meatspace complexity of a bank?
 
      grandalf - 1 hours ago
      > Why not just use a traditional financial institution
      then?Insurance via smart contracts is still far simpler and
      more efficient to implement than in meatspace.Consider things
      like insurer solvency risk and the way that meatspace
      regulations make that hard to understand.  With
      cryptocurrencies an insurer can easily offer proof of
      solvency based on all outstanding risks.Insurance emerges as
      a fundamental economic behavior when you have investment and
      you have an uncertain future.  There is benefit to risk
      pooling.  Since most of us live in the first world where the
      traditional financial system has evolved ample insurance
      infrastructure, we don't always realize how remarkable it is,
      or how vulnerable we are to bad regulation of it.
 
    finnh - 1 hours ago
    Awesome idea, until an evil-or-just-buggy insurance contract
    robs its counterparties blind.We're basically in no true
    Scotsman territory here.
 
      grandalf - 58 minutes ago
      There is money to be made providing vetting services as well
      as insurance services.  You could argue that all parties
      offering either of those services are 100% going to be
      fraudulent, but this only makes sense if you assume that
      there is more money to be made acting badly than by
      developing a legitimate reputation for being honest.In a
      group of actors, trust is a good thing. It benefits everyone,
      and everyone has an incentive to foster its development.In
      meatspace systems we rely on things like identity
      verification (id cards, green bar certs, fingerprints,
      retinal scans, etc.),  reputation by affiliation (resumes,
      schools attended, firms worked for) and and testimonials from
      others we trust.The key aspect of the above is that we don't
      have to trust any of those signals perfectly in order for it
      to be of some benefit.  If I find out someone went to
      Harvard, is followed on Twitter by Marc Andreessen, has had
      five commits accepted by Linus, has a credit score of 675,
      uses Android, has bad breath, etc., I will take each of those
      signals as some indication of her credibility on various
      issues and formulate my meta-opinion about how/whether to
      trust her based on some heuristic.When I order from a seller
      on Amazon with very few stars I take a similar risk, yet once
      in a while I do so.  Some fraud is taking place on Amazon but
      on balance the system gets more trustworthy every day.
 
    sbierwagen - 1 hours ago
    Damn, you're right. And if people use smart contracts to do
    things that are technically allowed, but have unexpected
    downsides, we should have a review system in place where
    impartial third parties review the contract language. Two
    people should be assigned to speak for and against the
    unexpected behavior, and then maybe a panel of 12 regular
    citizens could render the actual verdict.
 
      bitJericho - 1 hours ago
      I see what you did there!
 
      Pulcinella - 1 hours ago
      This is the central, glaring flaw in cryptocurrencies to me.
      Transferring "value" for goods and services is really more of
      a social problem than a scientific/engineering one.Money is a
      social technology that solves a social problem.
      Cryptocurrency is a engineering technology in search of a
      problem to solve.
 
        grandalf - 1 hours ago
        > Transferring "value" for goods and services is really
        more of a social problem than a scientific/engineering
        oneDo you mean on the margin where there is debate about
        the contract or whether the goods/services were rendered
        adequately?Cryptocurrencies don't attempt to solve this
        problem at all, they simply allow for efficient moving of
        currency between parties without the need for meatspace
        regulation/trust to do it.Smart contracts make sense with a
        blockchain because now humans can agree on specific
        contract behavior that is fixed due to the highly
        prescribed way a VM will process it.  This doesn't mean
        that humans will or should blindly trust a smart contract
        to do what some third party claims it will do.But unlike
        meatspace, there is one VM that matters, contracts and
        oracles can earn a reputation as being trustworthy, and
        established patterns can be executed with incredible
        efficiency and fairness.The issue that presents a challenge
        for all systems (cryptocurrencies and meatspace
        institutions) is bootstrapping.  Some people will get
        burned in the beginning because fraud will be temporarily
        easier to commit.  This is why I wish the DAO had just been
        allowed to die without the hard fork.  What is needed is
        not innovative crowd funding schemes, but additional trust
        and vetting infrastructure.
 
          zdkl - 12 minutes ago
          Shame on whoever considers himself familiar with
          cryptocurrencies that downvoted this. This is a well
          worded argument for an opinion that one may or may not
          share, but whatever one's position about the "true
          believers" of smart contracts the parents points are
          valid, on topic and sensible.Btc isn't here to pay your
          coffee or your salary, it's here as a fallback if you
          really need to get out of traditional finance. Same with
          ETH. You're not supposed to switch all your banking,
          notarial or legal affairs to the platform but it's there
          for cases where traditional contract law isn't
          desirable.Now why so many people ascribed additional
          meaning or value to these platforms is the really
          interesting part. In a way, it's good these hacks happen
          as a reminder that this is what you signed up for. It's
          the wild west and you don't have a court or government
          watching your back. That's a (the) feature.
 
      grandalf - 1 hours ago
      > do things that are technically allowed, but have unexpected
      downsidesUnexpected downsides for whom?  Smart contracts
      cease to be smart if we have to rely not on the VM but on a
      small group of human overlords.If a smart contract exists and
      you don't know clearly how many times it has been used and
      what percentage of the parties who used it are pleased with
      its functioning, you really should not use it unless you feel
      comfortable personally reviewing the code.
 
        pdkl95 - 52 minutes ago
        > personally reviewing the code.With the insane decision to
        use a Turing-complete language, the contract's behavior
        undecidable. You don't even know if the contract will
        halt.Limited "gas" (execution time) isn't the solution,
        because the lesson of the Halting Problem isn't that a
        program might not terminate. Even if the program halts
        within a finite time (or "gas"), the behavior of the
        program on the current input is still undecidable.Any
        serious attempt at writing "smart contracts" should
        demonstrate their understanding of the science of
        insecurity[1] and limit the contract language's complexity
        to deterministic context-free.[1]
        https://media.ccc.de/v/28c3-4763-en-
        the_science_of_insecurit...
 
          dragonwriter - 45 minutes ago
          > With the insane decision to use a Turing-complete
          language, the contract's behavior undecidable.OTOH, if
          the language isn't Turing-complete, there will almost
          certainly be things you'll want a contract to do that it
          can't. You can have generality or decidability, but not
          both.
 
          grandalf - 28 minutes ago
          Right.  It will take time, but eventually Solidity (or
          some other alternative smart contracts approach) will
          likely be very trustworthy and secure.
 
      inopinatus - 1 hours ago
      I have heard of a similar system in which two opposing teams
      are formed and argue over technicalities of the language used
      in front of a lifetime appointee with no particular
      experience of the topic who will decide the outcome.
 
        [deleted]
 
    RcouF1uZ4gsC - 1 hours ago
    What is "unpredictable behavior"? Per ethereum, the code is the
    specified behavior. Would a contract with function
    "GiveMeAllYourMoney" be unpredictable behavior if it did what
    it said. What if instead it was named "Execute"? So now we have
    a contract whose "unpredictable behavior" depends on how you
    name functions and variables. However, that is something that
    cannot be checked by a computer, but would have to be human
    checked. "Unpredictable behavior" likely would ultimately have
    to be adjudicated by a court. In that case, what has the smart
    contract bought you?
 
      grandalf - 1 hours ago
      I use the term unpredictable behavior simply to describe a
      case where the contract has behavior that was not fully
      anticipated by at leat one user of the contract.Of course,
      the code is deterministic and so the behavior was
      unambiguously defined in the contract's source code.But there
      exist all sorts of semantic bugs, which can at times be
      pretty subtle, which means that even for an expert, the
      mental model of code execution may not match reality.If there
      were nondeterministic behavior in the Ethereum VM that would
      necessitate a fix to the VM and would likely be completely
      uncontroversial.
 
  Kenji - 1 hours ago
  Let perfect not be the enemy of good. If you demanded that our
  currencies like dollars live up to your criteria, we would still
  be trading goods without currency.
 
    davidy123 - 1 hours ago
    "We" possibly never did trade goods instead of using currency.
    https://www.theatlantic.com/business/archive/2016/02/barter-...
 
    anigbrowl - 1 hours ago
    The dollar depends on the willingness of the US government to
    keep servicing its debts, which would have real-world
    implications if it stopped. Indeed, political disagreements
    over this have already resulted in interruptions to governance
    and the availability of services, which is arguably equivalent
    to food shortages under communism.
 
    twblalock - 1 hours ago
    Dollars don't purport to have a blockchain or immutable
    transactions. Ethereum does. Ethereum needs to live up to the
    standards it has set for itself.
 
      Kenji - 1 hours ago
      Oh, yeah, I forgot. Dollars are much better; a central bank
      (actually, any bank) can create arbitrarily many of them and
      flood the other banks and the market with cheap money,
      causing things like the subprime crisis. Much better than
      crypto currencies.
 
      avaer - 1 hours ago
      That ship sailed a while ago. Ethereum has already used its
      market position to de facto interfere with the transactions
      they declare immutable on the project home page. [1][1]
      https://blog.ethereum.org/2016/06/17/critical-update-re-
      dao-...
 
  flamedoge - 44 minutes ago
  not even banks can give you guarantee of safely holding money
  with impeccable degree of certainty. Uncertainty cannot be
  avoided.
 
    finnh - 39 minutes ago
    Slow down!  Let's just aim for reducing uncertainty.Let's say
    we have an uncertainty scale scored 1-100.  If 100 is "money in
    a bank" and 1 is "money that's already been set aflame, but
    there's a cup of water nearby", I'd put Ethereum in the low
    single digits =)
 
  RexetBlell - 1 hours ago
  Can't you say the same thing about software that uses encryption
  in general? For example your browser, yet you still trust it.
  Also, what you said applies to critical software in airplanes,
  and cars like Tesla, yet you still somehow trust it without
  reading the code.Maybe you should replace the word "Ethereum"
  with "sotware". "Software in general makes sense is all the
  following are true"
 
    ssambros - 1 hours ago
    We already have "software", but please remind us why do we need
    "Ethereum" specifically?
 
    finnh - 54 minutes ago
    You're right that software can & will have bugs... but I think
    that makes my point?To clarify, my point isn't "software has
    bugs! don't trust it for anything".  My point is "software has
    bugs!  don't make it the forum of last resort for contractual
    disputes".
 
    AlexandrB - 1 hours ago
    > Can't you say the same thing about software that uses
    encryption in general? For example your browser, yet you still
    trust it.Software in general doesn't exist in a vacuum - it's
    backed by all the centuries-old meatspace institutions like
    common law, courts, and lawyers that provide a recourse when
    something goes wrong. As I understand Ethereum's whole purpose
    is to replace a lot of these institutions with "smart
    contracts" (correct me if I'm wrong). If Ethereum has to rely
    on the same institutions as every other piece of software to
    deal with contract disputes isn't it just adding more
    complexity to transactions?
 
      eek05 - 50 minutes ago
      Not necessarily.  Without judging the suitability of Ethereum
      for this, if you have something that does automated contracts
      at e.g. 9 nines reliability (fails one time in a billion), it
      may be very much worthwhile even if you have to fall back to
      the court system for the one in a billion occurrence.Now, I'm
      skeptical of Ethereum's suitability in this space - the
      design doesn't seem to be geared enough towards correctness.
      However, they've also done some things that I really like
      (e.g. rolling back The DAO), so I'm not counting them out
      just yet.
 
        empath75 - 16 minutes ago
        Rolling back the dao set a terrible precedent, and people
        that were ripped off in the latest hack should rightfully
        be asking for another fork. If there isn't one, then it'll
        be apparent that the developers will only protect their own
        interests.
 
jondubois - 56 minutes ago
The problem with Ethereum is that it's just way too complex. The
more complex something is, the more bugs and vulnerabilities there
are going to be.
 
WhatsName - 1 hours ago
https://cryptowat.ch/kraken/ethusd
 
  jimrandomh - 1 hours ago
  That ticker shows the current price as higher than it was 48
  hours ago.
 
draw_down - 1 hours ago
It's "cynical" to point out these problems will keep happening, but
then they keep happening. So, not much to say.
 
doener - 1 hours ago
"my favorite part of this latest ICO hack is that it appears to
have gone to same wallet as the dao hack ....."https://mobile.twitt
er.com/IamNomad/status/88777698177709261..."incredible plot twist:
whitehat hacker supposedly saved most tokens from being stolen
using the same vuln."https://mobile.twitter.com/bcrypt/status/88777
5417406431232?..."Multisig wallets affected by this hack:  -
Edgeless Casino (@edgelessproject) - Swarm City (@swarmcitydapp) -
?ternity blockchain (@aetrnty)"https://mobile.twitter.com/maraoz/st
atus/887755889897295872?...
 
  sillysaurus3 - 1 hours ago
  my favorite part of this latest ICO hack is that it appears to
  have gone to same wallet as the dao hack .....Any proof of
  this?EDIT: This appears to be false. From
  https://blog.ethereum.org/2016/06/17/critical-update-re-
  dao-...The leaked ether is in a child DAO at
  https://etherchain.org/account/0x304a554a310c7e546dfe434669c...
  But that site shows the account hasn't received anything since
  July 8.
 
    sharkmerry - 53 minutes ago
    Whitehat address is listed in the known attackers here
    https://gist.github.com/ckeenan/fa1a77823dba5b193c7cfeaa00ac...
 
    sna1l - 1 hours ago
    Yeah, the tweet and subsequent replies are absolute garbage.
 
rocky1138 - 1 hours ago
How do we know this is stolen? The link doesn't provide much
detail.
 
  sna1l - 1 hours ago
  Seems unlikely that 3 different multi-sig wallets sent so much
  ETH to the same wallet.
 
codewiz - 1 hours ago
The bug in the wallet contract was fixed one hour ago with this
commit: https://github.com/paritytech/parity/pull/6102/files/e06a1e
8...Parity bug: https://github.com/paritytech/parity/pull/6102
 
samstave - 1 hours ago
Forgive me for being harsh:Why is there no "pen-test" phase to any
crytocurrency which hits the market.So, let me understand; you're
ostensibly smart enough to (perhaps as a body of contributors,
even) develop a cryptocurrency offering - yet youre also fucking
stupid enough to not have same/wider network of ppl attempt to hack
the fuck out of your plan?Does this already occur? or some savant
comes and owns them?We have fucking HIPPA FFS and the compliance
systems for something as trivial as my stupid name.so; ELI5: WTF
are currencies doing/not-doing which allow for such hacks (1) and
allow for exploits to go unseen (2)
 
  52-6F-62 - 1 hours ago
  It has nothing to do with any currency or protocol. It was a
  broken feature in a piece of software used on the network that
  was bad. Unfortunately, it was widely used and somebody caught
  the fault and exploited it.It's more like a company's open source
  software allowing somebody to steal your bank password. It
  doesn't have anything to do with USD or the Fed, or even the
  bank's larger practices. It has to do with how negligent they
  were with regard to a particular feature.
 
    dahdum - 16 minutes ago
    This...it was a poorly written contract just like the DAO was.
    Parity developers didn't follow the most basic contract safety
    steps, and people used it because they trusted them too
    much.Each of these situations is a painful learning experience,
    but moves the platform forward.
 
    vkou - 1 hours ago
    Of course, there is a very large financial system designed to
    deal with the fallout of a bank password being stolen. There is
    no such system with crypto-currencies.
 
  trakout - 1 hours ago
  Cryptocurrencies do go through pen tests. I think instances like
  these are a good analogy to how even multiple tests run by 3rd
  parties will only get you so far -- particularly when the
  "bounty" is potentially worth millions.
 
  sp332 - 1 hours ago
  *HIPAA.I remember it as "hippo", or "H-I-P-P-Oh darn, I spelled
  it wrong again!"
 
    samstave - 22 minutes ago
    I know - call me dislexic...
 
matt_wulfeck - 1 hours ago
I'm sure they'll just hard fork again. And nobody cares because
ethereum isn't actually being used for anything real, just a bunch
of enthusiasts trying to get rich.
 
  eco - 55 minutes ago
  There will be no hard fork for this one. The DAO hard fork fix
  was only possible because the funds were tied up in a time lock
  for enough time that they could plan a hard fork.Vitalik on why
  there will be no hard fork for this:
  https://twitter.com/VitalikButerin/status/887783867129745412 (not
  to suggest that Vitalik can just decree there won't be one like
  some people think, he's just listing the reasons why the
  community is very unlikely to support a hard fork).
 
  codewiz - 1 hours ago
  How is rolling back transactions that are clearly part of a
  robbery a bad thing?
 
    urda - 1 hours ago
    ... because it breaks the basic fundamentals of a block chain.
    A block chain is supposed to fight against roll backs not
    support them.Sure, the core team / devs are using the rollback
    for good. But will that always be the same in the future? It's
    an avenue for abuse and one of the primary reasons ether isn't
    going to take off.
 
      codewiz - 49 minutes ago
      The point is, if the core team made a change that's widely
      unpopular, clients would just refuse to upgrade to that
      version.Discontent users simply switch to a different branch
      maintained by different developers. If there's enough
      consensus, people will call it "real" blockchain and the
      other one will be left behind with few users and hence no
      meaningful way to spend the balances.
 
        urda - 38 minutes ago
        The last thing you want with any currency is two different
        sides arguing what the real "truth" is.The moment that
        happens, the currency loses any influential power.
 
    draw_down - 1 hours ago
    Define robbery.
 
    Jtsummers - 55 minutes ago
    It demonstrates that Ethereum isn't what it claimed to be. ETH
    was supposed to be smart contracts where the "code is the law".
    Clearly, after the DAO debacle, that's not the case.This means
    that ETH has no actual value. It adds nothing to the legal or
    economic landscape because it does nothing new (if we
    repeatedly rollback and hard fork because of "hacks" like
    this). This isn't a hack. This isn't theft. This is morons who
    don't know how to code coding in a crappy language meant to run
    on an even crappier VM. The only victims here are the people
    who were duped into investing in ETH in the first place. Poor
    saps.
 
    zanny - 55 minutes ago
    Because people want to dream this is some anarchist system
    where nobody controls etherium the same way everyone thinks
    bitcoin-core isn't a centralized authority on the protocol.To
    dispute that de-facto centralization requires miners to
    collectively decide to abstain from updates to these primary
    clients en masse. That just won't happen, people don't organize
    or coordinate like that. The status quo has tremendous inertia
    beyond what can be reasonably expected of independent actors
    trying to act in their own self interest.
 
    swsieber - 1 hours ago
    Because it's rolling back transactions that were done under
    "the law" (e.g. the ether contract stuff) by human intervention
    when the entire draw of the ether contract stuff was the
    promise of no human intervention
 
      resf - 56 minutes ago
      In a blockchain, the participants in the network have
      unlimited authority to modify the "law" of the blockchain,
      even retroactively.If there is sufficient consensus among
      Ethereum users for a hard fork, then it can happen.
 
        oh_sigh - 51 minutes ago
        Yes, and that 'feature' of block chains is never really
        touted by blockchain supporters. Basically, if 51% of the
        network think you have too much money, they can just take
        it from you with no recourse available.
 
          hsod - 13 minutes ago
          Yes. This was true before and after the hard fork. Seems
          like common sense to me, but I guess it's a good thing
          that the hard fork happened because it educated people
          that this is possible.
 
      codewiz - 55 minutes ago
      I don't think anyone could honestly promise that.The law is
      written in code, and clearly code can be changed by human
      intervention. It's even open source, so technically anyone
      can change the Ethereum protocol, at any time.Of course,
      changes to the law are effective only when there is
      overwhelming consensus, otherwise they're called minority
      forks.
 
        [deleted]
 
    [deleted]
 
    lawn - 1 hours ago
    Because these transactions could have already been used. For
    example sold on an exchange. Now you're not only targeting the
    robber.
 
cl0rkster - 1 hours ago
A much more useful explanation: https://press.swarm.city/parity-
multisig-wallet-exploit-hits...
 
  calafrax - 1 hours ago
  > The Swarm City Core team is more committed than ever to the
  development of Swarm City. The real value of our token lies in
  the community, and the technology the developers are creating.
  Black hat hackers, vulnerabilities, and bugs will not stop us
  from creating the decentralized sharing economy our community and
  the world craves.What?!? That seems like a pretty relaxed
  response for someone who just lost 8m dollars.
 
  onychomys - 1 hours ago
  Thank you for this, because the OP link is totally baffling for
  those of us who aren't coin-nerds.
 
    campbelltown - 34 minutes ago
    Sorry :) I didn't want to link anything that had potential for
    bias. Just the account with the amount. But, wow, this post
    blew up.
 
[deleted]
 
lawrenceyan - 1 hours ago
Silver lining: https://etherscan.io/address/0x1dba1131000664b884a1b
a2384641...Looks like about +300,000 ether was able to be drained
before it could be stolen thanks to a white hat group.
 
earlz - 1 hours ago
Here's the root error I believe:
https://github.com/paritytech/parity/blob/master/js/src/cont...The
initWallet function should have been marked internal, but was
instead not marked. Unmarked functions default to public in
Solidity, so anyone can call that function and reinitialize the
wallet to be under their control
 
  theptip - 18 minutes ago
  Poking around in that project, I don't see any specific tests of
  the Wallet contract... would be interested to see what UTs/STs
  were included if anyone knows where they are -- or was it just
  manually tested on the testnet? It seems that a basic set of UTs
  for this contract should have caught this issue.It's not even in
  the category of weird timing attacks or complicated internal
  states allowing unexpected state transitions -- this is a trivial
  bug that could be spotted by viewing the contract in Remix (the
  Solidity IDE).There are certainly some weird edge cases in the
  Ethereum VM programming model that are hard to UT, and I think
  that dev efforts in this area are under-resourced (e.g. it's
  currently impossible to test time-dependent contracts as there's
  no way of mocking out the clock in the simulated blockchain).If
  you are considering writing a smart contract, read and re-read
  https://github.com/ConsenSys/smart-contract-best-practices, and
  then write UTs for each of these cases so that you can convince
  yourself that you've covered them.Relevant to this bug:>
  Understand that your public functions are public, and may be
  called maliciously. Your private data is also viewable by anyone.
 
  cslarson - 1 hours ago
  Why doesn't the only_uninitialized modifier cause a throw since
  m_numOwners should have already been > 0, no?
 
    ago - 1 hours ago
    It got patched after he posted this. Before that there was no
    only_uninitialized.
 
  greato - 1 hours ago
  Does this mean ETC is compromised too?
 
    baligad - 1 hours ago
    The vulnerability being discussed is for a particular multi-sig
    wallet, not the Ethereum blockchain itself.
 
    gus_massa - 58 minutes ago
    This is not a problem in ETH [1]. It's a bug in one of the
    contracts written by Parity. Anyone that has (had) money in
    these specific contracts is in trouble. If you are not using
    these specific contracts, you are safe (for now).ETH and ETC
    have the same underlying technology and language to write the
    contracts. So if someone writes a contract it can be used in
    both variants. The contract may check that it is in ETH or ETC
    (probably looking for the contract that was added during the
    fork) but I think very few contracts check this, so almost all
    contracts are usable in both chains.So if it was possible to
    use the Parity contract in ETH, then it's very probable that it
    was also possible to use it in ETC.To answer your question:
    Probably the same bug that was used to steal ETH can be
    exploited to steal ETC, if someone is using these contracts in
    the ETC chain. But it's not a problem in ETH or ETC [1].[1] As
    other commenters noted, it's a very bad design flaw to make all
    function public by default. It's not an error, but it makes
    much easier to write buggy code.
 
  dvcc - 1 hours ago
  Why would an unmarked function get the broadest possible scope in
  a language designed for contracts? I'm always surprised by the
  decisions made around Ethereum, and just how much value people
  have poured into it.
 
    TylerE - 1 hours ago
    Because the cryptocurrency space attracts only the brightest
    minds.
 
      wheelerwj - 26 minutes ago
      i know that you're not really serious when you generalize
      against all of us crypto simpletons, but anytime theres a
      stupid amount of money on the table people are bound to rush
      to pick it up.  and that means mistakes.the work being done
      on public blockchains is unlike anything else done before.
      You don't have he luxury of keeping your db behind a vpn
      running on a vm platform secured and maintained by the worlds
      largest companies.  These engineers put themselves out there,
      waaaaaaaay out there to try and make shit happen.  And they
      mostly do good work.   But if banks and major retailers who
      have huge budgets can get hacked, of course we can too.
 
        kbenson - 12 minutes ago
        I think a big part of the complaint is about the implicit
        assumption that because people are smart, and have
        experience with cryptography, they necessarily have the
        experience to design a sane and safe programming language
        given their goals.They did put themselves way out there,
        and that takes ambition, but also hubris.  I wish they were
        able to figure out which one was driving them at certain
        points a bit better, as while some of these problems are
        because they are doing new and interesting things, some are
        old as dirt for computing, and there's little defense.If
        some company tried to tout a new language with all the
        pitfalls of C, but none of the benefits of being really
        inter-operable and known the same way, I'd like to think we
        could recognize that as having some very bad design choices
        given what we've learned from C, and at little benefit
        other than being different.  Ignoring decades of research
        and experience on the topic through ignorance is not
        laudable, even if you've put yourself out there.  I can't
        help but feel we have a similar scenario going on here.
 
        eropple - 7 minutes ago
        One of the more important skills in this craft is the
        combination of intuition and knowledge to know when you
        don't know something well enough to achieve the goal. The
        difference between "ambition" and "hubris" is small but
        critical.
 
      PhasmaFelis - 25 minutes ago
      My favorite smack-talk so far is "Dunning-Krugerrands".
 
        i_am_nomad - 12 minutes ago
        That is certified brilliant.
 
    lomnakkus - 11 minutes ago
    It's a good indicator that these people may be experts in one
    area, but not necessarily in others.Language design is actually
    notoriously difficult in general[1], but if you're doing
    language design for a security-critical language[2]... well,
    that requires actual mechanized proof, IMO. Not just proof of
    "design", but proof of the implementation. Anything else is a
    huge gamble. (And I'm sure there are some investors who made
    off very well.)[1] Beyond surface-level, obviously.[2] We're
    talking about 0.0001% of the general population here.
 
    elviejo - 42 minutes ago
    For the same reason every variable in JavaScript is global by
    default... I.e. I don't have a clue how that could seem like a
    good idea.
 
      koolba - 4 minutes ago
      That's not how JavaScript works. Variable declarations are
      hoisted to the start of the enclosing function scope and only
      undeclared variables are global by default.But yes it seems
      pretty asinine to use global by default for (not so) smart
      contracts.
 
    [deleted]
 
  Scaevolus - 1 hours ago
  Good catch! It is indeed that the constructor could be called by
  anyone. Here's a couple txns showing it:Calling initwallet: https
  ://etherscan.io/tx/0xff261a49c61861884d0509dac46ed67577...Executi
  ng:
  https://etherscan.io/tx/0x0e0d16475d2ac6a4802437a35a21776e5c...
 
  Analemma_ - 1 hours ago
  > Unmarked functions default to public in SolidityWhat kind of
  brain-dead apes designed this language? This would be a stupid
  decision in any language, never mind one specifically intended
  for high-value transactions.
 
    justinjlynn - 1 hours ago
    Design... before Solidarity I had never seen such an abuse of
    the word.
 
      hirsin - 1 hours ago
      I think the capitalization of a method making the difference
      between two very different outcomes might be my favorite
      example. It's that kind of stuff that makes me happy I have
      to go through api reviews at work - although seriously how
      does anyone sign off on these designs?
 
        justinjlynn - 50 minutes ago
        > sign off on these designsI only wish people had to do
        that. Shit like this are why professional and civil
        engineers roll their eyes at the mention of software
        "engineering". There are best practices and available tools
        but people employ them far less often than they probably
        should. In the space, take a look at Kadena's Pact smart
        contract language. It's not perfect by any means (lisp-
        religious syntax and its tight integration with Kadena
        internal constructions, for example) but it is at the
        least, working on formal verification support.
 
    Animats - 59 minutes ago
    This is why I keep saying that "smart contracts" should be
    expressed in some declarative notation like decision tables.
    Byte-coded programs as contracts were a really bad idea.
    Contracts need to be readable, not just executable.
 
      dvcc - 50 minutes ago
      I'm kind of curious on what you think about Tezos and its
      Michelson language
      (https://www.tezos.com/static/papers/language.pdf) which
      offers provability of contracts.
 
        sna1l - 23 minutes ago
        Just looking at this language, it makes me feel like we are
        going back in time in regards to readability and ease of
        use. I understand that security and provability of
        contracts is more important in these cases, but one can
        dream!
 
      antocv - 32 minutes ago
      Byteball (https://byteball.org/ has declarative smart
      contracts!
 
        Animats - 15 minutes ago
        That looks interesting. I just skimmed the white paper.
        It's not clear what their contracts can do, though. They
        need more examples.The underlying DAG idea has potential.
        You could have two half-transactions happening on separate
        subtrees, where A is buying X from B and B is paying Y to
        A. So A broadcasts "A will buy X from B when B pays Y to
        A", and B broadcasts "B will pay Y to A when A buys X from
        B". When the matching half-transactions acquire a common
        child, the transaction commits. It's a true "meeting of the
        minds".
 
    earlz - 50 minutes ago
    My favorite critique of Solidity is this guy on hacker news
    from a few days back
    https://news.ycombinator.com/item?id=14691212
 
  naasking - 1 hours ago
  > Unmarked functions default to public in SolidityFacepalmWasn't
  this lesson learned long ago? C# defaults to private on unmarked
  members. Why would you ever want to default public?
 
    [deleted]
 
    tinco - 53 minutes ago
    It was designed to be like Javascript. Of all languages...
 
      dom96 - 32 minutes ago
      Wouldn't it make more sense to design it like Haskell? or
      something even more strict? A little bit of extra work seems
      like a small price to pay to prevent millions being stolen
      from your wallet because of a silly mistake like this...
 
        quickthrower - 13 minutes ago
        In Haskell everything is public by default unless you
        specify exports for the module.
 
  dna_polymerase - 1 hours ago
  I can literally feel how Ethereum changes the law. I mean,
  seriously, no need for lawyers anymore. On ethereum it's is
  simple: You got fucked, live with it. "Bad faith? It's the code,
  didn't you read it?"
 
    justinjlynn - 1 hours ago
    "It's all there black and white, clear as crystal. [...] You
    get nothing. You lose. Good day, sir."
 
      sdenton4 - 11 minutes ago
      Furthermore, I suggest you do what your parents did, and get
      a job, sir! The bums lost, Lebowski!
 
      jeffwass - 9 minutes ago
      You skipped the juiciest part of one of my favorite scenes of
      that movie. [scared the bejeezus out of me when I was little,
      I didn't realise for some time it was pure satire and no
      adult would be expected to understand him].So I feel
      obligated to post the full bit (from wikiquote)>Wonka:
      [angrily] Wrong, sir! Wrong! Under section 37B of the
      contract signed by him, it states quite clearly that all
      offers shall become null and void if - and you can read it
      for yourself in this photostatic copy - "I, the undersigned,
      shall forfeit all rights, privileges, and licenses herein and
      herein contained," et cetera, et cetera... "Fax mentis,
      incendium gloria cultum," et cetera, et cetera... Memo bis
      punitor delicatum! It's all there! Black and white, clear as
      crystal! You stole Fizzy-Lifting Drinks! You bumped into the
      ceiling, which now has to be washed and sterilized, so you
      get... NOTHING!!! You lose! GOOD DAY, SIR! [returns to work]
 
    draw_down - 1 hours ago
    Yeah! Well, uh... except that one time.... mumblemumble
 
    oh_sigh - 58 minutes ago
    Odds etherium does another hard fork to fix this bug?
 
      shpx - 37 minutes ago
      The DAO held nearly 14% of all ethereum in existence,
      153,000ETH is less than .2%.153,000 / 93,405,120[0] =
      0.001638025838[0] https://etherscan.io/stat/supply
 
        sum627u - 9 minutes ago
        And there's more Ethereum now. The DAO was a ~$50 million
        fraud. This was a ~$30 million fraud. Obviously this is
        totally different and there's nothing we can do about it
        and it's just fine. People should have known better than to
        use parity with this bug in it.
 
    quickthrower - 15 minutes ago
    Not just the code but hopefully the compiler and processors (at
    large i.e. Intel) have no bugs that causes unintuitive
    behaviour.
 
    blueprint - 13 minutes ago
    Well, you know, except for the whole "we, the central
    governors, will hard-fork if we get scared that there's an
    existential threat to the blockchain" thing.
 
    jacopofar2 - 1 hours ago
    Except for that DAO of last summer, in that case the law
    changed...
 
      theseatoms - 27 minutes ago
      Ethereum's original sin
 
      [deleted]
 
    taspeotis - 1 hours ago
    Matt Levine has some thoughts [1] on that matter.[1]
    https://www.bloomberg.com/view/articles/2016-06-17/blockchai...
 
      ep103 - 51 minutes ago
      Great article!
 
    xadhominemx - 1 hours ago
    it creates such a bad alternative to the current system it's
    certain not to come about.
 
    cookiecaper - 1 hours ago
    Won't happen. People need to believe that the justice system
    will hear their pleas and consider factors on-balance, and then
    proceed in fairness. In real law, there are several potential
    overrides available to stop egregiously unfair outcomes that
    would otherwise be legally valid (estoppel, unconscionability,
    etc.). People will not accept a system that does not have the
    appearance of fairness (regardless of its actual fairness).One
    of the things that cyberpunks fail to grasp is that people
    don't want a perfectly immutable, fixed system. They want to
    feel that their sense of justice and moral righteousness can be
    satisfied. Stuff that drops people off right at "sucks to be
    you" doesn't really work; there must be some type of recourse
    available even if it doesn't have a 100% success rate.
 
      matt4077 - 29 minutes ago
      You're right on the facts, although I don't quite get why you
      ridicule this idea as a "sense of justice and moral
      righteousness" with only the "appearance of fairness".A
      system of laws devoid of all ambiguity and emotion isn't even
      possible, let alone desirable, because at some point these
      contracts have to come into contact reality, and the humans
      in it. And these humans happen to be, well: human.I guess
      there's an ideology at play that would love to change humans
      to fit within their neatly arranged algorithms. And if that
      means some grandmother loses her house because she signed the
      wrong smart contract when buying cat-food, there'd be a lot
      expressions of sympathy on Twitter, but she really needs to
      understand that it's just not possible to do anything about,
      because principles etc etc.Here and there, some of these
      people may, very privately, consider it a feature of the
      system that others less intelligent than them sometimes
      happen to die on the streets because of that one Saturday
      morning where they didn't audit all 500k lines of brainfuck
      in that contract for chinese takeout.
 
      dsfyu404ed - 55 minutes ago
      And the inverse also applies.  People (groups and
      individuals) want to be able to throw their power around and
      leave people they don't like at "sucks to be you".  This
      behavior has been the status quo for millennia.
 
        cookiecaper - 37 minutes ago
        Eh, dictatorships and oppressive systems still work hard to
        appear fair and even-handed. That's why they have such
        elaborate propaganda machines.Anyone who wants to maintain
        power in virtually any setting (communal, corporate,
        governmental) must create an impression of fairness and
        equity, at least to the extent that a good portion of the
        people are not willing to risk their
        [reputations/jobs/lives] to throw off the "oppressors".It's
        not an accident that virtually all powerful corporate
        bosses and politicians are so image-conscious and
        superficial; it's a matter of survival for powerful people.
 
      ryandvm - 51 minutes ago
      Not sure why you're being downvoted because you're exactly
      right. The crypto-anarchists love to say "the code is the
      law", but the reality is that losing your retirement savings
      because somebody forgot to mark a method private is a pretty
      shitty outcome.For all its warts, a legal system backed by a
      jury of your peers is still the best way of sorting out the
      actual intent of a contract when the shit hits the fan.
 
        CyberDildonics - 23 minutes ago
        Ignoring the fact that he was responding to a post that was
        sarcasm, if we really stop to think about it, how many
        people are judged by their peers and how many are judged by
        people who are the furthest from it?
 
        spuz - 37 minutes ago
        He's being downvoted because he's replying to obvious
        sarcasm as if it was serious. You also appear to have taken
        the joke seriously.
 
          SilasX - 21 minutes ago
          Poe's law: Sufficiently advanced satire is
          indistinguishable from fanatical confusion.And many
          people do promote the "code is law, and nothing else"
          idea -- at least Ethereum Classic stuck to it!
 
          Retra - 31 minutes ago
          Perhaps they were simply elaborating on the sarcasm on
          account of the fact that sarcasm does a shit job of
          justifying or explaining anything.
 
          cookiecaper - 31 minutes ago
          Sarcastic or not, "contract by code" and "lawyers are
          obsolete" are, in reality, major selling points used by
          Ethereum evangelists. The OP's post gives an opportunity
          to discuss this.I did not assign any assertion or
          position to the OP, only followed up on his thread about
          the potential ramifications that ETH backers seriously
          advocate.
 
          GuiA - 30 minutes ago
          Except the "code is law" meme is a view that many crypto
          anarchists actually espouse.
 
      SilasX - 35 minutes ago
      Agreed!  It really won't happen, and isn't happening, even in
      Ethereum: when people find the result distasteful enough,
      they go via political means to rewrite the ownership so it
      feels right.Specifically, in the DAO hack, the affected
      people had enough political influence to get the entire
      network to undo the ownership transfer that was the result of
      their own oversights:https://www.reddit.com/r/ethereumfraud/c
      omments/6bgvqv/faq_w...If anything, Ethereum is worse because
      you have to get the entire network to fork (analogous to a
      revolution or constitutional convention) to fix a mistake,
      instead of just getting a judge to rule "okay, that's
      obviously not what anyone meant".Furthermore, it's far more
      unequal, where mistakes only get fixed when they affect the
      most influential users.  Seems like a step in the wrong
      direction.
 
    [deleted]
 
    easytiger - 1 hours ago
    In that future, ironically, Gold acquires even more value as a
    hedge
 
  corysama - 1 hours ago
  Hmmm...  That's similar to, but not covered by this submitted fix
  https://github.com/paritytech/parity/commit/e06a1e8dd9cfd8bf...
 
  sidthekid - 1 hours ago
  Seems like something a code review would have caught. Then again,
  code reviews and other slow processes are probably not the par
  for startups.
 
    mechnesium - 26 minutes ago
    Precisely. Code reviews and software quality assurance aren't
    just corporate redtape, they can save your rear.
 
      Cthulhu_ - 3 minutes ago
      Especially for this; it should be enterprise, bank-tier code,
      covered by as much red tape as possible.The problem with
      cryptocurrency is that they try to be better than the system,
      but have to relearn all the lessons the hard way. It probably
      won't take too long before all of it becomes exactly like
      what banks are now - heavily regulated, etc.
 
    pas - 1 hours ago
    Or just dumb fuzzing. Or a testnet. Or whatever the fancy word
    for static verification is nowadays.
 
    tehlike - 8 minutes ago
    code reviews are prone to human errors, even if you have the
    best engineers.
 
    DennisP - 1 hours ago
    About half my day job is auditing Solidity code for startups.
    And yes this should have been caught.
 
      zdkl - 34 minutes ago
      Auditing Solidity? Sounds sexy and infernal at the same time.
      Congratudolences I guess?
 
sna1l - 1 hours ago
https://etherscan.io/address/0x1dba1131000664b884a1ba2384641... --
white hat group exploited the vuln and are holding people's crypto
for them.
 
  Deimorz - 1 hours ago
  I don't follow Ethereum closely at all, but I don't really
  understand a few things about this:- Who's the "white hat group"?
  Why do people have confidence in it?- Why does everyone believe
  they'll give back $75M+? If they decided to just keep it, what
  could anyone do?- How will people even be able to claim ownership
  of the ETH in a way that's verifiable so they know they're giving
  it back to the right person?
 
    eco - 1 hours ago
    It's the same group that rescued funds during The DAO attack so
    they have a good history of benevolent hacking.They are just
    going to deploy new multi-sig contracts with a fix and make the
    original owners the owners of the new contracts. Pretty easy to
    do. They are actually paying for the gas to do the fix using
    donations they received for their work on The DAO attack so the
    original wallet owners aren't even out the gas the fix would
    charge (which isn't all that much but it's nice that they are
    being made completely whole).
 
    blattimwind - 1 hours ago
    > If you hold a multisig contract that was drained, please be
    patient. They will be creating another multisig for you that
    has the same settings as your old multisig but with the
    vulnerability removed and will return your funds to you
    there.It definitely is an uncanny read.
 
    draw_down - 1 hours ago
    The question makes sense, but really why do people have
    confidence in any of this, you know what I'm saying?
 
      oh_sigh - 53 minutes ago
      You don't really have a choice right now. Either trust them
      and wait to see if your eth is returned, or start
      rabblerousing for yet another hard fork to undo this 'hack'
 
      [deleted]
 
    sna1l - 30 minutes ago
    They might have a significant amount of money in ETH themselves
    and the overall success is beneficial to them? Pure conjecture.
 
aresant - 42 minutes ago
From the post mortem (1) -=>- A hacker managed to exploit a ICO
multisig wallet vulnerability and drain 44,055 ETH - $9,119,385 at
present.- A white hat showed up and "saved" 377,000 ETH -
$78,039,000 !!! - by draining other accounts.I get the "see cryptos
are too insecure / it's a pyramid / it's a bubble / ICOs are scams
/ etc" arguments.But holy shit turning a world currency into the
wild west - for better or worse - is going to be disruptive,
period.That $10m out the window is like a Series A for a nefarious
hacker with deep crypto skills, what does this success embolden or
create?I can only imagine the debacles that we have to look forward
to, and I say that in full support of and as a long term believer
in both blockchain and cryptocurrencies.(1)
https://press.swarm.city/parity-multisig-wallet-exploit-hits...
 
  sillysaurus3 - 37 minutes ago
  The real lesson is: don't store your coins on a third party
  anything.This was a third-party wallet. Everyone used it because
  everyone else used it. Exactly like Mt Gox. There was no reason
  to store coins on Mt Gox, just like there was no reason to use
  this wallet.A moment's reflection would have prevented this
  foolish decision.
 
    ChrisClark - 12 minutes ago
    This wasn't a third party wallet actually.  It is the local
    Parity wallet and node.  What this was, was a bug in the
    multisig contract that Parity would give you to deploy.  So it
    is a contract you personally deploy onto the ethereum network
    and then interact with.  You do own it, you own the private
    keys for the address, etc.But the bug allowed any other address
    to add themselves as owners and withdraw from it.Luckily not
    many people used it and the white hat was able to claim all the
    rest before anyone else.
 
      sillysaurus3 - 6 minutes ago
      https://github.com/paritytech/parityAbout ParityParity's goal
      is to be the fastest, lightest, and most secure Ethereum
      client. We are developing Parity using the sophisticated and
      cutting-edge Rust programming language. Parity is licensed
      under the GPLv3, and can be used for all your Ethereum
      needs.Parity comes with a built-in wallet.How is this not a
      third-party wallet? They say right on the page that they're
      trying to be the best implementation of Ethereum. That means
      they're not the core implementation, right?
 
mtgx - 1 hours ago
So will the devs create another Ethereum fork to recover this
money?
 
swamp40 - 1 hours ago
The begging in the comments section, along with their wallet ID's,
looks like a glimpse of the internet 100 years into the future.
 
rboyd - 1 hours ago
you can see that this is also effecting tokens. check the whitehat
effort (Token Transfers / View Token Balances) on this wallet https
://etherscan.io/address/0x1dba1131000664b884a1ba2384641....$30M
worth of BAT, $26M ICONOMI, $17M CFI, $1.4M EOShistoric episode
here which is sure to spur many a conversation about what
disclosure means in the blockchain era.
 
nkrisc - 37 minutes ago
Just thinking hypothetically here as a coin novice: could a bug
like this theoretically have been implemented intentionally? If the
code is the law, and the code is sufficiently complex, couldn't it
be feasible to dupe people?
 
  SittingTemplar - 16 minutes ago
  Yes. Contracts are only as secure as the people interpreting
  them, and when people can't interpret them because they're code,
  suddenly you need third parties to interpret them and then you've
  got to pay third parties to do this efficiently and suddenly
  you've reinvented the concept of being a lawyer.
 
jamespitts - 36 minutes ago
Helpful information for users potentially affected by this issue:-
The vulnerability is in Parity's "enhanced" multi-sig contract-
This affects Parity 1.5 and later- Parity 1.5 was released on
January 19, 2017 (have you created multi-sigs in Parity since
then?)- The canonical multi-sig contract used in Mist / Ethereum
Wallet does NOT have this vulnerability- 0x1db is a community
"white hat" sweep effort and not an attacker (See:
https://etherscan.io/address/0x1dba1131000664b884a1ba2384641... )
 
joshschreuder - 1 hours ago
Let's play hypotheticals.If you were the attacker and you now have
the ETH in your wallet, how do you cash out without anyone
identifying you and maximising your profits?Also has the attacker
broken a law by exploiting a bug in the contract?
 
  gst - 26 minutes ago
  Exchange as much as possible via Shapeshift (accessed via Tor)
  and other exchanges that don't care about KYC to Zcash, Monero,
  and BTC. BTC is not anonymous but it's unlikely that BTC
  transactions are blocked and it will allow to convert to other
  currencies later on. Once you got Zcash and Monero you can
  anonymously convert to BTC and cash out via Coinbase. Make sure
  to only move small amounts at a time, so that the exchange can't
  block all of your funds.
 
  Woofles - 1 hours ago
  IANAL but if someone leaves their front door open, it's still
  illegal to walk in and take their possessions. I would imagine
  this falls under a similar ruling.
 
    0x0 - 1 hours ago
    In most cases yes, but isn't ethereum all about "the code _is_
    the contract"? If you as the owner of a house put an ad in the
    paper saying "if you can manage to enter my house feel free to
    take whatever you want", should you complain if someone did
    exactly that?
 
      [deleted]
 
    joshschreuder - 1 hours ago
    True but there are lots of cases of people exploiting real
    world contracts (eg. Insurance) to their own benefit. I imagine
    this is probably a new frontier as far as laws go.
 
    root_axis - 1 hours ago
    I don't know if that analogy holds in the context of ethereum
    which is marketed as "code as law". I think it could be
    reasonably argued that this individual was fairly participating
    within the terms of the contract.
 
  csomar - 1 hours ago
  There are mixers where you can get close to not being traced and
  then can move through monero and then to bitcoin.
 
  vkou - 1 hours ago
  > If you were the attacker and you now have the ETH in your
  wallet, how do you cash out without anyone identifying you and
  maximising your profits?Exchange to BTC, mix it, exchange to
  USD.> Also has the attacker broken a law by exploiting a bug in
  the contract?There are no laws. Only contracts.
 
    rocqua - 59 minutes ago
    There are presumably still actual nation-state like laws that
    apply. Heck, laws still apply to contracts.
 
    sillysaurus3 - 57 minutes ago
    This won't work in the US. It's very hard to get USD out of
    Bitcoin. And then the IRS will want to know where you are
    suddenly getting a huge amount of money from.You could use
    localbitcoins to offload one coin at a time on an as-needed
    basis. That'd be pretty sweet, and the IRS won't be able to
    know anything strange is happening if you avoid depositing your
    USD into a bank. But paying rent in all-cash is rather sketchy.
    I wonder if drug dealers deal with similar problems.I don't
    know how plausible this is, but the localbitcoins route might
    also open you up to being kidnapped. You'd need some pretty
    decent opsec to avoid revealing that you have a massive amount
    of BTC you're trying to offload.
 
      true_religion - 51 minutes ago
      Why is it very hard? Can't one simply use Coinbase?> And then
      the IRS will want to know where you are suddenly getting a
      huge amount of money from.In my experience, the IRS is
      largely unconcerned with where you are getting money from.
      They just want you to declare it, and pay taxes on it.If you
      treat Bitcoin as ordinary income and pay taxes on it at the
      highest available rate, the IRS will largely be satisfied. If
      you treat Bitcoin as a long term investment and attempt to
      only pay capital gains tax.... well then the IRS will become
      curious enough to ask for 'proof of origin'.
 
        sillysaurus3 - 29 minutes ago
        You're saying you could declare "I now have $30 million in
        assets" on your IRS forms and it wouldn't trip any alarms?I
        mean, I don't personally know which alarms would be
        tripped, or what effect that would have. But that just
        seems so unlikely.It'd be fascinating if this were true,
        though, so any info would be appreciated.Re: coinbase, it'd
        be foolish to use them because they have a history of
        disabling accounts for any reason they feel like. A friend
        of mine had their account disabled, so I know firsthand
        this is true. Also it's unlikely they'd send you such a
        large amount of money unless you were a business in good
        standing or had a long history with them. (I'm just
        guessing, though.)
 
          DenisM - 12 minutes ago
          Tax forms don't have a place to declare assets, iirc,
          only income.
 
          sillysaurus3 - 5 minutes ago
          Right, so I guess I was asking: If you cash out
          everything as quickly as possible, no one from the
          government will ask where your millions came from?
 
          icelancer - 1 minutes ago
          >You're saying you could declare "I now have $30 million
          in assets" on your IRS forms and it wouldn't trip any
          alarms?Technically, it's illegal for the IRS to do so
          without third parties coming to them or suspicions of
          terrorism. In practice, they probably rat people out to
          LE agencies regularly.
 
        zodiac - 33 minutes ago
        I think coinbase's withdrawal limits aren't quite high
        enough for this amount of cash
 
      STRiDEX - 43 minutes ago
      If you buy all your food, drinks, and lunch in cash for life.
      That's pretty good savings.
 
  pyrale - 1 hours ago
  Tumbler or transfer to another currency (possibly at a markdown).
  Specifically for ethereum:
  https://ethereum.stackexchange.com/questions/2699/is-there-a...
 
  empath75 - 11 minutes ago
  You move to somewhere in the third world with lax banking
  regulations.