bitcoin hash funksies verduidelik
iemand met 'n rente in bitcoin sal het gehoor die 'n frase cryptographic hash funksie op sommige tyd of ander maar wat presies nie dit beteken en hoe is dit verbind te cryptocurrency
hash funksies is 'n noodsaaklik deel van nie net van die bitcoin protokol maar van inligting sekuriteit soos 'n hele
in die volgende artikel ons ll neem 'n sien op sommige eenvoudig examples van hoe hulle werk met 'n eenvoudig demonstration ook
wat s 'n hash funksie
in die abstract 'n hash funksie is 'n mathematical proses wat neem insette data van 'n grootte performs 'n werking op dit en opgawes output data van 'n vasgestel grootte
in 'n meer beton byvoorbeeld hierdie kan wees gebruik te neem 'n volgorde van briewe van 'n lengte soos insette wat ons roep 'n snaar en terugkeer 'n volgorde van briewe van 'n vasgestel lengte of die insette snaar is 'n enkele brief 'n woord 'n vonnis of 'n hele roman die output genoem die verteer sal altyd wees die dieselfde lengte
'n gemeenskaplike gebruik van hierdie soort van hash funksie is te stoor passwords
toe jy maak 'n user rekening met 'n web diens wat vereis 'n wagwoord die wagwoord is loop deur 'n hash funksie en die hash verteer van die boodskap is stored toe jy soort in jou wagwoord te teken in die dieselfde hash funksie is loop op die woord jy vyf aangegaan en die bediener kontrole of die resultaat wedstryde die stored verteer
hierdie beteken wat indien 'n hacker is in staat te toegang tot die databasis containing die stored hashes hulle sal nie wees in staat te onmiddellik compromis al user rekeninge omdat daar is geen maklik manier te vind die wagwoord wat geproduseer 'n gegee hash
eenvoudig hash funksies in python
jy kan eksperiment met hash waardes gebruik python 'n ontwikkeling taal geïnstalleer op mac en linux bedryfstelsel stelsels deur default hierdie tutorial sal aanvaar jy weer gebruik sommige weergawe van óf os x of linux soos gebruik python op vensters is meer ingewikkelde
eerste oop 'n terminale soort python en getref gee
hierdie sal sit jy in die python repl 'n omgewing waar jy kan probeer uit python commands direk soos gekant teen te skriftelik 'n programme in 'n skei lêer
dan soort die volgende druk gee na elke lyn en blad waar gemerk
def hash mystring
blad hash voorwerp hashlib md5 mystring encode
blad druk hash voorwerp hexdigest
jy het nou geskep 'n funksie hash wat sal calculate en druk uit die hash waarde vir 'n gegee snaar gebruik die md5 hashing algorithm te loop dit sit 'n snaar in tussen die parentheses in quotation punte eg
en pers gee te sien die hash verteer van wat snaar
jy sal sien wat roeping die hash funksie op die dieselfde snaar sal altyd generate die dieselfde hash maar toe te voeg of veranderende 'n karakter sal generate 'n volledig verskillende hash waarde
hash rotse 7ae26e64679abd1e66cfe1e9b93a9e85
hash rotse 6b1f6fde5ae60b2fe1bfe50677434c88
hash funksies in bitcoin
in die bitcoin protokol hash funksies is deel van die blok hashing algorithm wat is gebruik te skryf nuwe transactions in die blockchain deur die mining proses
in bitcoin mining die inputs vir die funksie is al van die die meeste onlangse nie nog bevestig transactions langs met sommige bykomende inputs relating te die timestamp en 'n verwysing te die vorige blok
in die kode byvoorbeeld hierbo ons vyf reeds gesien wat veranderende 'n klein deel van die insette vir 'n hash funksie resultate in 'n volledig verskillende output hierdie eiendom is noodsaaklik te die bewys van werk algorithm betrokke in mining te successfully los 'n blok miners probeer te combine al van die inputs met hul eie arbitrary stukkie van insette data in so 'n 'n manier wat die resulting hash begin met 'n sekere aantal van zeroes
soos 'n basiese demonstration ons kon probeer mining met ons python hash funksie deur manually toe te voeg exclamation punte na rotse totdat ons vind 'n hash wat begin met 'n enkele nul
van natuurlik oplos die hash vir 'n bitcoin blok wat op die tyd van skriftelik moet begin met 18 zeros vereis 'n baie groot bedrag van computation en sodat die gekombineer verwerking krag van al die rekenaars in die netwerk nog steeds neem ongeveer 10 minute te los 'n blok
dit s die nodig vir hierdie groot bedrag van verwerking krag wat beteken nuwe bitcoins kry mined oor 'n lank tydperk van tyd nie al op keer
in einde te verdien bitcoins deur mining jy nodig te sit in die groot bedrag van werk nodig te los 'n blok en deur earning wat beloon jy weer sluit in al van die nuwe transactions in 'n blok wat is bygevoeg te die permanente rekord van al vorige transactions die blockchain