Bitcoin Hash funktioner forklaret | DK.democraziakmzero.org

Bitcoin Hash funktioner forklaret

Bitcoin Hash funktioner forklaret

Enhver med interesse for Bitcoin vil have hørt udtrykket 'kryptografisk hash funktion' på et eller andet tidspunkt. Men hvad der præcist betyder det, og hvordan er det forbundet med cryptocurrency?

Hash funktioner er en væsentlig del af, ikke blot for Bitcoin-protokollen, men for informationssikkerhed som en helhed.

I den følgende artikel vil vi tage et kig på nogle enkle eksempler på, hvordan de arbejder, med en simpel demonstration, også.

Hvad er en hash-funktion?

Abstrakt, en hashfunktion er en matematisk proces, der tager input data af enhver størrelse, udfører en operation på det, og returnerer uddata af en fast størrelse.

I et mere konkret eksempel, kan dette bruges til at tage en sekvens af bogstaver i anylength som input - hvad vi kalder en String og returnerer en sekvens af bogstaver i en fixedlength. Hvorvidt inputstrengen er et enkelt bogstav, et ord, en sætning eller en hel roman, output - kaldet digest- vil altid være den samme længde.

En almindelig anvendelse af denne form for hash funktion er at opbevare adgangskoder.

Når du opretter en brugerkonto med en web service, som kræver en adgangskode, bliver kodeordet køres gennem en hash-funktion, og hash digest af beskeden er gemt. Når du skriver i din adgangskode for at logge på, er den samme hash-funktionen kører på det ord, du har indtastet, og serveren kontrollerer, om resultatet matcher den lagrede fordøje.

Det betyder, at hvis en hacker er i stand til at få adgang til databasen, der indeholder de lagrede hashes, vil de ikke være i stand til straks at kompromittere alle brugerkonti, fordi der ikke er nogen nem måde at finde den adgangskode, som producerede en given hash.

Simple hashfunktioner i Python

Du kan eksperimentere med hash værdier ved hjælp af Python, et programmeringssprog installeret på Mac og Linux operativsystemer som standard. (Denne tutorial vil antage, at du bruger en version af enten OS X eller Linux, som ved hjælp af Python på Windows er mere kompliceret.)

Først åbne en terminal, type pythonand hit ENTER.

Dette vil sætte dig ind i Python REPL, et miljø, hvor du kan afprøve Python-kommandoer direkte i modsætning til at skrive et program i en separat fil.

Skriv derefter følgende, tryk på ENTER efter hver linje, og TAB hvor mærket:

Du har nu oprettet en funktion, hash (), som vil beregne og udskrive hash værdi for en given streng ved hjælp af MD5 hashing algoritme. For at køre det, satte en snor i mellem parenteser i anførselstegn, f.eks:

Og tryk på ENTER for at se den hash-nedbrydning af denne streng.

Du vil se, at kalde hash-funktionen på samme streng vil altid generere den samme hash, men at tilføje eller ændre et tegn vil generere en helt anden hash-værdi:

Hash funktioner i Bitcoin

I Bitcoin protokol, hashfunktioner er en del af blokken hashing algorithmwhich bruges til at skrive nye transaktioner i blockchain gennem minedrift processen.

I Bitcoin minedrift, indgangene til den funktion er alle af de seneste, endnu-ikke-bekræftede transaktioner (sammen med nogle ekstra udgifter vedrørende tidsstemplet og en henvisning til den foregående blok).

I koden ovenstående eksempel har vi allerede set, at ændre en lille del af input til en hash funktion resulterer i en helt anden udgang. Denne egenskab er afgørende for 'bevis for arbejde' algoritme involveret i minedrift: at kunne 'løse' en blok, minearbejdere forsøger at kombinere alle de input med deres egen vilkårlige stykke input datain en sådan måde, at den resulterende hash starter med en vist antal nuller.

Som en grundlæggende demonstration, kunne vi prøve 'mining' med vores Python hash-funktion ved manuelt at tilføje udråbstegn efter "CoinDesk rocks!" indtil vi finder en hash, der starter med et enkelt nul.

Selvfølgelig løse hash for en bitcoin blok - som på tidspunktet for writingmust starte med 18 nuller - kræver en extremelylarge beregningsmængde (og således den kombinerede regnekraft i alle computere i netværket stadig tager cirka 10 minutter at løse en blok).

Det er behovet for denne store mængde processorkraft, der betyder nye Bitcoins bliver udvundet over en lang periode, ikke alle på én gang.

For at tjene Bitcoins via minedrift, er du nødt til at sætte i den enorme mængde arbejde er nødvendigt for at løse en blok - og ved at tjene som belønning, du låsning i alle de nye transaktioner i en blok, der er føjet til den permanente registrering af alle tidligere transaktioner: den blockchain.

Eventuelle krypto grundlæggende funktioner, du gerne vil have forklaret næste? E-mail: [email protected]

Bitcoin ProtocolCryptographyhash funktioner

Relaterade nyheter


Post Mining af kryptokurrency

Bitcoin Mining er en familievirksomhed for denne far og søn

Post Mining af kryptokurrency

Bitcoin Cash 101: Hvad brugere skal vide før gaffelen

Post Mining af kryptokurrency

Bitcoins fremtidige bevægelser kommer i fokus ved Scaling Bitcoin Day 2

Post Mining af kryptokurrency

Hvordan udviklere reagerer på Ethereums uventede gaffel

Post Mining af kryptokurrency

Ligesom det eller ej: Offentlige virksomheder føler Crypto Mining Boom

Post Mining af kryptokurrency

Crypto-Mining Roundup: Ubrugelige servere, Legal Aid og Scrypt Miners

Post Mining af kryptokurrency

Bitcoin-ambassaden lancerer i Polens hovedstad Warszawa

Post Mining af kryptokurrency

BTC.com Domæne solgt til GAWMiners for Record $ 1,1 Million

Post Mining af kryptokurrency

Kinas Miners Heat Up Debat på Scaling Bitcoin Hong Kong

Post Mining af kryptokurrency

Sådan Stop Worrying og Love the Fork

Post Mining af kryptokurrency

Ethereums fjerde blokchain gaffel: så langt, så godt

Post Mining af kryptokurrency

Bitcoin Mining Fabrikant HashFast indgår kapitel 11 konkurs