Du kanske har missat en fantastisk möjlighet att bli en Ethereum-miljonär!
Ett stort fel, arkiverat under titeln "Ethereum-kontobalansmanipulation", tillät för åtkomst till ett obegränsat utbud av etrar i din plånbok genom att följa en serie steg som involverar en smart kontraktsutförande med en felaktig transaktion eller en felaktig adressplånbok. Men möjligheten är borta, eftersom felet nu är fixat.
Hur föll drama upp?
Ett holländskt fintechföretag som heter VI Company identifierade och rapporterade sårbarheten för Coinbase under december förra året. USA: s största cryptocurrency-utbyte vidtog snabbt, men det tog nästan en månad att fixa felet senare i januari. (Se även Coinbase: Vad är det och hur använder du det?)
VI-företaget belönades av Coinbase-utbytet med ett prisbelopp på 10 000 USD för sin öppen rapportering av frågan, och frågan offentliggjordes.
Hur tillät buggen obegränsad ETH-leverans?
Ethereum använder smarta kontrakt som en integrerad del av sitt nätverk. Sårbarheten fanns vid överföring av medel via smarta kontrakt i följande scenario.
Säg, en användare använde smarta kontrakt för att distribuera etrar över en uppsättning flera plånböcker. Denna standardövning skulle resultera i flera transaktioner i Ethereum-nätverket. Om en sådan mellanliggande transaktion misslyckas kommer alla andra transaktioner innan den också att återföras på grund av smarta kontraktens arbetsmekanism. (Se även Ethereum Smart Contracts som är sårbara för hacker: $ 4 miljoner eter i riskzonen.)
Problemet uppstår dock på Coinbase-kontot där dessa transaktioner inte kommer att vändas. Det gjorde det möjligt för en person att lägga ett oändligt antal etrar till sin balans. Även om du tittar upp Coinbase-plånbokadressen kommer att avslöja att den inte krediteras med någon eter, kommer personens Coinbase-plånbok att visa symbolerna.
I huvudsak kan en användare använda ett smart kontrakt för att initiera överföring av medel som är uppdelad i hundratals transaktioner. Om användaren avsiktligt ställer in en felaktig transaktion i slutet, kommer alla tidigare att vändas, och krediterar hans / hennes plånbok med det kumulativa antalet tokens.
HackerOne visar följande steg av VI Company för att återge problemet:
- Ställ in ett smart kontrakt med några giltiga Coinbase-plånböcker och en slutlig defekt plånbok som alltid kastar undantag när du får pengar smart kontrakt. Överför lämpliga medel till det smarta kontraktet. Utan att lämna den smarta kontraktsplånboken börjar du utföra det smarta kontraktet. Det lägger till den inställda mängden eter i Coinbase plånböcker. Eftersom hela transaktionen kommer att misslyckas vid den sista plånboken, kommer alla tidigare transaktioner att omvända, men de kommer inte att omvända på Coinbase-kontot. Personen som utför denna procedur kan nu utbetala eller överföra önskade eter till annan plånbok
Även om det inte finns några rapporter om några stora kränkningar eller missbruk på grund av detta fel, har Coinbase bekräftat "oavsiktlig förlust". I en sammanfattande anmärkning nämner Coinbase: ”Problemet åtgärdades genom att ändra kontraktens hanteringslogik. Analys av frågan indikerade endast oavsiktlig förlust för Coinbase och inga exploateringsförsök. ”(Se också, Kan Bitcoin hackas?)
