“The Merge” – a major planned Ethereum upgrade – is set to take place imminently. The update will switch Ethereum over from “proof-of-work,” a transaction verifying system that requires vast computing resources, to “proof-of-stake,” a more efficient alternative for reaching consensus on blocks of transactions. The change should drastically reduce the network’s energy consumption, broaden its accessibility, and amp up its security.
While exploring how the Ethereum Virtual Machine (EVM) – the decentralized computer at the heart of Ethereum that no one owns, yet anyone can access – is set to change after the transition to proof-of-stake, we noticed a way to determine, using strictly on-chain data, whether the Merge has happened. Precisely, the method involves checking the EVM’s
DIFFICULTY opcode, an operation that returns a given block’s “difficulty,” a measure of how hard it is to “mine” said block. This concept has meaning only in a proof-of-work context, since proof-of-stake abandons mining altogether (replacing the process with the pseudo-random assignment of transaction validators). By checking this difficulty value for newly produced blocks, a smart contract can automatically determine whether the Merge has taken place.
This is how, exactly: According to EIP-3675 and EIP-4399, proposals that lay out specifications for Ethereum’s proof-of-stake upgrade, blocks produced after the Merge will feature a difficulty level set to a different value. The value will be zero, since there is no concept of difficulty in proof of stake. Eventually, this value could equal the output of
RANDAO, a pseudo-random number generator embedded in Ethereum, should EIP-4399 get approved by the community. Our code checks for that scenario too, just in case that proposal gets implemented. (Right now there’s not a native source of pseudo-randomness on-chain, so Ethereum developers are considering using the opcode formerly assigned to
DIFFICULTY to a new opcode,
PREVRANDAO, that would supply this pseudo-randomness natively.)
Determining whether the Merge has happened is, in other words, as simple as finding out whether the
DIFFICULTY opcode returns values matching either of these cases: (1) a difficulty value of zero, or (2) a
PREVRANDAO value greater than 264.
Designing a ‘proof-of-Merge’ NFT
We created a non-transferable, free-to-mint, dynamic NFT that outputs different metadata and artwork based on the value of the
PREVRANDAO) opcode and the estimated time of the Merge. The NFT features ASCII art – visuals rendered in a computer language for encoding alphanumeric characters – by x0r (an art alias of one of the authors).
The art associated with this nontransferable, free-to-mint NFT cycles through three distinct Merge-related phases, purely based on on-chain data.
The lifecycle of the NFT has three phases, all based on a reading of the aforementioned
PREVRANDAO) op-code embedded in the EVM. Phase one, pre-Merge, displays two circles separated. In Phase two, as the Merge approaches, the two circles will begin to intersect until they overlap, forming an eclipse. (The NFT is at phase two as of publishing time!) In the third and final phase, once the Merge has taken place, the art will convert into its final form: a Yin-Yang symbol.
This commemorative NFT is non-transferable. In other words, no one can – and indeed should never be able to – send or trade this NFT to another crypto wallet. The token is tied, in perpetuity, to the public address that mints the NFT. (NFT tokens can be made non-transferable by overriding the “_beforeTokenTransfer()” hook in OpenZeppelin’s ERC-1155 implementation to revert every transfer.) In practice, this NFT represents a “proof-of-Merge” – it proves the Merge has taken place. And also, because the ability to mint the token will end as soon as the Merge takes place, anyone whose wallet has this token can prove they were “there” early; that is, that they were part of the Ethereum community before the Merge took place. Consider it a flex.
This NFT also represents one of the first instances of a16z crypto’s recently released “Can’t Be Evil” licenses being used in production using the Creative Commons Zero (CC0) license.
Another important note: When the Merge takes place, the Ethereum network may split into two chains, one of which will continue to run on proof-of-work. For the version of the NFT that may persist on the proof-of-work chain, we expect the graphic to stall at phase 2 because the mining difficulty should not return values which indicate the arrival of proof-of-stake. The circles will touch and overlap, but they will not go any further, never achieving final form.
Our NFT is free to mint, aside from gas costs, which can vary. (So far, no one has spent more than a few dollars, although the cost can increase if the network gets more congested.) You can mint yours at following link until the Merge takes place, at which time minting ability will be cut off: https://www.proofofmerge.xyz/
The views expressed here are those of the individual AH Capital Management, L.L.C. (“a16z”) personnel quoted and are not the views of a16z or its affiliates. Certain information contained in here has been obtained from third-party sources, including from portfolio companies of funds managed by a16z. While taken from sources believed to be reliable, a16z has not independently verified such information and makes no representations about the current or enduring accuracy of the information or its appropriateness for a given situation. In addition, this content may include third-party advertisements; a16z has not reviewed such advertisements and does not endorse any advertising content contained therein.
This content is provided for informational purposes only, and should not be relied upon as legal, business, investment, or tax advice. You should consult your own advisers as to those matters. References to any securities or digital assets are for illustrative purposes only, and do not constitute an investment recommendation or offer to provide investment advisory services. Furthermore, this content is not directed at nor intended for use by any investors or prospective investors, and may not under any circumstances be relied upon when making a decision to invest in any fund managed by a16z. (An offering to invest in an a16z fund will be made only by the private placement memorandum, subscription agreement, and other relevant documentation of any such fund and should be read in their entirety.) Any investments or portfolio companies mentioned, referred to, or described are not representative of all investments in vehicles managed by a16z, and there can be no assurance that the investments will be profitable or that other investments made in the future will have similar characteristics or results. A list of investments made by funds managed by Andreessen Horowitz (excluding investments for which the issuer has not provided permission for a16z to disclose publicly as well as unannounced investments in publicly traded digital assets) is available at https://a16z.com/investments/.
Charts and graphs provided within are for informational purposes solely and should not be relied upon when making any investment decision. Past performance is not indicative of future results. The content speaks only as of the date indicated. Any projections, estimates, forecasts, targets, prospects, and/or opinions expressed in these materials are subject to change without notice and may differ or be contrary to opinions expressed by others. Please see https://a16z.com/disclosures for additional important information.