This article has been translated from English to Tagalog.
Ang Bitcoin network ay isang peer-to-peer (P2P) network ng “nodes”.
Noong mga nakaraang lesson, natutunan mo na kung ano ang ginagawa ng isang network at kung ano ang isang P2P network.
Pero ano nga ba talaga ang isang Bitcoin node? Ano ang ginagawa ng isang Bitcoin node? Paano gumagana ang isang Bitcoin node?
Ang isang Bitcoin node, o mas specific, isang Bitcoin “full node”, ay simpleng computer na nagrurun ng Bitcoin software (kilala bilang “Bitcoin client” o “Bitcoin client software”).
Pwede itong maging desktop PC o laptop basta may sapat na hard drive storage para ma-store ang historical data.
Ang mga terminong “node” at “full node” ay madalas na ginagamit na parang pareho lang, pero may pagkakaiba talaga sa dalawa. Kasi may dalawang uri ng nodes: “full node” at “light node” (o “lightweight node”). Ang mga full nodes ang bumubuo sa backbone ng Bitcoin network, habang ang light nodes ay umaasa sa full nodes para gumana. Dahil di makakagana ang light nodes nang mag-isa, iniisip ko sila parang isang “barnacle” o “parasite” dahil kailangan nilang kumapit sa isang full node. Simula ngayon, maliban kung may ibang sinabi, kapag ginamit ko ang salitang “node”, ibig kong sabihin ay “full node”.
Ano ang ginagawa ng isang Bitcoin node?
Ang isang node ay may tatlong ginagawa:
- Sumusunod sa mga rules
- Nagbabahagi ng impormasyon
- Nag-iingat ng kopya ng kumpirmadong transaksyon
1. Sumusunod sa mga Rules
Ang bawat node (isang computer na nagrurun ng Bitcoin software) ay na-program para sundin ang set ng mga rules.
Ito ay tinatawag na Bitcoin protocol.
Ang protocol ay isang set ng predefined rules na nagdidikta kung paano mag-ooperate ang network, at na lahat ng participant sa network ay dapat sumunod para gumana ang network.
Ang bawat Bitcoin node ay autonomous. Kung may computer ka na nagrurun ng Bitcoin client, hindi “sasabihin sa'yo ng network kung ano ang gagawin”. Sa halip, ang Bitcoin client ay alam na kung ano ang gagawin, at gumagawa ng sariling desisyon base sa Bitcoin protocol (rules).
Dahil ang mga rules ay predefined at naka-code sa Bitcoin software, napipigilan nito ang anumang hindi pagkakaintindihan sa Bitcoin network.
Sa pagsunod sa mga rules na ito, nagagawa ng isang node na i-check ang mga transaksyon na natatanggap nito at i-relay lang kung legit ang lahat.
Kung may problema, hindi ipapasa ang transaction.
Ang isang transaksyon na hindi sumusunod sa mga rules ay ma-reject ng P2P network ng computers.
Halimbawa, ang isang rule ay kailangan ang isang tao ay mayroong equal o mas maraming bitcoin kaysa sa kanilang sinusubukang ipadala.
Kung ang iyong node ay makatanggap ng transaksyon kung saan may nag-try magpadala ng mas maraming bitcoin kaysa sa kanilang pag-aari, hindi ipapasa ang transaksyon sa ibang nodes.Kung ang sinumang miyembro ng Bitcoin network ay mag-attempt na i-broadcast ang maling impormasyon, agad na kikilalanin ito ng lahat ng nodes sa network bilang invalid at i-reject ito.
Dahil ang bawat isa at parehong node ay pwede i-verify ang lahat ng impormasyon sa network ng mag-isa, hindi na kailangan magtiwala sa ibang miyembro ng network. Ginagawa nitong isang trustless system ang Bitcoin.
2. Nagbabahagi ng Impormasyon
Ang pangunahing trabaho ng isang node ay mag-gossip...ibahagi ang impormasyon sa ibang nodes.
Ang “impormasyon” na ibinabahagi ng node ay ang mga transaksyon.
May DALAWANG uri ng transaksyon na ibinabahagi ng mga nodes:
- Fresh transactions: mga transaksyon na kamakailan lang pumasok sa network.
- Confirmed transactions: mga transaksyon na “kumpirmado” at naisulat sa isang file. Ang mga transaksyon na ito ay hindi ibinabahagi ng paisa-isa kundi unang pinapackage sa BLOCKS bago i-share.
Ang isang node ay nagbabahagi ng parehong “fresh” transactions at blocks ng “confirmed” transactions.
Ano ang block?
Parang pumunta ka sa local coffee shop mo at pagkatapos mong magbayad, nakakuha ka ng resibo na nagsasaad ng isang “transaksyon” sa barista. Gustong-gusto mo talagang pumunta sa coffee shop na ito at pagkatapos ng maraming pagbisita, mayroon ka nang stack ng mga resibo. I-bundle mo sila. Iyan ang “block“.
Kaya sa Bitcoin, ang mga transaksyon na naka-bundle ay tinatawag na “block”.
Huwag kang mag-alala masyado sa blocks o ang pagkakaiba ng fresh at confirmed transactions sa ngayon. Lahat ay magiging malinaw sa mga susunod na lesson.
3. Nag-iingat ng Kopya ng Kumpirmadong Transaksyon
Gaya ng nabanggit sa itaas, ang bawat node ay nag-iingat din ng blocks ng “confirmed” transactions.
Ang mga ito ay magkakasama sa isang file na tinatawag na “blockchain“.
Ano ang chain?
Para sa pakay ng lesson na ito, ang “chain” ay nangangahulugan na kapag gumawa ka ng bagong block (isa pang bundle ng transaksyon), ikinakabit mo ito sa naunang block. At kapag nakakabit na, permanente na iyon. Hindi mo ito maaalis.
Permanente itong nakakabit sa naunang block. Kaya gamit ang halimbawa ng coffee shop na nabanggit ko kanina, isipin mo na lamang ang isang chain ng maraming bundle ng resibo...iyon ang “chain of blocks” o isang blockchain.
Ang mga fresh transactions ay umiikot sa network hanggang sila ay maisama sa blockchain, na isang ledger ng confirmed transactions.
Walang single blockchain. Ang bawat node ay may sariling kopya ng blockchain.
Ang lahat ng nodes ay ginagawa ang kanilang makakaya para manatiling naka-sync. Kung ang ilang nodes ay may outdated na kopya ng blockchain, ang ibang nodes na may pinakabagong kopya ng blockchain ay magbabahagi ng kanilang kopya sa kanila.
Ang cool dito ay bawat node ay may sariling kopya ng blockchain kaya kahit ang isa (o higit pa) nodes ay ma-offline, ang Bitcoin network ay patuloy na mag-ooperate! Habang mas maraming nodes na nagrarun, mas mahirap i-shutdown ang Bitcoin.
Hindi nakadepende ang network sa anumang single node. Walang central point of failure. Para talagang mapatay ang Bitcoin, bawat kopya ng blockchain ay kailangang masira.
Bawat node ay independent. Ang mga nodes (computers) ay pwede umalis at bumalik sa network kahit kailan.
Kung ang isang node ay nadisconnect sa network at bumalik, ang computer ay ida-download lang ang pinakasariwang kopya ng Bitcoin’s blockchain at magiging node muli ito.
Ang nodes ay mahalagang bahagi ng Bitcoin system. Kung walang nodes, walang Bitcoin network.
At kung walang Bitcoin network, walang blockchain dahil kailangan ang mga nodes para mag-imbak ng kopya ng blockchain.
At kung walang blockchain, walang Bitcoin system.
Summary
So far, natutunan mo na ang Bitcoin network ay:
- isang leaderless peer-to-peer network ng nodes (computers na nagrarun ng Bitcoin software),
- kung saan bawat node ay independent na nagche-check na sinusunod ang lahat ng rules,
- nagve-verify ng fresh transactions at
- nag-iimbak ng kopya ng blockchain (ang ledger ng kumpirmadong transaksyon).
Dahil ang bawat node ay gumagawa ng parehong trabaho, walang central point of failure. Walang centralized server.
Para ang mga fresh transactions ay ma-ADD sa blockchain, kailangan nilang dumaan sa proseso na tinatawag na “mining” na ginagawa ng isang special na uri ng node na kilala bilang “miners“.
Pero para maintindihan kung paano gagana ang Bitcoin mining, kailangan nating mag-detour sandali.
