This article has been translated from English to Tagalog.

Bitcoin ang sagot sa tanong na, “Aling transaction ang dapat itabi?

Ang paraan ng Bitcoin sa pagsagot sa tanong na 'to ay sobrang talino.

Eto kung paano...

Ang bawat node sa Bitcoin network ay nagsheshare ng impormasyon tungkol sa mga bagong transactions.

Ang mga transactions na ginawa sa Bitcoin network ay HINDI direktang idinadagdag sa blockchain. Una silang kinokolekta at iniistore sa tinatawag na "memory pool".

Ang BAWAT computer na tumatakbo sa Bitcoin program ay gumagawa ng pansamantalang storage area para sa transactions na tinatawag na “memory pool”. Kilala rin bilang “mempool” para sa mga tamad mag-type ng buo.

Ang bawat Bitcoin node ay may sariling mempool, kung saan iniistore nito ang pila ng transactions na na-check at kinokonsiderang valid.Bitcoin Node's Memory Pool

Sa madaling sabi, ang mempool ay isang organized queue kung saan iniistore at inaayos ang transactions bago idagdag sa newly created block.

  • Ang memory pool ay naglalaman ng “fresh” o unconfirmed transactions (iniistore bilang individual transactions).
  • Ang blockchain ay naglalaman ng “archived” o confirmed transactions (nakapackage sa “blocks”).

Ang lahat ng bitcoin transactions ay simpleng “unconfirmed” transactions at umiiral lamang sa mempool bago sila “ma-confirmed” at maidagdag sa blockchain.

Sa Bitcoin network, ang lahat ng full nodes ay may memory pool.

All Bitcoin nodes have a memory pool

Ilagay natin na nag-initiate ka ng transaction sa side ng network na ito (purple transaction).

Tapos pumunta ka dito at gamitin ang same bitcoin at ilagay ang red transaction sa computer na ito.

Kung mapapansin mo, ang dalawang transactions na ito ay HINDI direktang naisasulat sa file. Parehong transactions ay simpleng iniistore muna sa memory pool ng bawat computer.

Both transactions are stored in memory pool

Kaya ang parehong transactions ay magpapalaganap sa buong network.

Tatanggihan ng computer na ito ang red transaction dahil natanggap na nila ang purple transaction.

Transaction is rejected from mempool

Kaya ngayon, nasa network ang parehong transactions.

Pero hindi pa sila naisusulat sa file, kaya hindi pa naa-update ang file.

Both transactions are waiting in mempool

Ang mangyayari ay lahat ng computers na ito ay magtatrabaho at susubukang ipasok ang kanilang transactions mula sa memory pool papunta sa file.

Magko-compete sila para maging una na maipasok ang memory pool transactions nila sa taas ng file.Bitcoin mining nodes compete

Ilagay natin na itong computer (naka-yellow) ang unang nakagawa nito.

Bitcoin node first to add transaction to blockchain

Idinadagdag nito ang transaction mula sa memory pool papunta sa file:

Bitcoin nodes adds transaction to blockchain

At kapag nagawa na nito ito….

Ipapasa nito ang kanilang updated na kopya ng file sa iba pang konektado sa kanila….

Bitcoin node shares blockchain copy

At nila ay a-update ang kanilang mga kopya.

Sa illustration sa ibaba, ang node na ito ay tumatanggap ng updated file na naglalaman ng purple transaction na nag-spend ng parehong bitcoin.

Bitcoin node kicks out conflicting transaction

Ano ang mangyayari sa nagko-conflict na red transaction sa memory pool nito?

Dahil nagamit na ang parehong bitcoin sa purple transaction, itatapon nito ang red transaction mula sa kanilang memory pool!

Ipapasa ng node na ito ang updated file.

At ang ibang node(s) ay gagawin ang parehong bagay…itatapon nito ang anumang nagko-conflict na transactions sa memory pool nito.

All Bitcoin nodes kick out conflicting transaction

Ngayon lahat ng computers ay may updated na file.

Kaya ganyan mo masosolusyonan ang problema ng pagkakaroon ng dalawang nagko-conflict na transactions sa network.

Literal na mayroon kang “waiting area” (mempool) para sa pending transactions at nodes compete at subukan ilagay ang kanilang transactions sa file.

Sa example na ito, ang purple dude ang makakatanggap ng bitcoin…Bitcoin transaction is successful

Pero kapag ikaw na shady self mo ay nag-try i-spend ang same bitcoin sa red dude, hindi ito gagana.Bitcoin transaction fails

Ang prosesong ito ng nodes na nagko-compete para subukan at makuha ang kanilang transactions mula sa kanilang memory pool papunta sa file (“the blockchain”) ay tinatawag na MINING.