Alt begynner med kryptering
For å forstå blokker, må du forstå kryptering. Ideen om kryptering er langt eldre enn datamaskiner: det betyr bare å omorganisere informasjon på en slik måte at du trenger en bestemt nøkkel for å forstå det. Den enkle dekoderringleken du fant i esken med Kix-korn er en form for den mest grunnleggende kryptografien. Lag en nøkkel (også kjent som en kryptering) som erstatter et brev med et nummer, kjør meldingen din gjennom nøkkelen, og gi deretter nøkkelen til noen andre. Enhver som finner meldingen uten nøkkelen kan ikke lese den, med mindre den er "sprukket." Militæret brukte mer komplisert kryptering lenge før datamaskiner (Enigma Machine kodet og dekodet meldinger under andre verdenskrig, for eksempel).
Modern kryptering er imidlertid helt digital. Dagens datamaskiner bruker krypteringsmetoder som er så komplekse og så sikre at det ville være umulig å bryte dem ved hjelp av enkle matte gjort av mennesker. Datakrypteringsteknologi er ikke perfekt, skjønt; det kan fortsatt være "sprakk" hvis smarte nok folk angriper algoritmen, og dataene er fortsatt sårbare hvis noen bortsett fra eieren finner nøkkelen. Men selv kryptering på forbrukernivå, som AES 128-bit kryptering som nå er standard på iPhone og Android, er nok til å holde låst data vekk fra FBI.
The Blockchain er en samarbeidspartner, Secure Data Ledger
Kryptering brukes normalt til å låse filer slik at de kun kan nås av bestemte personer. Men hva om du har informasjon som trenger å bli sett av alle, for eksempel si regnskapsinformasjonen til et statlig byrå som må være offentlig ved lov - og det må fortsatt være sikkert? Der har du et problem: Jo flere personer som kan se og redigere informasjon, desto mindre sikkert er det.
Blockchains ble utviklet for å møte sikkerhetsbehovene til disse spesifikke situasjonene. I en blokkering, hver gang informasjonen blir åpnet og oppdatert, blir endringen registrert og verifisert, og deretter forseglet ved kryptering, kan den ikke redigeres igjen. Sett med endringer lagres deretter og legges til totalopptaket. Neste gang noen gjør endringer, starter den hele tiden igjen, og beholder informasjonen i en ny "blokk" som er kryptert og festet til forrige blokk (dermed "blokkkjede"). Denne repeterende prosessen forbinder den aller første versjonen av informasjonssettet med den nyeste, slik at alle kan se alle endringene som er gjort, men kan bare bidra og redigere den nyeste versjonen.
For noe litt mer relevant, tenk et samarbeidspapir, som et regneark på Google Docs eller Office 365. Alle som har tilgang til dokumentet, kan redigere det, og hver gang de gjør det, lagres endringen og registreres som et nytt regneark, så låst i dokumenthistorikken. Så du kan gå tilbake trinnvis gjennom endringene, men du kan bare legge til informasjon i den nyeste versjonen, og ikke endre tidligere versjoner av regnearket som allerede er låst.
Som du sikkert har hørt, er denne ideen om en sikker, kontinuerlig oppdatert "ledger" mest brukt på økonomiske data, hvor det gir mest mening. Distribuerte digitale valutaer som Bitcoin er den vanligste bruken av blokkkjeder. Faktisk ble den aller første laget for Bitcoin, og ideen spredte seg derfra.
Tekniske ting: Trinn for trinn, Blokker etter blokk
Hvordan spiller alt dette faktisk ut på en datamaskin? Det er en kombinasjon av kryptering og peer-to-peer-nettverk.
Du kan kanskje være kjent med peer-to-peer-fildeling: tjenester som BitTorrent som tillater brukere å laste opp og laste ned digitale filer fra flere steder mer effektivt enn fra en enkelt tilkobling. Tenk på "filene" som kjerne data i en blokk, og nedlastingsprosessen som kryptering som holder den oppdatert og sikker.
Eller, for å gå tilbake til vårt eksempel på Google Dokumenter ovenfor: tenk at samarbeidsdokumentet du jobber med, ikke er lagret på en server. I stedet er det på hver enkelt persons datamaskin, som kontinuerlig sjekker og oppdaterer hverandre for å sikre at ingen har endret tidligere poster. Dette gjør det "decentralisert".
Det er kjernen ideen bak blockchain: Det er kryptografiske data som kontinuerlig åpnes og sikres samtidig, uten sentralisert server eller lagring, med en oversikt over endringer som inkorporerer seg i hver ny versjon av dataene.
Det er den siste biten som er den hemmelige sausen i blockchain-sandwichen. Ved hjelp av digital kryptering, bidrar hver bruker til datamaskinens kraft for å hjelpe til med å løse noen av de superkomplekse matteproblemer som holder rekordet sikkert. Disse ekstremt komplekse løsningene, kjent som en "hash" -resolve kjernedelen av dataene i posten, som hvilken konto lagt til eller trukket penger i en regnskapslogger, og hvor pengene gikk til eller kom fra. Jo mer tett dataene er, jo mer komplekse kryptografi, og jo mer prosessorkraft er nødvendig for å løse det. (Dette er hvor ideen om "gruvedrift" i Bitcoin kommer til spill, forresten.)
Så, for å oppsummere, kan vi tenke på en blockchain er et datatykke som er:
- Konstant oppdatert. Blockchain-brukere kan når som helst få tilgang til dataene, og legge til informasjon i den nyeste blokken.
- Fordelt. Kopier av blockchain-dataene lagres og sikres av hver bruker, og alle må være enige om nye tillegg.
- Verifisert. Begge endringer i nye blokker og kopier av gamle blokker må avtales av alle brukere gjennom kryptografisk verifisering.
- Sikre. Tampering med de gamle dataene og endring av metoden for sikring av ny data forhindres av både kryptografisk metode og ikke-sentralisert lagring av dataene selv.
Og tro det eller ikke, det blir enda mer komplisert enn dette … men det er grunnleggende ideen.
The Blockchain in Action: Vis meg (digitale) penger!
Så la oss vurdere et eksempel på hvordan dette gjelder for en kryptokurrency som Bitcoin. Si at du har en Bitcoin, og du vil bruke den på en ny bil. (Eller en sykkel eller et hus eller en liten til mellomstore ønasjon - hvor mye en Bitcoin er verdt i denne uken.) Du kobler til den desentraliserte Bitcoin blockchain med programvaren din, og du sender din forespørsel om å overføre din Bitcoin til selgeren av bilen. Transaksjonen overføres deretter til systemet.
Hver person på systemet kan se det, men identiteten din og selgerens identitet er bare midlertidige signaturer, små elementer av de store matteproblemer som danner hjertet av digital kryptografi. Disse verdiene er koblet til blokkeringsligningen, og selve problemet er "løst" av medlemmene på peer-to-peer-nettverket som genererer kryptografi-hash.
Når transaksjonen er bekreftet, flyttes en Bitcoin fra deg til selgeren og registreres på den siste blokken i kjeden. Blokken er ferdig, forseglet og beskyttet med kryptografi. Neste serie transaksjoner begynner, og blokkkjeden vokser lengre, og inneholder en fullstendig oversikt over alle transaksjoner hver gang den oppdateres.
Nå, når du tenker på en blockchain som "sikker", er det viktig å forstå konteksten. Individuelle transaksjoner er sikre, og den totale platen er sikker, så lenge metodene som brukes for å sikre krypteringen forblir "uncracked." (Og husk, dette er ting egentlig vanskelig å ødelegge - selv om FBI ikke kan gjøre det med bare databehandlingsressurser alene.) Men den svakeste koblingen i blockchain er, vel du-brukeren.
Hvis du tillater noen andre å bruke din personlige nøkkel for å få tilgang til kjeden, eller hvis de finner den ved å bare hack inn i datamaskinen din, kan de legge til blokkeringen med informasjonen din, og det er ingen måte å stoppe dem på. Slik blir Bitcoin "stjålet" i svært publiserte angrep på store markeder: Det er de selskapene som opererte markedene, ikke selve Bitcoin-blokkkjeden, som ble kompromittert. Og fordi de stjålne Bitcoins blir overført til anonyme brukere, gjennom en prosess som er verifisert av blockchain og registrert for alltid, er det ingen måte å finne angriperenellerhente Bitcoin.
Hva annet kan blokkere gjøre?
Blockchain-teknologi startet med Bitcoin, men det er en så viktig idé at det ikke ble lenge der. Et system som er kontinuerlig oppdatert, tilgjengelig for alle, bekreftet av et ikke-sentralisert nettverk, og utrolig sikkert, har mange forskjellige applikasjoner. Finansinstitusjoner som JP Morgan Chase og Australian Stock Exchange utvikler blockchain-systemer for å sikre og distribuere økonomiske data (for konvensjonelle penger, ikke kryptokurs som Bitcoin). Bill og Melinda Gates-stiftelsen håper å bruke blockchain-systemer for å tilby gratis, distribuert banktjenester til milliarder mennesker som ikke har råd til en vanlig bankkonto.
Open source-verktøy som Hyperledger prøver å gjøre blockchain-teknikker tilgjengelige for et bredere spekter av mennesker, i noen tilfeller gjør det uten at de trenger store mengder prosessorkraft for å sikre andre design. Samarbeide arbeidssystemer kan verifiseres og registreres med blockchain teknikker. Nesten alt som må registreres, åpnes og oppdateres kontinuerlig, kan brukes på samme måte.