Поділитися цією статтею

Unntangling Bitcoin: Bakit Tinatanggal ni Russell Yanofsky ang Pinakamatandang Code ng Crypto

Tahimik na nagtatrabaho ang ONE developer sa paghahati-hati ng codebase ng bitcoin – isang pagsisikap na naglalayong bigyan ang mga user ng higit na kakayahang umangkop at higit na kalinawan ang mga developer.

Ang mga developer ay madalas na gumagamit ng mga salita tulad ng "monolithic," "blob" at "gusot" upang ilarawan ang code na pinagbabatayan ng Bitcoin.

Ang mga salitang ito ay nagpinta ng isang larawan kung gaano kahirap unawain ang code at, sa turn, ay gumagana, at hindi ito eksaktong isang nakaaaliw na pag-iisip para sa isang network na sumusuporta sa $61 bilyon na dolyar ng mamumuhunan. Hindi ibig sabihin na T gumagana ang Bitcoin – ito ay – ngunit ang estado ng codebase ay nag-iiwan ng isang bagay na naisin, kapwa para sa mga user na maaaring magnanais ng higit na kakayahang umangkop at sa mga developer na gustong pagbutihin ito.

Продовження Нижче
Не пропустіть жодної історії.Підпишіться на розсилку Crypto Daybook Americas вже сьогодні. Переглянути Всі Розсилки

Kaya, bagama't ang mga pagbabago tulad ng code optimization Segregated Witness (SegWit) at ang pilosopiya ng tinatawag na "hard fork" upgrades ay nakaakit ng pinaka pansin nitong huli, ilang Bitcoin developer ang nagtatrabaho sa ilalim ng radar upang kalasin ang magulo na arkitektura ng bitcoin.

Si Russell Yanofsky ng Chaincode, para sa ONE, ay sinusubukang harapin ang ONE bahagi ng problema sa isang bagay na tinatawag na "paghihiwalay ng proseso" sa Bitcoin CORE code, ang pinaka ginagamit sa mga opsyon sa software.

Sinabi ni Yanofsky sa CoinDesk:

"Ang Bitcoin ay isang mas lumang codebase. Malaki ang pinagbago nito sa paglipas ng panahon. Maraming bahagi nito kung saan, kung sinusulat natin ang lahat mula sa simula, malamang na iba ang gagawin natin. Ngunit dahil mayroon tayong ganitong legacy ng code, kailangan nating maghanap ng mga paraan upang mapanatili ito."

Itapon ang monolith

Upang simulang maunawaan ang pamamaraan ng paghihiwalay ng proseso ng Yanofksy, dapat mo munang maunawaan na ang Bitcoin CORE software ay binubuo ng maraming magkakaibang piraso at dalawang tinatawag na "mga proseso" na pinagsama-sama, ang ilan ay magtaltalan, sa isang random na paraan.

Ang unang proseso ay tinatawag na "bitcoind" at, ayon kay Yanofsky, ay binubuo ng ilang bagay: ang peer-to-peer code, na nag-uugnay sa mga node sa network; ang validation code, na nagsusuri kung ang mga transaksyon at block na natatanggap ng isang node ay wasto; at ang wallet code, na nag-iimbak ng mga pribadong key ng user.

Ang pangalawang proseso, "bitcoin-qt," ay nagpapatakbo ng lahat ng mga bagay na iyon na may pagdaragdag ng isang user interface upang ang mga user na may kaunting karanasan sa teknolohiya ay maaaring magpatakbo ng isang buong node nang hindi gumagamit ng command line.

Iniisip ni Yanofsky na mas mabuting paghiwalayin ang ilan sa mga aspetong ito ng code. Sa layuning iyon, gumagawa siya ng bagong proseso, "bitcoin-walletd," na naghihiwalay sa wallet code mula sa bitcoind. At inaalis niya ang lahat ng code mula sa bitcon-qt maliban sa user interface.

Ang kanyang mga slide mula sa isang pagtatanghal ng BitDevs sa New York City ngayong linggo ay nagpapakita ng pagkakaiba sa istraktura:

slide1
slide1
slide2
slide2

Sa isang mataas na antas, maaaring mukhang ang iba't ibang mga proseso ng Bitcoin ay ganap na nahiwalay, ngunit sa mga termino ng coding ay T sila . Kaya ngayon, mahalagang bumubuo si Yanofsky ng mga hadlang sa pagitan ng iba't ibang bahagi.

Sa ganitong paraan, kapag natapos na ang code, hindi na mahawakan ng bahagi ng pitaka ang ibang bahagi ng code.

Mix and match

Kaya, ano ang ibig sabihin nito para sa mga gumagamit? Higit na flexibility, karamihan.

Maaaring ilipat ng mga user ang mga bagay-bagay tulad ng isang palaisipan, paghahalo at pagtutugma ng mga piraso na hinahati ni Yanofsky. Halimbawa, kung hindi nakatali ang wallet sa node, maaaring kunin ng mga user ang wallet at gamitin ito sa anumang Bitcoin node.

"Siguro kung gumagamit ka ng mas lumang wallet na T sumusuporta sa mga bagong feature at T mong alisin ito - o T mong ilipat ang iyong pera," ang opsyon na dalhin ang wallet sa ibang node ay maaaring maging kapaki-pakinabang, sabi niya.

Sa parehong paraan, maaaring gusto ng mga user na gamitin ang user inteface ng bitcoin-qt na may iba't ibang bitcoind node.

"Maaari kang magkaroon ng isang Bitcoin node na tumatakbo sa isang server sa isang lugar. Siguro gusto mo lang patakbuhin ang GUI upang suriin lamang kung ano ang paggamit ng bandwidth nito o ang mga koneksyon ng peer-to-peer nito," sabi ni Yanofsky.

Paglikha ng higit pang mga opsyon para sa mga user, isang bagay na mahilig sa Bitcoin ay partikular na matulungin sa, ang dahilan kung bakit nagtatrabaho si Yanofsky sa proyekto.

Bagama't inamin niya na ang kanyang mga pagbabago ay maaaring makapagpabagal ng kaunti, o gawing mas mahirap ang debugging code para sa mga developer, ang proyekto ay nakakuha ng isang GitHub na pagpapala mula sa ilang mga Bitcoin CORE Contributors, kabilang ang lead maintainer na si Wladimir J. van der Laan at contributor na si Daniel Cousen.

At iyon ay bahagyang dahil ang mga pakinabang ay T lamang nakaharap sa gumagamit, sinabi ni Yanofksy, idinagdag:

"Mayroong mga feature na nakikita ng user na lumalabas dito, ngunit mayroon ding malaking bahagi ng arkitektura at paglilinis ng code dito."

Suriin ang bottleneck

Habang sinabi ni Yanofsky na halos tapos na siyang isulat ang code para sa pangunahing pag-upgrade, mayroon pa ring ilang bagay na kailangang mangyari bago ito opisyal na maidagdag sa Bitcoin CORE.

"Ang pinakamalaking problema sa pagsusuri ay ang pagkuha ng atensyon ng mga tao," sabi niya.

Dahil kailangang suriin ng ilang open-source na developer ng Bitcoin ang bawat pagbabago ng code bago ito maidagdag, at may limitadong bilang ng mga developer na may kadalubhasaan na suriin ang mga pagbabago sa code, maaaring ONE ang proseso .

Inaasahan din ni Yanofsky ang ilang iba pang mga pagbabago, tulad ng mga pagdaragdag ng peer-to-peer na code ng Cory Fields at mga pagbabago sa wallet code mula sa kanyang kasamahan sa Chaincode na si Matt Corallo, ay mauuna din sa kanyang pagbabago sa paghihiwalay ng proseso.

"Sa ngayon ang focus ay tiyak na wala sa lugar na ito," sabi ni Yanofsky. "Ang aming pinakamalaking priyoridad sa ngayon ay ang pagkuha ng mas mahusay na suporta sa SegWit. Ang tampok na ito ay kailangang maghintay ng kanyang turn."

Ngunit habang wala pa ito sa listahan ng priyoridad, nangangako pa rin ang gawain na maging isang mahalagang pagbabago, gaya ng itinampok ng komento ni Blockstream CTO Greg Maxwell sa Yanofsky's Github:

"Sa tingin ko, matagal na tayong dapat gumawa ng ganito."

Disclosure:Ang CoinDesk ay isang subsidiary ng Digital Currency Group, na mayroong stake ng pagmamay-ari sa Blockstream.

Lego larawan sa pamamagitan ng Shutterstock

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