Van Bitcoin logo tot Wikileaks: van alles is verstopt in de Bitcoin blockchain
Vorige week kon je al lezen dat er een heleboel leuke, grappige maar ook serieuze boodschappen in de Bitcoin blockchain verstopt zitten, van de Rickroll tot Nelson Mandela (zie onderaan dit artikel). Maar er is nog veel meer.
Bitcoin logo
Zo zit ook het Bitcoin logo verstopt in de gedistribueerde database. Mensen kwamen er al snel achter dat het mogelijk is om een beetje informatie in de blockchain te coderen door hexadecimale data te gebruiken in plaats van Bitcoin adressen. Een van de eerste keren dat dit werd toegepast was met het Bitcoin logo.
Het logo zit verstopt in twee transacties:
Deze twee transacties bestaan uit respectievelijk 280 en 180 outputs. Als je naar de eerste ScriptPubKey van de eerste transactie kijkt, is het adres 3d79626567696e206c696e653d3132382073697a, wat omgezet staat voor =ybegin line=128 siz.
Deze omzetting is gedaan vanuit ASCII tekst op basis van de American Standard Code for Information Interchange encoding standaard. De informatie is gecodeerd met de yEnc codering uit 2001.
Als je alle data uit deze transacties bij elkaar voegt, krijg je de bitcoin.jpg afbeelding, wat het logo van Bitcoin representeert.
Vanity adressen
Bitcoin adressen bestaan uit 34 tekens en dus kun je ook met de tekens in deze adressen spelen.
Ten eerste kun je tekst in een adres plaatsen (of verkrijgen), is door miljoenen of miljarden private keys te bruteforcen, in de hoop om op een willekeurige manier een paar tekens in de juiste volgorde te krijgen. Dan krijg je een ‘vanity’ adres dat gewoon een geldig Bitcoin adres is.
Een voorbeeld is Bitcoin Armory, dat het donatieadres 1ArmoryXcfq7TnCSuZa9fQjRYwJ4bkRKfv gebruikt. De eerste zes karakters staan op de goede volgorde, en de rest is willekeurig.
Oplichters gebruikten deze manier in het verleden ook om geld af te troggelen. Ze maakten ze adressen waarin Elon stond, verwijzend naar Elon Musk, de man achter Tesla en SpaceX.
Er zijn ook willekeurige adressen waarvan niemand de private key heeft. Alle Bitcoin die hier naar toe zijn verstuurd, zullen uit circulatie gaan.
Sommige van deze adressen hebben al aanzienlijke bedragen ontvangen: 1BitcoinEaterAddressDontSendf59kuE. heeft meer dan 1,6 BTC ontvangen. 1111111111111111111114oLvT2 (hex 0) zelfs al bijna 3 BTC.
Op het adres 1CounterpartyXXXXXXXXXXXXXXXUWLpVr staat 2130 BTC die nooit iemand meer kan gebruiken. Het idee hierachter is dat Counterparty een eigen cryptovaluta (XCP) uitgeeft voor iedere BTC die verloren is gegaan.
Op basis van Proof of Burn willen ze zo de distributie eerlijker maken door het bij miners weg te nemen.
WikiLeaks
Daarnaast zit er ook voor 2,5 MB aan bestanden over WIkiLeaks op de blockchain. Dit heet ‘cablegate-201012041811.7z’ en het wordt gevolgd met een beetje informatie waarin staat uitgelegd hoe je toegang kunt krijgen tot de Wikileaks Cablegate Backup.
Deze Cablegate komt uit 2010 en het gaf informatie vrij over het Amerikaanse ministerie van Buitenlandse Zaken en politieke uitlatingen die tussen december 1966 en februari 2010 zijn gedaan.
Het bevat diplomatieke analyses van wereldleiders en ook geheimen van diplomaten hun functionarissen.
Wikileaks Cablegate Backup cablegate-201012041811.7z
Download the following transactions with Satoshi Nakamoto’s download tool which can be found in transaction 6c53cd987119ef797d5adccd76241247988a0a5ef783572a9972e7371c5fb0cc
Free speech and free enterprise! Thank you Satoshi!
5c593b7b71063a01f4128c98e36fb407b00a87454e67b39ad5f8820ebc1b2ad5
221d900b5ac701028f9dfab7dfba326f608308386d45c05432e721b7c122cba7
… 128 lines of transaction ids deleted …
Het downloaden van de data uit de blockchain is onhandig, aangezien je met de downloadtool in totaal 130 stukjes (chunks) van 20 KB afzonderlijk moet downloaden.
De transactie is doorgelinkt naar een gelekte private key en 1.000 hex bytes aan tekst. Waarschijnlijk is dit weer de private key van een firmware. Het wisselgeld van de transactie refereert naar een Wikipedia met illegale priemgetallen.
Zo’n illegaal priemgetal is een priemgetal dat informatie vertegenwoordigt waarvan het bezit of de distributie in sommige juridische jurisdicties verboden is.
Het lijkt erop dat iemand probeerde om onbetrouwbare dingen op de Bitcoin blockchain vast te leggen.
Laten we afsluiten met een minder controversieel onderwerp: Valentijnsdag. Er zitten namelijk ook een aantal cupido’s in de blockchain.
LOVEKi, my love for you is embedded in the blockchain 4ever.
LOVEThe Blockchain is forever, but you girlfriend may not be
LOVEYou are the smartest and most beautiful woman I have ever met!
LOVEbeste qn li ik ben blij dat je myn valentyn bent ik hoop dat onze btc+doge straks 100m is (..)
Deel 1
Eerder berichtten we al over Mandela en de Rickroll. Zie hieronder de update van vorige week.
Een Bitcoin transactie is niets meer en niets minder dan een beetje data. Aan door deze data op een slimme manier in te zetten, kun je hiermee een boodschap overbrengen. En dit levert een aantal leuke (verborgen) verrassingen op!
Bitcoin block door Satoshi
De bekendste boodschap in de blockchain is misschien wel die van Satoshi in het Genesis Block. De anonieme bedenker bracht Bitcoin in januari 2009 tot leven door het eerste block te minen. Vervolgens liet hij/zij een krantenkop achter in de coinbase van dit block:
Het verwijst naar de instabiliteit van het economische systeem toen de bankencrisis in 2008 losbarstte. Bitcoin is als decentraal betaalmiddel een reactie op het falend bankwezen.
Er is echter veel meer achtergelaten in de blockchain. Righto heeft in een blogpost de leukste boodschappen verzameld en op een rijtje gezet.
Mandela in een (nep)transactie
Elke transactie wordt opgeslagen in de gedistribueerde database. Dit is de Bitcoin blockchain. En als jij een node draait en deze blockchain bijhoudt, controleert en verifieert heb je ook een aantal leuke dingen op jouw harde schijf staan.
Ze bevat de blockchain een afbeelding van Nelson Mandela en tekst hierover. Iemand heeft deze data gecodeerd in nepadressen. De data staat als hex value (hexadecimaal) in de blockchain.
Dit is voor elkaar gekregen door een klein beetje Bitcoin te verzenden naar nepadressen, zoals 15gHNr4TCKmhHDEG31L2XFNvpnEcnPSQvd.
Dit adres wordt in de blockchain als hex opgeslagen als 334E656C736F6E2D4D616E64656C612E6A70673F. En als je deze hex bytes naar Unicode omzet, krijg je de string 3Nelson-Mandela.jpg ?.
Dit is de bestandsnaam van de afbeelding. Als je alle daaropvolgende (nep)adressen uit dezelfde transactie ook converteert, krijg je alle benodigde data om een afbeelding te maken.
In totaal zijn er 32 transacties gedaan en zijn er dus 32 UTXO’s die samengevoegd resulteren in één afbeelding van Nelson Mandela.
Humor op de blockchain
Als je niet oppast wordt je ook nog gerickrolled. Deze internetgrap bestaat namelijk ook op Bitcoin. De lyrics van Never Gonna Give You Up! staan ook in de blockchain. De metadata zit met Base-64 gecodeerd in block 264.971 in een totaal van 58 outputs.
Maar niet alle boodschappen zijn grappig bedoeld. Zo staat er ook een stukje JavaScript in de blockchain die een mogelijke XSS-aanval aantoont.
Een veelvoorkomend beveiligingslek op websites is cross-site scripting (XSS). Hierbij probeert de hacker een JavaScript op een website te zetten die door slachtoffers worden bekeken.
Verrassend genoeg was zo’n aanval ook mogelijk via Bitcoin. De output script van de transactie was namelijk een hex met de volgende boodschap:
Het zou zo kunnen dat websites het script zouden gaan uitvoeren. Gelukkig stond er niets kwaadaardigs in en was het slechts een waarschuwing.
Tot slot is er ook een ode gebracht aan cryptograaf Len Sassaman. Een aantal weken na zijn overlijden in 2011 verscheen de volgende tekst in de blockchain: