Baka nagtataka kayo kung ano ang nasa Bitcoin at blockchain niya ang nagbibigay ng seguridad? Paanong isang bagay na hindi mahawakan ay ang naging pinakaprotektadong uri ng pera? Ito ay dahil sa hashing. Ang hashing ay isang uri ng cryptography na malawak na ginagamit sa Bitcoin network.
Ang hash function ay isang espesyal na function kung saan na kahit na anong haba ng data na ipinasok ay ikakalkula, at gagawan ng output na nakapirmi ang haba.
Gumagana ito na parang zip code. Pagmasdan natin ang susunod na halimbawa:
Zip codes:
Balintawak, Quezon City - 1106
Poblacion, Makati - 1210
Zapote, Las Piñas - 1742
Kahit na ang mga lugar na ito ay may iba’t ibang katangian kagaya ng laki, populasyon, lokasyon, klima, bilang ng lalaki at babae, ang mga lugar na ito ay may katumbas na zip code na may apat na numero.
Ganyan din gumana ang hash function – binabago niya ang kahit na anong data sa nakapirming haba.
Pwedeng niyong pag-isipan ang hash function na parang lagusan na kung saan lahat ng sasakyan (input) na pumapasok ay pinoproseso at kinakalkula. Pag lumabas na ang mga sasakyan sa lagusan, magbabago sila at magiging isang uri ng kotse (output), pero may iba’t ibang pintura, bintana, pinto, at dekorasyon.
Ngayon, itapat natin ito sa tunay na buhay. Sa baba ay anim na texto na prinoseso ng hash function SHA 256, na ginagamit ng Bitcoin. Pwede niyo ring subukan dito.
Kahit na gaano kaliit o kalaki na pagbabago sa input, nagbabago ng todo ang output pero hindi nagbabago ang haba ng data. Iyung SHA-256 ay meron ding mga kapansin-pansing mga katangian.
1. Deterministiko: Palaging makukuha ang parehong output sa tiyak na input.
2. Hindi Nahuhulaan: Mag-iiba ng todo ang output kahit na isang bagay lang ang palitan sa input.
3. Hindi Nagbabanggaan: Malabong mangyari na merong dalawang input na magkakaroon ng parehong eksaktong output.
4. Mabisa: Mabilis ang proseso ng hashing.
5. Napapatunayan: Madali lang suriin ang isang hash. Kailangan lang iyung input at iyung hash function.
6. Hindi Nababalik sa Dati: Walang makakaalam kung ano iyung input sa pamamagitan ng pagdecrypt ng output. One way ang encryption nito.
7. Hindi Nagbabago: Ang output ay palaging nakapirmi ang haba.
Baka maitanong ninyo kung bakit halos imposible maghanap ng dalawang input na may eksaktong parehong output?
Hindi ba pwedeng hulaan na lang kung ano iyung magiging hash output?
Ang mga hash ay halos imposible hulaan dahil sa napakalaking bilang ng mga posibilidad na gamit ang SHA 256. Para lang makita niyo, may 115 , 792, 089 , 237 , 316 , 195 , 423 , 570 , 985 , 008 , 687 , 907 , 853 , 269 , 984 , 665 , 640 , 564 , 039 , 457 , 584 , 007 , 913 , 129 , 639 , 936 or 2^256 na pwedeng kalabasan.
Napakalaki nung numerong iyun, ‘di ba?
Dagdag na alamin: Ang mga posibleng kalabasan ng hash function SHA-256 (2^256) ay malapit na sa inaakalang mga atom sa sansinukob... Oo naman, hindi kalokohan ang pakikitungo sa mga hash. Napakalaki nung numerong iyun, ‘di ba?
Ngayon, panahon na para unawain kung paano gumagana ang hashing sa Bitcoin. Sa susunod na yugto, bibigyan natin ng pokus kung paano gumana ang hashing sa mining at kung ano ang tungkulin nito sa Bitcoin blockchain.