Bitcoin Core 32: Mas Mabilis na Pagpapatunay at Mga Pagbabago sa Bayarin

2 mga oras nakaraan
3 min na nabasa
1 view

Bitcoin Core 32.0 Release Candidate

Ang Bitcoin Core 32.0 ay pumasok sa huling yugto ng pagsusuri ng release candidate matapos i-tag ng mga developer ang v32.0rc1 noong Setyembre 14. Ang bersyon na ito ay nagdadala ng mga pagbabago sa pagtataya ng bayarin, pagganap ng pagpapatunay ng block, at mga pag-aayos sa seguridad, na mas malapit sa nakatakdang release sa Oktubre 10. Ipinapakita ng opisyal na GitHub release ng proyekto ng Bitcoin Core ang v32.0rc1 sa commit d0231bb, na nilagdaan ng isang napatunayang tagapangasiwa noong Setyembre 14 sa 12:58 UTC. Ang iskedyul ng release ng proyekto ay patuloy na nagtatarget ng Oktubre 10 para sa huling v32.0 tag, bagaman ang petsa ay nakasalalay sa pagsusuri at karagdagang pag-aayos.

Mga Pagbabago sa Bersyon 32

Ang bersyon 32 ay nakatuon sa pag-uugali ng software ng node, mga interface ng wallet, pagkalkula ng bayarin, networking, at pagganap. Ang draft release notes ay hindi naglilista ng mga pagbabago sa mga patakaran ng consensus ng Bitcoin, na nangangahulugang ang update ay hindi nagre-redefine kung aling mga transaksyon o blocks ang itinuturing na wasto ng network. Ang Bitcoin Core 32.0 ay pumasok sa huling pagsusuri na may mga update sa bayarin at seguridad. Ang feature freeze ay ipinatupad noong Agosto 20, na nililimitahan ang trabaho sa mga pag-aayos na kinakailangan bago ang release. Noong Setyembre 14, hinati nila ang 32.x branch mula sa pangunahing development branch at sinimulan ang release-candidate cycle habang ang development work para sa bersyon 33 ay nagpatuloy nang hiwalay.

Testing at Feedback

Ang unang candidate ay nilayon para sa mga operator ng node, mga developer ng wallet, at iba pang mga gumagamit upang subukan bago magpasya ang mga developer kung ang code ay handa na para sa isang matatag na release. Nagbukas ang Bitcoin Core ng isang nakalaang 32.0 release-candidate testing feedback issue noong Setyembre 15, isang araw matapos ma-tag ang RC1. Hinihiling ng proyekto sa mga tester na gamitin ang testing guide para sa mga RC-specific checks at i-report ang mga problema sa software sa pamamagitan ng hiwalay na mga isyu sa GitHub. Walang pinal na v32.0 binary na nailabas hanggang Setyembre 16. Ang Bitcoin Core ay hindi nag-a-update nang awtomatiko. Pinipili ng mga operator kung kailan mag-i-install ng mga bagong bersyon, na nangangahulugang ang mga mas lumang release ay maaaring manatiling aktibo matapos maging available ang mas bagong software. Ang modelong ito ng manual upgrade ay mahalaga sa mga nakaraang paglabas ng seguridad.

Mga Pagbabago sa Bayarin at Seguridad

Tulad ng iniulat ng crypto.news noong Mayo, inihayag ng Bitcoin Core ang CVE-2024-52911 matapos ang mahina na 28.x branch ay umabot sa katapusan ng buhay. Ang bug ay naayos na sa Bitcoin Core 29.0 bago pa man naging pampubliko ang mga teknikal na detalye. Isa sa mga mas nakikita na pagbabago ng Bitcoin Core 32 na nakakaapekto sa mga gumagamit ay ang estimatesmartfee, ang RPC na ginagamit ng mga wallet at aplikasyon upang kalkulahin ang mga bayarin sa transaksyon. Hanggang ngayon, ang pangunahing estimator ng Bitcoin Core ay umasa sa nakitang pag-uugali ng kumpirmasyon mula sa mga transaksyon na kasama sa mga nakaraang blocks. Ang bersyon 32 ay nagdaragdag ng isang hiwalay na estimator batay sa mga transaksyon na kasalukuyang naghihintay sa loob ng mempool ng node.

Pagpapabuti sa Pagganap

Binabago ng Bitcoin Core 32 kung paano kinukuha ng mga node ang data ng transaksyon habang kumokonekta sa mga block, partikular kapag ang kinakailangang impormasyon ay dapat basahin mula sa imbakan. Ang software ay maaari na ngayong mag-prefetch ng mga nakaraang output ng transaksyon, na kilala bilang prevouts, mula sa chainstate database sa buong ilang worker threads habang nagpapatuloy ang pagpapatunay ng block. Ang default ay walong prefetch threads, na maaaring itaas ng mga operator ang setting sa 16 o huwag paganahin ang parallel fetching sa pamamagitan ng pag-set nito sa zero. Ang prevouts ay tumutukoy sa mga barya na ginagastos ng mga input ng transaksyon. Kailangan ng mga node ang impormasyong iyon upang suriin kung ang mga input ay umiiral, hindi pa nagagastos, at nakakatugon sa mga naaangkop na patakaran ng pagpapatunay.

Mga Isyu at Pagsusuri

Isang pangalawang isyu ang lumitaw sa pagsusuri ng muling isinulat na HTTP server ng Bitcoin Core, na pumapalit sa libevent sa bersyon 32. Isinumite ng developer na si Matthew Zipkin ang pull request #36123 matapos ang isang audit gamit ang Kimi K3 model ng Moonshot AI na nakilala ang isang landas ng memory-exhaustion. Habang ang server ay humahawak ng isang request, maaari itong patuloy na magbasa at mag-queue ng data na ipinadala ng parehong koneksyon nang walang epektibong limitasyon sa laki. Ang unang pagsusuri ay nagmungkahi na ang kondisyon ay pangunahing nangangailangan ng isang authenticated client na may kakayahang panatilihing abala ang isang request.

Mga Pagbabago sa PSBT

Binabago ng Bitcoin Core 32 ang default na format na nilikha ng apat na utos na ginamit sa Partially Signed Bitcoin Transactions. Ang createpsbt, walletcreatepsbt, converttopsbt, at psbtbumpfee ay magbubuo ng PSBT bersyon 2 bilang default. Nagdagdag ang mga developer ng isang opsyonal na psbt_version na argumento upang ang mga aplikasyon ay maaaring tahasang humiling ng ibang suportadong bersyon kapag kinakailangan. Ang mga PSBT ay nagpapahintulot sa ilang mga wallet, aplikasyon, o hardware signing devices na magpalitan ng impormasyon ng transaksyon bago ang nakumpletong transaksyon ng Bitcoin ay maipadala.

Konklusyon

Ang kasalukuyang iskedyul ng Bitcoin Core ay patuloy na naglilista ng Oktubre 10 bilang target para sa pag-tag ng v32.0. Ang RC testing feedback thread na binuksan noong Setyembre 15 ay nananatiling aktibo, na nagdidirekta sa mga developer sa mga tester na makatagpo ng mga aktwal na depekto ng Bitcoin Core na mag-file ng hiwalay na mga isyu bago ang pinal na release.