{"id":37300,"date":"2020-04-07T14:07:42","date_gmt":"2020-04-07T11:07:42","guid":{"rendered":"https:\/\/forklog.com\/en\/?p=37300"},"modified":"2025-08-29T15:04:48","modified_gmt":"2025-08-29T12:04:48","slug":"what-is-progpow","status":"publish","type":"post","link":"https:\/\/forklog.com\/en\/what-is-progpow\/","title":{"rendered":"What is ProgPoW?"},"content":{"rendered":"<div id=\"cards_wrapper\">\n<div class=\"single_card\">\n<p id=\"card_counter_1\" class=\"card_counter\"><span class=\"card_counter_span\">1<\/span><\/p>\n<p><strong>What is ProgPoW? <\/strong><\/p>\n<div class=\"card_description\">ProgPoW\u2014short for Programmatic Proof-of-Work, also jokingly called PorgyPoW (after the porg birds in Star Wars: The Last Jedi)\u2014is an updated iteration of the Ethash consensus algorithm.<\/div>\n<\/div>\n<div class=\"single_card\">\n<p id=\"card_counter_2\" class=\"card_counter\"><span class=\"card_counter_span\">2<\/span><\/p>\n<p><strong>What does ProgPoW aim to do?<\/strong><\/p>\n<div class=\"card_description\">\n<p>The ProgPoW algorithm is designed to improve CPU\/GPU mining efficiency and strengthen its edge against ASIC-based mining.<\/p>\n<p>The spread of ASIC devices potentially threatens:<\/p>\n<ul>\n<li>lower revenues for CPU\/GPU owners and a weaker incentive to support the network;<\/li>\n<li>protocol manipulation by large miners;<\/li>\n<li>mining centralisation.<\/li>\n<\/ul>\n<p>As ASICs emerged and spread, developers produced new iterations of the original proof-of-work algorithm intended to be \u201cASIC-resistant\u201d.<\/p>\n<p>Designing an algorithm protected against hardware optimised for specific characteristics has always been hard. Ethash, used for Ethereum mining, was also devised as ASIC-resistant, yet proved ineffective.<\/p>\n<\/div>\n<\/div>\n<div class=\"single_card\">\n<p id=\"card_counter_3\" class=\"card_counter\"><span class=\"card_counter_span\">3<\/span><\/p>\n<p><strong>Who created ProgPoW, and when and how?<\/strong><\/p>\n<div class=\"card_description\">\n<p>ProgPoW was created in 2018 by members of the ifdefelse developer group: Miss If (Kristy\u2011Leigh Minehan, a.k.a. OhGodAGirl), Mr. Else (a.k.a. RadixPi) and Mr. Def.<\/p>\n<p>The impetus for ProgPoW came from online discussions about ASIC-resistance in March 2018. The Ethereum developer known as <em>Pipermerriam<\/em> <a href=\"https:\/\/github.com\/ethereum\/EIPs\/issues\/958\" target=\"_blank\" rel=\"noopener noreferrer\">published<\/a> EIP-958 (Ethereum Improvement Proposal) aimed at making Ethash ASIC-resistant.<\/p>\n<p>Development sped up when sales began of the Antminer E3, an ASIC miner for Ethash. Although it later became clear that the Antminer E3 was a rather \u201craw\u201d device, sentiment among users grew increasingly critical around ASIC-resistance.<\/p>\n<p>In April 2018 Ethereum developer Vlad Zamfir ran a poll, \u201cWould you support a hard fork that makes ASIC miners inefficient?\u201d 57% of respondents backed a hard fork.<\/p>\n<p>Around the same time, <a href=\"https:\/\/github.com\/ethereum\/EIPs\/blob\/master\/EIPS\/eip-969.md\" target=\"_blank\" rel=\"noopener noreferrer\">EIP-969 proposed<\/a> changing Ethash.<\/p>\n<p>These two EIPs, constant debate over ASIC-resistance, and the fact that roughly a thousand people voted on GitHub in 2018 to study ASIC-resistance prompted IfDefElse to start building an algorithm genuinely resistant to specialised hardware.<\/p>\n<\/div>\n<\/div>\n<div class=\"single_card\">\n<p id=\"card_counter_4\" class=\"card_counter\"><span class=\"card_counter_span\">4<\/span><\/p>\n<p><strong>Technical features of ProgPoW<\/strong><\/p>\n<div class=\"card_description\">\n<p>ProgPoW is an optimised Ethash. For each iteration in searching for a solution (the inner memory-access loop), the algorithm runs a randomly generated program based on the block number. This model requires full use of a GPU\u2019s resources and capabilities (except for floating-point operations and graphics pipelines, which were dropped to suit hardware from different vendors).<\/p>\n<p>ProgPoW makes the mining puzzle non-static: an ASIC miner\u2014an \u201capplication-specific integrated circuit\u201d\u2014is built for a single task and lacks the flexibility to work well with ProgPoW. GPUs, by contrast, can adapt quickly to constantly changing mining conditions. Using ProgPoW allows GPUs to reach performance levels comparable to ASICs.<\/p>\n<\/div>\n<\/div>\n<div class=\"single_card\">\n<p id=\"card_counter_5\" class=\"card_counter\"><span class=\"card_counter_span\">5<\/span><\/p>\n<p><strong>Criticism of ProgPoW and the current state <\/strong><\/p>\n<div class=\"card_description\">\n<p>In 2018 opposition to ProgPoW was moderate, as ASIC-resistance remained an important goal for the Ethereum community.<\/p>\n<p>In September 2018 Linzhi Mining announced an efficient Ethash ASIC. The firm took a highly hostile stance toward ProgPoW and even claimed it could develop an ASIC for ProgPoW. Rumours also surfaced that ProgPoW had been created by the two leading GPU makers, AMD and Nvidia.<\/p>\n<p>Early in 2019 Ethereum users began voting on ProgPoW. By April 2019, 93% of respondents, controlling 2.93m ETH, supported ProgPoW. The Ethereum developers agreed and then reversed course several times. In the end they decided to implement ProgPoW provided the new algorithm passed audits. The audits were successful, and in January the developers reached a preliminary agreement on the ProgPoW proposal (EIP-1057).<\/p>\n<p>On 21 February 2020 the developers agreed that code activation would tentatively take place in July.<\/p>\n<p>On 24 February, Vitalik Buterin expressed puzzlement that ProgPoW, once shelved, had reappeared on the agenda and was even being considered for the next Ethereum hard fork.<\/p>\n<blockquote class=\"twitter-tweet\" data-conversation=\"none\">\n<p dir=\"ltr\" lang=\"en\">BTW the way progpow was ninja-reapproved definitely did *not* help make people trust the governance or feel safe, and arguably drove the Twitterati to believe that they have to send loud, simple and clear messages (ie. more such Schelling fences) to get their voice heard.<\/p>\n<p>\u2014 vitalik.eth (@VitalikButerin) <a href=\"https:\/\/twitter.com\/VitalikButerin\/status\/1231978839523225601?ref_src=twsrc%5Etfw\">February 24, 2020<\/a><\/p>\n<\/blockquote>\n<p><script async=\"\" src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>On 27 February 2020 a number of prominent members of the Ethereum community signed a petition urging against activating ProgPoW. They consider the proposal hasty and potentially capable of splitting the network. In their view, there is not enough support to adopt ProgPoW at present.<\/p>\n<p>Even so, Ethereum developer James Hancock is convinced a split is unlikely. Moreover, he considers ProgPoW one of the \u201cmost ready\u201d proposals for activation. Martin Swende of the Ethereum Foundation agrees and also argues for activation.<\/p>\n<p>Kristy\u2011Leigh Minehan and Vitalik Buterin attribute the serious divisions in the community over the new algorithm to a \u201clack of communication\u201d.<\/p>\n<p>A vulnerability found in ProgPoW on 4 March 2020 triggered a new round of debate.<\/p>\n<p>By now Ethereum users appear tired of years of arguments. Vitalik Buterin has said he would be \u201cfine with any decision\u201d.<\/p>\n<p>Follow Forklog on <a href=\"https:\/\/www.facebook.com\/forklog\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"> Facebook<\/a>!<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>ProgPoW\u2014short for Programmatic Proof\u2011of\u2011Work\u2014is an updated Ethash variant designed to improve CPU\/GPU mining and blunt ASIC dominance. Created in 2018 by the ifdefelse team, it randomises workloads to favour GPUs; the proposal has sparked years of debate, audits and shifting decisions within Ethereum, including polls, petitions and concerns over governance.<\/p>\n","protected":false},"author":1,"featured_media":37301,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"select":"1","news_style_id":"1","cryptorium_level":"2","_short_excerpt_text":"An ASIC\u2011resistant Ethash variant built in 2018 to favour GPUs\u2014and the controversy around its prospective activation in Ethereum.","creation_source":"human_written","_metatest_mainpost_news_update":false,"footnotes":""},"categories":[2113],"tags":[2121,2115,46,2124],"class_list":["post-37300","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptorium","tag-101-staking-and-mining","tag-101-technical-foundations","tag-ethereum","tag-progpow"],"aioseo_notices":[],"amp_enabled":true,"views":"93","promo_type":"1","layout_type":"1","short_excerpt":"An ASIC\u2011resistant Ethash variant built in 2018 to favour GPUs\u2014and the controversy around its prospective activation in Ethereum.","is_update":"","_links":{"self":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37300","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/comments?post=37300"}],"version-history":[{"count":1,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37300\/revisions"}],"predecessor-version":[{"id":37302,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37300\/revisions\/37302"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/media\/37301"}],"wp:attachment":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/media?parent=37300"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/categories?post=37300"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/tags?post=37300"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}