Bitcoin ba kamo?'s avatar
Bitcoin ba kamo?
bitcoinbakamo@iris.to
npub1svhm...jk0z
Intindihin natin ang bitcoin. (Let's understand bitcoin, in Filipino.) https://bitcoinbakamo.xyz
Stratum V2 Matapos ang ilang taon, bandang 2019, ay iminungkahi ang Stratum V2 (SV2). Maraming pagpapabuti ang nalalaman nito, na syempre, ay naglalayong maging mas efficient at maging mas mataas ang seguridad ng operasyon ng mining. Layunin din ng Stratum V2 na maging standard at tumpak ang mga depinisyon, di gaya ng nangyari sa SV1. Tinanggal na ang JSON sa Stratum V2. Gumagamit na ito ng binary protocol na malaki talaga ang itinipid sa data. Para magkaroon ng decentralization, merong karagdagang mga papel at protocols sa operasyon ng mining. 3 protocols ang meron sa Stratum V2: Mining Protocol - ito ang direktang pumalit sa SV1, at pangunahing protocol na ginagamit sa lahat ng senaryo. Ito kasi ang nagpapagana ng distribusyon ng trabaho (jobs) para sa mga miners, pagpasa ng mga ito ng resulta ng proof-of-work sa pool service, at ang distribusyon din ng mga pabuya. Ito ang protocol sa pagitan ng mining device at pool service, mining device at mining proxy, 2 proxies, o mining proxy at pool service. Job Declaration Protocol - ito ay gamit ng miner (o mining farm) para ideklara ang block template nito sa mining pool. Ang komunikasyon ay sa pagitan ng 2 job declarators: sa miner side (job declarator client) at pool side (job declarator server). Kapag ang mining pool ay may kasamang job declarator server, nakapasa na dun ang distribusyon ng jobs. Kinukwenta nalang ng mining pool ang shares at distribusyon ng mga rewards. Template Distribution Protocol - ito naman ang protocol para sa pagkuha ng block template na gagamitin sa pagmina ng susunod na block. Gamit ito sa komunikasyon ng template provider at job declarator, o kaya ng template provider diretso sa pool service. Ang Template Provider naman ay kumukuha ng mga transaksyon mula sa isang Bitcoin full node. Ang mga papel o roles naman sa Stratum V2 ay: Mining device - ito ang device na nagmimina mismo, gaya ng isang ASIC. Pool service - Ito ang orihinal na gumagawa ng jobs, nagpapatunay at kwenta ng shares, at naniniguradong pinapakalat ang bagong block na matagumpay na namina. Gaya ng nabanggit kanina, kapag may job declarator server, hindi na gagawin ng pool service ang jobs. Mining proxy (opsyonal) - Ito ay server sa pagitan ng mining devices at pool service na nagsasama-sama ng koneksyon ng mga magkakagrupong miners, para mas efficient ang komunikasyon sa pool service. Kapag may job declarator, konektado dito ang mining proxy. Job declarator (opsyonal) - May 2 klase: job declarator client at job declarator server. Ang job declarator client ang tumatanggap ng pasadyang block templates, na idedeklara sa job declarator server. Magkakaroon ng negosasyon sa pagitan ng job declarator server at client, kung tanggap nga ng pool service ang sariling block template ng miners. Aalamin din ng job declarator server kung ano ang mga transaksyon na wala ito kung sakaling gamit ng job declarator client ang ibang block template. Template provider - ito ang gumagawa ng sariling block template, kaya madalas ay Bitcoin Core full node ito. Ipapasa nito sa job declarator ang block template. Para sa mga mas centralized na sistema, kagaya sa SV1, ang template provider ay magpapasa ng block template sa pool service mismo. Hindi nagdedemanda ang Stratum V2 na mag-upgrade agad lahat ng mga miners sa firmware na ito. Kaya may mga pagsasaayos na nagkakaroon ng translation sa pagitan ng SV1 at SV2. Pag-usapan natin sa susunod. O kaya, basahin mo na agad sa
Bitcoin ba kamo?'s avatar
bitcoinbakamo 3 weeks ago
Stratum V1 Sinolusyonan ng Stratum ang mga isyu sa getwork protocol sa paraang mas simple at nagreresulta sa mas mataas na performance ng mga mining pool, kumpara sa getblocktemplate. Kaya ito ang naging pamantayan ng mga pooled mining protocols. Stratum V2 na ang gamit ngayon ng mga pool miners. Pero ilarawan muna natin ang V1 bago intindihin ang V2. Ang unang naresolba ng Stratum ay ang inefficiency ng paggamit ng layer ng HTTP sa pagpapasahan ng impormasyon. Sa Stratum, ang layer ng TCP ang diretsang ginagamit. Ang mining client ay magbubukas ng TCP socket na kombinasyon ng IP address at port nito, para kumonekta sa mining pool server sa tiyak na IP address at port naman nito. Ang pares ng TCP sockets na iyon ang end-to-end o direktang TCP connection sa pagitan ng miner at mining pool server. At nanatili itong bukas hanggat hindi bumibitaw ang miner. Ang extra nonce sa coinbase transaction ay maaaring baguhin ng miner sa Stratum. Nakadulot ito ng pagpapabilis dahil kapag naubos na ang pagsubok ng nonce sa block header, maaaring dumiretso na sa pagbabago ng extra nonce ang miner sa halip na humingi uli ng getwork request para sa susunod na tsansang magmina. Bumilis nga ang daloy ng impormasyon sa Stratum V1, subalit may mga aspeto ito na hindi kanais-nais paglaon. Halimbawa, ang JSON-RPC na mga mensahe ay hindi encrypted. Ito ay napatunayan ding may kahinaan sa mga pag-atake ng mga hackers tulad ng hashrate stealing at man-in-the-middle attacks. Ang mga miners ay limitado pa rin ang kakayahan, kaya’t maaaring magdulot ng pagka centralized ng kapangyarihan sa mga malalaking mining pools. Ito ay inilayong maiwasan sa Stratum V2. Pwede mo basahin na agad ang ukol sa V2 ng Stratum sa kabanatang ito:
Bitcoin ba kamo?'s avatar
bitcoinbakamo 1 month ago
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.
Bitcoin ba kamo?'s avatar
bitcoinbakamo 1 month ago
I studied Bitcoin as a hobby for almost 5 years. Here's the result so far. I would like to share a personal fulfillment, as I don't have Bitcoiner friends. I finally finished writing a book-structured Bitcoin educational content after close to 5 years of studying as a hobby! It's a site accessible through my profile if interested. But... it's in the Filipino language. Backstory: In 2021, I decided to allot time understanding Bitcoin. That's the year when I started turning into a Bitcoin maxi. I used to work a technical and analytical job, and I would be doing creative things as a hobby. I left that career and found myself doing more creative work in the last several years. And so, I wanted a technical hobby. Typical insatiable human. Bitcoin was the perfect topic to get nerdy about. So, I chose learning about it as my hobby. And boy is that rabbit hole deep. I found myself studying history, economics, reviewing maths and learning more maths, networks, etc. I decided to make a website to share the knowledge, inspired by the Bitcoin educators who got me in. Also it gave me direction and capability to have information available sooner, and piece by piece. And forming the content in book structure pushed me to be more thoughtful with the hobby. What I wrote was to the best of my understanding at the time. Why write in Filipino? Well, there are many good to great English-language Bitcoin educational content already. And as a contribution to my country, I thought I'd put a digital footprint of our language, talking about Bitcoin. And I hope what I did was of high quality, and a good representation. I'm just happy about this!
Bitcoin ba kamo?'s avatar
bitcoinbakamo 1 month ago
wTXID Commitment sa Coinbase Pagpasok ng SegWit sa Bitcoin, may kinakailangang laman uli ang coinbase transaction, na nakalagay naman sa output. Ito ay ang paglalagay ng wTXID commitment. Napag-usapan na natin ang TXID. Ang mga legacy TXID ay kasama ang witness data sa na double-SHA256. Subalit ang mga SegWit na TXIDs ay hindi isinasama ang witness sa hashing. Ito ay para nga matanggal ang transaction malleability na binanggit sa Kabanata 4. Sa SegWit, may double-SHA256 pa rin na kasama ang witness. Ito ang witness transaction IDs (wTXID). Basahin ng buo sa:
Bitcoin ba kamo?'s avatar
bitcoinbakamo 2 months ago
Extra Nonce sa Coinbase Nabanggit natin sa ika-5 kabanata ( https://bitcoinbakamo.xyz/aklat/kabanata-5-mekanismo-ng-pakikipagtransaksyon-sa-bitcoin ) na nakapaloob rin sa mga kasalukuyang input ng coinbase transactions ang extra nonce. Ito ay nag-ookupa sa espasyo ng “unlocking script” na wala namang saysay sa coinbase dahil walang ia-unlock. Sa kasalukuyang blocks, kung gagamit man ng extra nonce, ito ay susunod sa block height (na matapos ang BIP-0034 ay kinakailangan nang isama parati), at sa arbitraryong data na nilalagay ng ibang miners. Sa taas ng pinagsamang hash rate ng mga miners ngayon, malamang pangkaraniwan nang ginagamit ang extra nonce sa mga iterasyon ng mining.
Bitcoin ba kamo?'s avatar
bitcoinbakamo 2 months ago
Bitcoin para sa kapayapaan, at respeto sa trabaho. Bitcoin for peace, and respect for work.
Bitcoin ba kamo?'s avatar
bitcoinbakamo 2 months ago
Konsepto ng Bitcoin Mining Difficulty: Halimbawa sa simpleng statistics Para maintindihan bakit ang target ay mas mahirap hanapin kapag mas maliit, tignan natin ang halimbawa ng paglalaro ng 2 dice. Ang bawat resultang lalabas kapag nag-itsa tayo ng dice ay may probability. Halimbawa, ang laro natin ay mag-itsa ng 2 dice para makamit ang target na sum ng mga tuldok. May 36 na kombinasyon ng tuldok ang posible:
Bitcoin ba kamo?'s avatar
bitcoinbakamo 3 months ago
Difficulty Adjustment Nakaprograma na kada 2016 blocks ay itinatakda ang bagong target. Kada 2 linggo bale. Uulitin natin ang ilang beses nang nabanggit sa pag-aaral na ito: ang bawat block ay nabubuo sa loob ng average na 10 minuto. Ito ang nakatakdang tagal upang matapos ang Proof-of-Work. Ang target ay mas madaling makamit kapag: Mas marami ang nagkokompetensya sa pagmimina Mas malakas ang mga processor ng mga kompyuter na gamit Kabaliktaran naman ang epekto kapag taliwas sa mga nabanggit ang sitwasyon. Ang tawag sa pagtatakda ng target sa kada 2 linggo ay: difficulty adjustment. Ang formula ng difficulty adjustment
Bitcoin ba kamo?'s avatar
bitcoinbakamo 3 months ago
Target Matatandaang kasama ang timestamp, target at ang nonce sa istraktura ng block header. Ang target ay ang numero na naglilimita sa halaga ng block header hash na dapat makuha sa isang pagkakataon. Alam na natin na ang cryptographic hash function na gamit sa Bitcoin ay one-way hash function. Sa isang direksyon lang sya madaling kalkulahin (input —> output). Ibig sabihin sa mining, mula sa halaga ng target, hindi agad makakalkula pabalik ang double-SHA256 para mahanap ang sapat na nonce. Kaya trial-and-error o paulit-ulit na hulaan ang magaganap. Ang nonce ang pinapalitan sa bawat iteration. At maraming iteration ang bubunuin para maabot ang target. Dito napupunta ang bulto ng Proof-of-Work. Ano ang target? Ipagpatuloy sa:
Bitcoin ba kamo?'s avatar
bitcoinbakamo 4 months ago
Pagbuo ng block - bago ang proof of work Kinakailangang mapatunayan na tinrabaho ang pagkakabuo ng bawat block. Ito ay para ang mga malisyosong nodes na gustong modipikahin ang nakaraang blocks (para makadaya) ay kailangan ng mas malaking enerhiya kumpara sa mga tapat na nodes na gusto lang magdagdag ng bagong block. Ang pagbuo ng block ay mag-uumpisa sa pagpili ng mga transaksyon mula sa memory pool ng miner/grupo ng miner/mining pool. Kasama na dun ang paglinya ng mga transaksyon para handa sa pagkuha ng Merkle tree. Sunod ay ang pagbuo ng coinbase transaction. Sunod ay ang pagbuo ng block header, kung saan kasama ang previous block header hash at Merkle root ng mga transaksyon. Sa pagbuo ng block header gagamit ng karagdagang enerhiya ang mining node. Bakit? Sagutin natin sa susunod na post.
Bitcoin ba kamo?'s avatar
bitcoinbakamo 4 months ago
Compact Block Relay Isa sa paraan upang mapabilis ang pagkalat ng block sa network ay ang paggamit ng compact block relay, na nasasaad sa BIP-0152. Ang bawat node kasi ay may mempool kung saan malaki ang tsansa na maraming pinagkaparehas sa ibang node. Kaya, ang miner ay maaaring magpasa lamang ng partial na block data. Ang makakatanggap na node ay maaaring makuha ang kabuuan ng block dahil sa naiipon nitong mempool transactions. At gayun din ang node na ito, kahit compact block lang muna ang ipasa sa iba. Hihingin nalang ang kulang kung sakaling hindi pa kayang buuin ang block mula sa sariling mempool transactions.
Bitcoin ba kamo?'s avatar
bitcoinbakamo 5 months ago
Fork sa Block Chain Sa mga bagong blocks na idinudugtong, hindi pa agad tiyak ang ayos blockchain. Ito ay dahil sa distribusyon ng mga nodes at miners ng network sa iba’t ibang panig ng mundo. May mga miners na makakabuo ng nais na block sa halos parehas na oras. Sa ganitong sitwasyon, may 2 o higit pang blocks na parehas ng block height. At habang kumakalat palang ang impormasyon sa mga nodes, nagkakaroon ng magkaibang kopya ng blockchain. Ang pangyayaring ito ay tinatawag na fork. Ituloy ang paksa:
Bitcoin ba kamo?'s avatar
bitcoinbakamo 5 months ago
Pagdudugtong ng Blocks Ang block hash ay double-SHA256 ng block header, at ginagamit na pamberipika ng mga nodes sa isang block. Ang isang node ay maaaring magtago o mag-index ng mga block hash sa disk nito, para madaling mahanap ang isang block. Sa blockchain kasi, ang block hash ay maitatago roon kapag naisama na sa block header ng susunod na block bilang: previous block hash. Ang previous block hash ang sangkap ng block header na syang nagkokonekta sa mga blocks para makabuo ng chain. Bawat block ay may bahid ng nakaraang block. Kapag susundan ang bawat bahid pabalik, matutunton ang pinakauna o genesis block (block 0). Ilustrasyon: Sa mga bagong blocks na idinudugtong, hindi pa agad tiyak ang ayos blockchain. Pag-usapan natin iyan sa susunod.
Bitcoin ba kamo?'s avatar
bitcoinbakamo 6 months ago
Identipikasyon ng Block: Block Header Ang nakuhang Merkle root, ay kasama sa mga data na inilalagay sa Block Header. Ito ang metadata na nagsasalarawan ng laman ng block. Ang mga laman ng block header ay: Version Previous block hash - double-SHA256 ng nakaraang block header Merkle root Timestamp - Unix epoch time nung nabuo ang block Target - tumutukoy sa proof-of-work target nung ginawa ang block na ito Nonce - “number used only once” - pinkahuling arbitraryong data na nagresulta sa pagkamit ng proof-of-work target Laman ng block header: Kaya ang mga lightweight/SPV clients ng Bitcoin network tulad ng wallets ay nakakakumpirma ng transaksyon na kailangan nitong ipaalam sa user. Malalaman nito gamit ang block headers kung pinakamahabang chain ang nakuha nitong impormasyon. Kapag kumbinsido na ito, kailangan lang alamin ng SPV client ang Merkle branch ng transaksyon para makumpirma na naisama ito sa isang block. Kaya nakakatulong rin na ipinapakita ng wallet software sa user kapag nakailang kumpirmasyon na ang transaksyon.
Bitcoin ba kamo?'s avatar
bitcoinbakamo 7 months ago
Bili lang ng kayang isantabi ng 4 na taon, at wala kang alalahanin. #Bitcoin
Bitcoin ba kamo?'s avatar
bitcoinbakamo 7 months ago
Nagiging posible ang pruned node at SPV client dahil sa pagkakakuha ng halaga ng block header. Ang karamihan sa laman ng block header ay: hash ng nakaraang block header at hash ng mga transaksyon sa loob ng block, na isang Merkle Root. Ibig sabihin, bumubuo ng Merkle Tree mula sa mga transaksyon sa loob ng block. Ano ang Merkle Tree? Basahin sa bagong post na ito:
Bitcoin ba kamo?'s avatar
bitcoinbakamo 7 months ago
#BahaSaLuneta #TrillionPesoMarch #KurakotManagot Filipinos: Make noise against corruption, stack Bitcoin in silence.