Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Tiivistelmä Hajautuksesta | Lohkot ja transaktiot
Johdatus Lohkoketjuun

Tiivistelmä Hajautuksesta

Pyyhkäise näyttääksesi valikon

Hajautusta ja lohkojen tiivisteitä on mainittu useaan otteeseen, mutta itse käsitettä ei ole vielä tarkasteltu yksityiskohtaisesti. Nyt on aika ymmärtää, mitä hajautus oikeastaan on.

Note
Lisätietoa

Hajautus on prosessi, jossa syöte muunnetaan kiinteän kokoiseksi tavujonoksi, joka esitetään tyypillisesti heksadesimaalilukuna. Tuotosta kutsutaan tiivisteeksi, ja se näyttää satunnaiselta sekä muuttuu täysin, jos syötettä muokataan – tätä ominaisuutta kutsutaan "lumivyöryefektiksi".

Hajautusfunktioiden ominaisuudet

Lohkoketjussa hajautusfunktioita käytetään:

  • Turvaamaan tapahtumat luomalla jokaiselle yksilöllinen sormenjälki;
  • Luomaan osoitteita julkisista avaimista;
  • Muodostamaan lohkoketjun linkit lohkotiivisteiden avulla.

Tämän perusteella hyvä hajautusfunktio lohkoketjua varten sisältää useita keskeisiä ominaisuuksia:

Hajautusta, erityisesti hyvän hajautusfunktion avulla, voidaan verrata smoothien valmistamiseen. Tarkastellaan seuraavaa havainnollistusta:

Hajautuksen havainnollistus

Itse asiassa on mahdollista löytää alkuperäinen syöte annetusta hashista, mutta siihen kuluisi niin paljon aikaa, ettei se olisi käytännössä mahdollista.

Lohkon hashauksen yleiskatsaus

Bitcoin käyttää tietyn lohkon hashin laskemiseen SHA-256-hash-funktiota, joka tuottaa 256-bittisen (32-tavuisen) hashin. Se kuuluu SHA-2-perheeseen, jonka on suunnitellut National Security Agency (NSA) ja joka tunnetaan vahvoista suojausominaisuuksistaan, tehden siitä vastustuskykyisen törmäyksille, preimage-hyökkäyksille ja muille kryptografisille haavoittuvuuksille.

Bitcoin-lohkon hash lasketaan ottamalla lohkon otsikkotiedot. Nämä tiedot syötetään SHA-256-hash-funktioon kahdesti prosessissa, jota kutsutaan kaksois-SHA-256:ksi.

Tässä on kuva selventämään asiaa:

Lohkon hashauksen yleiskatsaus

Tuloksena syntyvän 256-bittisen tiivisteen on täytettävä verkon vaikeustason määrittelemät kriteerit. Jos tiiviste ei alita tavoitetta, nonce-arvoa muutetaan ja tiiviste lasketaan uudelleen, kunnes kelvollinen tiiviste löytyy. Tämä lopullinen tiiviste toimii lohkon yksilöllisenä tunnisteena.

Merkle-juuri

Merkle-juuri on yksittäinen tiiviste, joka edustaa kaikkia lohkoon sisältyviä transaktioita. Sen laskenta alkaa jokaisen yksittäisen transaktion tiivisteestä käyttäen kaksois-SHA-256 -algoritmia.

Jokainen transaktiotiiviste paritetaan toisen kanssa, ja pari tiivistetään yhdessä uuden tiivisteen muodostamiseksi. Tätä parittelu- ja tiivistysprosessia jatketaan kerros kerrokselta, kunnes jäljellä on vain yksi tiiviste. Lopullinen tiiviste on Merkle-juuri, joka kattaa koko transaktiojoukon ja varmistaa niiden eheyden koodaamalla ne yhteen arvoon. Tätä hierarkkista rakennetta kutsutaan nimellä Merkle-puu.

Seuraava esimerkki havainnollistaa, miten Merkle-puu muodostetaan:

Merkle-puu

Kuten näet, lohkossamme on 6 tapahtumaa (jokainen merkitty Tx-tunnuksella) ja hajauttamalla sekä yhdistämällä uusia tiivisteitä lasketaan Merkle-juuri.

Note
Huomio

Aina kun oikeanpuoleisella tiivisteellä ei ole paria, kuten esimerkissämme Hash56, tämä viimeinen tiiviste kopioidaan parin muodostamiseksi. Tämä tekniikka säilyttää Merkle-puun rakenteen eheyden ja tehokkuuden myös silloin, kun tapahtumien tai tiivisteiden määrä on pariton jossain vaiheessa.

question mark

Mikä on Bitcoinin lohkoketjussa käytetyn SHA-256-hajautusfunktion tulosteen koko?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 2. Luku 4
some-alt