Ang isang consensus algorithm ay isang mekanismo na nagpapahintulot sa mga user o makina na makipag-ugnay sa isang ibinahaging setting. Kailangang tiyakin na ang lahat ng mga ahente sa system ay puwedeng sumang-ayon sa isang solong mapagkukunan ng katotohanan, kahit na ang ilang mga ahente ay nabigo. Sa madaling salita, ang system ay dapat na
fault-tolerant(tingnan din sa:
Ipinaliwanag ang Byzantine Fault Tolerance).
Sa isang sentralisadong pag-set up, ang isang solong entity ay may kapangyarihan sa system. Sa karamihan ng mga kaso, puwede silang gumawa ng mga pagbabago ayon sa gusto nila – walang ilang kumplikadong sistema ng pamamahala para sa pag-abot sa pinagkasunduan sa gitna ng maraming mga tagapangasiwa.
Ngunit sa isang desentralisadong pag-setup, ito ay isang buong iba pang kuwento. Sabihin na nakikipagtulungan kami sa isang ipinamamahagi na database – paano kami makakakuha ng isang kasunduan sa kung anong mga idagdag ang mga entry?
Ang pagtalo sa hamong ito sa isang kapaligiran kung saan ang mga hindi kilalang tao ay hindi nagtitiwala sa bawat isa ay marahil ang pinakamahalagang pag-unlad na nagbibigay daan sa
mga blockchain. Sa artikulong ito, titingnan natin kung gaano kahalaga ang mga consensus algorithm sa paggana ng mga cryptocurrency at ibinahagi na mga ledger.
Sa
cryptocurrency, ang mga balanse ng mga user ay naitala sa isang database – ang
blockchain. Mahalaga na ang bawat isa (o mas tumpak, bawat
node) ay nagpapanatili ng magkaparehong kopya ng database. Kung hindi man, magtatapos ka rin sa magkasalungat na impormasyon, pinapahina ang buong layunin ng cryptocurrency network.
Tinitiyak ng
Public-key cryptography na ang mga user ay hindi puwedeng gumastos ng
mga coin ng bawat isa. Ngunit kailangan pa ring magkaroon ng isang solong mapagkukunan ng katotohanan na umaasa ang mga kalahok sa network, upang matukoy kung ang mga pondo ay nagastos na.
Si
Satoshi Nakamoto, ang tagalikha ng
Bitcoin, ay nagpanukala ng isang
Proof of Work na sistema upang maiugnay ang mga kalahok. Mapapansin natin kung paano gumagana ang PoW sa ilang sandali – sa ngayon, makikilala namin ang ilan sa mga karaniwang katangian ng maraming mga consensus algorithm na mayroon.
Una, hinihiling namin na ang mga user na nais na magdagdag ng
mga block (tatawagin namin silang
mga validator) ay magbigay ng isang
stake. Ang stake ay isang uri ng halaga na dapat isulong ng isang validator, na humihimok sa kanila na kumilos nang hindi matapat. Kung manloko, mawawala ang kanilang stake. Kasama sa mga halimbawa ang kapangyarihan sa computing, cryptocurrency, o kahit reputasyon.
Bakit nila guguluhin ang ipagsapalaran ang kanilang sariling mga mapagkukunan? Sa gayon, mayroon ding available na reward. Karaniwan itong binubuo ng katutubong cryptocurrency ng protocol at binubuo ng mga bayarin na binabayaran ng iba pang mga user, mga bagong yunit na cryptocurrency na nabuo, o pareho.
Ang huling bagay na kailangan namin ay
transparency. Kailangan nating makita kung may nanloloko. Sa isip, dapat maging napakahalaga para sa kanila upang makabuo ng
mga block, ngunit mura para sa sinuman na patunayan ang mga ito. Tinitiyak nito na ang mga validator ay pinapanatili ng check ng mga regular na user.
Proof of Work (PoW)
Ang
Proof of Work (PoW) ay ang ninong ng mga consensus algorithm na blockchain. Una itong ipinatupad sa Bitcoin, ngunit ang aktwal na konsepto ay nasa paligid ng ilang oras. Sa Proof of Work, ang mga validator (tinukoy bilang
mga minero)
hash ang data na nais nilang idagdag hanggang makagawa sila ng isang tukoy na solusyon.
Ang isang
hash ay isang tila random na string ng mga titik at numero na nilikha kapag nagpatakbo ka ng data sa pamamagitan ng isang
hash function. Ngunit, kung patakbo mo muli ang parehong data sa pamamagitan nito, palagi kang mapupunta sa parehong output. Bagaman kahit isang detalye, kahit na, at ang iyong hash ay magiging ganap na magkakaiba.
Sa pagtingin sa output, hindi mo puwedeng sabihin kung anong impormasyon ang binigyan ng function. Samakatuwid kapaki-pakinabang ang mga ito para patunayan na alam mo ang isang piraso ng data bago ang isang tiyak na oras. Puwede mong bigyan ang isang tao ng hash nito, at kapag sa huli ay isiwalat mo ang data, puwedeng patakbuhin ito ng taong iyon sa pagpapaandar upang matiyak na pareho ang output.
Sa Proof of Work, naglalagay ang protocol ng mga kundisyon para sa kung bakit may bisa ang isang block. Puwedeng sabihin nito, halimbawa, ang isang block lang na ang hash ay nagsisimula sa 00 ay magiging wasto. Ang tanging paraan lang upang lumikha ang minero ng isa na tumutugma sa kombinasyong iyon ay upang mapasok ang lakas na mga input. Puwede silang mag-tweak ng isang parameter sa kanilang data upang makabuo ng iba't ibang kinalabasan para sa bawat hula hanggang makuha nila ang tamang hash.
Na may pangunahing mga blockchain, ang bar ay itinakda hindi kapani-paniwalang mataas. Upang makipagkumpitensya sa iba pang mga minero, kakailanganin mo ang isang bodega na puno ng mga espesyal na hardware ng pag-hash (
ASICs) upang makapasok na may pagkakataong makabuo ng isang wastong block.
Ang iyong stake, kapag
nagmimina, ay ang gastos ng mga makina na ito at kinakailangang kuryente upang patakbuhin ang mga ito. Ang mga ASIC ay itinayo para sa isang layunin, kaya't wala silang silbi sa mga aplikasyon sa labas ng
cryptocurrency mining. Ang iyong tanging paraan upang mabawi ang iyong paunang pamumuhunan ay ang mina, na magbubunga ng isang makabuluhang gantimpala kung matagumpay mong naidagdag ang isang bagong block sa blockchain.
Walang halaga para sa network na ma-verify na nakalikha ka ng tamang block. Kahit na sinubukan mo ang trilyon-milyong mga kumbinasyon upang makuha ang tamang hash, kailangan lang nilang patakbuhin ang iyong data sa isang function nang isang beses. Kung ang iyong data ay gumagawa ng wastong hash, tatanggapin ito, at makakakuha ka ng gantimpala. Kung hindi man, tatanggihan ito ng network, at magsasayang ka ng oras at kuryente para sa wala.
Proof of Stake (PoS)
Ang
Proof of Stake (PoS) ay iminungkahi sa mga unang araw ng Bitcoin bilang isang kahalili sa Proof of Work. Sa isang sistema ng PoS, walang konsepto ng mga minero, dalubhasang hardware, o malawakang pagkonsumo ng enerhiya. Ang kailangan mo lang ay isang regular na PC.
Sa gayon, hindi lahat. Kailangan mo pa ring maglagay ng balat sa laro. Sa PoS, hindi mo inilalagay ang isang panlabas na mapagkukunan (tulad ng elektrisidad o hardware), ngunit isang panloob – cryptocurrency. Ang mga panuntunan ay naiiba sa bawat protocol, ngunit sa pangkalahatan mayroong isang minimum na halaga ng mga pondo na dapat mong hawakan upang maging kwalipikado para sa
staking.
Mula doon, ini-lock mo ang iyong mga pondo sa isang
wallet (hindi sila maililipat habang naka-stake ka). Karaniwan kang sasang-ayon sa iba pang mga validator sa kung anong mga transaksyon ang pupunta sa susunod na block. Sa isang katuturan, tumaya ka sa block na mapipili, at pipili ang protocol ng isa.
Kung napili ang iyong block, makakatanggap ka ng isang proporsyon ng mga bayarin sa transaksyon, depende sa iyong stake. Ang mas maraming mga pondo na iyong naka-lock, mas maraming paninindigan upang makamit. Ngunit kung susubukan mong mandaya sa pamamagitan ng pag-propose ng mga hindi wastong transaksyon, mawawalan ka ng bahagi (o lahat) ng iyong stake. Samakatuwid, mayroon kaming isang katulad na mekanismo sa PoW–ang kumilos nang matapat ay mas kapaki-pakinabang kaysa kumilos nang hindi matapat.
Sa pangkalahatan, walang mga bagong nilikha na mga barya bilang bahagi ng reward para sa mga validator. Ang katutubong currency ng blockchain ay dapat na maibigay sa ibang paraan. Magagawa ito alinman sa pamamagitan ng isang paunang pamamahagi (ibig sabihin, isang
ICO o
IEO ) o sa pamamagitan ng paglulunsad ng protocol sa PoW bago lumipat sa PoS.
Sa ngayon, ang dalisay na Proof ng Stake ay na-deploy lang sa mas maliit na mga cryptocurrency. Samakatuwid, hindi malinaw kung puwede itong magsilbing isang mabubuhay na kahalili sa PoW. Habang lilitaw itong teoretikal na tunog, magkakaiba ito sa pagsasanay.
Kapag ang PoS ay inilunsad sa isang network na may isang malaking halaga ng halaga, ang system ay naging isang patlang ng paglalaro ng
game theory at mga insentibo sa pananalapi. Ang sinumang may kaalamang “"mag-hack” ng isang sistema ng PoS ay malamang na gawin lang ito kung puwede silang makakuha mula dito – samakatuwid, ang tanging paraan upang malaman kung magagawa ito ay sa isang live na network.
Makikita namin sa lalong madaling panahon ang PoS na nasubok sa isang malaking sukat – ang
Casper ay ipapatupad bilang bahagi ng isang serye ng mga pag-upgrade sa network ng Ethereum (sama-sama na kilala bilang
Ethereum 2.0).
Ang Proof of Work at Proof of Stake ang pinaguusapan na mga consensus algorithm. Ngunit mayroong iba't ibang mga iba pa, lahat ay may kani-kanilang mga kalamangan at dehado. Suriin ang mga sumusunod na artikulo:
Ang mga mekanismo para sa pagkamit ng consensus ay mahalaga sa paggana ng mga ibinahaging sistema. Maraming naniniwala na ang pinakadakilang pagbabago sa Bitcoin ay ang paggamit ng Proof of Work upang paganahin ang mga user na sumang-ayon sa isang ibinahaging hanay ng mga katotohanan.
Ang mga consensus algorithm ngayon ay hindi lang sa ilalim ng mga digital na sistema ng pera, ngunit ang mga blockchain na pinapayagan ang mga developer na magpatakbo ng code sa isang ibinahaging network. Isa na silang pundasyon ng teknolohiya ng blockchain at kritikal sa pangmatagalang posibilidad na mabuhay ng iba't ibang mga network na nag-e-exist.
Sa lahat ng mga consensus algorithm, ang Proof of Work ay nananatili ang nangingibabaw na alok. Ang isang kahalili na mas maaasahan at mas ligtas ay hindi pa iminungkahi. Sinabi nito, mayroong isang napakalaking halaga ng pagsasaliksik at pag-unlad sa mga kapalit ng PoW, at malamang na makita natin ang higit sa mga ito sa mga susunod na taon.