Compartilhe este artigo

Ano ang Parang Pag-review sa Code ng Bitcoin

Ang CoinDesk ay sumisid nang malalim sa masalimuot na proseso ng pagsusuri ng code para sa Bitcoin CORE software.

Noong Hunyo 19, nagtipon ang developer ng Chaincode na si John Newbery ng isang grupo ng mga developer upang suriin ang isang iminungkahing pagbabago sa code ng bitcoin.

Nagaganap sa pamamagitan ng Internet Relay Chat (IRC), ang paksa ay kung ang pagbabago, na makakatulong na pigilan ang isang pangkat ng mga buhong minero mula sa pinapabilis ang rate kung saan ginawa ang mga bloke ng bitcoin, ay isang positibong <a href="https://bitcoin-core-review-club.github.io/15481.html one with">ONE na may</a> limitadong panganib sa seguridad o masamang epekto.

A História Continua abaixo
Não perca outra história.Inscreva-se na Newsletter Crypto for Advisors hoje. Ver Todas as Newsletters

Ang layunin ni Newbery, kung gayon, ay ipasa ang kanyang nalalaman tungkol sa pagrepaso sa naturang code.

img1

Isang solidong pagbabago ba ang 'timewarp attack' na ito?

"Sinasamantala ito ng timewarp sa pamamagitan ng pagtulak sa block ng pagsasaayos ng kahirapan sa hinaharap, at pagkatapos ay ang susunod na bloke pabalik sa kasalukuyan," isinulat ni Newbery, na nagpapaliwanag sa vector ng pag-atake.

Ngunit ang katotohanan na ang Newbery ay nagdaraos pa nga ng mga sesyon na ito ay makikita bilang isang senyales ng kapanahunan ng komunidad ng developer ng bitcoin, dahil ito ay ONE halimbawa kung paano naging masipag ang mga nangungunang coder ng proyekto sa paggawa ng proyekto na mas inklusibo. Ang proseso para sa pagsusuri ng code ay marahil ay T napag-usapan nang bukas at malalim.

Sinimulan ng Newbery ang Bitcoin CORE Review Club <a href="https://bitcoin-core-review-club.github.io/">https://bitcoin-core-review-club.github.io/</a> para magbigay ng mga tip sa mga coder kung paano malalaman kung paano suriin ang isang pagbabago at matukoy kung ito ay kapaki-pakinabang para sa Cryptocurrency. Ang mga transcript ng pagpupulong ay nai-post na ngayon sa website bawat linggo.

Na ito ay posible ay dahil ang code ng bitcoin ay open source, na naninirahan sa GitHub para tingnan ng sinumang may koneksyon sa internet – o kahit na baguhin. Ang prosesong ito ay nagtulak sa proyekto mula sa mga taong code na dating tinatawag na "monolitikong patak" sa software na mas madali para sa mga developer na magbasa na may hindi gaanong kritikal na mga bug. Patuloy na sinusubukan ng mga tao na pahusayin ito, na may matayog na layuning gawin itong isang karapat-dapat na code base para sa hinaharap ng pera.

Kaya, posible rin na maging ONE sa mga taong nag-aambag sa code ng bitcoin. Hindi tulad ng proprietary code, ang code nito ay makikita at magagamit ng sinuman - kung ano ang kilala bilang "open source."

Ang ONE dahilan kung bakit ito tinatawag na "programmable money" ay dahil hindi tulad ng ibang digital na pera, sinuman sa mundo na may tamang kaalaman ay maaaring subukang magdagdag ng mga bagong feature ng code sa pera. Ang ONE sa mga paraan upang Learn ang codebase ay ang suriin at subukan ang mga isinumite ng mga programmer ng code, upang matiyak na ito ay aktwal na gumagana, at T nagpapakilala ng isang bug o — isang kapus-palad na katotohanan — hindi sinasadyang nahati ang Bitcoin network sa kalahati.

Ngunit ang pagtingin sa mga pahina ng code at daan-daang iminungkahing pagbabago, mahirap malaman kung saan magsisimula.

"Ang lingguhang IRC club na ito ay para sa mga taong gustong tumulong na suriin ang Bitcoin CORE pull request ngunit nakakatakot ang proseso," paliwanag ng website para sa club, na nagpapatuloy:

"Ang pagre-review at pagsubok ng mga pull request ay ang pinakamahusay na paraan upang magsimulang mag-ambag sa Bitcoin CORE, ngunit mahirap malaman kung saan magsisimula. Mayroong daan-daang open pull request, marami ang nangangailangan ng maraming kaalaman sa konteksto, at ang mga Contributors at reviewer ay kadalasang gumagamit ng hindi pamilyar na terminolohiya."

Dahil dito, habang ang code para sa digital na currency na ito ay nasa ligaw na para tingnan o baguhin ng sinuman, hindi talaga madaling gawin ito. Kailangan ng pagsasanay para malaman kung ano ang susuriin.

Narito kung ano ang proseso.

Kahit sino ay kayang gawin ito

Upang magsimula, ang mga user ay maaaring pumunta sa GitHub, isang website na nagho-host ng lahat ng uri ng open-source code na mga proyekto. Mayroong ONE na partikular para sa Bitcoin CORE, ang pinagbabatayan na pagpapatupad ng Bitcoin software na pinapatakbo ng karamihan sa mga user.

Mapapansin mo na marami ang GitHub, ngunit ang pagsusuri sa code ay karaniwang tumitingin sa "mga kahilingan sa paghila," isang serye ng mga pagbabago na isinumite ng mga developer sa buong ecosystem para sa pagsusuri.

img2-2

Sa madaling salita, mayroong 300 pagbabago na T pa nasusuri nang sapat upang opisyal na maidagdag sa codebase, mula sa paggawa ng dokumentasyong naglalarawan sa code na mas madaling basahin hanggang sa pagpapabuti ng pagganap ng Bitcoin.

Sa puntong ito, sinusubukan ng mga developer na magpasya kung dapat aprubahan ang mga pagbabagong ito. Ang problema ay may mga limitadong developer na may sapat na karanasan sa pagsusuri ng mga pagbabago sa code upang matukoy kung dapat silang opisyal na idagdag sa codebase. Dahil dito, minsang inilarawan ng ONE Bitcoin CORE contributor ang listahan ng mga pull request bilang isang “libingan ng mga cool na ideya."

Kaya naman sinusubukan ni Newbery na tumulong sa prosesong ito.

Kaya, paano nga ba ang ONE ay magsusuri ng pagbabago? Gaya ng inilalarawan ng Newbery sa website ng club, may ilang mahahalagang hakbang para makapagsimula, tulad ng pagtingin sa "nag-aambag sa Bitcoin CORE na gabay” at pag-uusap sa C++, ang programming language na Bitcoin CORE ay nakasulat sa.

Ang susunod ay simpleng pagpili ng pagbabago upang suriin. Sa higit sa 300 mga kahilingan sa paghila buhay at kicking, saan magsisimula ang ONE ? Ang pinakamahusay na mga pagpipilian para sa isang taong T pa nakakaalam ng codebase ay ang mga pagbabago sa code na partikular na may label na "magandang unang isyu."

Kapag natapos na ang mga paunang pagsisimula, kailangan ng developer na "i-clone" ang repositoryo, o gamitin ang git para gumawa ng kopya ng codebase sa kanilang computer para masubukan nila kung gumagana ang pagbabago gaya ng binalak.

Kailangan lang ng isang simpleng command para kopyahin ang buong codebase sa iyong computer.

img3

Mula doon, maaari mong suriin ang Request sa paghila . Ang nasabing mga developer ay dapat na magpatakbo ng lahat ng "mga pagsubok," upang matiyak na ang pagbabago ng code ay T sinasadyang makakuha ng isa pang piraso ng code, pagkatapos ay lumipat patungo sa pagsusuri sa natitirang bahagi ng code.

Sa loob ng isip ng isang reviewer

Ano ang kailangang isipin ng mga tagasuri?

Una, mayroong mataas na antas ng mga alalahanin. Ang pagtukoy kung ang isang pagbabago ay dapat gawin, lalo na ang ONE kritikal , ay karaniwang batay sa "magaspang na pinagkasunduan," ibig sabihin karamihan sa mga aktibong Contributors ay sumasang-ayon na ang isang pagbabago ay dapat ituloy.

Sa isa pang club meeting, sinabi ni Newberyhttps://bitcoin-core-review-club.github.io/16060.html:

"Ang iniisip ko tungkol sa pagbubukas ng mga pull request: walang may utang sa iyo ng review. Sinumang magre-review ng iyong code ay nagbibigay sa iyo ng pabor. Kung magbubukas ka ng pull Request, nakikipagkumpitensya ka sa iba pang pull request para sa oras ng pagsusuri."

"Kung may pag-aalinlangan tungkol sa kung gaano kapaki-pakinabang ang iniisip ng ibang tao na ang iyong Request sa paghila, huwag mag-atubiling magtanong sa #bitcoin-core-dev, o sa pamamagitan ng direktang pagtatanong sa iba pang mga Contributors," idinagdag ni Newbery, na tumutukoy sa isa pang grupo ng IRC kung saan maaaring magtanong ang mga developer na may kaugnayan sa pag-unlad ng Bitcoin CORE .

Iyon ay sinabi, ang mga developer ay T palaging sumasang-ayon sa kung ang isang pagbabago ay nagkakahalaga ng pagdaragdag o hindi. ONE linggo ang pangkat ng mga developer ay nakatuon sa isang pinagtatalunang pagbabago ng code. Ang ilan ay nagtalo na ang masama ay higit sa mabuti, habang ang iba ay nangangatuwiran pa rin na maaari itong maging kapaki-pakinabang.

Ngunit kahit na ang ideya ay ONE sa pangkalahatan, mayroon ding mga alalahanin sa mababang antas. Mayroon bang mga bug? Ang pagbabago ba ng code ay may kasamang mga pagsubok na nagsisiguro na ang pagbabago ng code ay gagana gaya ng binalak? Ito ang mga tanong na ginugugol ng maraming oras sa pagrepaso sa pagsagot.

Sa pulong noong Mayo 29 (kung saan makikita mo ang buong transcript dito <a href="https://bitcoin-core-review-club.github.io/15741.html">https://bitcoin-core-review-club.github.io/15741.html</a> ), halimbawa, ang mga developer ay tumingin sa pamamagitan ng pagpapahusay ng pagganap para sa bahagi ng pitaka ng Bitcoin node.

Isang kontribyutor na gumagamit ng pseudonym na 'Ariard' ang nanguna sa pagpupulong sa pamamagitan ng pagdaan sa proseso ng pagsusuri na kanilang binuo sa paglipas ng panahon. "Sinubukan ko munang tukuyin kung anong uri ito ng PR: Doc, code style, buf fix, bagong feature, o pandagdag sa pagsubok. Dahil [sa aking Opinyon] ang pag-alam sa katotohanang ito ay gagabay sa kung paano ka magbabasa sa unang pagkakataon, kung gaano karaming oras ang kakailanganin mo para sa pagsusuri at kung anong uri ng mga pagsubok ang kailangan," sabi ng developer.

Itinuro ng isa pang reviewer na napansin nila ang isang pagpapabuti sa pamamagitan lamang ng pagsuri kung gaano katagal tumakbo ang code - bago at pagkatapos. "Ang aking 10000 key import ay naging 3 segundo mula 8 minuto xD," sabi ng isa pang user na may pangalang 'jb55.'

Ang mga transcript ng mga pagpupulong ay higit na napuno ng iba't ibang mga tip tungkol sa kung paano i-streamline ang prosesong ito at gawing mas madali ang pagrepaso, na may higit pang mga pagpupulong na maiiskedyul sa hinaharap. Ang susunod na pares ng mga seksyon ay pangungunahan ng Bitcoin teknikal na manunulat at kontribyutor na si David Harding.

Larawan ng Adam Back sa pamamagitan ng mga archive ng Consensus

Alyssa Hertig

Isang nag-aambag na tech reporter sa CoinDesk, si Alyssa Hertig ay isang programmer at mamamahayag na dalubhasa sa Bitcoin at sa Lightning Network. Sa paglipas ng mga taon, lumabas din ang kanyang trabaho sa VICE, Mic at Reason. Kasalukuyan siyang nagsusulat ng isang libro na nagtutuklas sa mga pasikot-sikot ng pamamahala sa Bitcoin . Si Alyssa ay nagmamay-ari ng ilang BTC.

Alyssa Hertig