Ano Ang Proof of Work (PoW)?
Ano Ang Proof of Work (PoW)?
HomeMga Artikulo

Ano Ang Proof of Work (PoW)?

Intermediya
1mo ago
8m

Panimula

Ang Proof of Work (karaniwang dinaglat sa PoW) ay isang mekanismo para maiwasan ang mga double-spend. Karamihan sa mga pangunahing cryptocurrency ginagamit ito bilang kanilang consensus algorithm. Iyon lang ang tinatawag naming pamamaraan para sa pag-secure ng ledger ng cryptocurrency.
Ang Proof of Work ay ang unang consensus algorithm na nasa ibabaw, at, hanggang ngayon, nananatili na nangingibabaw. Ipinakilala ito ni Satoshi Nakamoto sa white paper noong 2008 ng Bitcoin, ngunit ang teknolohiya mismo ay naisip bago pa man ito

Ang HashCash ng Adam Back ay isang maagang halimbawa ng isang algorithm ng Proof of Work noong mga araw bago ang cryptocurrency. Sa pamamagitan ng paghingi ng mga nagpadala na magsagawa ng kaunting computing bago magpadala ng isang email, puwedeng mapagaan ng mga tatanggap ang spam. Ang pagkalkula na ito ay halos walang gastos sa isang lehitimong nagpadala, ngunit mabilis na magdagdag para sa isang taong nagpapadala ng mga email nang maramihan.


Ano ang double-spend?

Nagaganap ang isang double-spend kapag ang parehong pondo ay ginugol ng higit sa isang beses. Ginagamit ang termino na halos eksklusibo sa konteksto ng digital na pera – kung tutuusin, mahihirapan kang gumastos ng parehong pisikal na cash nang dalawang beses. Kapag nagbabayad ka para sa isang kape ngayon, mag-aabot ka ng pera sa kahera na marahil ay nakakulong sa isang register. Hindi ka puwedeng pumunta sa kapehan sa kabila ng kalsada at magbayad para sa isa pang kape na may parehong singil.

Sa mga digital cash scheme, mayroong posibilidad na magawa mo ito. Tiyak na nadoble mo ang isang file ng kompyuter bago – kopyahin mo lang ito at i-paste. Puwede kang mag-email ng parehong file sa sampu, dalawampu, limampung tao. 

Dahil ang digital na pera ay data lang, kailangan mong maiwasan ang mga tao sa pagkopya at paggastos ng parehong mga unit sa iba't ibang lugar. Kung hindi man, ang iyong pera ay babagsak sa ilang oras. 

Para sa mas malalim na pagtingin sa double-spending, suriin ang Ipinaliwanag ang Double Spending.


Bakit kinakailangan ang Proof of Work?

Kung nabasa mo ang aming gabay sa teknolohiya ng blockchain, malalaman mo na ang mga user ay nag-broadcast ng mga transaksyon sa network. Ang mga transaksyong iyon ay hindi agad itinuturing na wasto, bagaman. Mangyayari lang iyon kapag naidagdag sila sa blockchain. 
Ang blockchain ay isang malaking database na makikita ng bawat user, kaya puwede nilang suriin kung ang mga pondo ay nagastos dati. Larawan ito ng ganito ikaw at ang tatlong mga kaibigan ay may isang notepad. Anumang oras na nais ng isa sa iyo na maglipat ng anumang mga yunit na iyong ginagamit, isusulat mo ito – Bayaran ni Alice si Bob ng limang mga yunit, binabayaran ni Bob si Carol ng dalawang mga yunit, atbp.
May isa pang pagiging kumplikado dito – sa tuwing gumawa ka ng isang transaksyon, tinutukoy mo ang transaksyon kung saan nagmula ang mga pondo. Kaya, kung si Bob ay nagbabayad kay Carol ng dalawang mga yunit, ang entry ay talagang magiging hitsura ng sumusunod na Si Bob ay nagbabayad kay Carol ng dalawang mga yunit mula sa naunang transaksyon na ito kay Alice.

Ngayon, mayroon kaming isang paraan upang subaybayan ang mga yunit. Kung susubukan ni Bob na gumawa ng isa pang transaksyon gamit ang parehong mga yunit na ipinadala lang niya sa Carol, malalaman agad ng lahat. Hindi papayagan ng pangkat na idagdag ang transaksyon sa notepad.

Ngayon, mayroon kaming isang paraan upang subaybayan ang mga yunit. Kung susubukan ni Bob na gumawa ng isa pang transaksyon gamit ang parehong mga yunit na ipinadala lang niya sa Carol, malalaman agad ng lahat. Hindi papayagan ng pangkat na idagdag ang transaksyon sa notepad.

Dito pumapasok ang Proof of Work. Tinitiyak nito na ang mga user ay hindi gumagastos ng pera na wala silang karapatang gumastos. Sa pamamagitan ng paggamit ng isang kumbinasyon ng game theory at cryptography, binibigyang-daan ng isang PoW algorithm ang sinuman na i-update ang blockchain alinsunod sa mga patakaran ng system.


Paano gumagana ang PoW?

Ang aming notepad sa itaas ay ang blockchain. Ngunit hindi namin idinagdag isa-isa ang mga transaksyon – sa halip, pinagsama namin ang mga ito sa mga block. Inanunsyo namin ang mga transaksyon sa network, pagkatapos ang mga user na lumilikha ng isang block ay isasama ang mga ito sa isang kandidato na block. Ituturing lang na wasto ang mga transaksyon sa sandaling ang kanilang kandidato na block ay naging isang nakumpirmang block, nangangahulugang naidagdag ito sa blockchain.
Gayunpaman, ang pagdaragdag ng isang block ay hindi mura. Kinakailangan ng Proof of Work na ang isang minero (ang user na lumilikha ng block) ay gumagamit ng ilan sa kanilang sariling mga mapagkukunan para sa pribilehiyo. Ang mapagkukunang iyon ay ang computing power, na ginagamit upang ma-hash ang data ng block hanggang sa matagpuan ang isang solusyon sa isang palaisipan.
Ang pag-hash ng data ng block ay nangangahulugang ipasa mo ito sa isang function ng hashing upang makabuo ng isang block hash. Gumagana ang block hash tulad ng isang “fingerprint” – ito ay isang pagkakakilanlan para sa iyong data ng pag-input at natatangi sa bawat block.

Ito ay halos imposible upang baligtarin ang isang block hash upang makuha ang input data. Gayunpaman, pag-alam ng isang input, walang halaga para sa iyo na kumpirmahing wasto ang hash. Kailangan mo lang isumite ang input sa pamamagitan ng function at suriin kung ang output ay pareho.

Sa Proof of Work, dapat kang magbigay ng data na ang hash ay tumutugma sa ilang mga kundisyon. Ngunit hindi mo alam kung paano makarating doon. Ang iyong pagpipilian lang ay ipasa ang iyong data sa pamamagitan ng isang hash function at upang suriin kung tumutugma ito sa mga kundisyon. Kung hindi, kakailanganin mong baguhin ang iyong data nang kaunti upang makakuha ng ibang hash. Ang pagbabago ng kahit isang character sa iyong data ay magreresulta sa isang ganap na magkakaibang resulta, kaya walang paraan ng paghula kung ano ang isang output.

Bilang resulta, kung nais mong lumikha ng isang block, naglalaro ka ng isang hulaan na laro. Karaniwan kang kumukuha ng impormasyon sa lahat ng mga transaksyon na nais mong idagdag at ilang iba pang mahahalagang data, pagkatapos ay ma-hash ang lahat ng ito. Ngunit dahil hindi nanalo ang iyong dataset, kailangan mong magdagdag ng isang piraso ng impormasyon na variable. Kung hindi man, palagi kang makakakuha ng parehong hash bilang output. Ang variable na data na ito ay tinatawag naming nonce. Ito ay isang numero na babaguhin mo sa bawat pagtatangka, kaya makakakuha ka ng ibang hash sa bawat oras. At ito ang tinatawag nating pagmimina.

Sa kabuuan, ang pagmimina ay ang proseso ng pangangalap ng data ng blockchain at pag-hash ito kasama ang isang nonce hanggang sa makahanap ka ng isang partikular na hash. Kung nakakita ka ng isang hash na nagbibigay-kasiyahan sa mga kundisyon na itinakda ng protocol, nakakuha ka ng karapatan na ma-broadcast ang bagong block sa network. Sa puntong ito, ina-update ng ibang mga kalahok ng network ang kanilang mga blockchain upang isama ang bagong block.

Para sa mga pangunahing cryptocurrency ngayon, ang mga kundisyon ay hindi kapani-paniwalang hamon upang masiyahan. Mas mataas ang hash rate sa network, mas mahirap na makahanap ng wastong hash. Ginagawa ito upang matiyak na ang mga block ay hindi masyadong nahanap.
Tulad ng naiisip mo, ang pagsubok na hulaan ang napakaraming mga hash ay puwedeng maging mahal sa iyong computer. Nagsasayang ka lang ng mga computational cycle at kuryente. Ngunit ang protocol ay bibigyan ka ng reward ng cryptocurrency kung makakita ka ng wastong hash.

Mag-recap ntayo kung ano na ang kasalukuyan nating nalalaman:

  • Mahal para sayo ang mag-mina.
  • Bibigyan ka ng reward kung makakagawa ka ng isang wastong block.
  • Kilalanin ang isang input, madaling masuri ng isang user ang hash nito – puwedeng mapatunayan ng mga user na hindi nagmimina na ang isang block ay may bisa nang hindi gumagasta ng maraming kapangyarihan sa computational.

Sa ngayon, napakahusay. Ngunit paano kung susubukan mong mandaya? Ano ang pipigilan ka sa paglalagay ng isang bungkos ng mga mapanlinlang na transaksyon sa block at gumawa ng isang wastong hash?

Diyan papasok ang public-key cryptography. Hindi kami magtatakay ng malalim sa artikulong ito, ngunit tingnan ang Ano ang Public-Key Cryptography? para sa isang komprehensibong pagtingin dito. Sa madaling salita, gumagamit kami ng ilang maayos na mga trick ng cryptographic na nagpapahintulot sa sinumang user na i-verify kung may isang tao na may karapatang ilipat ang mga pondong sinusubukan nilang gastusin.
Kapag lumikha ka ng isang transaksyon, mag-sign dito. Sinumang sa network ay puwedeng ihambing ang iyong signature sa iyongpublic key, at suriin kung nagtutugma sila. Susuriin din nila kung puwede mo talagang gugulin ang iyong mga pondo at ang kabuuan ng iyong mga input ay mas mataas kaysa sa kabuuan ng iyong mga output (ibig sabihin, na hindi ka gumagastos ng higit sa mayroon ka).

Anumang block na may kasamang hindi wastong transaksyon ay awtomatikong tatanggihan ng network. Mahalaga para sa iyo na kahit na magtangka na manloko. Sayangin mo ang iyong sariling mga mapagkukunan nang walang anumang reward.

Dito nakasalalay ang kagandahan ng Proof of Work ginagawang mahal ang pandaraya, ngunit mas kumikita kung kumikilos nang matapat. Anumang makatuwirang minero ay naghahanap ng ROI, kaya maaasahan silang kumilos sa isang paraan na ginagarantiyahan ang kita.



Nagbabalak na makapagsimula sa cryptocurrency? Bumili ng Bitcoin sa Binance!



Proof of Work vs. Proof of Stake

Maraming mga consensus algorithm, ngunit ang isa sa pinakahihintay na isa ay ang Proof of Stake (PoS). Ang konsepto ay nagsimula pa noong 2011, at ipinatupad sa ilang mas maliit na mga protokol. Ngunit hindi pa ito nakakakita ng adopsyon sa alinman sa malalaking mga blockchain.
Sa mga sistema ng Proof of Stake, ang mga minero ay pinalitan ng mga validator. Walang kasangkot na pagmimina at walang karera upang hulaan ang mga hash. Sa halip, ang mga user ay sapalarang napili – kung pinili sila, dapat silang magpanukala (o “"peke”) ng isang block. Kung may bisa ang pag-block, makakatanggap sila ng reward na binubuo ng mga bayarin mula sa mga transaksyon sa block.
Hindi lang ang sinumang user ang puwedeng mapili, bagaman – pipiliin ito ng protocol batay sa isang bilang ng mga kadahilanan. Upang maging kwalipikado, dapat ma-lock ng mga kalahok ang isang stake, na isang paunang natukoy na halaga ng katutubong pera ng blockchain. Gumagana ang pag-stake tulad ng piyansa tulad ng paglalagay ng mga akusado ng isang malaking halaga ng pera upang ma-disententibo ang mga ito mula sa paglaktaw sa paglilitis, ang mga nagpapatunay ay nagkulong ng isang stake upang hindi maagaw ang pagdaraya. Kung kumilos sila ng hindi matapat, ang kanilang stake (o isang bahagi nito) ay kukuha.
Ang Proof of Stake ay mayroong ilang mga benepisyo kaysa sa Proof of Work. Ang pinaka-kapansin-pansin ay ang mas maliit na carbon footprint – dahil hindi na kailangan para sa mga high-powered mining farm sa PoS, ang natupok na kuryente ay isang maliit na bahagi lang ng natupok sa PoW. 

Sinabi na, wala itong malapit sa track record ng PoW. Bagaman puwedeng ito ay mapag-isipang nakakasayang, ang pagmimina lang ang consensus algorithm na napatunayan mismo sa sukatan. Sa loob lang ng isang dekada, nakakuha ito ng trilyong dolyar na halaga ng mga transaksyon. Upang masabing sigurado kung puwedeng kalaban ng PoS ang seguridad nito, ang staking ay kailangang maayos na masubukan sa ligaw. 


Pangwakas na mga ideya

Ang Proof of Work ay ang orihinal na solusyon sa problemang double-spendat napatunayan na maaasahan at ligtas. Pinatunayan ng Bitcoin na hindi namin kailangan ng mga sentralisadong entity upang maiwasan ang parehong pondo na gumastos nang dalawang beses. Sa matalino na paggamit ng cryptography, hash function, at teorya ng laro, ang mga kalahok sa isang desentralisadong kapaligiran ay puwedeng sumang-ayon sa estado ng isang database sa pananalapi.