Hash – Mister i Bitcoin


Në postimin e mëparshëm kemi shpjeguar idetë që qëndrojnë pas sistemit Bitcoin, megjithatë, një çështje mbeti e pashpjeguar: Cila është kjo enigmë e fortë e përgjakshme që minatorët e Bitcoin vazhdimisht përpiqen të zgjidhin?

Kujtojmë se në sistemin Bitcoin minatorët janë në konkurrencë të vazhdueshme: Kushdo që zgjidh enigmën e parë do të fitojë nderin të shtojë një bllok të ri në zinxhirin bllok dhe të fitojë ca para gjithashtu. Prandaj, minatorët përpiqen me ethe të jenë të parët për të zgjidhur enigmën. Në pjesën e mëposhtme do të adresojmë pyetjet e mëposhtme:

  • Cila është saktësisht kjo enigmë?
  • Si është e integruar në sistemin Bitcoin?

Puzzle – Një Puzzle Hash Cryptographic

Mos u trembni nga fjala “kriptografi”, në kontekstin tonë thjesht do të thotë që enigma “hash” ka të bëjë me botën e kriptografisë, d.m.th. duke ndërtuar sisteme të pathyeshme.

Ndoshta analogjia më e mirë në botë reale me një enigmë hashash është një gjurmë gishti.

Gjurmët e gishtit në sfond blu

Imagjinoni që ju jepet një mostër gjurmësh gishtash dhe ju kërkohet të zbuloni lartësinë, peshën dhe pamjen e përgjithshme të personit të cilit i përket kjo gjurmë gishtash. Farë do të bënit?

Për ta bërë atë pak më të vështirë, supozoni se nuk ka asnjë lidhje midis gjurmëve të gishtërinjve dhe veçorive të tjera njerëzore (si ngjyra e flokëve), kështu që mënyra e vetme për të provuar nëse kjo gjurmë gishti erdhi nga miku juaj më i mirë është të merrni gjurmët e gishtave dhe ta krahasoni atë.

Zgjedhja juaj më e mirë, atëherë, do të ishte marrja e gjurmëve të gishtërinjve nga çdo person në Tokë dhe më pas krahasimi i saj me gjurmët e gishtërinjve në fjalë, derisa të gjeni një ndeshje dhe të ndaloni. Në rast se nuk jeni në fat, personi i duhur do të ishte ai i fundit që kontrolluat, që do të thotë se do të vazhdoni ta kërkoni për 13.555 vitet e ardhshme, duke supozuar se kontrolloni një person në minutë (dhe popullsia e Tokës është rreth 7.125 miliardë njerëzit). Nëse jeni me fat, pritet që ta kërkoni atë person vetëm për gjysmën e asaj kohe, në shtëpi! Lajm i keq ah?

Le të kthehemi te enigma jonë hashare. Në një enigmë hash, gjurmët e gishtërinjve që ju jepen janë një listë e personazheve (le ta quajmë një fjalë), si “qen”, pas së cilës detyra juaj është të gjeni personin e duhur (në rastin tonë kjo është një fjalë gjithashtu) që prodhoi gjurmën e gishtit. Për këtë qëllim e vetmja gjë që mund të bëni është të provoni të gjitha kombinimet e mundshme të shifrave (me një gjatësi), një nga një.

kripto

(Burimi i figurës: https://blog.varonis.com/the-definitive-guide-to-cryptographic-hash-functions-part-1/)

Në mënyrë konceptuale, ju keni një makinë që sa herë që vendosni disa shifra në të, ajo prodhon një prodhim të një kombinimi tjetër të shifrave. Ju nuk dini plotësisht asgjë në lidhje me këtë makinë dhe funksionon si magji – nuk shihni ndonjë lidhje midis personazheve që vendosni dhe karaktereve që prodhon. Rregulli i vetëm që keni vërejtur është se pavarësisht sa karaktere vendosni në makinë, prodhimi i prodhuar ka gjithmonë të njëjtën gjatësi.

Një teknik i vogël: Karakteret që përdoren nga makina (si hyrja juaj ashtu edhe prodhimi i saj) përbëhen vetëm nga dhjetë shifrat 0-9 dhe gjashtë shkronjat a-f. Kjo do të thotë që çdo karakter i hyrjes ose i daljes mund të jetë një nga 16 karakteret.

Mister është në thelb një fjalë (listë e karaktereve), e quajti atë A, e cila përfaqëson daljen e makinës, në mënyrë që ta zgjidhësh atë detyra juaj është të gjeni inputin e saktë (një fjalë tjetër), thirrni iti B, i tillë që kur të vendosni B në makinë ju do të merrni A si një prodhim.

Duke filluar me një rast të thjeshtë, supozoni se makina prodhon rezultate të një karakteri të vetëm. Kjo do të thotë që ekzistojnë vetëm 16 rezultate të ndryshme të mundshme. Si shembull, supozoni se ju keni karakterin “d” (si enigmë) dhe makina funksionon në atë mënyrë që çdo personazh që futet të çojë në një karakter të ndryshëm. Kështu që, nëse provoni të gjithë karakteret e mundshme 0-9 dhe a-f do të gjeni ndeshjen, d.m.th. personazhin që kur futet në makinë prodhon karakterin “d” si rezultat. Në mënyrë të veçantë kërkohet një minimum prej 16 krahasimesh për të qenë plotësisht i sigurt që do të gjendet një ndeshje.

Duke e komplikuar këtë pak më tej, konsideroni rastin në të cilin makina prodhon një prodhim prej 2 karaktere në vend të një të vetme, si në shembullin e mëparshëm. Kjo do të thotë që ka 16X16 = 256 rezultate të ndryshme të mundshme. Kështu që, kur ju jepet disa enigmë, ‘4c’ për shembull, atëherë do t’ju duhet të provoni të gjitha inputet e mundshme të 2 karaktereve (d.m.th. ’00’, ’01’… ‘fd’, ‘fe’, ‘ff’) në mënyrë që të garantoni nje sukses.

Vini re se rritja e gjatësisë së daljes së makinës me një karakter të vetëm rrit numrin e provave që duhet të bëni me një urdhër të madhësisë (në shembullin tonë nga një faktor prej 16!). Kështu, një prodhim i një personazhi të vetëm çon në 16 prova, një dalje prej 2 personazhesh çon në 256 prova, një prodhim prej 3 personazhesh çon në 4096 prova, etj..

Pra, “cila është puna e madhe?” Mund të pyesë dikush. Kompjuterët janë kaq të shpejtë këto ditë, ju mund të ndërtoni një softuer që do të llogarisë të gjitha provat për ju në sekonda!

Epo, mund të keni vërejtur se numri i gjykimeve po rritet në një tregues mënyrë! Kjo do të thotë që për një prodhim të karaktereve x do të duhet të bëni x16trials! Për një prodhim prej 40 karaktere ju do të duhet të bëni prova 1461501637330902918203684832716283019655932542976 !! Ky numër është kaq i madh asnjë kompjuter modern nuk mund ta bëjë këtë numër provash edhe nëse funksionon vazhdimisht deri në rrëzimin e sistemit diellor.

Nëse nuk jeni ende të bindur që enigma hash është e vështirë, ju mund të dëshironi të provoni atë dhe të gjeni zgjidhjen për enigmën e mëposhtme: Gjeni një listë të karaktereve që kur e vendosni përmes makinës SHA1 merrni një prodhim të të gjitha zero karaktere (kjo është ‘000000…’). Makina është në dispozicion në sha1-online.com. Fat i mirë ��

Lidhja me Bitcoin

Kujtoni (nga postimi i mëparshëm) se në çdo kohë të shkurtër (zakonisht 10 minuta) një ‘bllok’ i bashkangjitur ‘zinxhirit të bllokut’ nga një ‘minator i vetëm’ (fituesi i raundit). Ai minator, i cili e bashkon atë bllok, është i pari që gjeti një zgjidhje për enigmën e hashit. Për ta kuptuar këtë enigmë duhet të dimë se si duket një bllok. Detajet vijojnë.

Shkurtimisht, një bllok në zinxhirin bllok është disa struktura të të dhënave që përmbajnë:

  1. Një fakt, kjo është bërthama e zgjidhjes, pjesa e bllokut që i jep të drejtën minatorit tarifën e transaksionit.
  2. Një referencë për bllokun e mëparshëm – kjo kërkohet në mënyrë që të mund të gjurmoni historinë e të gjitha transaksioneve, secili bllok i referohet paraardhësit të tij, në këtë mënyrë mund të ktheheni në histori deri në bllokun e parë (Ju mund të gjurmoni historinë e transaksioneve në blockchain .info)
  3. Një listë e të gjitha transaksioneve që do të përpunohen nëse ky bllok është bashkangjitur në zinxhirin bllok.

Në figurën më poshtë mund të shihni këto 3 veti: nonce (në rreshtin e verdhë të fundit), referencën (‘hash bllokimin e mëparshëm’), dhe listën e transaksioneve në rreshta të lëmuar (shpjegohet ana e djathtë e theksuar e figurës së shpejti).

bllok-diagram-ghash

(burimi i figurës: http://www.righto.com/2014/09/mining-bitcoin-with-pencil-and-paper.html)

Siç u përmend, minatorët janë në kërkim të rezultatit të saktë që do të zgjidhë enigmën. Misteri hash i përshkruar në pyetjen e mëparshme ishte një specifik lista e karaktereve që makina ka prodhuar si prodhim, për ta zgjidhur atë duhet të gjesh një input që e prodhon këtë specifik prodhim.

Në sistemin bitcoin, sidoqoftë, enigma hash është disi më e lehtë: Në vend që të ndiqte pas një dalje specifike, minatori duhet të gjejë një input që prodhon një dalje nga një grup i madh i rezultateve të lejuara. Kjo do të thotë, një enigmë mund të jetë një listë e karaktereve të tilla që 16 karakteret e para të saj janë “0” ndërsa nuk ka asnjë kufizim për pjesën tjetër të personazheve, ato mund të jenë çdo gjë. Edhe pse kjo e bën shumë më të lehtë enigmën, është një problem që konsumon kohë dhe energji për tu zgjidhur. Në figurën e mësipërme, Minatori kryen shumë prova me qëllim të zgjidhjes së enigmës, e vetmja fushë që lejohet të ndryshohet në secilin gjyq është nonce. Në çdo gjykim, minatori ndërthyn rrjedhën që sapo zgjodhi, listën e transaksioneve që dëshironte të shtonte në zinxhirin bllok dhe referencën në bllokun e mëparshëm të gjithë së bashku, pastaj e fut atë në makinën SHA1. Nëse prodhimi i makinës SHA1 fillon me 16 characters 0 karaktere, atëherë ai zgjidhte enigmën dhe fitoi lojën.

Shpresoj se ju ka pëlqyer të lexoni, ju shohim në postimin tjetër!

Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map