Hvordan Bitcoins P2P-lag fik en hastighedsstigning i den seneste kernefrigivelse | DK.democraziakmzero.org

Hvordan Bitcoins P2P-lag fik en hastighedsstigning i den seneste kernefrigivelse

Hvordan Bitcoins P2P-lag fik en hastighedsstigning i den seneste kernefrigivelse

"Satoshi efterlod os med en monolitisk klat af en kodebase."

Det var Bitcoin udvikler Cory Fields' måde at sige, at på trods af den innovation det er ofte krediteret med, Bitcoin Core kode er lidt af en rod bag kulisserne.

Det er et problem Felter og andre har været kæmper med i hvert fald siden 2015, hvor han præsenterede sin plansto flytte omkring et stykke af koden: peer-to-peer-lag.

Problemet udviklere ofte støder på, er, at komponenterne ikke er alle pænt adskilt. Så hvis udviklerne ændre noget, der kun skulle påvirke én del af Bitcoin og hvordan det fungerer, Fields sagde, det kunne utilsigtet påvirke en anden, siger, validering, mempool, tegnebogen, eller p2p. For én, det gør det vanskeligere for nyere Bitcoin bidragydere til at lære tovværk.

Så i projekter som Fields' og libconsensus (et igangværende projekt at tillade alternative implementeringer at forblive i enighed med Bitcoin-netværket), målet er at adskille kode i flere forskellige bidder i et forsøg på at gøre det lettere og mindre nødvendig , for udviklere at forstå, hvordan brikkerne passer sammen.

Felter, hvis arbejde er finansieret af MIT Digital Valuta Initiative, har arbejdet på at bryde ud af peer-to-peer-kodebase i særdeleshed.

En stor del af hans arbejde gør en første optræden i Bitcoin Core seneste softwareversion.

Felter fortalte CoinDesk:

"Så vidt jeg ved, er dette den første store revision af peer-to-peer-kode."

Han nævnte dog, at over tid mange udviklere, såsom Jonas Schnelli og Matt Corallo, har bidraget til det lag, og vigtigere mange flere har haft en hånd i at gennemgå og teste ændringerne.

Peer-to-peer-layer omhandler forbindelserne mellem de tusindvis af Bitcoin noder på netværket (måske mere end 50.000, men præcise optællinger er vanskelige at komme af), som konstant 'taler' til hinanden, der passerer oplysninger brugerne sende Bitcoins, eller minearbejdere oprette nye blokke.

Bug opdagelse

Et tricky del er, at Bitcoin netværket er vurderet til omkring $ 19 mia, hvilket betyder ændringer i underliggende kode skal iværksættes særdeles omhyggeligt.

For dette og andre grunde, har refactoring ikke været en nem proces. Ikke engang for Fields, som er en af ​​de flere activecontributors til Bitcoin Core. ( "Jeg bruger næsten alle mine vågne timer på Bitcoin," sagde han.)

Først forsøgte han at et separat lag fra bunden. Denne indsats "svigtet".

Hans senere tilgang arbejder på at forbedre den eksisterende kodebase velsagtens arbejdede bedre end forventet selv, hvilket fører til en "Satoshi-æra" bug opdagelse.

"Da jeg begyndte at bryde tingene op, jeg har bemærket noget mærkeligt om Core s båndbredde under indledende blok download," sagde Fields.

Problemet var, at når en node ville hente blokke fra en anden node, ville den hastighed, som blokerer blev gået sammen være til tider hurtige, andre gange langsom - og på uventede niveauer.

Grave videre, han og andre udviklere besluttet, at knuder stædigt ville nægte at sende data og bearbejde data på samme tid (selv om dette er en oversimplificering). Den knude ville bare gøre én proces ad gangen.

Hastighed fix

Rettelsen holdet endelig ankom oplevede sin debut i den seneste Bitcoin Core kodeudgivelse, ændre, hvor hurtigt noder kan videregive oplysninger til hinanden.

"Især den p2p lag får en enorm hastighedsforøgelse," sagde Fields.

Han løb nogle tests for at sammenligne den sidste Bitcoin-version (0.13.2) med den nye version med de forbedringer (0.14.0), ser på noder, der blev indsat til skyen på Amazon EC2 tilfælde med to CPU'er og 4GB RAM.

Forsøgene viste en fordobling i hastighed - mindst, når man sammenligner ydeevnen af ​​sende data mellem to v0.13.2 knudepunkter, versus mellem to v0.14.0 knudepunkter.

Det forbehold her er, at det kan resultere i en lidt mindre end en to-gange performance forbedringer på det virkelige netværk, i henhold til Fields.

Varige fordele

Nu, peer-to-peer-lag er for det meste adskilt fra resten.

Det er værd at gentage, at de ovennævnte præstationsforbedringer til side, de fleste af ændringerne er ikke dem, som brugerne vil bemærke, men er mere af en velsignelse for udviklere.

Når det er sagt, det er håbet, at de kunne have længere sigt.

"Jeg håber, der giver os mulighed for at forbedre p2p i et hurtigere tempo nu," sagde Fields.

For eksempel ville det have været mere vanskeligt at foretage de ændringer, der indregnes i den nyeste version af Core hvis felter ikke havde allerede arbejdet for at isolere koden.

Han sagde:

"[T] her var en relativt simpel ændring, der kan foretages i tide til 0,14, der ville have været meget mere kompliceret før."

Bitcoin ProtocolBitcoin CorePeer-to-Peer

Relaterade nyheter


Post Bitcoin

Søger du efter problemer? James Altucher til Bitcoin kritikere: Du er død, forkert

Post Bitcoin

Svag efterspørgsel? Bitcoins pris Rebound kan begynde at falme

Post Bitcoin

Diebold: Bitcoin ATM forsøg er blevet fejlbehæftet

Post Bitcoin

Bitcoin 2018 at tegne 1.000, og Winklevii, til San Jose i weekenden

Post Bitcoin

Stigning og stigning i Bitcoin Dokumentar Gets Længe ventet Worldwide Release

Post Bitcoin

BitInstants Charlie Shrem ser Bitcoin-kampe fremad # Bitcoin2013

Post Bitcoin

Velgørenhedsorganisationer og virksomheder forener at lancere Bitcoin Giving Tuesday

Post Bitcoin

Decentraliseret Crowdfunding Platform kunne omdanne Bitcoin Landscape

Post Bitcoin

Tidligere Bitcoin Insurance Advisor beskyldt for værdipapirbedrageri

Post Bitcoin

Bitcoin Cash Outlook forbedres som handlende Greet New Code Release

Post Bitcoin

Citi: Bitcoin en trussel mod debet- og kreditkortudstedere

Post Bitcoin

Bitcoin.org advarer om angreb i forbindelse med kommende Bitcoin Software Release