Skip to content

cartoonitunes/arbiter-reg-verification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArbiterRegistry Contract Verification

Contract: 0x82afa2c4a686af9344e929f9821f3e8c6e9293ab
Deployer: 0x1db3439a222c519ab44bb1144fc28167b4fa6ee6 (Vitalik Buterin early dev address)
Block: 301,954
Date: September 28, 2015
Language: Serpent
Status: ✅ Exact bytecode match (byte-for-byte)

What This Is

An arbiter (escrow mediator) registry contract from Vitalik Buterin's early development work on the Ethereum arbitration dapp. Arbiters could register themselves with a minimum 1 ETH fee, which decayed exponentially over time. The system was designed to rank arbiters by their effective fee using an exponential decay formula.

Source

File: arbiter_reg.se
Repository: ethereum/dapp-bin
Commit: 08fe3e5b
Path: arbitration/arbiter_reg.se

Compiler

Language: Serpent
Repository: ethereum/serpent
Commit: e5a5f875
Date: September 26, 2015
Commit Message: "Fixed return arrays and min/max"

Verification

# Build Docker image with exact Serpent commit
docker build -t arbiter-reg-verify .

# Run verification (inside container)
docker run --rm arbiter-reg-verify python2 /verify.py
# Expected: VERIFICATION PASSED: Exact byte-for-byte match!

Or manually in Python (requires Serpent built from e5a5f875):

import serpent
r = serpent.compile(open('arbiter_reg.se').read())
# Runtime: r[14:14+1638]
# Compare to onchain-runtime.hex

Contract Features

  • register(): Pay ≥1 ETH to register as arbiter. Subsequent payments renew your registration.
  • set_description(str): Set a description string (max 288 chars).
  • get_tot_fee(address): Get the current (decayed) fee for an arbiter.
  • get_description(address): Get arbiter's description.
  • get_addresses(startIndex): Paginate through all registered arbiters.
  • exp_decay(val, i): Internal exponential decay calculation using Taylor series.
  • withdraw(): Ethereum Foundation can withdraw registration fees.

Key Technical Details

  • Uses Serpent's data keyword for structured storage: data arbiters[2**160](totFee, lastPaid, description[10])
  • Exponential decay formula: 50% per month using 3rd-order Taylor expansion
  • PERIOD = 86400 × 30 × 1000 / 693 ≈ 3,722,943 (milliseconds per half-life period)
  • EF withdrawal address hardcoded: 0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae

Proof

Field Value
On-chain address 0x82afa2c4a686af9344e929f9821f3e8c6e9293ab
Creation tx 0xc3f01f2508d0018ae7661730f9ec6cb589c71666fd95f42bd400168ccc52e556
Block 301,954
Source commit 08fe3e5b (dapp-bin)
Compiler commit e5a5f875 (serpent, Sep 26 2015)
Runtime size 1,638 bytes
Differences 0 (exact match)

About

Bytecode verification for Vitalik's ArbiterRegistry Serpent contract (Sep 2015)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors