# Wait it’s all PoW

By [msfew](https://paragraph.com/@msfew) · 2023-08-20

---

0\. Intro to PoW
----------------

Proof of Work (PoW, “one CPU one vote”) is a sexy mechanism.

It implements many features and solves many problems, including:

*   Decentralized and permissionless system (Bitcoin)
    
*   High security when total computing power is large
    
*   Truly clean and private money ([clean ETH](https://twitter.com/_hrkrshnn/status/1667874271064989698))
    
*   Relatively fair launch (Bitcoin again)
    

The only downsides might be "potential monopolization" and "energy consumption".

But in my opinion (I took a class on waste and energy last year as a sophomore, and did research on Bitcoin and Waste), it is acceptable to support a decentralized global financial system with some energy.

Overall, PoW is a good mechanism. Although Ethereum has struggled over the years to convert from PoW to PoS, PoW is [still dominant](https://twitter.com/FrankieIsLost/status/1677012421779787777) in Ethereum's overall system and network or application layers.

PoWs are everywhere, and they are all PoWs.

1\. PoW in Address
------------------

### EOA & Contract

The address string (EOA address or contract address) is generated completely randomly, so in order to generate [good looking address](https://twitter.com/spencecoin/status/1353878002405314560) (like 0xdef1…) or [more efficient address](https://medium.com/coinmonks/on-efficient-ethereum-addresses-3fef0596e263) (like address with more 0s), numerous random computation need to be done, just like PoW.

![](https://storage.googleapis.com/papyrus_images/9550dc854e76f9d30e92557cd38d6fd776f5b7a5004b7223324ca8a154bfa1e7.png)

Some tools for mining address:

*   [profanity](https://github.com/johguse/profanity): the notorious [hacked](https://twitter.com/0xtuba/status/1572153573605281792?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1572153573605281792%7Ctwgr%5E77f90d83abb69112fcf70098d9c95ec2d580ba2b%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fcryptoslate.com%2Fethereum-vanity-address-generation-tool-profanity-may-be-cause-of-wintermute-hack%2F) vanity address mining tool
    
*   [VanityEth](https://github.com/MyEtherWallet/VanityEth): another common vanity address mining tool
    
*   [maldon](https://github.com/flood-protocol/maldon): fast CREATE2 salt miner
    

### Function Selector

Another kind of “address” is EVM function selector. Usually developers (especially MEV bot) mine for an efficient one with more 0s in it to save gas. There is also a database for function selectors ([4byte.directory](https://www.4byte.directory/) and [samczsun’s eth sig](https://sig.eth.samczsun.com/reference)).

![](https://storage.googleapis.com/papyrus_images/1ef6d7c60fc0f6db9f3d41c230ae53c79250e914f8b89483d6aaa2df3a336950.png)

Some tools for mining function selector:

*   [function-selector-miner](https://github.com/kadenzipfel/function-selector-miner): function selector miner written in Rust.
    

### Uniswap v4 Hooks

A newer one of “address” requires PoW is the [Uniswap v4 hooks](https://twitter.com/bantg/status/1668964281277136898). “[The hook permissions are determined by the hook address so you have to grind one with the desired permissions](https://twitter.com/danrobinson/status/1677017661463748608)”. It is very [dirty and clever](https://twitter.com/tarunchitra/status/1668990813823533063).

![](https://storage.googleapis.com/papyrus_images/d88ee5631fe9cf05cd1a4354d2f27bea5b383b59e1d5227ff7a52cc9e6253cfd.png)

2\. PoW in DDoS
---------------

[In an ideal world](https://twitter.com/0xmisaka/status/1511370037306834954), the highest transaction quality means: anyone can send a transaction (no censorship); no spam; low fees.

However, we cannot achieve the perfect network. PoW is a simple and elegant approach to prevent spam by adding an extra layer of computing.

### Testnet Faucet

I use [Goerli PoW Faucet](https://goerli-faucet.pk910.de/) a lot in my daily development and testing.

While the usual testnet faucet is to sign up with an account and receive a fixed amount of testnet ETH, the PoW testnet faucet allows you to receive more testnet ETH depending on the amount of power you consume. More flexible.

### PoW NFT Contract

At the beginning of the popular NFT project mint, the gas cost usually shoots up to a very high level, because a lot of people are doing the same mint operations, making the overall usage of the network very high.

[This NFT contract](https://twitter.com/0xCygaar/status/1676699126682075136) does something like "PoW" within the contract, which increases the gas usage and mint cost on the validator side. This prevents DDoS and allows more suitable people to get the NFT.

### Arbitrum Sequencer PoW Connection

The single sequencer model of rollup always [faces the problem reliability and spam](https://twitter.com/kelvinfichter/status/1643056460836794373). There are multiple cases where rollup sequencer is down: [Arbitrum Token Launch](https://twitter.com/kevinsekniqi/status/1638900081339293697), and [Optimism Delay](https://github.com/ethereum-optimism/optimism/blob/develop/technical-documents/postmortems/2023-04-26-transaction-delays.md).

Arbitrum had [a proposal to score connections by PoW](https://research.arbitrum.io/t/thoughts-on-arbitrums-proposal-to-score-connections-by-pow/8121) to disincentivize massive sybil attacks by MEV searchers on the Arbitrum sequencer.

3\. Outro
---------

In the finance world, winning requires you to be first, be smarter, or cheat.

PoW only requires you to be first. Maybe it’s fairer.

![](https://storage.googleapis.com/papyrus_images/307d857773c4b5bfb32158ac2e93343f0e1a65efc1a206967f41f6d1ac3304fc.png)

---

*Originally published on [msfew](https://paragraph.com/@msfew/wait-it-s-all-pow)*
