Wat is een Blockchain?
Als je de laatste tijd naar het nieuws hebt gekeken, heb je misschien wel eens gehoord van iets dat een blockchain wordt genoemd. Het is een concept dat gegevens ultraveilig maakt voor specifieke toepassingen. Je hebt het waarschijnlijk gehoord in verband met Bitcoin, maar het heeft toepassingen die ver buiten ieders favoriete cryptocurrencies liggen. Hier is een korte uitleg over hoe het werkt.
Alles begint met versleuteling
Om blockchains te begrijpen, moet je cryptografie begrijpen. Het idee van cryptografie is veel ouder dan computers: het betekent alleen dat je informatie op zo'n manier herschikt dat je een specifieke sleutel nodig hebt om het te begrijpen. Het eenvoudige decoder-ringspeelgoed dat je in je doos met Kix-ontbijtgranen hebt gevonden, is een vorm van de meest elementaire cryptografie: maak een sleutel (ook wel een cijfer genoemd) die een letter met een nummer vervangt, voer je bericht door de sleutel en geef de sleutel tot iemand anders. Iedereen die het bericht zonder de sleutel vindt, kan het niet lezen, tenzij het "gekraakt" is. Het leger gebruikte complexere cryptografie lang voordat computers (de Enigma-machine codeerde en decodeerde berichten tijdens de Tweede Wereldoorlog, bijvoorbeeld).
Moderne codering is echter volledig digitaal. De hedendaagse computers gebruiken versleutelingsmethoden die zo complex en veilig zijn dat het onmogelijk is ze te verbreken door eenvoudige wiskunde door mensen. Computerversleutelingstechnologie is echter niet perfect; het kan nog steeds "gekraakt" worden als slim genoeg mensen het algoritme aanvallen en gegevens nog steeds kwetsbaar zijn als iemand behalve de eigenaar de sleutel vindt. Maar zelfs codering op consumentenniveau, zoals de AES 128-bits codering die nu standaard is op de iPhone en Android, is voldoende om vergrendelde gegevens bij de FBI weg te houden..
De Blockchain is een Collaborative, Secure Data Ledger
Versleuteling wordt normaal gesproken gebruikt om bestanden te vergrendelen, zodat ze alleen toegankelijk zijn voor specifieke mensen. Maar wat als u informatie heeft die iedereen moet zien - zoals bijvoorbeeld de boekhoudkundige informatie voor een overheidsinstantie die volgens de wet openbaar moet zijn - en toch veilig moet zijn? Daar heb je een probleem: hoe meer mensen informatie kunnen zien en bewerken, hoe minder veilig het is.
Blockchains werden ontwikkeld om aan de beveiligingsbehoeften van deze specifieke situaties te voldoen. In een blockchain wordt de wijziging telkens wanneer de informatie wordt geopend en bijgewerkt, geregistreerd en geverifieerd, vervolgens afgeschermd door codering, en niet meer opnieuw bewerkt. De set wijzigingen wordt vervolgens opgeslagen en toegevoegd aan het totale record. De volgende keer dat iemand wijzigingen aanbrengt, begint het helemaal opnieuw, waarbij de informatie wordt bewaard in een nieuw "blok" dat is gecodeerd en aan het vorige blok is gekoppeld (vandaar "blokkeringsketen"). Dit herhalende proces verbindt de allereerste versie van de informatieset met de nieuwste, zodat iedereen alle wijzigingen ooit kan zien, maar alleen de nieuwste versie kan bijdragen en bewerken.
Dit idee is een beetje resistent tegen metaforen, maar stel je voor dat je in een groep van tien mensen een LEGO-set monteert. Je kunt maar één stuk per keer toevoegen en nooit stukken verwijderen. Elk lid van de groep moet specifiek overeenkomen waar het volgende stuk gaat. Op deze manier kun je alle stukken op elk gewenst moment zien - meteen terug naar het eerste stuk in het project - maar je kunt alleen het laatste stuk wijzigen.
Voor iets relevanters, stel je een samenwerkingsdocument voor, zoals een spreadsheet op Google Docs of Office 365. Iedereen die toegang heeft tot het document kan het bewerken en elke keer dat ze dit doen, wordt de wijziging opgeslagen en opgenomen als een nieuwe spreadsheet, vervolgens vergrendeld in de documentgeschiedenis. U kunt dus stap voor stap teruggaan naar de gemaakte wijzigingen, maar u kunt alleen informatie toevoegen aan de nieuwste versie, de eerdere versies van de spreadsheet die al zijn vergrendeld niet wijzigen.
Zoals u waarschijnlijk wel hebt gehoord, wordt dit idee van een veilig, voortdurend bijgewerkt 'grootboek' meestal toegepast op financiële gegevens, waar dit het meest logisch is. Gedistribueerde digitale valuta's zoals Bitcoin zijn het meest voorkomende gebruik van blockchains - in feite is de allereerste gemaakt voor Bitcoin en het idee verspreidde zich vanaf daar.
De technische zaken: stap voor stap blokkeren per blok
Hoe verloopt dit allemaal op een computer? Het is een combinatie van cryptografie en peer-to-peer netwerken.
U bent misschien bekend met peer-to-peer bestandsdeling: services zoals BitTorrent waarmee gebruikers digitale bestanden van meerdere locaties efficiënter kunnen uploaden en downloaden dan via een enkele verbinding. Stel je de "bestanden" voor als de kerngegevens in een blockchain, en het downloadproces als de cryptografie die het up-to-date en beveiligd houdt.
Of om terug te gaan naar ons Google Documenten-voorbeeld: stel je voor dat het samenwerkingsdocument waar je aan werkt niet op een server wordt opgeslagen. In plaats daarvan bevindt deze zich op de computer van elke persoon, die voortdurend elkaar controleert en bijwerkt om er zeker van te zijn dat niemand de vorige records heeft gewijzigd. Dit maakt het "gedecentraliseerd".
Dat is de kerngedachte achter de blockchain: het zijn cryptografische gegevens die continu worden geopend en beveiligd, zonder een gecentraliseerde server of opslag, met een record van wijzigingen die zichzelf opnemen in elke nieuwe versie van de gegevens.
Dus we hebben drie elementen om in deze relatie te overwegen. Ten eerste het netwerk van peer-to-peer-gebruikers die allemaal kopieën van de blockchain-record opslaan. Ten tweede de gegevens die deze gebruikers toevoegen aan het laatste 'blok' met informatie, zodat deze kan worden bijgewerkt en aan het totale record kan worden toegevoegd. Drie, de cryptologische sequenties die de gebruikers genereren om overeenstemming te bereiken over het laatste blok, het vastzetten in de volgorde van gegevens die het record vormen.
Het is dat laatste stukje dat de geheime saus is in de blockchain-sandwich. Met behulp van digitale cryptografie draagt elke gebruiker de kracht van zijn computer bij om te helpen bij het oplossen van enkele van deze super-complexe wiskundige problemen die het record beveiligen. Deze uiterst complexe oplossingen, ook wel 'hash' genoemd, leggen de kern van de gegevens vast in de record, zoals welke account geld toevoegt of aftrekt in een boekhoudingsboek en waar dat geld naartoe is gegaan of waar het vandaan is gekomen. Hoe dichter de gegevens zijn, des te complexer de cryptografie en hoe meer verwerkingskracht nodig is om dit op te lossen. (Dit is waar het idee van "mijnbouw" in Bitcoin trouwens in het spel komt.)
Samenvattend kunnen we dus bedenken dat een blockchain een stukje data is dat:
- Constant bijgewerkt. Gebruikers van Blockchain hebben op elk moment toegang tot de gegevens en kunnen informatie toevoegen aan het nieuwste blok.
- Gedistribueerd. Kopieën van de blockchain-gegevens worden door elke gebruiker opgeslagen en beveiligd en iedereen moet overeenstemming bereiken over nieuwe toevoegingen.
- geverifieerd. Beide wijzigingen in nieuwe blokken en kopieën van oude blokken moeten door alle gebruikers worden overeengekomen via cryptografische verificatie.
- Secure. Het knoeien met de oude gegevens en het wijzigen van de methode voor het beveiligen van nieuwe gegevens wordt voorkomen door zowel de cryptografische methode als de niet-gecentraliseerde opslag van de gegevens zelf.
En geloof het of niet, het wordt nog ingewikkelder dan dit ... maar dat is het basisidee.
The Blockchain in Action: Show Me the (Digital) Money!
Laten we dus een voorbeeld nemen van hoe dit van toepassing is op een cryptocurrency zoals Bitcoin. Stel, je hebt een Bitcoin en je wilt het uitgeven aan een nieuwe auto. (Of een fiets, of een huis, of een kleine tot middelgrote eilandnatie - hoe vaak een Bitcoin deze week de moeite waard is.) Je maakt verbinding met de gedecentraliseerde Bitcoin-blockchain met je software en je stuurt je verzoek naar om je Bitcoin voor de verkoper van de auto. Uw transactie wordt vervolgens naar het systeem verzonden.
Iedereen op het systeem kan het zien, maar uw identiteit en de identiteit van de verkoper zijn slechts tijdelijke handtekeningen, kleine elementen van de enorme wiskundige problemen die het hart vormen van digitale cryptografie. Deze waarden zijn aangesloten op de blockchain-vergelijking en het probleem zelf wordt "opgelost" door de leden op het peer-to-peer-netwerk die cryptografiehashes genereren.
Zodra de transactie is geverifieerd, wordt één Bitcoin van u naar de verkoper verplaatst en opgenomen in het laatste blok in de keten. Het blok is afgewerkt, verzegeld en beveiligd met cryptografie. De volgende reeks transacties begint en de blockchain wordt langer en bevat een complete registratie van alle transacties telkens wanneer deze wordt bijgewerkt.
Als je een blockchain als 'veilig' ziet, is het belangrijk om de context te begrijpen. Individuele transacties zijn veilig en het totale record is beveiligd, zolang de methoden die worden gebruikt om de cryptografie te beveiligen, nog steeds "ongeschonden" blijven (en onthoud dat dit spul is werkelijk moeilijk te doorbreken, zelfs de FBI kan het niet alleen met louter computerresources doen.) Maar de zwakste schakel in de blockchain is, nou ja, jij - de gebruiker.
Als u iemand anders toestemming geeft om uw persoonlijke sleutel te gebruiken om toegang te krijgen tot de keten, of als zij deze vinden door simpelweg in te breken op uw computer, kunnen zij toevoegingen aan de blockchain maken met uw informatie, en er is geen manier om ze te stoppen. Dat is hoe Bitcoin "gestolen" wordt in hoog gepubliceerde aanvallen op belangrijke markten: het zijn de bedrijven die de markten exploiteerden, en niet de Bitcoin-blockchain zelf, die werden gecompromitteerd. En omdat de gestolen Bitcoins worden overgedragen aan anonieme gebruikers, via een proces dat wordt geverifieerd door de blockchain en voor altijd wordt vastgelegd, is er geen manier om de aanvaller te vinden of haal de bitcoin op.
Wat anders Blockchains kunnen doen?
Blockchain-technologie is begonnen met Bitcoin, maar het is zo'n belangrijk idee dat het er niet lang is gebleven. Een systeem dat voortdurend wordt bijgewerkt, voor iedereen toegankelijk is, door een niet-gecentraliseerd netwerk wordt geverifieerd en ongelooflijk veilig is, heeft veel verschillende toepassingen. Financiële instellingen zoals JP Morgan Chase en de Australian Stock Exchange ontwikkelen blockchain-systemen voor het beveiligen en distribueren van financiële gegevens (voor conventioneel geld, niet voor cryptocurrency zoals Bitcoin). De Bill & Melinda Gates-stichting hoopt blockchain-systemen te gebruiken om gratis, gedistribueerde bankdiensten te bieden aan miljarden mensen die zich geen reguliere bankrekening kunnen veroorloven.
Open source-tools zoals Hyperledger proberen blockchain-technieken beschikbaar te maken voor een breder scala van mensen, in sommige gevallen zonder de monsterlijke hoeveelheden verwerkingskracht nodig te hebben die nodig zijn om andere ontwerpen te beveiligen. Samenwerkende werksystemen kunnen worden geverifieerd en vastgelegd met blockchain-technieken. Vrijwel alles dat constant moet worden vastgelegd, geopend en bijgewerkt, kan op dezelfde manier worden gebruikt.
Afbeelding tegoed: posteriori / Shutterstock, Lewis Tse Pui Lung / Shutterstock, Zack Copley