100 ETH Puzzle by CPDProject

Status: SOLVED
Prize: 100 ETH
Owner: CPDProject.com
Start Date: 2020-04-13
Solve Date: 2020-12-01
Address: 0x812DFd7fB17f148d5F0E85Cb3018f8822Ad89E91
Private Key: b0b43752d4d54fe3dc4ffe2e37ebba11b73abb12ef8e68ad24ca79f9baaedd71

Description

0x812DFd7fB17f148d5F0E85Cb3018f8822Ad89E91 holds 100 ETH on it. Following image is the key to find Private Key of this address. Anyone, who finds the Private Key, can sweep it.

100 ETH Puzzle

100 ETH Address Ownership Verification

Hints

May 12, 2020: Hint #0 Follow the Roadmap.

June 1, 2020: Hint #1 Five keywords will become a 64 digit hexadecimal number through various transformations.

July 1, 2020: Hint #2 Dates are in YYYYMonthDD format.

August 1, 2020: Hint #3 Crypto Assets are represented by three capital letters.

September 1, 2020: Hint #4 Date strings are transformed from ASCII to Decimal.

October 1, 2020: Hint #5 Crypto string is transformed from Base58 to Decimal.

November 1, 2020: Hint #6 Months are powerful.

December 1, 2020: Hint #7 Apply SHA256 and repeat for all the auction months.

Solution

Puzzle image depicts the Motivation of Crypto Powered Development Project, which is elaborately described in the Whitepaper. Bitcoin (BTC) started a revolution as a decentralized Crypto asset. Following the path of decentralization, enlightened by Bitcoin (BTC), Vitalik created a new world of Ethereum (ETH). Learning primarily from these two titans, Crypto Powered Development Project (CPD) is going to create a different planet. The journey began with the creation of 21 Million CPD Token on February 2, 2020. On January 3, 2021, it will be distributed to Bitcoin HODLer and auction participants, turning it into a decentralized Crypto asset. So, to hunt the puzzle key, we have two important date and three crypto assets to start with. As per roadmap, their sequence will be 2020February02 → BTC → ETH → CPD → 2021January03.

A private key is nothing but a big number. From the five keywords at hand, we will first derive a big number. In this process, date strings will be transformed from ASCII text to Decimal and Crypto string will be transformed from Base58 to Decimal. There are simple online converters that can do this. Pass 2020February02' & '2021January03' to ASCII to Hexadecimal converter and then pass the resultants to Hexadecimal to Decimal converter. Resultants are '1017938964594634486971233583312946' and '3976324085243659574432354611251' respectively. The same can be found in a single step by passing '2020February02' & '2021January03' to BrainwalletX Converter as 'Text' and converting to 'Dec'. To convert Crypto string 'BTCETHCPD' from Base58 to Decimal, pass 'BTCETHCPD' to Base58Check to Hexadecimal Decoder Online and then pass the resultant '04c153e5f2c494' to Hexadecimal to Decimal converter, which will yield '1338465991181460'. Alternatively, BrainwalletX Converter can again be used. Passing 'BTCETHCPD' as 'Base58' will result in '1338465991181460' as 'Dec'.

At this point, the big number generated from '2020February02BTCETHCPD2021January03' is '101793896459463448697123358331294613384659911814603976324085243659574432354611251'. Now, as described under Distribution section of the Whitepaper, CPD Token is auctioned off over seven months, i.e. from June, 2020 to December, 2020, and every month the amount auctioned becomes half of the previous month, making CPD Token more scarce and powerful. On the other hand, applying SHA256 on a big number yields a 64 digit hexadecimal, which can represent private key of an unique Ethereum address. So, in the process of generating puzzle address, we will power the big number with auction month number and hash it with SHA256. This process will repeat 7 times, i.e. from June, 2020 to December, 2020. There are multiple online tools that can help to perform these mathematical operations. Powering a big number can be done either by Wolfram Alpha or by Big Number Calculator by Calculator.net. SHA256 hashing can be done either by JavaScript SHA-256 demo or by SHA256 Online. On repeating these mathematical operations 7 times for 7 months, the resultant will be a 64 digit hexadecimal, which is 'b0b43752d4d54fe3dc4ffe2e37ebba11b73abb12ef8e68ad24ca79f9baaedd71'.

'b0b43752d4d54fe3dc4ffe2e37ebba11b73abb12ef8e68ad24ca79f9baaedd71' is the solution of this puzzle. Pass this 64 digit hexadecimal to ETH MOM as Private Key and it will generate 0x812DFd7fB17f148d5F0E85Cb3018f8822Ad89E91, that held 100 ETH on it.

Step by Step Process for Private Key Generation

Step 1: Keywords: 2020February02, BTC, ETH, CPD, 2021January03

Step 2: 2020February02 → ASCII to Hexadecimal converter → 3230323046656272756172793032 → Hexadecimal to Decimal converter → 1017938964594634486971233583312946

Step 3: BTCETHCPD → Base58Check to Hexadecimal Decoder Online → 04c153e5f2c494 → Hexadecimal to Decimal converter → 1338465991181460

Step 4: 2021January03 → ASCII to Hexadecimal converter → 323032314a616e756172793033 → Hexadecimal to Decimal converter → 3976324085243659574432354611251

Step 5: 2020February02BTCETHCPD2021January03 → 101793896459463448697123358331294613384659911814603976324085243659574432354611251

Step 6: 101793896459463448697123358331294613384659911814603976324085243659574432354611251^6 → Wolfram Alpha → 1112577906389930295136575819959211405811275388116205505154593094568513989086818375504492850851749406107240744717217430340732757235550013204953573828643404952228898908028042360373715855001088718598618171734330524990963641694571002094728252719570864771965631467122820695769550237956551754239551807764651323532196702650383348810202524400064060544086911480293598947672124861843887012332059367036677746163918518016600108239834978444982811608088058917301192444465729985984300333682355001

Step 7: 1112577906389930295136575819959211405811275388116205505154593094568513989086818375504492850851749406107240744717217430340732757235550013204953573828643404952228898908028042360373715855001088718598618171734330524990963641694571002094728252719570864771965631467122820695769550237956551754239551807764651323532196702650383348810202524400064060544086911480293598947672124861843887012332059367036677746163918518016600108239834978444982811608088058917301192444465729985984300333682355001 → JavaScript SHA-256 demo → 308a3a4fe34346c39252ad5a5e31d41ed821a579b754ca3a65f9cb751d95b8e5

Step 8: 308a3a4fe34346c39252ad5a5e31d41ed821a579b754ca3a65f9cb751d95b8e5 → Hexadecimal to Decimal converter → 21955244081993670360385646332288306194632240081257883252342972125401163610341

Step 9: 21955244081993670360385646332288306194632240081257883252342972125401163610341^7 → Wolfram Alpha → 2459052989846840982342741427599014967411287653067384870799562862670771356482833502070082639464342848844626230326632645601729797556337360553830924576861086775896199530006385527859291701720294005044411106077290995643507275796070036783743732516364373450912065686533248103177359848837724654610854255509912704969826469957168595970758073789184556438371155328417668501779003181238339366685730461504461410038308670070111718755526735721269678920603865676189822210082791612445657634504850844817539850639228349805362970073299625628193240214139981

Step 10: 2459052989846840982342741427599014967411287653067384870799562862670771356482833502070082639464342848844626230326632645601729797556337360553830924576861086775896199530006385527859291701720294005044411106077290995643507275796070036783743732516364373450912065686533248103177359848837724654610854255509912704969826469957168595970758073789184556438371155328417668501779003181238339366685730461504461410038308670070111718755526735721269678920603865676189822210082791612445657634504850844817539850639228349805362970073299625628193240214139981 > JavaScript SHA-256 demo > f8ce16c0ae216bde36ce6c7fc0a9f07adf21236c886152970b454a75f1cb8d07

Step 11: f8ce16c0ae216bde36ce6c7fc0a9f07adf21236c886152970b454a75f1cb8d07 → Hexadecimal to Decimal converter → 112537713977061888473962734177808115784846608226874639354740237933245939551495

Step 12: 112537713977061888473962734177808115784846608226874639354740237933245939551495^8 → Wolfram Alpha → 25726737265535320537300840503367050672277498032546294395207522208259077469155430144152703042294596196996474796872815805311717750461963712578667662629410909227382162883443219372270163042457259548429908454964524546658206628316629304120771537963100503715392656161192213044909024323049821694417201780167777166313478873521105855112758408407309012565549229720126044693226766940104914490357320674294959009460943372520859473087875563066307494420727074357530025593617728138932764386133950898095042130656373252452550077847751780198608373784927809611113853828060450645987238354800288265609525548323273040750368951748139687890625

Step 13: 25726737265535320537300840503367050672277498032546294395207522208259077469155430144152703042294596196996474796872815805311717750461963712578667662629410909227382162883443219372270163042457259548429908454964524546658206628316629304120771537963100503715392656161192213044909024323049821694417201780167777166313478873521105855112758408407309012565549229720126044693226766940104914490357320674294959009460943372520859473087875563066307494420727074357530025593617728138932764386133950898095042130656373252452550077847751780198608373784927809611113853828060450645987238354800288265609525548323273040750368951748139687890625 → JavaScript SHA-256 demo → 780996d77e379e2b2e75271cd7892db83344b1e274289f1aecc665315ffe77ab

Step 14: 780996d77e379e2b2e75271cd7892db83344b1e274289f1aecc665315ffe77ab → Hexadecimal to Decimal converter → 54294484525207752690887697341729600294834188136222847482252914892460995278763

Step 15: 54294484525207752690887697341729600294834188136222847482252914892460995278763^9 → Wolfram Alpha → 4100165890645088912069521759565702473301068761610679735907236365217748524932117720863786599512598740374233564652401723373748227481987224604717141874024984492420195056532593568677577509994157699756725548250945234141997986048395265065643569912123868438337780252981916458181170635922838256772767855952850582459814497233115715250618279780483742669456958166282221584126754297179445258462319183402693009028263708337269528140591969522981759060388081559695806297935745764212397134865780172647317959730387242604274924213171233248086601075669294901019256468944416524984651524618367283944817416281356174497795408526737479235902644135171317243158086807290681082317935016284270574587645542810365587058123

Step 16: 4100165890645088912069521759565702473301068761610679735907236365217748524932117720863786599512598740374233564652401723373748227481987224604717141874024984492420195056532593568677577509994157699756725548250945234141997986048395265065643569912123868438337780252981916458181170635922838256772767855952850582459814497233115715250618279780483742669456958166282221584126754297179445258462319183402693009028263708337269528140591969522981759060388081559695806297935745764212397134865780172647317959730387242604274924213171233248086601075669294901019256468944416524984651524618367283944817416281356174497795408526737479235902644135171317243158086807290681082317935016284270574587645542810365587058123 → JavaScript SHA-256 demo → 4a4c3f61990895a2eaee260f2b6b14aa67c10049e1d16e9411722616263e0337

Step 17: 4a4c3f61990895a2eaee260f2b6b14aa67c10049e1d16e9411722616263e0337 → Hexadecimal to Decimal converter → 33605868613335856558628428051339799812824924950789850141357386656427976557367

Step 18: 33605868613335856558628428051339799812824924950789850141357386656427976557367^10 → Wolfram Alpha → 1837178063794858176216927535691329772222059504178105735913343918525991819431767902676638046318259885993863874129245786856540579917419063752519782905456242061876547608413641673287701822199474401060024683432161804163001742233684283223000989609828035361821219015099663608361118047988436726065585523355873847489099455554582155485500798235167744353362459542017322097813775567610736241418085703989997609401767103489856109551624413423050832014835912754139702381038038027582273262766437698869021631180278475006286585639330043716230085028031218985655965464974999546866162405759144223818951232939593855453422205297693450321785791373750864381102355433050877352845809104780934577293449164518445323637040145276732460297367231487081225770932544319724686608994373944310169731442449

Step 19: 1837178063794858176216927535691329772222059504178105735913343918525991819431767902676638046318259885993863874129245786856540579917419063752519782905456242061876547608413641673287701822199474401060024683432161804163001742233684283223000989609828035361821219015099663608361118047988436726065585523355873847489099455554582155485500798235167744353362459542017322097813775567610736241418085703989997609401767103489856109551624413423050832014835912754139702381038038027582273262766437698869021631180278475006286585639330043716230085028031218985655965464974999546866162405759144223818951232939593855453422205297693450321785791373750864381102355433050877352845809104780934577293449164518445323637040145276732460297367231487081225770932544319724686608994373944310169731442449 → JavaScript SHA-256 demo → bf8f48159db305a294f1665e80f5eafd9e9b613e1e3d0fd87946a9ff7b02b732

Step 20: bf8f48159db305a294f1665e80f5eafd9e9b613e1e3d0fd87946a9ff7b02b732 → Hexadecimal to Decimal converter → 86644910718170713245327832794617468672352576954211087337236762089649730664242

Step 21: 86644910718170713245327832794617468672352576954211087337236762089649730664242^11 → Wolfram Alpha → 2066206122040063221121133941088887755178381276715634570004062021148234988982589540495335547633953699549071590645700032844875436038644792752895520372228731784083208334600602241285238198894601714644399426786730111383403659468301974410940173886361834025377031405848612502481585739009887587293576685604929333174880647774412289228435744409010410106102173019516245322116603059630419842199043336173705650890715571693885944452779376714575701265032469499884349560018500869224693232859563091516841036873787979463937554376097423479375090525476439869921050923883884821480242274187018546566738368224631798466272721642464216433941433389599114193281089104174705200000486184606381287733255291678810173382365942891599384450061268919259908586186353125070813677488089947294286076053709460090471522589516265672848819927118852257702144551435344813790150698594642577408

Step 22: 2066206122040063221121133941088887755178381276715634570004062021148234988982589540495335547633953699549071590645700032844875436038644792752895520372228731784083208334600602241285238198894601714644399426786730111383403659468301974410940173886361834025377031405848612502481585739009887587293576685604929333174880647774412289228435744409010410106102173019516245322116603059630419842199043336173705650890715571693885944452779376714575701265032469499884349560018500869224693232859563091516841036873787979463937554376097423479375090525476439869921050923883884821480242274187018546566738368224631798466272721642464216433941433389599114193281089104174705200000486184606381287733255291678810173382365942891599384450061268919259908586186353125070813677488089947294286076053709460090471522589516265672848819927118852257702144551435344813790150698594642577408 → JavaScript SHA-256 demo → e9baaef81947de25b6a3f3ad1ad247239e72bac099077e8eac1a9418c52d3df5

Step 23: e9baaef81947de25b6a3f3ad1ad247239e72bac099077e8eac1a9418c52d3df5 → Hexadecimal to Decimal converter → 105718734866543334962328006647646925282874548872973727041034491715102836604405

Step 24: 105718734866543334962328006647646925282874548872973727041034491715102836604405^12 → Wolfram Alpha → 1949052276018645767090444893072818361489881942287162073084592090518106809744481090922732236973595560426952803938806444069728670206384555900268612735848148993870129809240529732008717013975918614508431010081631841672236878914447751585117914204490686907521312362037511010986956359940483864808053578816689994715348669315236809668415606057872466401774164452293445574511371931759359344672086134998614465739312198529019610653770602578321629500650875607256547062623596919848593656203725722960012736998706986243528690276294085358238978435820921029427979702774946041098042204693410466566011536075574424800616770061855326825405639804392082532847152639422859059236111831250335173303557131060612542741147527723262938710852186343578531691191636365053317246478891935506438728903219035537303012561989456073013157863517640552159026884453028679543998669807432160322508341874062537357269717731332024927181075191006510493039515605176015869140625

Step 25: 1949052276018645767090444893072818361489881942287162073084592090518106809744481090922732236973595560426952803938806444069728670206384555900268612735848148993870129809240529732008717013975918614508431010081631841672236878914447751585117914204490686907521312362037511010986956359940483864808053578816689994715348669315236809668415606057872466401774164452293445574511371931759359344672086134998614465739312198529019610653770602578321629500650875607256547062623596919848593656203725722960012736998706986243528690276294085358238978435820921029427979702774946041098042204693410466566011536075574424800616770061855326825405639804392082532847152639422859059236111831250335173303557131060612542741147527723262938710852186343578531691191636365053317246478891935506438728903219035537303012561989456073013157863517640552159026884453028679543998669807432160322508341874062537357269717731332024927181075191006510493039515605176015869140625 → JavaScript SHA-256 demo → b0b43752d4d54fe3dc4ffe2e37ebba11b73abb12ef8e68ad24ca79f9baaedd71

Step 26: b0b43752d4d54fe3dc4ffe2e37ebba11b73abb12ef8e68ad24ca79f9baaedd71 → ETH MOM as 'Private Key' → 0x812DFd7fB17f148d5F0E85Cb3018f8822Ad89E91

Links