Mahimong nahibulong ka… Unsay nakapahimo sa Bitcoin ug sa blockchain niini nga luwas man kaayo? Sa unsang paagi nga ang usa ka butang nga dili mahikap mahimong labing luwas nga porma sa kwarta? Aw, kini tanan salamat sa hashing. Ang hashing usa ka porma sa cryptography nga kaylap nga gigamit sa network sa Bitcoin.
Mahimo nimong susihon ang cryptography sa nauna nga mga modyul.
Ang hash function kay usa ka espesyal nga function diin ang bisan unsang gitas-on sa data nga na-input pagakwentahon, unya ang output adunay fixed nga gitas-on. Kini susama sa kung giunsa ang mga zip code gibuhat. Atong kuhaon ang kaso sa ubos ehemplo:
Zip codes:
Balintawak, Quezon City - 1106
Poblacion, Makati - 1210
Zapote, Las Piñas - 1742
Bisan pa nga kini nga mga lugar adunay lainlaing mga kinaiya sama sa gidak-on sa lugar, populasyon, lokasyon, klima, o ratio sa mga lalaki ug babaye, kining tanan nga mga lugar adunay katumbas nga kodigo nga upat ka numero ang gitas-on. Ingon ana ang unsaon paglihok sa usa ka hash function - gibalhin niini ang bisan unsang klase sa data padung sa data nga adunay usa ka fixed nga gitas-on.
Mahimo nimong hunahunaon ang usa ka hash function sama sa usa ka tunel diin ang tanan nga mga awto (input) nga pagsulod giproseso ug gikalkula. Sa dihang mogawas na kini nga mga sakyanan gikan sa tunel, kini mahimong usa ka espesipikong modelo sa sakyanan (output), apan adunay lainlaing mga trabaho sa pintal, mga bintana, mga pultahan, o mga decal.
Karon, ato kining iaplikar sa tinuod nga butang. Makita sa ubos ang unom ka mga teksto nga giproseso pinaagi sa hash function SHA 256, nga mao ang gigamit sa Bitcoin. Mahimo usab nimo kini sulayan sa imong kaugalingon dinhi.
Bisan unsa ka dako o gamay nga pagbag-o ang among gihimo sa input, ang output nausab pag-ayo samtang nagpadayon gihapon ang gitas-on sa datos niini. Ang SHA-256 hash function usab adunay pipila ka notable properties:
1. Deterministiko: Kanunay kang makakuha sa samang output alang sa usa ka input.
2. Dili matag-an: Ang pagbag-o sa bisan unsang butang sa input bug-os nga magbag-o sa output niini.
3. Makasugakod sa pagbangga: Lagmit dili kaayo makakitag duha ka mga input nga adunay parehas nga eksaktong output.
4. Episyente: Ang proseso sa hashing dali.
5. Mapamatud-an: Sayon ang pag-verify sa usa ka hash. Ang imong gikinahanglan mao ang input ug ang hash function.
6. Dili mabalik: Walay usa nga makahibalo kung unsa ang input pinaagi sa pag-decrypt sa output. Kini usa ka one-way street.
7. Makanunayon: Ang output kanunay nga naa sa usa ka fixed nga gidak-on.
Ngano nga hapit imposible nga makit-an ang duha nga mga input nga adunay parehas nga eksaktong output nga mahimo nimong ipangutana? Dili ba nimo matag-an kung unsa ang output sa hash?
Kini nga mga hashes mao ang hapit imposible sa pagtagna lamang tungod sa gidaghanon sa mga posibilidad anaa uban SHA 256. Sa mga butang diha sa panglantaw, adunay 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 posible nga mga resulta.
Dako kana nga numero, di ba?
Fun fact: Ang gidaghanon sa posibleng resulta sa hash function SHA-256 (2^256) kay duol ra sa gibanabana nga gidaghanon sa mga atomo sa uniberso... Oo! Ang pag-atubang sa mga hash dili gyud binuang.
Karon, panahon na aron masabtan kung giunsa ang pag-hashing sa Bitcoin. Sa sunod nga kapitulo, magfocus ta kung giunsa ang pag-hash sa pagmina ug adunay papel sa blockchain sa Bitcoin.