- Torna al menu
- Torna al menuPrezzi
- Torna al menuRicerca
- Torna al menuConsenso
- Torna al menu
- Torna al menu
- Torna al menu
- Torna al menuWebinar ed Eventi
Revisionare il codice è noioso: domande e risposte con il responsabile Bitcoin Andrew Chow
Si è imbattuto in Bitcoin al liceo mentre cercava modi per pagare i suoi videogiochi preferiti. Ora revisiona e migliora il codice di Bitcoin per vivere. A volte è noioso e intorpidente, ma lo fa comunque. Qualcuno deve farlo.
Poche persone comprendono i principali problemi tecnici che la Criptovaluta dominante al mondo sta affrontando attualmente. Andrew Chow è ONE di loro.
Chow è ONE dei quattro “manutentori” per CORE Bitcoin (o semplicemente CORE), il software più popolare per la connessione alla rete Bitcoin .
I manutentori esaminano le modifiche a Bitcoin CORE note come "commit", che vengono inviate - da altri sviluppatori Bitcoin - come "richieste di pull" o "PR". Chow e altri manutentori approvano o "uniscono" tali modifiche nel codice sorgente di Core. La "revisione del codice" è fondamentale per garantire che nessun codice buggato venga unito.
Il processo è trasparente e mentre Chow esamina attentamente gli impegni,trasmette in live streaming il processo su Twitch.
Chow è un giocatore nel profondo, e si è avvicinato a Bitcoin solo al liceo per pagare videogiochi che altrimenti T avrebbe potuto permettersi. I suoi genitori T gli hanno dato una carta di credito, non gli hanno aperto un conto in banca e non gli hanno nemmeno dato una paghetta. Ha fatto ricorso al lavoro freelance su Forum di BitcoinTalk e cominciò a scrivere codice in cambio di Bitcoin (BTC).
Chow, che afferma di avere ormai circa 25 anni, viene pagato come ingegnere presso la società di infrastrutture Bitcoin Blockstream, dove, a parte alcuni compiti aziendali, la sua priorità principale è lavorare su Bitcoin CORE.
Afferma che la revisione del codice è ONE delle sfide più grandi che Bitcoin deve affrontare oggi. La maggior parte degli sviluppatori CORE è entusiasta di scrivere codice per nuove funzionalità, ma pochi amano il compito più banale di rivedere il codice inviato dai loro pari. Chow afferma che più Collaboratori devono concentrarsi sulla revisione del codice per affrontare le oltre 300 PR in Core Repository GitHubLa comunità ha unaClub di revisione di Bitcoin CORE PR che si riunisce settimanalmente per aiutare i nuovi Collaboratori a Imparare con il processo di revisione.
Chow ha accettato un'intervista con CoinDesk al Avanzamento Bitcoin conferenza a Londra. Ha elaborato il motivo per cui la revisione del codice è così critica, ha spiegato cosa fanno ogni giorno i Collaboratori Bitcoin CORE e ha pesato sull'attuale dibattito su op_vault e prova veloceEcco una trascrizione parziale di quell'intervista.
CoinDesk: Come hai scoperto Bitcoin?
Andrea Chow: Quando ero più giovane, al liceo, T avevo un conto in banca perché avevo meno di 18 anni. I miei genitori T me ne hanno aperto ONE . T avevo una carta di credito, nemmeno una carta di credito controllata, e T avevo una paghetta. Ma Vapore vendeva giochi per Bitcoin. Se giochi su PC, puoi scaricare Steam e ha praticamente tutti i giochi per PC.
Inoltre, suborsa.io, potresti vendere Bitcoin per roba. Be', volevo giocare. Volevo comprarli. Voglio dire, sono d'accordo con la pirateria ma, sai, la pirateria è un po' losca. T sai cosa stai scaricando. Potrebbe essere un malware completo.
Quindi ero tipo, questa cosa Bitcoin è completamente elettronica. Forse posso usarla per comprare giochi, ma come faccio ad ottenere Bitcoin? Forse posso fare un po' di lavoro e farmi pagare in Bitcoin.
Conosco alcune persone che lo hanno fatto. Ecco come ho imparato a programmare. Andavo su BitcoinTalk e la gente diceva: "Ti pagherò qualsiasi cifra per scrivermi uno script che faccia questo".
Beh, sembrava abbastanza semplice. Avevo anche un amico al liceo. Era tipo, "Ehi, hai sentito parlare di questa cosa Bitcoin ? Penso che potrebbe piacerti". Stava sicuramente comprando droga con i Bitcoin.
Ecco come sono arrivato a Bitcoin. E alla fine ho pensato, "Beh, sto usando questo portafoglio e sto riscontrando questi problemi. So chiaramente come scrivere un programma. Forse posso sistemare questo portafoglio". Ecco come sono arrivato a fare sviluppo.
Stavo gestendo questa cosa chiamataArmeria. Che fondamentalmente non è stato mantenuto. Voglio dire, è ancora in un certo senso mantenuto da ONE persona, quindi a malapena.
Quando l'ho iniziato a usare, era un po' un pasticcio e T funzionava sempre. Stavo scoprendo che alcuni dei problemi che si verificavano in Armory erano causati da cose che Bitcoin CORE stava facendo. Così ho iniziato ad andare su Bitcoin CORE e a chiedere cosa stesse facendo Bitcoin CORE ? Oh, Bitcoin CORE ha questo bug che ci sta causando un bug.
Armory stava facendo qualcosa di non consigliato, ovvero leggere i file di blocco direttamente da Bitcoin CORE : non dovresti farlo. Quando hanno cambiato il formato, hanno rotto tutto.
Stavo cercando di conciliare le due cose, e poi Armory è semplicemente sparita dalla mia mappa. È così che sono passato a Bitcoin CORE. Alla fine ho smesso di lavorare su Armory perché ho fatto di più su CORE.
Ieri abbiamo parlato del rapporto tra i Collaboratori Bitcoin che revisionano il codice e i Collaboratori che scrivono il codice. Puoi condividere i tuoi pensieri a riguardo?
Il nostro principale collo di bottiglia in Bitcoin CORE è stata la revisione. Abbiamo più di 300 PRaperti e devono essere rivisti. Sia che si tratti solo di assicurarsi che il codice sia buono o semplicemente concettualmente, tipo "Vogliamo davvero questo cambiamento?"
Il problema con ogni PR è che di solito ONE persona la scrive, ma abbiamo bisogno di più persone per revisionarla, dare un'approvazione o lasciare commenti. Pertanto, dobbiamo avere più revisori che persone che scrivono, ma non è così che funziona.
Personalmente, trovo la revisione del codice un BIT' noiosa. È un po' fastidiosa e può essere un po' intorpidente. Ma la faccio lo stesso. Immagino che sia un male necessario e perché T la trovo divertente. Se la faccio abbastanza, inizio a sentirmi come se mi bruciassi perché non è più piacevole.
Quindi devi trovare un equilibrio tra scrivere codice e revisionare codice. È un BIT' un circolo vizioso. Dobbiamo avere più revisori che programmatori, ma come fai a diventare abbastanza competente per revisionare codice se non scrivi codice? È un enigma.
Siamo in un mercato ribassista e organizzazioni come Brink che finanziano lo sviluppo Bitcoin affermano che i finanziamenti sono diminuiti di circa il 50%. Perché dobbiamo pagare i Collaboratori e gli sviluppatori Bitcoin ?
Fondamentalmente, ogni pezzo di software ha dei bug. Ci saranno sempre bug da trovare e bug da correggere. Questa è solo la manutenzione generale del software che deve essere fatta.
E anche allora, il software che esiste ora non può durare per sempre. I sistemi operativi si evolveranno e le librerie si evolveranno e cambieranno. Alla fine il software smetterà semplicemente di compilare su un computer; potrebbe semplicemente smettere di funzionare. E quindi, c'è bisogno di un lavoro costante solo per KEEP aggiornato.
Quindi ci sono sempre cose da aggiornare, anche senza nuove funzionalità. Ma ci sono nuove funzionalità e vogliamo migliorare Bitcoin. Non solo le regole del consenso, ma anche il modo in cui trasmettiamo le transazioni, che tipo di transazioni accettiamo nel piscina di memoriae il protocollo peer-to-peer.
Ci può essereDoS vettori che vogliamo correggere o cambiare che forse T sono ancora stati scoperti. C'è sempre qualcosa.
Se fossi un nuovo collaboratore CORE , quali sarebbero le questioni più importanti di cui dovrei essere a conoscenza?
Attualmente ci sono una serie di problemi che esistono, comeattacchi di pinning, che sono piuttosto ben documentati. Sembra che ONE li sfrutti, ma non è una buona ragione per non risolverli.
C'è stato molto lavoro sul mempool: come e quali transazioni vengono accettate nel mempool, quali metodi ci sono peraumento delle tariffe, e cose del genere. È rilevante perFulminee altre reti [di livello 2].
Cos'è un "attacco pinning"?
Se entrambi apriamo un canale Lightning insieme, posso fare in modo che tu non possa mai aumentare la commissione su quella transazione. Quindi posso renderla perpetuamente a bassa commissione e non verrà mai estratta, per poi provare a spenderla due volte in seguito.
Ci sono un sacco di attacchi che puoi fare con le regole Politiche del mempool esistenti. Sono documentati nella mailing list e sono sicuramente dei problemi. Se qualcuno provasse a sfruttarli sarebbe fastidioso, ma T credo che abbiamo visto nessuno provare a sfruttarli.
Vogliamo ancora risolverli e abbiamo lavorato molto per apportare miglioramenti in modo da T avere più questi attacchi di pinning o, almeno, se si vuole bloccare una transazione, sarà molto costoso.
Abbiamo anche discusso di op_vault e Speed Trial ieri. Ci sono state alcune tensioni attorno alla raccomandazione di James O’Beirne di distribuire op_vault usando Speedy Trial. Commenti?
Con una nuova proposta come questa, l'implementazione dovrebbe essere l'ultima cosa a cui pensare.
Alcune idee su come distribuire le cose sono, per qualche ragione, controverse. Se vuoi discutere della proposta, avere lì dentro la distribuzione in un certo senso fa sì che venga deragliata.
Quindi penso che James abbia probabilmente sbagliato a inserirlo.Fittone la sezione deployment T è stata definita fino a dopo Taproot. Le modifiche al codice sono state unite a Bitcoin CORE ma non sono attive. Non è insolito dire semplicemente che ci occuperemo del deployment dopo aver capito cosa vogliamo che siano le modifiche al codice.
Speedy Trial è stato un esperimento per Taproot. Abbiamo provato diversi metodi di distribuzione nel corso degli anni con vari gradi di successo.
Frederick Munawa
Frederick Munawa era un Tecnologie Reporter per CoinDesk. Si è occupato di protocolli blockchain con un focus specifico su Bitcoin e reti bitcoin-adiacenti.
Prima di lavorare nel settore blockchain, ha lavorato presso la Royal Bank of Canada, Fidelity Investments e diverse altre istituzioni finanziarie globali. Ha un background in Finanza e Diritto, con un'enfasi su Tecnologie, investimenti e regolamentazione dei titoli.
Frederick possiede quote del fondo CI Bitcoin ETF superiori alla soglia Dichiarazione informativa di Coindesk di 1.000 $.
