Re:Ethereum price goes up nearly 50 percent in under a week
by Jabanga on Tuesday March 14, 2017 @12:10AM
(#13864921)
Yoichi Hirai has built a formal definition of the EVM in Coq which makes it possible to produce formal proofs of an Ethereum smart contract's correctness:
https://medium.com/@pirapira/ethereum-virtual-machine-for-co...
Re:Ethereum price goes up nearly 50 percent in under a week
by SomeStupidPoint on Tuesday March 14, 2017 @12:29AM
(#13865007)
Thanks for showing me this!
I either missed it or it didn't exist last time I looked in to ETH. (About a year ago, pre-DAO.)
Either way, this is a major component of what I'd like to see in smart contracts! (The other two major pieces being a verified VM that supports that spec, and a developer library of "standard" contract pieces -- I don't recall being impressed by directly coding for the EVM, and easy-to-use contracts require a library of "standard legalese".)
Glad to see ETH is putting in the effort.
Re:Ethereum price goes up nearly 50 percent in under a week
by Jabanga on Tuesday March 14, 2017 @12:51AM
(#13865099)
Most welcome! It was just released so you wouldn't have seen it last year. There was a major push toward more secure smart contacts, in particular using formal verification, after the DAO hack, and the efforts continue to this day.
Re:Ethereum price goes up nearly 50 percent in under a week
by pirapira on Tuesday March 14, 2017 @02:01PM
(#13869864)
Using my definition of EVM, I think it's already possible to create a small verified compiler.
My priority is on keeping the formal definition in sync with the Yellow Paper and the implementations.
Re:Ethereum price goes up nearly 50 percent in under a week
by Jabanga on Wednesday March 15, 2017 @10:47PM
(#13882017)
It's a surprise to see you here! :) Thanks for the explanation. Good luck with your work!
Similarly, Id want a proof-checked VM for the currency, which ETH is pretty far from supporting.
So verified-ETH would be a larger, more bug-prone project than starting from first principles, developing a language and VM in parallel. (Also, starting a new project gives a chance to change the economics and/or technology used; depending on your views, this might be a benefit.)