Vad är Blockchain?

En blockchain är en datastruktur som innehåller poster, kallade block, som är kopplade ihop på ett kryptografiskt säkert sätt. Det är en distribuerad, offentligt överenskommen storbok för transaktioner och den grundläggande tekniken för kryptokurvor som Bitcoin.

En blockchain är en speciell typ av länkad lista. Varje objekt i listan innehåller sin egen information och en pekare till nästa objekt i listan. Om du börjar leta efter ett objekt i en länkad lista, kryssar du det ett objekt åt gången, med hjälp av den objektens information för att hitta nästa objekt och sedan upprepar processen. Denna process kan vara ett användbart sätt att strukturera data, delvis för att du kan splittra två listor tillsammans genom att ändra en enda pekare.

Blockkedjor är lite annorlunda eftersom de länkar bakåt snarare än framåt. När ett nytt block skapas pekar det på föregående block.

Andra egenskaper hos en blockchain:

  • Ett block innehåller en uppsättning transaktioner. En "transaktion" är en överenskommen förändring av data från ett tillstånd till ett annat. Uppgifterna kan vara konventionella fildata eller specialiserade data, såsom äganderätt till valuta.
  • Transaktionerna i ett block är "atomiska", vilket betyder att de inte kan delas in i mindre uppsättningar. Antingen alla transaktioner inträffade, eller ingenting alls.
  • Det första blocket som skapas kallas genesis-blocket . Genesis-blocket är det enda blocket utan föregångare - alla andra block kopplas slutligen tillbaka till genesis-blocket. Ett kvarters avstånd från genesegmentet kallas dess "blockhöjd", eftersom blockkedjor ofta visualiseras som konstruerade vertikalt, från botten uppåt.
  • Varje block efter genesis-blocket innehåller en pekare till sitt tidigare ("förälder") block och en hash i den blockens huvud. Denna hash har kryptografiska egenskaper som gör det oförutsägbart och unikt. Dess matematiska egenskaper är det som gör blockchainen säker från förfalskning.
  • För att korsa kedjan måste du börja i det nyaste blocket, som kallas "tip", "head" eller "top" av kedjan. Sedan går du bakåt, "ner" kedjan, ett kvarter i taget.
  • Ett block kan peka på endast ett tidigare "förälder" block. Men flera block kan peka på samma förälder, som skapar en gren i kedjan, kallad en gaffel .
  • Nya block läggs till toppen av kedjan eller spetsen på en gaffel.

Varför blockchain är användbart

Blockchain är effektiv som en distribuerad ledgerteknik eller DLT . En distribuerad huvudbok delas öppet med alla deltagare - det finns inga privata transaktioner. Den kryptografiska verifieringen från block till block skapar en förtroendekedja i dessa transaktioner.

Dessa egenskaper gör blockchain till en decentraliserad, auktoritativ informationskälla. För en cryptocurrency tillåter en blockchain ägarna att överföra värde till varandra utan att behöva en centraliserad bankinstitut att mäklare överföringen.

Vad finns i ett block

I allmänhet innehåller ett block :

  • En blockrubrik som innehåller identifierande information om blocket.
  • En transaktionsteller, som representerar antalet unika transaktioner i blocket.
  • Transaktionerna .

En blockrubrik innehåller i allmänhet:

  • Ett versionsnummer av programvaran, eller regler, som styr blockchain.
  • En kryptografisk hash i det föregående blockets rubrik.
  • En kryptografisk hash av roten (Merkle trädrot) av blockets transaktioner. Transaktionerna själva lagras inte i rubriken, men denna rot är unik för transaktionerna och måste rekonstrueras.
  • Ett svårighetsmål som används för att generera bevisbart kryptografiskt arbete (bevis på arbete) för det blocket.
  • En tidstämpel.
  • En nonce - ett nummer som endast får användas en gång.

Forks

En gaffel kan skapas eftersom en annan uppsättning regler tillämpas för framtida transaktioner eller för att nya funktioner har lagts till i blockchain. Det är som en gaffel på vägen: transaktionsförteckningen fortskrider i två olika riktningar.

En gaffel kan också skapas retroaktivt om transaktionsgiltighet är ifråga, för att fortsätta från en känd giltig punkt i blockchain.

Tillfälliga gafflar är en naturlig bieffekt av den distribuerade behandlingen som utförs på en blockchain. En sådan gaffel kan uppstå när två eller flera gruvarbetare slutar bryta ett block vid ungefär samma tidpunkt.

När reglerna som reglerar transaktioner ändras kan en "hård" eller "mjuk" gaffel skapas. I en mjuk gaffel är de nya reglerna bakåtkompatibla, så nya regelblock ses som giltiga av gammalregelblock. I en hård gaffel är de gamla och nya reglerna inte kompatibla, och ingen gaffel ser de andra blocken som giltiga.

Brytning

Att skapa förtroende i blockchain tar mycket arbete. För att skapa förtroendekedjan utförs de deltagare som heter "miners" det kryptografiska "arbetet" för att verifiera transaktioner i kedjan. Miners använder sin dator CPU och GPU ström för att beräkna komplexa, repetitive kryptografiska hashing funktioner. Processen kallas gruvdrift, eftersom det kräver en stor mängd distribuerat arbete, i sökandet efter något värdefullt.

Mining kräver en kraftfull dator och mycket el, så det finns en betydande verklig kostnad för att mina blockchain ska göras. För att uppmuntra gruvdrift, belönar systemet individen vars dator framgångsrikt "minskar ett block". Miners konkurrerar med varandra för att hävda denna belöning.

Vad som utgör en belöning varierar beroende på blockchains syfte. I en cryptocurrency blockchain belönar gruvarbetaren som löser ett block normalt belopp med en bestämd mängd av valutan. Till exempel är beloppet för att lyckas bryta ett Bitcoin-block 25 bitcoins.

Bitcoin, Valuta, Programmeringsvillkor