Back to Home

0x5d2d...0176

Lottery / Gambling
Part of The Cyrus Adkisson Collection
0x5d2d1d87afde...674489800176
FrontierContract #754Exact Bytecode MatchEdit this contract
Deployed September 3, 2015 (11 years ago)Block 177,982

A coin flip wager contract that reads the current block hash and gets zero back, endowed with 1 ETH on 3 September 2015.

Frontier EraVerified Source

Historical Significance

Randomness is the problem gambling contracts exist to expose. Every value available inside the EVM is either known in advance or chosen by the account producing the block, so a payout decided from block data can be steered by whoever mines it. This run of revisions is that lesson being learned in public, one deployment at a time, and the answer the ecosystem eventually reached, an oracle or a commit and reveal, is not available here at all.

Context

Deployed a month after the Frontier launch, when no contract could yet draw randomness from anything but block data.

Key Facts
Deployer
Cyrus Adkisson(0xcf684d...ad1bac)
Deployment Block
177,982
Deployment Date
Sep 3, 2015, 12:29 AM
Code Size
2.5 KB
Gas at Deploy
706,771
Transactions by Year
20152

Description

This revision stores block.blockhash(block.number) into a state variable on every flip. That call returns zero, because the hash of the block being executed does not exist yet, and the source carries the author's note recording the result and saying he did not know why. The payout still turns on hashing block difficulty, the coinbase address, the timestamp and the wager, so the zero value is recorded rather than used. A kill function was used, so no code remains and the source is matched against the bytecode as archived at deployment. Deployed by Cyrus Adkisson from 0xcf684dfb8304729355b58315e8019b1aa2ad1bac.

Source Verified

Exact bytecode match(2,569 bytes)
Compiler: v0.1.1+

Historian Categories

Lottery / Gambling
Heuristic Analysis

The following characteristics were detected through bytecode analysis and may not be accurate.

Detected Type: Lottery / Gambling

Bytecode Overview

Opcodes2,569
Unique Opcodes147
Jump Instructions124
Storage Operations45

External Links

Related contracts