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. Det här är en snabb förklaring av hur det fungerar.
RELATERAD: Vad är bitcoin och hur fungerar det?
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 information på ett sådant sätt att du behöver en specifik nyckel för att förstå den. 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 nyckeln 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.
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äker är det.
Blockkedjor utvecklades för att möta säkerhetsbehovet i 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 startar den om och om igen, behåller 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 till och redigera den senaste versionen.
Denna idé är typ av 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 åt gången 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 när som helst se alla bitar - direkt tillbaka till den allra första delen i projektet - men du kan bara ändra det senaste stycket.
För något lite mer relevant, föreställ dig ett samarbetsdokument, som ett kalkylblad på Google Docs eller Office 365. Alla som har tillgång till dokumentet kan redigera det och varje gång de gör ändras sparningen och spelas in som ett nytt kalkylblad och låses sedan i dokumenthistoriken. Så du kan gå tillbaka steg för steg genom de ändringar som gjorts, men du kan bara lägga till information i den senaste versionen, inte ändra tidigare versioner av kalkylbladet som redan har låsts.
Som du säkert har hört, Denna uppfattning om en säker, ständigt uppdaterad "ledger" tillämpas mestadels 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 ideen spred sig därifrån.
Hur spelar allt detta faktiskt ut på en dator? Det är en kombination av kryptering och peer-to-peer-nätverk.
RELATERAT: Hur fungerar BitTorrent?
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 exempel på Google Dokument: föreställ dig att samarbetsdokumentet du är Att arbeta på är inte lagrat på en server. Istä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. Det gör det "decentraliserat".
Det är kärnanvändningen 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 i den totala posten. Tre, de kryptologiska sekvenser som användarna genererar för att komma överens om det senaste blocket, låser den 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 matematiska problemen som håller rekordet säkert. Dessa extremt komplexa lösningar, kända som en "hash" -resolve kärnkomponenter av data i posten, som vilket konto tillfogade 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.)
Såsom sammanfattningsvis kan vi tänka på en blockchain är en bit av data som är:
Och tro det eller inte, det blir ännu mer komplicerat än det här ... men det är Grundsidan.
Så låt oss överväga ett exempel på hur detta gäller en kryptokurrency som Bitcoin. Säg att du har en Bitcoin och du vill spendera den 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. Din transaktion ö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 matteproblemen 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 hasher.
När transaktionen är verifierad flyttas en Bitcoin från dig till säljaren och spelas in på det senaste blocket i kedjan. Blocket är färdigt, förseglat och skyddat 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.
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 metoderna som används för att säkra krypteringen förblir "uncracked". (Och kom ihåg att dessa saker är verkligen svåra att bryta - även om FBI kan " t gör det bara 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 den av helt enkelt hacka i din dator, de kan göra tillägg 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-blockchainen, som äventyras. Och eftersom de stulna Bitcoinsna överförs till anonyma användare, genom en process som verifierats av blockchainen och spelas för evigt, finns det ingen möjlighet att hitta angriparen eller hämta Bitcoin.
Blockchain-teknik startade med Bitcoin, men det är en så viktig idé att det 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 cryptocurrency 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 en ett bredare utbud av människor, i vissa fall gör det utan att behöva de monströsa mängder bearbetningseffekt 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
Så här köper och säljer du de digitala filmkoderna som följer med dina skivor
För närvarande går vi över i en helt digital värld av underhållning, och vi kommer snart kunna mer eller mindre glömma DVD, CD, Blu-ray och spelpatroner. Men medan vi sitter i denna övergångsperiod försöker filmstudior att få oss att fortsätta köpa filmer på skivan genom att söta potten med fria koder för digitala kopior.
Hur man utesluter vissa användare i en Twitter-svar
Twitter gjorde nyligen ändringar i sitt webbgränssnitt som tar bort användarnamn från svar, men det gör det lite svårare att utesluta vissa användare från ett svar . Så här fungerar det nu. Låt oss säga att jag vill svara på en tweet som en vän skickade ut, men i deras tweet nämner de en annan användare.