Så knäcker du BitCoin

är byggt med hjälp av ett antal olika algoritmer. Dessa algoritmer är skapade för att försvåra det som kallas för -mining samt så används dem även för verifiering av BitCoins. Eventuella sårbarheter skulle ej resultera i att det går att skapa fiktiva pengar eftersom detta ligger i den decentraliserade strukturen (peer-to-peer).

De algoritmer som används är  samt   men även  (EC DSA) och mer specifikt . kommer från den öppna standarden SEC2 (läs även här).

När någon ska överföra BitCoins till en annan person så används ECDSA:

Alice signerar transaktionen med sin privata nyckel och publicerar denna signatur för andra på  Bitcoin-nätverket att kontrollera med sin publika nyckel

Dock så signeras enbart en hash av meddelandet pg.a. prestanda. För denna hash så används SHA-256 på följande sätt:

template<typename T1>
inline uint256 Hash(const T1 pbegin, const T1 pend)
{
    static unsigned char pblank[1];
    uint256 hash1;
    SHA256((pbegin == pend ? pblank : (unsigned char*)&pbegin[0]), (pend - pbegin) * sizeof(pbegin[0]), (unsigned char*)&hash1);
    uint256 hash2;
    SHA256((unsigned char*)&hash1, sizeof(hash1), (unsigned char*)&hash2);
    return hash2;
}

Ungefär som PGP så använder Bitcoin publika och privata -nyckelpar för att göra signaturer, men också för att publicera ett fingeravtryck vilket eg. är en RIPEMD-160-hash som gört det möjligt att skicka BitCoins till någon. BitCoin är ännu relativt otestat och svagheter eller implementationsbrister uppdagats kontinuerligt i BitCoin och här kan du läsa om en intressant uppdatering.

Så om du vill knäcka BitCoin så är det förfarande som skapar nya BitCoins det lättaste sättet i dagsläget. Ett antal metoder har publicerats och här hittar du en.

Uppdatering: Finurligt sätt att använda JavaScript för att låta webb-besökare söka efter BitCoins. Om Aftonbladet.se eller en annan stor sajt lägger in denna JavaScript-kod så kommer de att vinna lotteriet.

 

Skriv en kommentar

Du kan använda följande HTML HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>