{"id":8815,"date":"2025-02-21T12:01:34","date_gmt":"2025-02-21T11:01:34","guid":{"rendered":"https:\/\/wsj-crypto.com\/?p=8815"},"modified":"2025-02-21T12:01:34","modified_gmt":"2025-02-21T11:01:34","slug":"enhancing-ethereum-a-dive-into-formal-methods-development","status":"publish","type":"post","link":"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/","title":{"rendered":"Enhancing Ethereum: A Dive into Formal Methods Development"},"content":{"rendered":"<p><\/p>\n<div>\n<!-- --><\/p>\n<blockquote class=\"chakra-code css-1cl98my\"><p>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">I\u2019m becoming a formal verification engineer at Ethereum. My rationale: formal verification is a viable profession only in a few unique scenarios where<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">the verification objective adheres to brief, straightforward regulations (EVM);<!-- --><\/li>\n<li class=\"css-cvpopp\">the objective possesses substantial worth (Eth and other tokens);<!-- --><\/li>\n<li class=\"css-cvpopp\">the objective is complex enough to ensure accuracy (any nontrivial program);<!-- --><\/li>\n<li class=\"css-cvpopp\">and the community recognizes that it&#8217;s crucial to achieve correctness (perhaps).<!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">My previous position as a formal verification engineer equipped me for this undertaking. Furthermore, within the Ethereum ecosystem, I\u2019ve been engaged in two projects: an online tool known as <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/dr-y.no-ip.net\/\">Dr. Y\u2019s Ethereum Contract Analyzer<!-- --><\/a> and <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/pirapira\/evmverif\/\">a GitHub repository<!-- --><\/a> containing Coq proofs. These initiatives represent the two extremes of a spectrum ranging from an automatic analyzer to manual proof development.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In light of the overall influence on the entire ecosystem, I\u2019m drawn to an automated analyzer embedded within a compiler. Numerous individuals would utilize it, and some would heed its warnings. Conversely, since any unexpected behavior might be categorized as a bug, all surprises should be eliminated, yet computers cannot perceive human anticipations. To convey human expectations to machines, some manual intervention is essential. Contract developers must articulate the contract in a machine-interpretable format and provide indications to the machines regarding how the implementation corresponds to the specifications (often the machine demands increasingly clearer hints until the human identifies a bug, frequently within the specifications). This is labor-intensive, but such manual initiatives are warranted when a contract is designed to handle millions of dollars.<!-- --><\/p>\n<p><!-- --><\/p><\/blockquote>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Having a dedicated individual for formal methods not only enhances our capacity to progress swiftly in this critical yet rewarding domain, but it also hopefully facilitates improved communication with academic circles to unite the various distinct projects that have emerged in recent weeks.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Here are several initiatives we aspire to address in the future, most of which will likely be pursued in collaboration with other teams.<!-- --><\/p>\n<p>Solidity:<br \/>\n<!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">extending the translation from Solidity to Why3 to encompass the complete Solidity language (potentially switching to F*)<!-- --><\/li>\n<li class=\"css-cvpopp\">formal specification of Solidity<!-- --><\/li>\n<li class=\"css-cvpopp\">syntax and semantics of modal logics aimed at reasoning about multiple stakeholders<!-- --><\/li>\n<\/ul>\n<p>Community:<br \/>\n<!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">creating a directory of formal verification projects on Ethereum<!-- --><\/li>\n<li class=\"css-cvpopp\">gathering buggy Solidity codes for benchmarking automatic analyzers<!-- --><\/li>\n<li class=\"css-cvpopp\">examining deployed contracts on the blockchain for vulnerabilities (related: <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/eprint.iacr.org\/2016\/633\">OYENTE tool<!-- --><\/a>)<!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Tools:<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">offer a human- and machine-readable formalization of the EVM that is also executable<!-- --><\/li>\n<li class=\"css-cvpopp\">developing formally verified libraries in EVM bytecode or Solidity<!-- --><\/li>\n<li class=\"css-cvpopp\">creating a formally verified compiler for a minimal language<!-- --><\/li>\n<li class=\"css-cvpopp\">investigating the possibilities for interaction-oriented languages (&#8220;if X occurs then execute Y; you may only perform Z if you completed A&#8221;)<!-- --><\/li>\n<\/ul>\n<p><!-- --><\/div>\n<p><br \/>\n<br \/><a href=\"https:\/\/blog.ethereum.org\/en\/2016\/09\/01\/formal-methods-roadmap\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019m becoming a formal verification engineer at Ethereum. My rationale: formal verification is a viable profession only in a few unique scenarios where the verification objective adheres to brief, straightforward regulations (EVM); the objective possesses substantial worth (Eth and other tokens); the objective is complex enough to ensure accuracy (any nontrivial program); and the community<\/p>\n","protected":false},"author":3,"featured_media":8282,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[1381],"class_list":["post-8815","post","type-post","status-publish","format-standard","has-post-thumbnail","category-ethereum","tag-return-a-list-of-comma-separated-tags-from-this-title-dev-update-formal-methods-ethereum-foundation-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Enhancing Ethereum: A Dive into Formal Methods Development - WSJ-Crypto<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Enhancing Ethereum: A Dive into Formal Methods Development - WSJ-Crypto\" \/>\n<meta property=\"og:description\" content=\"I\u2019m becoming a formal verification engineer at Ethereum. My rationale: formal verification is a viable profession only in a few unique scenarios where the verification objective adheres to brief, straightforward regulations (EVM); the objective possesses substantial worth (Eth and other tokens); the objective is complex enough to ensure accuracy (any nontrivial program); and the community\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/\" \/>\n<meta property=\"og:site_name\" content=\"WSJ-Crypto\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-21T11:01:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"2100\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"wsjcrypto\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"wsjcrypto\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/\",\"url\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/\",\"name\":\"Enhancing Ethereum: A Dive into Formal Methods Development - WSJ-Crypto\",\"isPartOf\":{\"@id\":\"https:\/\/wsj-crypto.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg\",\"datePublished\":\"2025-02-21T11:01:34+00:00\",\"author\":{\"@id\":\"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/#primaryimage\",\"url\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg\",\"contentUrl\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg\",\"width\":2100,\"height\":900},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/wsj-crypto.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Enhancing Ethereum: A Dive into Formal Methods Development\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wsj-crypto.com\/#website\",\"url\":\"https:\/\/wsj-crypto.com\/\",\"name\":\"WSJ-Crypto\",\"description\":\"Just Another Crypto News Website\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wsj-crypto.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7\",\"name\":\"wsjcrypto\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/wsj-crypto.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/86fe8af82ea089646d6639ca2f87e0243d8688d957bd8e3ec22ec3c457cc16d4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/86fe8af82ea089646d6639ca2f87e0243d8688d957bd8e3ec22ec3c457cc16d4?s=96&d=mm&r=g\",\"caption\":\"wsjcrypto\"},\"url\":\"https:\/\/wsj-crypto.com\/index.php\/author\/wsjcrypto\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Enhancing Ethereum: A Dive into Formal Methods Development - WSJ-Crypto","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/","og_locale":"it_IT","og_type":"article","og_title":"Enhancing Ethereum: A Dive into Formal Methods Development - WSJ-Crypto","og_description":"I\u2019m becoming a formal verification engineer at Ethereum. My rationale: formal verification is a viable profession only in a few unique scenarios where the verification objective adheres to brief, straightforward regulations (EVM); the objective possesses substantial worth (Eth and other tokens); the objective is complex enough to ensure accuracy (any nontrivial program); and the community","og_url":"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/","og_site_name":"WSJ-Crypto","article_published_time":"2025-02-21T11:01:34+00:00","og_image":[{"width":2100,"height":900,"url":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg","type":"image\/jpeg"}],"author":"wsjcrypto","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"wsjcrypto","Tempo di lettura stimato":"2 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/","url":"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/","name":"Enhancing Ethereum: A Dive into Formal Methods Development - WSJ-Crypto","isPartOf":{"@id":"https:\/\/wsj-crypto.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/#primaryimage"},"image":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/#primaryimage"},"thumbnailUrl":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg","datePublished":"2025-02-21T11:01:34+00:00","author":{"@id":"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7"},"breadcrumb":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/#primaryimage","url":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg","contentUrl":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg","width":2100,"height":900},{"@type":"BreadcrumbList","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/02\/21\/enhancing-ethereum-a-dive-into-formal-methods-development\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wsj-crypto.com\/"},{"@type":"ListItem","position":2,"name":"Enhancing Ethereum: A Dive into Formal Methods Development"}]},{"@type":"WebSite","@id":"https:\/\/wsj-crypto.com\/#website","url":"https:\/\/wsj-crypto.com\/","name":"WSJ-Crypto","description":"Just Another Crypto News Website","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wsj-crypto.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7","name":"wsjcrypto","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/wsj-crypto.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/86fe8af82ea089646d6639ca2f87e0243d8688d957bd8e3ec22ec3c457cc16d4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/86fe8af82ea089646d6639ca2f87e0243d8688d957bd8e3ec22ec3c457cc16d4?s=96&d=mm&r=g","caption":"wsjcrypto"},"url":"https:\/\/wsj-crypto.com\/index.php\/author\/wsjcrypto\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts\/8815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/comments?post=8815"}],"version-history":[{"count":2,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts\/8815\/revisions"}],"predecessor-version":[{"id":8817,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts\/8815\/revisions\/8817"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/media\/8282"}],"wp:attachment":[{"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/media?parent=8815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/categories?post=8815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/tags?post=8815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}