top | item 28512490

(no title)

pidge | 4 years ago

To clarify, they implemented the algorithm in Dafny, and then proved that version correct. They did not verify code that will actually run in production.

From the paper:

> Dafny is a practical option for the verification of mission-critical smart contracts, and a possible avenue for adoption could be to extend the Dafny code generator engine to support Solidity … or to automatically translate Solidity into Dafny. We are currently evaluating these options

discuss

order

X6S1x6Okd1st|4 years ago

Additionally it's proving a translation of the algorithm implemented in solidity. Solidity is not what is run on Ethereum, EVM bytecode is. Solidity is compiled down to EVM bytecode and that's what is run.

That seems like another point where a bug could creep in.

I wouldn't be surprised if there was a hard fork to save the deposit contract if there was a critical bug discovered.

yissp|4 years ago

I mean if there was a critical bug in the solidity compiler itself that would put the correctness of pretty much every contract into question, right? It seems like a fork would be hard to argue against in that case.

latchkey|4 years ago

There will be many hard forks before the funds from the deposit contract can be retrieved.

ilammy|4 years ago

“Beware of bugs in the above code; I have only proved it correct, not tried it.” — D.E.K.