Pengembang sering menggunakan kata-kata seperti "monolitik," "gumpalan" dan "kusut" untuk menggambarkan kod yang menyokong bitcoin.

Kata-kata ini melukis gambaran betapa sukarnya kod itu dapat difahami dan, pada gilirannya, bekerja dengan, dan ia bukanlah pemikiran yang selesa untuk rangkaian yang menyokong $ 61 bilion dalam dolar pelabur. Itu bukan untuk mengatakan bitcoin tidak berfungsi – ia tidak – tetapi keadaan asas adalah meninggalkan sesuatu yang dikehendaki, baik untuk pengguna yang mungkin menginginkan lebih banyak fleksibiliti dan pemaju yang ingin memperbaikinya

Oleh itu, walaupun perubahan seperti pengoptimuman kod Segregated Witness (SegWit) dan falsafah yang dipanggil peningkatan "keras garpu" telah menarik perhatian paling akhir, beberapa pemaju bitcoin bekerja di bawah radar untuk melepaskan seni bina bitcoin.

Kod katalog Russell Yanofsky, untuk satu, cuba untuk menangani satu bahagian masalah dengan sesuatu yang dipanggil "proses pemisahan" dalam Kod Teras Bitcoin yang paling banyak digunakan dalam pilihan perisian.

Yanofsky memberitahu CoinDesk:

"Bitcoin adalah kod dasar yang lebih lama, ia telah berubah banyak dari masa ke masa Terdapat banyak bahagian di mana, jika kita menulis semua dari awal, kita mungkin akan melakukan perkara yang berbeza. warisan kod, kita perlu mencari cara untuk mengekalkannya. "

Ditch monolith

Untuk mula memahami teknik pemisahan proses Yanofksy, anda harus terlebih dahulu memahami bahawa perisian Bitcoin Core terdiri daripada banyak bahagian yang berbeza dan dua yang dipanggil "proses" yang disusun bersama-sama, ada yang akan membantah, secara rawak.

Proses pertama disebut "bitcoind" dan, menurut Yanofsky, terdiri daripada beberapa perkara: kod peer-to-peer, yang menghubungkan nod dalam rangkaian; kod pengesahan, yang memeriksa sama ada urus niaga dan blok yang diterima oleh nod adalah sah; dan kod dompet, yang menyimpan kunci persendirian pengguna.

Proses kedua, "bitcoin-qt," menjalankan semua perkara dengan penambahan antara muka pengguna sehingga pengguna dengan pengalaman berteknologi kecil dapat menjalankan node penuh tanpa menggunakan baris perintah.

Yanofsky berpendapat lebih baik untuk memisahkan beberapa aspek kod tersebut. Untuk itu, dia membuat proses baru, "bitcoin-walletd," yang memisahkan kod dompet dari bitcoind. Dan dia mengeluarkan semua kod dari bitcon-qt kecuali antara muka pengguna.

Slide beliau dari persembahan BitDevs di New York City minggu ini menunjukkan perbezaan dalam struktur:

 slide1 "width =" 542 "height =" 236 "/> </p data-recalc-dims=

 slide2 "width =" 626 "height =" 282 "/> </p data-recalc-dims=

Pada tahap yang tinggi, ia mungkin kelihatan seolah-olah proses bitcoin pelbagai telah dipisahkan sepenuhnya, tetapi dalam istilah pengekodan mereka tidak. Jadi sekarang, Yanofsky pada asasnya membina halangan antara komponen yang berbeza.

Dengan cara ini, sebaik sahaja kod selesai, bahagian dompet tidak akan dapat menyentuh bahagian lain kod.

Mix and match

Jadi, apakah maksud ini bagi pengguna? Lebih banyak kelenturan, kebanyakannya.

Pengguna boleh bergerak perkara seperti teka-teki, mencampurkan dan memadankan kepingan Yanofsky berpisah. Sebagai contoh, dengan dompet tidak terikat pada nod, pengguna boleh mengambil dompet dan menggunakannya dengan nod bit apa pun.

"Mungkin jika anda menggunakan dompet yang lebih tua yang tidak menyokong ciri-ciri baru dan anda tidak mahu menyingkirkannya – atau anda tidak mahu memindahkan wang anda keluar," pilihan untuk membawa dompet ke nod yang berbeza mungkin berguna, katanya.

Dengan cara yang sama, pengguna mungkin ingin menggunakan inteface pengguna bitcoin-qt dengan nada bitcoind yang berbeza.

"Anda pada asasnya mempunyai nod bitcoin yang berjalan di suatu tempat pelayan.Sebaiknya anda hanya ingin menjalankan GUI untuk memeriksa sama ada penggunaan bandwidthnya atau sambungan peer-to-peernya," kata Yanofsky.

Mewujudkan lebih banyak pilihan untuk pengguna, peminat bitcoin sangat memperhatikan kenapa Yanofsky sedang mengusahakan projek itu sama sekali.

Walaupun dia mengakui perubahannya dapat memperlambat hal-hal yang sedikit, atau menjadikan kode penyahpepelan lebih sulit bagi pengembang, proyek itu mendapat berkat GitHub dari beberapa penyumbang Inti Bitcoin, termasuk penyelenggara utama Wladimir J. van der Laan dan penyumbang Daniel Cousen .

Dan itu sebahagiannya kerana kelebihan bukan hanya pengguna yang menghadap, Yanofksy berkata, sambil menambah:

"Terdapat ciri-ciri yang dapat dilihat pengguna yang keluar, tetapi terdapat juga komponen pembersihan seni bina dan kod besar untuknya."

Kesimpulan kajian

Walaupun Yanofsky berkata dia hampir selesai menulis kod untuk naik taraf utama, masih ada beberapa perkara yang perlu berlaku sebelum ia boleh ditambah secara rasmi kepada Bitcoin Core

"Masalah terbesar dengan semakan adalah mendapatkan perhatian rakyat," katanya.

Sejak beberapa pemaju bitcoin sumber terbuka perlu menyemak setiap perubahan kod sebelum ia boleh ditambah, dan terdapat beberapa pembangun yang terhad dengan kepakaran untuk mengkaji semula perubahan kod, prosesnya boleh menjadi satu yang panjang.

Yanofsky juga menjangkakan beberapa perubahan lain, seperti penambahan kod peer-to-peer Cory Fields dan kod dompet dari rakannya ChainCode Matt Corallo, juga akan mendahului perubahan pemisahan prosesnya

"Sekarang fokusnya pastinya bukan di kawasan ini," kata Yanofsky. " Prioriti terbesar kami sekarang semakin mendapat sokongan SegWit. Ciri ini akan menunggu gilirannya. "

Namun, walaupun ia bukan pada senarai keutamaan, kerja masih menjanjikan perubahan yang penting, seperti yang diketengahkan oleh komen Blockstream CTO Greg Maxwell mengenai Yanofsky's Github :

"Saya rasa kita sepatutnya melakukan sesuatu seperti ini sejak lama dahulu."

Pendedahan: CoinDesk adalah anak syarikat Kumpulan Mata Wang Digital, yang mempunyai kepentingan pemilikan di Blockstream.

Lego imej melalui Shutterstock


                     Pemimpin dalam berita blockchain, CoinDesk adalah saluran media bebas yang berusaha untuk standard jurnalistik tertinggi dan mematuhi satu set dasar editorial yang ketat . Berminat untuk menawarkan kepakaran atau pandangan anda terhadap pelaporan kami? Hubungi kami di [email protected] .
                        
                    

                

                                        


Artikel teresebut dipapar and diterjema dari petikan sini.