Kryptografi til blockchains
Forstå hashfunktioner, public-key-kryptografi og digitale signaturer, som de anvendes i blockchain-teknologi.
Kryptografi til blockchains er en gratis Grundlæggende udvikling af Web3- og DApp-programmer-lektion på CoddyKit. Dette er lektion 1 af 3. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Grundlæggende udvikling af Web3- og DApp-programmer, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Grundlæggende udvikling af Web3- og DApp-programmer-kurset indeholder 3 lektioner i alt.
Krypto: Blockchainens hemmelige ingrediens
Velkommen til kryptografi til blockchain! Kryptografi er grundlaget for blockchain-teknologien og sikrer sikkerhed, integritet og tillid.
I denne lektion afdækker du hemmelighederne bag hashfunktioner, kryptografi med offentlige nøgler og digitale signaturer — centrale begreber, der gør decentraliserede systemer mulige.
Hashing: Et digitalt fingeraftryk
Forestil dig, at du tager en vilkårlig mængde data — en tekst, et billede eller en hel bog — og omdanner den til en unik tegnstreng med fast længde. Det er det, en hashfunktion gør!
Det fungerer som et digitalt fingeraftryk for dine data. Selv en meget lille ændring i de oprindelige data skaber et helt andet fingeraftryk.
Kryptografiske hashfunktioners superkræfter
Kryptografiske hashfunktioner har særlige egenskaber, der gør dem perfekte til blockchain:
- Envejsfunktion: Det er nemt at beregne hashen, men næsten umuligt at rekonstruere de oprindelige data ud fra hashen.
- Deterministisk: Det samme input giver altid præcis den samme output-hash.
- Kollisionsresistent: Det er ekstremt svært at finde to forskellige input, der giver det samme hash-output.
- Lavineeffekt: En lille ændring i inputtet giver et drastisk anderledes hash-output.
Hashing-demonstration: Se det i praksis
Lad os se lavineeffekten med en almindelig hashingalgoritme, SHA-256 (Secure Hash Algorithm 256-bit). Læg mærke til, hvordan en lille ændring ændrer hashen fuldstændigt.
import java.security.MessageDigest;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Main {
public static String applySha256(String input) {
try {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(input.getBytes(StandardCharsets.UTF_8));
StringBuilder hexString = new StringBuilder();
for (byte b : hash) {
String hex = Integer.toHexString(0xff & b);
if (hex.length() == 1) hexString.append('0');
hexString.append(hex);
}
return hexString.toString();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public static void main(String[] args) {
String data1 = "Hello CoddyKit!";
String data2 = "hello CoddyKit!"; // Note: 'h' vs 'H'
System.out.println("Data 1 Hash: " + applySha256(data1));
System.out.println("Data 2 Hash: " + applySha256(data2));
}
}Hashes: Forbindelse af blokke og data
I blockchain er hashes grundlæggende:
- Forbindelse af blokke: Hver blok indeholder hashen fra den forrige blok. Det skaber en ubrudt kæde, som gør det næsten umuligt at ændre tidligere transaktioner uden at ugyldiggøre de efterfølgende blokke.
- Dataintegritet: En bloks hash beregnes ud fra alle dens data (transaktioner, tidsstempel osv.). Hvis blot én del af dataene manipuleres, ændres blokkens hash, så ændringen straks opdages.
Kryptografi med offentlige nøgler: To nøgler, én lås
Kryptografi med offentlige nøgler (også kaldet asymmetrisk kryptografi) bruger et par matematisk forbundne nøgler: en offentlig nøgle og en privat nøgle.
Tænk på det som en særlig postkasse: Alle kan lægge et brev i den (kryptere med den offentlige nøgle), men kun personen med den unikke nøgle kan åbne den (dekryptere med den private nøgle).
Din digitale identitet: Nøgler
Dette nøglepar er afgørende:
- Privat nøgle: Dette er din hemmelighed. Den fungerer som din adgangskode og underskrift i ét. Du må aldrig dele den! Den bruges til at dekryptere beskeder eller oprette digitale signaturer.
- Offentlig nøgle: Denne nøgle udledes af din private nøgle og kan deles offentligt. Andre bruger den til at kryptere beskeder til dig eller verificere dine digitale signaturer.
Disse nøgler muliggør sikker kommunikation uden at dele en hemmelighed direkte.
Digitale signaturer: Bevis på ægthed
En digital signatur er en kryptografisk teknik, der bruges til at verificere ægtheden og integriteten af en digital besked eller et digitalt dokument.
Den fungerer som en håndskrevet underskrift, men er langt mere sikker! Den bekræfter, at beskeden faktisk kommer fra underskriveren, og at den ikke er blevet ændret, siden den blev underskrevet.
Digital underskrift og verificering
Sådan fungerer det generelt:
- Afsenderen hasher beskeden.
- Afsenderen krypterer denne hash med sin private nøgle for at oprette den digitale signatur.
- Modtageren får beskeden og signaturen.
- Modtageren hasher selv den modtagne besked.
- Modtageren dekrypterer afsenderens signatur ved hjælp af afsenderens offentlige nøgle for at få den oprindelige hash.
- Hvis de to hashes stemmer overens, er signaturen gyldig, og beskeden er ægte og ikke blevet manipuleret!
Hurtigt tjek: Kryptografi
Hvilken af følgende er IKKE en grundlæggende egenskab ved en kryptografisk hashfunktion?
Opsummering: Kryptografiens rolle i Web3
Godt gået! Du har lært de kryptografiske grundprincipper, der driver Web3:
- Hashfunktioner: Opretter unikke fingeraftryk med fast længde for data, sikrer integriteten og forbinder blokke.
- Kryptografi med offentlige nøgler: Bruger nøglepar (offentlig/privat) til sikker kommunikation og identitet.
- Digitale signaturer: Giver ægthed og uafviselighed for transaktioner og er afgørende for blockchainsikkerhed.
Disse begreber er afgørende for at forstå, hvordan kryptovalutaer og decentraliserede applikationer forbliver sikre og pålidelige. Næste gang ser vi nærmere på, hvordan disse nøgler håndteres i tegnebøger!
Lær Grundlæggende udvikling af Web3- og DApp-programmer med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 29
- Lektioner
- 105
Ofte stillede spørgsmål
Er lektionen “Kryptografi til blockchains” gratis?
Ja — alle 3 lektioner i læringssporet Grundlæggende udvikling af Web3- og DApp-programmer, inklusive “Kryptografi til blockchains”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Grundlæggende udvikling af Web3- og DApp-programmer-kurset indeholder 3 lektioner i alt.
Hvad lærer jeg i “Kryptografi til blockchains”?
Forstå hashfunktioner, public-key-kryptografi og digitale signaturer, som de anvendes i blockchain-teknologi. Du øver dig i Grundlæggende udvikling af Web3- og DApp-programmer med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Grundlæggende udvikling af Web3- og DApp-programmer?
Der kræves ingen tidligere erfaring. Grundlæggende udvikling af Web3- og DApp-programmer på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 3.
Hvor lang tid tager lektionen “Kryptografi til blockchains”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Grundlæggende udvikling af Web3- og DApp-programmer-lektion?
Ja. Alle Grundlæggende udvikling af Web3- og DApp-programmer-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Kryptografi til blockchains
- Offentlige/private nøgler og wallets
- Introduktion til MetaMask