Om virtuella pengar…

Hur virtuella pengar fungerar och varför du inte skall försöka generera dem.clip_image002

Vad är pengar egentligen? På sätt och vis en fantastisk innovation som inte är uppenbar om du tänker efter. När du ger mig en papperslapp med texten 100 kr (men som kanske bara kostar 1 kr att tillverka) så har vi överfört ett värde som vi båda är överens om vad det är värt.

Det har tagit oss lång tid innan vi hamnade i den situation vi befinner oss i idag. I början av resan fungerade en valuta med guld som bas för pengar – du hade t.ex. rätt att växla in pengar till guld om du ville och på så sätt garanterades pengarnas värde. Att man valde guld som bärare av värde beror framförallt på att den är svår att hitta och därmed minskar du risken att du utarmar värdet. Efter ett tag så behövde vi dock mer pengar än det fanns guld och man blev tvungen att frikoppla guldet ifrån pengar. Sverige äger dock fortfarande runt 170 ton guld lagrat på hemligt ställe och som väldigt få känner till var det finns.

En intressant fråga kan dock ställas: Måste en valuta fungera på det gamla sättet i den nya digitala värld vi befinner oss i idag? BitCoin.org är ett nytt spännande sätt att försöka skapa en ny digital valuta ifrån scratch men med en mängd fördelar jämfört med andra valutor, en del nackdelar också – men de återkommer vi till.

BitCoin: Hur fungerar det?

Projektet skapades för c:a 2 år sedan med målsättningen att skapa en ”peer-to-peer” valuta bestående av ettor och nollor där riktigt värde kan skickas mellan användare utan att någon tredje part är inblandad. Det finns flera utmaningar med att skapa ett sådant system förstås. Var kommer valutan ifrån? Hur hindrar du att den skapar inflation? Hur reglerar du den? Hur stoppar du någon att inte använda samma pengar två gånger? Hur stoppar du människor att bedrägligt skapa ny valuta? Alla dessa frågor har BitCoin försökt lösa och låt oss se på hur de är adresserade i tur och ordning.

BitCoin system skapades av en japans kryptolog vid namn Satoshi Nakamoto som är anonym (möjligen en fiktiv person) och består idag av ett nätverk av datorer (din eller min) sammankopplade via ett program med öppen källkod där alla står i konstant kommunikation med varandra. Systemet kan skapa nya pengar och gör också detta i en förutbestämd takt. Alltså : Pengar kan skapas i systemet av sig själv och ges till dig – något som också har hänt andra valutor: t.ex. skapades pengar genom att du gick in i en gruva och hackade dig fram till guld. När du hittade guld så skapades plötsligt pengar som tillföll upphittaren. Men det krävde en hel del arbete och BitCoin använder delvis detta koncept kring arbete.

Det skall vara svårt att skapa pengar.

Koncept

Men först lite mer bakgrund. För mer än tio år sedan föreslog en engelsk kryptograf, Adam Back, en metod som heter Hashcash. Hashcash kan användas för att ”bevisa att du utfört ett arbete” – d.v.s. din dator måste göra något beräkningsintensivt som kostar dig någon slags arbete och kunna bevisa att den utfört detta arbete. T.ex. kan datorn vara tvungen att skapa ett hashvärde av ett epostmeddelande där denna hash måste innehålla ett antal nollor i början. För att skapa detta måste du göra ett stort antal beräkningar vilket kommer ta en stund att utföra – något som skulle kunna vara ett sätt att stoppa e-postspam. Om du behövde göra en sådan beräkning på de mail du skickar så skulle din laptop kanske göra en sådan kalkyl på 3 sekunder och knappt märka det – en skräppostsändare som skulle skicka 100-tusentals mail skulle behöva vänta kanske en månad innan han var färdig. Idén föll naturligtvis på att det finns mängder med legitima skäl att skicka massmail som skulle få liknade problem och det är svårt att komma runt. Backs koncept kring ”bevis av arbete” återanvänds dock i BitCoin systemet.

Ännu lite mer bakgrund innan vi går igenom hur en BitCoin skapas. Det finns i BitCoins system ett koncept som heter ”block”. Dessa ”block” är en kollektion av transaktioner som skapats i systemet. Alla noder i nätverket håller hela tiden på att försöka skapa dessa ”block” genom att skapa en hash av transaktionerna (och tidigare block) som måste följa vissa regler. Den som först lyckas får av systemet en belöning på 50 BitCoins vilket kan jämföras med att hitta guld. Du har fått ett värde ifrån ingenting!

Alla block är låsta till varandra genom att de innehåller varandras hash vilket skapar en kedja av block som inte går att bryta eller manipulera. Iden bygger delvis på samma teknik som ligger bakom SecureLog – mitt patent ifrån 2005 och som idag används för att säkra upp loggar hos t.ex. banker.

Så: Blir jag rik genom att starta min klient och börja försöka generar pengar? Nej, det är en direkt dålig idé. Idag finns det knappast någon mening längre att använda en CPU, det finns personer som bygger kluster av grafikkort designade att göra bitcoins beräkningar – dessa betydligt snabbare än din CPU och kommer vinna över dig – det kommer förmodligen ta år innan du lyckas skapa egna pengar. Med andra ord: när du läser det här är det försent att ”hitta guld”. Systemet korrigerar sig dessutom själv över tiden så att det blir svårare att skapa nya BitCoins när folk blir skickligare på att skapa dem och adderar mer beräkningskraft i systemet. Systemet skapar c:a 300 BitCoins i timmen och din sannolikhet att få några är din processorkraft i förhållande till hela systemets processorkraft.

Systemet kommer också anpassa sig, om man idag får 50 BitCoins för en beräkning så får man bara 25 stycken när 210 000 blocks har skapats. Vi ser alltså en halvering av belöningen och den fortsätter – systemet kommer inte kunna skapa mer än 21 miljoner BitCoins och under de första 4 åren kommer hälften av dessa att skapas. Vad händer om detta är för lite och man behöver mer pengar då? Jo, då finns det i systemet en möjlighet att använda delar av BitCoins ända ner till den 8:e decimalen. Värdet ökar alltså om behovet växer och du kan börja använda milliBitCoins istället.

Att utföra en betalning eller få betalt är relativt komplext, systemet måste naturligtvis se till att du inte kan använda samma BitCoin två gånger. Lösningen är en kombination av PKI och publika transaktioner. Alla i systemet är vittne till transaktionerna och du använder din egna publika nyckel i kombination med den publika nyckeln för mottagaren och signerar. Transaktionen låses sedan i ett block och kan sedan inte dubbleras. Notera att transaktionen utförs fullkomligt anonymt. Inget vet vem som skickade pengar eller vem som fick dem.

Skall du köpa BitCoins ?

Ok, skall du då börja investera i BitCoins? Alla håller nog med om att det är en klassisk spekulationsekonomi i början av skapandet av valutan – samtidigt – om systemet håller och blir accepterat kommer valutan stabiliseras. Jag tror dock det finns flera saker som talar emot att det kommer lyckas lyckas som systemet ser ut just nu och det handlar om risk.

Risken är att du blir bestulen: Dina BitCoins representeras av en datafil på din hårddisk – denna kommer bli föremål för attacker ifrån diverse trojaner, webhacks och social manipulation. Och nej; det spelar ingen roll om du använder Mac, Windows eller Linux, du kommer vara ett potentiellt offer för hackare som vill ta något du har på din dator. Blir du bestulen så kan du inte heller bevisa att du ägde pengarna från början eller vem som tog dem – alltså riskfritt för en tjuv om han lyckas.

Risken är att det förbjuds: Systemet har en potential att sabotera de ekonomiska samhällssystem som finns idag och som samhället baseras på. Det omöjliggör en mängd av de beskattningssystem som finns idag. Det är naturligtvis möjligt att förbjuda detta på ett sätt som skulle marginalisera valutan även om det vore ett stort steg.

Risken är att någon till slut hittar ett sätt att hacka systemet. Skulle du t.ex. hitta ett sätt att skapa nya BitCoins utan att följa reglerna så blir alla BitCoins naturligtvis värda noll och systemet kollapsar. Notera att igen dock lyckats hitta ett hål i systemet än så länge.

Slutligen: Försök inte generera egna pengar i systemet – du slösar processorkraft och energi som kan användas till något nyttigare och du är redan för sent ute.

Hur som helst – det skall bli intressant att följa framtiden för systemet.

Vill du ha ett ”Need-to-Know” Internet ?

Kan du få ökad säkerhet utan att offra integritet?

Gammal visdom säger dig att om du vill ha en ökad säkerhet så måste du vara beredd offra en del av din integritet. Har du provat att gå på ett flygplan det sista årtiondet så förstår du vad jag menar. Vad skulle hända om du skulle kunna bryta detta mönster? Tänk om du skulle kunna få både integritet och säkerhet samtidigt?

2004 introducerade forskaren Stefan Brands en process kallad U-prove för att adressera denna utmaning och 2008 köpte Microsoft upp denna teknologi. Stefan och hans medarbetare har sedan dess arbetat för att integrera idéerna i Microsofts teknologier och idag kan vi börja se resultatet av deras arbete.

Ett ”Need-to-Know” Internet

Tankarna kring att i varje situation veta precis så mycket som krävs för att utföra en uppgift men inte mer kommer ifrån militärt tänkande där risken för läckande information kan innebära att faran ökar för en operation. Samma principer gäller även på Internet där du sprider (ofta omedvetet) mängder med information om dig själv i sammanhang där de fastnar och senare kan utnyttjas i andra syften. Utmaningen är att i varje sådant sammanhang ge exakt så mycket information om dig själv som du behöver ge för att lösa en uppgift men inte en digital bit mer. Kanske även förbli anonym i scenarier där interaktionen inte kräver din unika identitet utan snarare någon annan egenskap hos dig som du vill bevisa (t.ex. ålder).

U-prove

U-prove är en teknologi för att kunna skapa sådana fungerande scenarier och säkerställa att man inte röjer mer information än nödvändigt. Jag har följt U-prove teknologin i flera år och det är roligt att nu kunna annonsera ut att vi nu öppnar upp allt intellektuellt kapital som är associerat till U-prove och släpper det under Microsoft Open Specifikation Promise . Vi släpper samtidigt två stycken bibliotek som öppen källkod under båda Java och C# så att utvecklare kan börja använda denna teknologi på riktigt.

Framtidens Internet blev just lite bättre.

Se en video som beskriver hur man kan låna böcker på bibliotek och hur studenter kan ge feedback på lärare utan att behöva röja sin identitet och undvika spårbarhet (dubbelklicka för att öppna i helskärm).

Get Microsoft Silverlight

DCSIMG

IDG skriver här. Se även www.ontheissues.se

Så här fungerar en säkerhetsuppdatering

[ifrån min krönika på trendspaning.se]

Förra veckan drabbades Internet Explorer av ett säkerhetshål som fick ett stort genomslag i media. Då jag arbetar som Microsofts talesperson i säkerhetsfrågor så ni kan föreställa er att det var en vecka som inte direkt inbjöd till långa fikapauser utan snarare till många och långa diskussioner med media och kunder. I Sverige har Microsoft en 24/7 jour med säkerhetsspecialister som kontinuerligt bedömer säkerhetsläget samt vilka åtgärder som behövs på den svenska marknaden – så även utan fikapauser blev mitt behov av kaffe tillfredställt.

Under en IT säkerhetskonferens i veckan så fick jag en fråga som jag tänkte använda den här kolumnen att reflektera över.

- Vilket IT -strategi skall jag ha kring säkerhetsuppdateringar för att känna mig komfortabel?

Innan jag återkommer till den specifika frågan så skulle jag dock vilja börja med att göra två stycken observationer.

Observation 1: 1999 fick du ett mail du inte ville ha

1999:

  • var vi mitt i Internetboomen
  • bara 1/3 av alla användare hade tillgång till Internet
  • visste ingen om att brandväggar existerade
  • låg prioriteten på att utnyttja potentialen i IT, inte på säkerhetsfrågor
  • fredagen den 23:e mars 1999 drabbades världen av Melissa, ett av vår tids mest ödesdigra e-postvirus

Från den dagen eskalerade antalet attacker mot oss; vi såg LoveLetter, Nimda, Slammer, MyDoom och Sasser ånga på i framgångsrika segertåg över jordklotet.

clip_image002

Runt mitten av 10-talet insåg man att det var nödvändigt med en fundamental förändring. En förändring kring hur användare, utvecklare och IT avdelningar ser på säkerhet. Och världen började göra motstånd.

Observation 2: Idag har vi ett bättre försvar

Om ni tittar på bilden ovanför kan man göra en intressant observation. Från år 2004 går det allt längre mellan framgångsrika attacker och trots att attackerna blir allt mer avancerade så är vi samtidigt också mer förberedda – den naivitet som fanns för 10 år sedan är inte lika utbredd idag. Programvaror blir allt bättre och får färre brister, ett exempel på detta är SDL eller Security Development Lifecycle som infördes i Microsofts utvecklingsprocess 2004. Låt oss nu 2010 ta en titt i backspegeln och se om detta har gett någon effekt?

clip_image004

Absolut! Det är dock värt att observera att antalet sårbarheter inte är noll. Komplexiteten i antalet frihetsgrader du kan använda program till i kombination med att omgivningen hela tiden förändras gör att man måste vara beredd på att täppa till eventuella nya sårbarheter som dyker upp.

Vilka verktyg har du att skydda dig?

Ett av de bästa verktygen att effektivt täppa till hål är Windows Update. Bilden nedan visar antalet felrapporter som skickades in till Microsofts felrapporteringssystem i mars 2007, fel som orsakades av trojanfamiljen Win32/Renos började infektera datorer runt i världen. Efter att en ny signaturfil till Vistas Windows Defender skickades ut via Windows Update kan man se en snabb minskning ifrån 1,2 miljoner till c:a 100 000 rapporter per dag.

clip_image006

Det ser enkelt ut men en uppdatering ifrån Windows Update är något som måste tas på allra största allvar. När vi trycker på knappen för en uppdatering så uppdateras i ett första steg direkt mellan 350-500 miljoner datorer med en hastighet på över 500 gigabits per sekund och i nästa våg uppdaterar företag med egna uppdateringsservrar minst lika många. Det räcker inte att vara 99 % säker på att det kommer fungera.

Konklusion: Sitt inte still i båten

På den positiva sidan så lever i en allt mer förberedd värld men hoten ökar samtidigt också i omfattning tyvärr. Att skapa en IT-säkerhetsstrategi handlar inte om att hoppa mellan olika programvaror i hopp om att hitta lösningar utan fel eller att försöka gömma dig för problemet och stoppa huvudet i sanden; det handlar om att inse att världen ändrar sig blixtsnabbt och att du måste både vara beredd på att blixten kan träffa just dig eller ännu hellre vara tillräckligt snabb för att undvika den. Se till att du har möjlighet att vara flexibel utan onödiga inlåsningar, slå på automatisk uppdatering (det är ett fantastiskt verktyg) och förstå att det som var säkert igår inte nödvändigtvis är säkert idag.

Så, sitt inte still i båten om du har läckor utan täta hålen med rätt verktyg.