Vad är en blockchain?
Om du har tittat på nyheterna nyligen har du kanske hört talas om något som kallas blockchain. Det är ett koncept som gör data extremt säkra för specifika användningsområden. Du har nog hört det i samband med Bitcoin, men det har applikationer långt bortom allas favoritkryptokurver. Här är en snabb förklaring av hur det fungerar.
Allt börjar med kryptering
För att förstå blockkedjor behöver du förstå kryptering. Tanken om kryptografi är långt äldre än datorer: det betyder bara att omarrangera informationen på ett sådant sätt att du behöver en specifik nyckel för att förstå det. Den enkla dekoderringleken du hittat i din låda med Kix-spannmål är en form av den mest grundläggande kryptografin. Skapa en nyckel (även känd som en chiffer) som ersätter ett brev med ett nummer, kör ditt meddelande via nyckeln och ge sedan nyckeln till någon annan. Den som hittar meddelandet utan nyckel kan inte läsa det, om det inte är "knäckt". Militären använde mer komplex kryptografi långt före datorer (Enigma Machine kodade och avkodade meddelanden under andra världskriget).
Modern kryptering är dock helt digital. Dagens datorer använder krypteringsmetoder som är så komplexa och så säkra att det skulle vara omöjligt att bryta dem genom enkel matematik som gjorts av människor. Datorkrypteringstekniken är dock inte perfekt; det kan fortfarande vara "knäckt" om smarta nog personer attackerar algoritmen och data är fortfarande sårbara om någon annan än ägaren finner nyckeln. Men även konsumentnivå kryptering, som AES 128-bitars kryptering som nu är standard på iPhone och Android, räcker för att hålla låsta data borta från FBI.
Blockchain är en samordnad, säker datahantering
Kryptering används normalt för att låsa filer så att de endast kan nås av specifika personer. Men vad händer om du har information som behöver ses av alla - som sagt, redovisningsinformation för en statlig myndighet som måste vara offentlig enligt lag - och behöver fortfarande vara säker? Där har du ett problem: ju fler människor som kan se och redigera information, desto mindre säkra är det.
Blockkedjor utvecklades för att möta säkerhetsbehoven hos dessa specifika situationer. I en blockchain, varje gång informationen öppnas och uppdateras, ändras registreringen och verifieras, förseglas sedan av kryptering, kan inte redigeras igen. Satsen av ändringar sparas sedan och läggs till i den totala posten. Nästa gång någon gör ändringar, börjar den om igen och bevarar informationen i ett nytt "block" som är krypterat och kopplat till det föregående blocket (därav "block chain"). Den här upprepade processen förbinder den allra första versionen av informationssatsen med den senaste, så alla kan se alla ändringar som någonsin gjorts men kan bara bidra med och redigera den senaste versionen.
Denna idé är sorts resistent mot metaforer, men tänk dig att du är i en grupp med tio personer som monterar en LEGO-uppsättning. Du kan bara lägga till en bit i taget och kan aldrig ta bort några delar alls. Varje medlem i gruppen måste komma överens om specifikt var nästa del går. På så sätt kan du se alla bitar när som helst - direkt tillbaka till den allra första delen i projektet - men du kan bara ändra det senaste stycket.
För något som är lite mer relevant, kan du föreställa dig ett samarbetsdokument, som ett kalkylblad på Google Dokument eller Office 365. Alla som har tillgång till dokumentet kan redigera det och varje gång de görs sparas ändringen och spelas in som ett nytt kalkylblad, sedan låst i dokumenthistoriken. Så du kan gå tillbaka steg för steg genom de ändringar som gjorts, men du kan bara lägga till information till den senaste versionen, inte ändra tidigare versioner av kalkylbladet som redan har låsts.
Som du säkert har hört, är den här idén om en säker, ständigt uppdaterad "ledger" mestadels tillämpad på finansiella data, där det ger mest mening. Distribuerade digitala valutor som Bitcoin är den vanligaste användningen av blockchains-faktiskt var den första som gjordes för Bitcoin och idén spred sig därifrån.
Tekniska saker: Steg för steg, Blockera efter block
Hur spelar allt detta faktiskt ut på en dator? Det är en kombination av kryptering och peer-to-peer-nätverk.
Du kanske känner till fildelning mellan peer-to-peer: tjänster som BitTorrent som tillåter användare att ladda upp och ladda ner digitala filer från flera platser mer effektivt än från en enda anslutning. Föreställ dig "filerna" som kärndata i en blockchain och nedladdningsprocessen som kryptografi som håller den uppdaterad och säker.
Eller, gå tillbaka till vårt Google Docs-exempel ovan: Föreställ dig att det samarbetsdokument du arbetar med inte lagras på en server. I stället är det på varje individs dator, som ständigt kontrollerar och uppdaterar varandra för att se till att ingen har ändrat tidigare poster. Detta gör det "decentraliserat".
Det är kärnidén bakom blockchain: det är kryptografiska data som kontinuerligt är åtkomliga och säkrade samtidigt, utan någon centraliserad server eller lagring, med en förteckning över förändringar som inkorporerar sig i varje ny version av data.
Så vi har tre faktorer att överväga i detta förhållande. Ett, nätverket av peer-to-peer-användare som alla lagrar kopior av blockchain-posten. Två, de data som dessa användare lägger till i det senaste "block" av information, så att den kan uppdateras och läggas till den totala posten. Tre, de kryptologiska sekvenser som användarna genererar för att komma överens om det senaste blocket, låser det på plats i den sekvens av data som bildar posten.
Det är den sista biten som är den hemliga såsen i blockchain-smörgåsen. Med hjälp av digital kryptering bidrar varje användare till sin dators kraft för att hjälpa till att lösa några av de superkomplexa matteproblemen som håller posten säker. Dessa extremt komplexa lösningar, kända som en "hash" -resolve kärnkomponenter av data i posten, vilket konto tillagt eller subtraherade pengar i en bokföringsbok, och där pengarna gick till eller kom ifrån. Ju mer täta data desto mer komplexa krypteringen är och desto mer processorkraft behövs för att lösa det. (Det här är tanken på "gruvdrift" i Bitcoin, spelar förresten.)
Så för att sammanfatta kan vi tänka på en blockchain är en bit av data som är:
- Ständigt uppdaterad. Blockchain-användare kan när som helst komma åt data och lägga till information i det senaste blocket.
- Distribuerad. Kopior av blockchain-data lagras och säkras av varje användare, och alla måste komma överens om nya tillägg.
- Verifierad. Båda ändringar i nya block och kopior av gamla block måste överenskommas av alla användare genom kryptografisk verifiering.
- Säkra. Tampering med gamla data och förändring av metoden för att säkra ny data förhindras av både kryptografisk metod och icke-centraliserad lagring av dataen själv.
Och tro det eller inte, det blir ännu mer komplicerat än detta ... men det är den grundläggande idén.
Blockchain in Action: Visa mig de (digitala) pengarna!
Så låt oss överväga ett exempel på hur detta gäller en kryptokurrency som Bitcoin. Säg att du har ett Bitcoin och du vill spendera det på en ny bil. (Eller en cykel eller ett hus eller en liten till medelstora önation - hur mycket en Bitcoin är värt den här veckan.) Du ansluter till den decentraliserade Bitcoin blockchain med din programvara, och du skickar din förfrågan om att överföra din Bitcoin till säljaren av bilen. Transaktionen överförs sedan till systemet.
Varje person på systemet kan se det, men din identitet och säljarens identitet är bara tillfälliga signaturer, små delar av de enorma matematiska problem som utgör hjärtat av digital kryptografi. Dessa värden är anslutna till blockchain-ekvationen, och själva problemet är "löst" av medlemmarna i peer-to-peer-nätverket som genererar kryptografiska hash.
När transaktionen är verifierad flyttas en Bitcoin från dig till säljaren och spelas in på det senaste blocket i kedjan. Blocken är färdig, förseglad och skyddad med kryptografi. Nästa serie transaktioner börjar och blockchainen blir längre och innehåller en fullständig rekord över alla transaktioner varje gång den uppdateras.
Nu när du tänker på en blockchain som "säker" är det viktigt att förstå sammanhanget. Individuella transaktioner är säkra, och den totala posten är säker, så länge som metoderna som används för att säkra krypteringen förblir "uncracked". (Och kom ihåg, det här är verkligen svårt att bryta - även om FBI inte kan göra det med bara datorresurser ensam.) Men den svagaste länken i blockchain är, du, användaren.
Om du tillåter någon annan att använda din personliga nyckel för att komma åt kedjan, eller om de hittar det genom att helt enkelt hacka in i din dator, kan de lägga till blockchain med din information, och det finns inget sätt att stoppa dem. Således blir Bitcoin "stulen" i starkt publicerade attacker på stora marknader: det är de företag som driver marknaderna, inte själva Bitcoin blockchain själv, som äventyras. Och eftersom de stulna Bitcoinsna överförs till anonyma användare, genom en process som verifieras av blockchain och spelas för alltid, finns det inget sätt att hitta angriparen eller hämta Bitcoin.
Vad annat kan blockchains göra?
Blockchain-teknik började med Bitcoin, men det är en så viktig idé att den inte stannade länge. Ett system som ständigt uppdateras, tillgängligt för alla, verifieras av ett icke-centraliserat nätverk och otroligt säkert, har många olika applikationer. Finansinstitut som JP Morgan Chase och den australiensiska börsen utvecklar blockchain-system för att säkra och distribuera finansiella data (för konventionella pengar, inte kryptokurrency som Bitcoin). Stiftelsen Bill & Melinda Gates hoppas kunna använda blockchainsystem för att tillhandahålla gratis, distribuerade banktjänster till miljarder människor som inte har råd med ett vanligt bankkonto.
Open Source-verktyg som Hyperledger försöker göra blockchain-tekniker tillgängliga för ett större antal människor, i vissa fall gör det utan att behöva de mängder bearbetningseffekten som krävs för att säkra andra mönster. Samarbetande arbetssystem kan verifieras och spelas in med blockchain tekniker. Nästan allt som behöver registreras, öppnas och uppdateras kan användas på samma sätt.
Bildkredit: posteriori / Shutterstock, Lewis Tse Pui Lung / Shutterstock, Zack Copley