Live data from Hacker News

Thinking About Smart Contract Security

blog.ethereum.org

81–85 of 85 posts

Re: Thinking About Smart Contract Security

#81
post #33

Earlier quoted context omitted.

But the definition of evolution is many many changes.

You should look up the definition of evolution.

"Evolution is change in the heritable traits of biological populations over successive generations."

I claimed that there are many generations needed for programs to evolve, which POW limits because the generation of new contracts is not cheap.

Re: Thinking About Smart Contract Security

#82
post #10

It's a complete aberration that the Ethereum Foundation is even considering pushing a fork (hard or soft). There will be a fork, that is people leaving "Ethereum" for its new shiny successor. If you want the protection of a big brother, why not invest in the regular stock market? Lots of neophytes trying to get rich quick are now crying for help after realizing they made a mistake. It's really touching.

Any time there is a bug in a smart contract, do we get roll back in Ethereum? There will be more smart contract bugs or operations against intent. I think this is going to become a joke. Ethereum is not trustable if there is rollback when a contract didn't operate as intended. Can you imagine the stock market operating this way? BTW has bitcoin ever had a rollback in its existence?

Well if there is a bug in the Ethereum software itself, it would be different. In the sense that miners could decide which branch they want. To be honest they could do this with the current proposed forks as well.

The huuuge problem I see here is that it is the Ethereum Foundation, and Vitalik Buterin himself, who are proposing the fork as a remedy. They should simply say "well duh, fire burns."

Re: Thinking About Smart Contract Security

#83
post #56
post #26

Earlier quoted context omitted.

assuming the entirety of centuries of civilization has no clue what they were doing This is a common assumption in these circles, unfortunately.

I think that there is an interesting outlook here. It seems to me that some people are under the impression that the world is essentially simple, and it is stupid people and institution that complicate it. If we apply careful mathematical reasoning, we could find better solutions to anything. The interesting thing is that about 100 years ago some mathematicians believed something similar about math itself. They belie…

Yes! I read a great comment here (I forgot by whom) that said something like

    It's hard enough to prove that a computer program will
    actually *do* something, forget about proving what the
    program *will not* do.
He was arguing against the idea that Turing complete languages should be used in smart contracts. The person mentioned that it's not trivial to even assign a complexity category to the question asked, let alone getting an answer (if you can).

Re: Thinking About Smart Contract Security

#84
post #83
post #56

Earlier quoted context omitted.

I think that there is an interesting outlook here. It seems to me that some people are under the impression that the world is essentially simple, and it is stupid people and institution that complicate it. If we apply careful mathematical reasoning, we could find better solutions to anything. The interesting thing is that about 100 years ago some mathematicians believed something similar about math itself. They belie…

Yes! I read a great comment here (I forgot by whom) that said something like It's hard enough to prove that a computer program will actually *do* something, forget about proving what the program *will not* do. He was arguing against the idea that Turing complete languages should be used in smart contracts. The person mentioned that it's not trivial to even assign a complexity category to the question asked, let alone…

Right, although "Turing complete" is a red herring here, as we can't generally verify the behaviors of programs written in most non-Turing complete languages either. I wrote in another comment that if we place computational power on a scale and put Turing completeness at 10 and FSM at 1 (0 being no computation at all, i.e, return the input), then the computational power that we can always generally verify would lie somewhere between 0 and 1. Even FSMs are PSPACE-complete to verify, meaning we can only generally verify small ones (which is why software verification isn't about finding a language in which all programs are tractably verifiable -- as it is unlikely that such a language would be very useful -- but rather to try and verify specific programs that form a small subset of all possible program, regardless of the computational model of the language they're written in).

So the general intractability of computation is essential and far from limited to Turing completeness. If you find this subject interesting, I'll be giving a talk about it next month[1] (it will be recorded).

[1]: http://curry-on.org/2016/sessions/why-writing-correct-softwa...

Re: Thinking About Smart Contract Security

#85
post #84
post #83

Earlier quoted context omitted.

Yes! I read a great comment here (I forgot by whom) that said something like It's hard enough to prove that a computer program will actually *do* something, forget about proving what the program *will not* do. He was arguing against the idea that Turing complete languages should be used in smart contracts. The person mentioned that it's not trivial to even assign a complexity category to the question asked, let alone…

Right, although "Turing complete" is a red herring here, as we can't generally verify the behaviors of programs written in most non -Turing complete languages either. I wrote in another comment that if we place computational power on a scale and put Turing completeness at 10 and FSM at 1 (0 being no computation at all, i.e, return the input), then the computational power that we can always generally verify would lie…

Cool, I am indeed interested. I read Aaronson's "Quantum Computing Since Democritus" and enjoyed it, but that's the only source I read concerning computational complexity.
Post reply on HN