Introduksyon sa Miner Software
Introduksyon sa Miner Software

Introduksyon sa Miner Software

Dati, nakapaloob na sa Bitcoin Core software ang lahat ng aspeto ng Bitcoin, pati mining. Subalit paglaon, nung naging industriya na ito gamit ang napakaraming ASIC, wala nang silbi ang mining feature para sa nag-iisang node na may tipikal na CPU. Dahil dito, tinanggal na ang internal miner nung 2016 na update sa Bitcoin Core. Sa katunayan, sa bandang huli ng 2010 palang, hindi na kayang makipagkompitensya ng tipikal na CPU dahil sa paggamit ng mga graphics processing units (GPU). Kaya rin maaga palang sa kasaysayan ng Bitcoin ay nakonsidera na ang pooled mining.

Ang pooled mining ay kung saan maghahati-hati ang mga miners ng trabaho para matapos ang proof-of-work ng bagong block. Kapag ang isang pool service ay nanalo sa kompetisyon ng PoW, ipaghahati-hati nito sa mga miners ang pabuya, depende sa kanilang kontribusyon na trabaho.

Getwork

Ang unang paraan na ginawa para sa pooled mining ay ang getwork. Ito ay gumagamit ng JSON-RPC (JavaScript Object Notation – Remote Procedure Call) na dumadaan sa HTTP. Ang isang miner ay hihingi (getwork request) ng trabaho mula sa pool server. Sasagot ang pool server ng trabaho (getwork job o getwork response) na ipapagawa. Ang isang miner na matagumpay na makakahanap ng block header hash ay magpapadala ng HTTP POST request.

Hindi nakahabol ang getwork sa bilis ng progreso ng teknolohiya at kompetisyon sa mining. Kaya kinailangang palitan bandang 2012 pa lang ang RPC na ito. Isa pang isyu nito ay ang pool server ang nagdidikta ng mga isasamang transaksyon sa block. At ang mga miners ay susubukan lang makuha ang tamang halaga ng block header. May panganib ng centralization kapag ganun.

Getblocktemplate

Ang getblocktemplate ay RPC rin na dumadaan sa HTTP. Pinagbuti nito ang mga kakulangan ng getwork.

Ang miner ay hihingi muna ng template (template request) mula sa pool server. Ito naman ay sasagot ng template na may detalye ng mga kinakailangan para masimulan ang mining. Kasama na lagi sa pinapadala ang mga nirerekomendang transaksyon, di tulad sa getwork.

Ang isa pa sa pinagpabuti sa getblocktemplate ay: maaaring humingi ang miner ng mga mutations, o mga bagay na maaari nitong baguhin. Halimbawa, ang pagbago ng coinbase, pagdagdag/bawas ng transaksyon, o pagmodipika ng oras sa header. Kasama sa isasagot ng pool server ay ang mutable key, na isinasaad kung ano ang pinayagan nitong baguhin ng miner.

Subalit may kasabay na ginawang mining protocol ang ibang mga developers lalo na yung may mining pool na negosyo. At ang protocol na ito ang mas napili ng nakararaming miners kesa sa getblocktemplate. Pag-usapan natin ito sa susunod na post.


Kitakits sa ika-21.

Mag-iwan ng Tugon

Ang iyong email address ay hindi ipa-publish. Ang mga kinakailangang mga field ay markado ng *