Hvorfor Bitcoins kerneudviklere ønsker flere versioner | DK.democraziakmzero.org

Hvorfor Bitcoins kerneudviklere ønsker flere versioner

Hvorfor Bitcoins kerneudviklere ønsker flere versioner

De seneste debatter om, hvorvidt folk skal have lov til at gøre deres egne ændringer til Bitcoin protokollen har fremhævet et vigtigt begreb: måske udvikle Bitcoin Core, referencen version af koden, er ikke den eneste måde for folk til at bidrage.

En nylig ændring af Bitcoin-kode, der gjorde sin vej ind i en Linux-variant kaldet Gentooleft nogle mennesker rygende før udvikleren slukkes det som standard.

"Det vil aldrig blive fusioneret ind i den Bitcoin repository på Github, men folk, der ønsker at bruge dem kan," sagde Bitcoin ledende udvikler Wladimir J van der Laan.

Men hvad er Github, hvorfor van der Laan har myndighed til at vælge, hvad der foregår i det, og hvordan Bitcoin bliver udviklet i første omgang?

Hvordan Bitcoin er udviklet

Henvisningen implementering for Bitcoin protokollen kaldes Bitcoin Core. Det er den kode, som Satoshi oprindeligt overleveret til en kernegruppe af udviklere før de forsvinder.

Disse "disciple" nu fastholde, at kode, sammen med hjælp af en bredere fællesskab af udviklere. Fokus er på at gøre koden mere effektivt, men gør det omhyggeligt, og konservativt, så intet bliver brudt.

Bitcoin Core styres ved hjælp af en software-version styresystem kaldet Git. Dette giver mulighed for at holde styr på, hvilke versioner af deres kode, de arbejder på, og hvilke ændringer de har lavet.

Bitcoin udviklere, der kører Git på deres computere oprette forbindelse til en central tjeneste, så de alle kan arbejde på versioner det samme projekt på en gang. Denne tjeneste, kaldet Github, har mange forskellige projekter vedligeholdes af forskellige grupper af mennesker. Bitcoin er en af ​​disse projekter, og det har sin egen Github side.

Koden for projektet holdes på et enkelt sted på Github, kaldet et arkiv. Den officielle, deployerbare version af Bitcoin repository er kendt som den opstrøms repository, men folk, der ønsker at arbejde på deres egne ændringer i koden kan oprette deres egne versioner af lageret, ved at kopiere det ind i en online 'gaffel'.

Udviklere kan ændre deres gafler så meget som de kan lide. De kan bede om deres gaffel der skal flettes tilbage i master repository ved at udstede en 'pull anmodning', som åbner deres version af lageret til andre medlemmer projekt, der kan gennemgå det og kommentere det.

"Ideen er, at andre udviklere i samfundet vil gennemgå ændringen," forklarede van der Laan. "Så, indsenderen løser de problemer opdraget af andre. Det kan også være behov for at samle nogle mennesker til at teste ændringen, især hvis det er kompliceret, eller hvis der er en subjektiv komponent (dvs. For UI eller RPC ændringer). "

Hvis tilstrækkeligt mange mennesker som ændringerne i en pull anmodning, så det bliver fusioneret tilbage i master arkiv. Men der rent faktisk får lov til at fusionere trækket?

Det viser sig, at der er en Bitcoin præstedømme, slags, at forvaltere hvad endelig gør det til Bitcoin Core kode. Van der Laan, chefforsker og tidligere lead developer Gavin Andresen, Jeff Garzik, Gregory Maxwell, og Pieter Wuille er det team, der træffer den endelige beslutning, og det er ikke noget, der er besluttet ved afstemning, som du kan finde i et demokrati.

"Single GitHub repositories er ikke demokratisk," van der Laan forklaret. "Dens vedligeholdere samarbejde om udvikling og beslutte, hvad der er lagt sammen og hvornår, og hvad der ikke er. Vanskelige tekniske problemer er ikke løst ved populære afstemning."

BIPS og pull anmodninger

Hvor det er muligt, selv om, Bitcoin udvikling opererer typisk via populær konsensus. Der er to kategorier af forandring stort set.

Den Bitcoin Core fastholdes i en bevidst konservativ måde, og er lavet fleste ændringer i en "ikke-kontroversielle og Pedelarbejde" måde, siger van der Laan. De beskæftiger sig med små, gradvise ændringer, snarere end store, revolutionære dem. En Bitcoin plaster kunne flytte nogle kode rundt for at gøre det lettere at læse, eller måske optimere nogle hukommelsesforbrug.

Der er en anden klasse af ændringer i Bitcoin, der har langt flere forgreninger, og dem er dem, der ændrer konsensus regler. Konsensus regler er de tekniske regler, som alle Bitcoin klienter skal overholde for Bitcoin netværket til at fungere ordentligt.

"De er nødt til at blive gransket nøje. De skal drøftes på mailinglisten først, og der skal være en BIP, og de trækker generelt kontroversielle og holde åbent i lang tid til at diskutere," sagde han.

En BIP - en forkortelse for Bitcoin Improvement Forslag - er et dokument tyder på en global forandring til nogle aspekter af Bitcoin. Det kan strække sig til ting udenfor Bitcoin Core, herunder mobile tegnebøger eller nøglegenerering i hardware tegnebøger. Det kan også styre processerne omkring Bitcoin, ligesom ændringer i beslutningsprocessen.

Alle kan oprette en BIP, så længe de er skrevet i dette format. Samfundet taler om det, og hvis folk kan lide det, kan dens status ændres til "aktiv" eller "endelig".

Ændringer i denne retning er ændringen i BIP 62, som var en ændring behandle transaktionen formbarhed flawin bitcoin.

Hvad forbedrer chancen for en foreslået ændring gennemføres i protokollen? Det hjælper til forfatteren af ​​en BIP at have skrevet et eksempel på koden for folk til at teste og revision, van der Laan tilføjet.

Gennemgang og godkendelse

Bitcoin konsulent og sikkerhed revisor Sergio Lernerwould gerne se mere formaliseret for koden godkendelsesprocessen.

"Når du ser en pull anmodning om, at der er blevet lagt sammen, er det svært at sige hvem godkendt den [og at] hvilket omfang plasteret blev revideret," sagde han. "Du er nødt til at læse en masse kommentarer og nogle 'en', som du kan fortolke som" jeg accepterer at flette det, men du kan også tolke det som 'Jeg kan lide det, men jeg har ikke rigtig revideret koden. '"

Lerner vil gerne se en multi-signaturepatch godkendelsesproces, hvor en vis del af udviklere formelt godkende koden ved at underskrive off revision. Det ville være en større udgave af den proces, i øjeblikket anvendes i visse tegnebøger, hvor flere signaturer der skal bruges til en Bitcoin adresse der skal bruges.

Andre ting Lerner vil gerne se omfatte en log over fundne fejl og en analyse af, hvorfor de ikke blev fanget på tid, en pr-plaster, sikkerhed-fokuserede ekstern kode gennemgang, en formel beskrivelse af dokumentation, der skal ledsage et plaster og en beskrivelse af hvad gennemgå en patch egentlig betyder.

"Betyder det en linje for linje kildekode anmeldelse Betyder det, at kontrollere, om den dokumentation for ændringen er nok?" Lerner spurgt. "Betyder det, at analysere ændringen mod kendte angrebsvektorer?"

Problemet er, at det hele tager tid og menneskelige ressourcer, Lerner sagde:

"Selvfølgelig gennemføre alt dette kræver mere rengøring, et større budget, og flere centrale udviklerressourcer (som i øjeblikket er knappe). Men en software, der opretholder en industri på $ 6 mia kræver det."

Beyond Bitcoin Core

Mens Lerner skitserer nogle krav til kode anmeldelser, van der Laan ekkoer Gavin Andresen keynote tale ved Bitcoin 2014 konferencen, hvor han sagde, at der kan gøres mere for at strømline BIP godkendelse.

"BIP proces kunne bruge nogle arbejde. Jeg ville være glad, hvis udviklere af andre (Full) node implementeringer var mere aktive i at kommentere forslagene (eller kommer med forslag)," sagde han.

Andresen foreslår også bevæger BIP diskussion og andre bekymringer på tværs af gennemførelsen af ​​den generelle Bitcoin-udvikling postliste til en specifik BIP postliste.

Ligesom med softwareudvikling på et open source projekt, påhviler det altid på brugerne til at gøre det ske.

"Som det er i sagens natur en global, distribueret, uorganiseret proces det er ingen enkelt organisations opgave at styre BIP processen, så byrden ville være her på mennesker og organisationer, der bekymrer sig for at slutte sig sammen og gøre noget," foreslog van der Laan.

Men skulle ikke Bitcoin Foundation, Bitcoin chef brancheorganisation, være på udkig efter sådanne ting? Nej, argumenterer han. I stedet er ting i Bitcoin verden udvider ud over dette, og udviklingsgruppen hilser forskellige implementeringer af Bitcoin.

Van der Laan sagde:

"Gavin foredrag på Bitcoin 2014 gjorde det clearthat hans fokus er på at diversificere. Han talte om forskellige fuld node implementering, selv sagde 'mere er bedre'. Selvom opretholde Bitcoin Core er mit job, jeg er enig med det."

Byrden bør ikke længere være på udviklingen af ​​Bitcoin Core, van der Laan mener.

"I de første år var Bitcoin Core måske overdrevent vigtigt, og dets udviklere måttet holde lys på for noden infrastruktur (og blive oppe om natten for at lappe fejl, som de vises). Men bevæger sig fremad, for Bitcoin at være den globale distribueret system det skulle være, bør vi komme ud over det."

Så kan der være en menneskekærlig præsteskab for Bitcoin Core, i den forstand, at den endelige beslutning om, hvad der går ind i koden ligger hos en lille gruppe af mennesker. Men det betyder ikke, at denne gruppe ønsker ting at være eksklusiv eller elitært - langt fra.

I det mindste nogle af de centrale udviklere er aktivt at tilskynde andre til at udvide netværket med deres egne implementeringer, på den antagelse, at de fleste af dem vil holde med konsensus regler. De, der ikke gør, vil falde ud af sync, hvilket gør det oplagt som er i mindretal og tvinger dem til at ordne det.

Evolving Bitcoin i den retning kunne skabe plads til den slags politik varianser, at nogle mennesker har efterspurgt, og samtidig bevare konsensus regler: de dele, der virkelig gør Bitcoin hvad det er. Det ville også lette presset på en overbebyrdet sæt af mennesker, der forsøger at støtte den teknologi udgør grundlaget for en hurtigt voksende virksomhed. Og det gøres korrekt, kan det introducere nogle af de nye processer, som deltagerne gerne Lerner beder om.

Spørgsmålet er: hvordan vil Bitcoin udvikle en sådan mangfoldighed af alternative implementeringer rent, effektivt og uden nogen tilhørende drama?

Bitcoin ProtocolBitcoin Core

Relaterade nyheter


Post Bitcoin

Bitcoin Foundation lancerer nyt brugervenligt websted

Post Bitcoin

Efter testmåneder er det store bud til Scale Bitcoin nærmer sig lanceringen

Post Bitcoin

Bitcoin Center NYC Bringer Bitcoin Startup Incubator til Wall Street

Post Bitcoin

Bitcoin i overskrifterne: Nathaniel Popper rammer Media Gold

Post Bitcoin

Singapore skinner som Bitcoin Bullion Dealers høstebelønninger

Post Bitcoin

Næste Bitcoin Core Version til at omfatte smartere transaktionsgebyrer

Post Bitcoin

Hvorfor Bitcoins Block Size Debate er en proxy krig

Post Bitcoin

Bitcoin: en håbløs start, en fantastisk spurt, og hvad romerne gjorde

Post Bitcoin

De 5 bedste stater i USA for Bitcoin-pengeautomater

Post Bitcoin

Bitcoin Foundation hyrer udvikler Sergio Lerner for fuldtidssikkerhed

Post Bitcoin

Bitcoin ATM, der skal demonstreres på Bitcoin London

Post Bitcoin

Bitcoin i 2017: En Valutakurvning Hedge for Emerging Markets