Just recently, a software developer and “Solidity nerd” called Bunny Girl has sparked heated conversations within the cryptocurrency community over a smart contract that reveals a process called a “Request For Reorg contract (RFR).” On Twitter, Bunny Girl explained that the contract “creates a mechanism that allows users to pay miners to reorg the Ethereum blockchain.” Ever since then, the tweet went viral and there have been lots of debates over whether or not blockchains, in general, are immutable.
Solidity Developer Reveals Blockchain Reorganization Smart Contract for Ethereum
Conversations and debates concerning blockchain immutability have been taking place for years, and a fresh new discussion has ignited over a tweet and smart contract published on Github by the developer Bunny Girl. On July 10, Bunny Girl explained that the smart contract aims to enhance systematic chain reorganizations.
A blockchain reorganization is a contentious subject and basically occurs when a chain of recorded blocks is invalidated. Reorganizations have taken place on various blockchains when a mining entity or group of miners controls more than 51% of the hashrate.
Blockchain reorganizations force miners (not participating in the reorg) back to a point where they have to start again from a specific block height. It’s akin to rolling back a recorded history of transactions and then re-recording them again, but of course, the new transactions would never be the same as the ones that were erased.
Releasing NFTs to commemorate Ethereum chain reorgs. Every time you request a reorg with the contract, you can mint one of these UniV3-like NFTs.
The higher the bribe attached to the reorg, the more rare your NFT becomes. pic.twitter.com/dVSqZ1QqZg
— Bunny Girl (@0xbunnygirl) July 11, 2021
Bunny Girl’s tweet explained how Ethereum developers can “codify chain reorgs” by leveraging the smart contract. “Announcing the Request For Reorg contract (RFR),” Bunny Girl said. “This contract was inspired by a tweet by @EdgarArout. Are there ways we can perform payments to miners for reorgs in an on-chain manner?”
“Using the example of the $40m Binance hack,” Bunny Girl added, “what if Binance wanted to pay out a bounty to miners for re-orging the chain to exclude the hacker’s tx? They could pay out a lower amount than the hack e.g. $10m. It turns out this is all possible with what Solidity has to offer. First, Binance will ask that the transaction be mined at a specific block in the past. They will attach the reward amount for doing so in the form of ETH.”
The software developer continued:
Next, the miner will perform the time bandit. They would go back in time to mine a block from the past. This time, they include their `reorg` tx, which sets them as the claimant for the reward attached to the reward. What happened to the previous request tx? Since the state is rolled back, there isn’t a request in the first place right? Easy, we reconstruct the state by including the `request` tx first. OLD STATE: Block N+1 = [request]. NEW STATE: Block N = [request, reorg].
Furthermore, Daniel Goldman followed up on Bunny Girl’s RFR smart contract with an idea that disincentivizes reorgs called “Deorg.”
“Published Deorg: a contract to create bounties for disincentivizing reorgs, all on-chain,” Goldman tweeted. After Goldman published his idea on Twitter, one person asked if the Deorg concept would “make a great incentive to miners to ‘hope’ for situations to trigger a reorg/deorg smart contract battle?” Goldman responded:
If there’s gonna be a battle, best that both sides show up to the battlefield armed.
Is It Misleading to Describe Blockchains as Immutable?
The RFR thread was followed by an extremely mixed reception. “So we just ignoring immutability now?” asked one person in response to Bunny Girl’s…