Dasar
Spot
Perdagangkan kripto dengan bebas
Perdagangan Margin
Perbesar keuntungan Anda dengan leverage
Konversi & Investasi Otomatis
0 Fees
Perdagangkan dalam ukuran berapa pun tanpa biaya dan tanpa slippage
ETF
Dapatkan eksposur ke posisi leverage dengan mudah
Perdagangan Pre-Market
Perdagangkan token baru sebelum listing
Futures
Akses ribuan kontrak perpetual
TradFi
Emas
Satu platform aset tradisional global
Opsi
Hot
Perdagangkan Opsi Vanilla ala Eropa
Akun Terpadu
Memaksimalkan efisiensi modal Anda
Perdagangan Demo
Pengantar tentang Perdagangan Futures
Bersiap untuk perdagangan futures Anda
Acara Futures
Gabung acara & dapatkan hadiah
Perdagangan Demo
Gunakan dana virtual untuk merasakan perdagangan bebas risiko
Peluncuran
CandyDrop
Koleksi permen untuk mendapatkan airdrop
Launchpool
Staking cepat, dapatkan token baru yang potensial
HODLer Airdrop
Pegang GT dan dapatkan airdrop besar secara gratis
Launchpad
Jadi yang pertama untuk proyek token besar berikutnya
Poin Alpha
Perdagangkan aset on-chain, raih airdrop
Poin Futures
Dapatkan poin futures dan klaim hadiah airdrop
Investasi
Simple Earn
Dapatkan bunga dengan token yang menganggur
Investasi Otomatis
Investasi otomatis secara teratur
Investasi Ganda
Keuntungan dari volatilitas pasar
Soft Staking
Dapatkan hadiah dengan staking fleksibel
Pinjaman Kripto
0 Fees
Menjaminkan satu kripto untuk meminjam kripto lainnya
Pusat Peminjaman
Hub Peminjaman Terpadu
Masalah Inti: Di Bawah Biner, Memverifikasi Kepercayaan
Ketika sebagian besar orang mengunduh Bitcoin Core, interaksi mereka dengan sistem pembangunan selesai dalam beberapa klik. Mereka mengambil biner eksekusi dari perangkat lunak, memverifikasi tanda tangan (semoga!), dan mulai menjalankan node Bitcoin. Apa yang mereka lihat segera adalah perangkat lunak yang berjalan. Apa yang tidak mereka lihat adalah sistem pembangunan dan proses ekstensif yang menghasilkan perangkat lunak itu. Sebuah sistem pembangunan yang mewakili prinsip desentralisasi, transparansi, dan verifiabilitas Bitcoin.
Di balik unduhan itu terdapat bertahun-tahun pekerjaan rekayasa yang dirancang untuk menjawab satu pertanyaan sederhana: “Mengapa siapa pun harus mempercayai perangkat lunak ini?” Jawabannya adalah: Anda tidak seharusnya. Anda seharusnya bisa memverifikasi.
Di saat ketika serangan rantai pasokan perangkat lunak menjadi berita global, dari paket npm yang terkompromi, pustaka dengan pintu belakang, hingga server CI yang nakal, proses pembangunan Bitcoin Core berdiri sebagai proyek disiplin yang tenang. Metodenya mungkin tampak lambat dan rumit dibandingkan dengan kenyamanan tanpa gesekan dari “dorong untuk menerapkan,” tetapi itulah intinya. Keamanan tidaklah nyaman.
Untuk memahami sistem pembangunan Bitcoin Core, kita harus memahami:
Filsafat Sistem Pembangunan Bitcoin Core
Ketika berbicara tentang desentralisasi Bitcoin, kebanyakan orang fokus pada penambang, node, dan pengembang. Tetapi desentralisasi tidak berhenti pada peserta protokol. Ia meluas ke cara perangkat lunak itu sendiri dibangun dan didistribusikan.
Salah satu prinsip dalam ekosistem Bitcoin adalah “jangan percayai, verifikasi.” Menjalankan node Anda sendiri adalah tindakan verifikasi, memeriksa setiap blok dan transaksi terhadap aturan konsensus. Namun, sistem pembangunan itu sendiri memberi Anda kesempatan lain untuk memverifikasi, di tingkat perangkat lunak. Bitcoin adalah uang tanpa perantara yang dapat dipercaya dan Bitcoin Core berusaha menjadi perangkat lunak tanpa pembangun yang dapat dipercaya. Sistem pembangunan mengambil langkah besar untuk memastikan bahwa siapa pun, di mana pun, dapat secara independen mereproduksi biner yang persis sama yang muncul di situs web bitcoincore.org.
Filsafat ini dapat ditelusuri kembali ke esai Ken Thompson tahun 1984 Reflections on Trusting Trust, yang memperingatkan bahwa bahkan kode sumber yang terlihat bersih tidak dapat dipercaya jika kompiler yang membangun perangkat lunak itu sendiri telah terkompromi. Para pengembang Bitcoin mengambil pelajaran itu dengan serius. Dalam kata-kata kontributor Bitcoin Core Michael Ford (fanquake):
“Pembangunan yang dapat direproduksi sangat penting, karena tidak ada pengguna perangkat lunak kami yang harus mempercayai bahwa apa yang terkandung di dalamnya adalah apa yang kami katakan. Ini harus selalu dapat diverifikasi secara independen.”
Pernyataan yang merupakan tujuan teknis dan bagian dari etos Bitcoin.
Dalam dunia keamanan, orang berbicara tentang “permukaan serangan.” Sistem pembangunan Bitcoin Core memperlakukan proses pembangunan itu sendiri sebagai permukaan serangan yang harus diminimalkan dan dipertahankan.
Pembangunan yang Dapat Direproduksi: Verifikasi hingga ke dasar
Proses menghasilkan rilis Bitcoin Core dimulai dengan basis kode sumber terbuka di GitHub. Setiap perubahan adalah publik. Setiap permintaan tarik ditinjau. Tetapi perjalanan dari kode yang dapat dibaca manusia ke perangkat lunak biner yang dapat dijalankan melibatkan kompiler, pustaka pihak ketiga, dan sistem operasi yang juga merupakan vektor potensial untuk manipulasi, pintu belakang, atau kesalahan.
“Pihak ketiga yang dipercaya adalah lubang keamanan” – Nick Szabo (2001)
Untuk mengatasi kekhawatiran ini, Bitcoin Core merancang jalur proses pembangunan menggunakan Guix, sebuah manajer paket yang dirancang untuk menciptakan lingkungan perangkat lunak yang dapat direproduksi dan deterministik.
Ketika rilis Bitcoin Core baru diberi tag, beberapa kontributor independen membangun biner dari awal menggunakan Guix. Setiap pembangun bekerja di lingkungan terisolasi yang menjamin rantai alat, versi kompiler, dan pustaka sistem yang identik. Jika semua pembangun menghasilkan keluaran bit yang identik, mereka tahu pembangunan tersebut deterministik.
Kontributor kemudian menandatangani biner yang dihasilkan secara kriptografis dan menerbitkan tanda tangan tersebut di repositori GitHub terpisah ‘guix.sigs’ yang mencantumkan pernyataan ini untuk setiap rilis Bitcoin Core. Beberapa pembangun adalah pengembang Bitcoin Core, tetapi itu bukan persyaratan karena proses pernyataan terbuka untuk siapa saja dari publik. Faktanya, banyak kontributor non-kode secara teratur memberikan tanda tangan.
Proses ini dikenal sebagai pembangunan yang dapat direproduksi, dan ini adalah penangkal dari “percaya pada kepercayaan” Thompson. Ini berarti siapa pun dapat mengambil kode sumber terbuka, lingkungan Guix yang sama, dan secara independen mengonfirmasi bahwa biner resmi cocok dengan apa yang mereka bangun sendiri. Sementara pembangunan yang dapat direproduksi dapat memverifikasi bahwa perangkat lunak adalah representasi yang sah dari kode sumber perangkat lunak, kebenaran perangkat lunak diserahkan pada proses pengujian menyeluruh dan tinjauan kode.
Sebagian besar orang tidak akan pernah melakukan kompilasi penuh atau memeriksa manifest Guix atau membandingkan hash pembangunan. Mereka tidak perlu. Keberadaan infrastruktur tersebut, dan orang-orang yang memeliharanya, memberikan setiap pengguna dasar kepercayaan yang diperoleh.
Biner resmi di bitcoincore.org bukan hanya “diproduksi oleh pemelihara Bitcoin Core”. Mereka adalah perpotongan keluaran dari puluhan pembangun independen. Apa yang Anda unduh akhirnya adalah apa yang dibangun dan diverifikasi oleh orang lain sebagai autentik.
Itu adalah verifikasi hingga ke dasar.
Meminimalkan Ketergantungan: Lebih sedikit yang harus dipercaya
Reproduksibilitas adalah satu sisi dari persamaan. Sisi lainnya adalah meminimalkan apa yang perlu direproduksi. Kode Bitcoin Core bukanlah satu-satunya kode yang dieksekusi saat menjalankan Bitcoin Core. Bitcoin Core juga bergantung pada kode dan pustaka pihak ketiga eksternal untuk mempercepat pengembangan dan produktivitas.
Selama dekade terakhir, pengembang Bitcoin Core telah secara bertahap menghapus ketergantungan pihak ketiga yang tidak perlu dan terkadang bermasalah, seperti OpenSSL dan MiniUPnP. Baik itu pustaka eksternal atau toolkit, ketergantungan ini menambah kompleksitas atau mengimpor asumsi tersembunyi. Proyek seperti Boost dan Libevent, yang dulunya merupakan pokok dalam basis kode Core, secara bertahap dihapus atau diganti dengan alternatif yang lebih sederhana dan mandiri.
Mengapa? Karena setiap ketergantungan yang Anda warisi adalah risiko rantai pasokan potensial. Ini adalah lebih banyak kode yang tidak Anda tulis, tidak Anda audit, dan tidak dapat Anda kendalikan sepenuhnya. Mengurangi ketergantungan membuat sistem pembangunan lebih ramping, lebih aman, dan lebih mudah diverifikasi.
Brink baru-baru ini menyoroti upaya ini dalam posting blognya “Meminimalkan Ketergantungan”[1], mencatat bahwa ini bukan hanya masalah kesederhanaan, tetapi tentang menjaga keamanan dan otonomi proyek. Setiap ketergantungan yang dihapus adalah satu pihak eksternal yang lebih sedikit yang harus dipercaya proyek dan satu potensi pintu belakang yang lebih sedikit.
Tujuan akhirnya adalah menghasilkan biner statis sepenuhnya: eksekutabel yang berisi semua yang mereka butuhkan untuk dijalankan, tanpa ketergantungan dinamis atau waktu nyata. Kemandirian ini berarti tidak bergantung pada pustaka eksternal yang dapat berbeda dari satu sistem operasi ke sistem operasi lainnya.
Di dunia di mana sebagian besar perangkat lunak semakin berat dan lebih bergantung pada ekosistem paket terpusat, Bitcoin Core bergerak ke arah yang berlawanan: menuju minimalisme dan independensi.
Tanpa Pembaruan Otomatis
Dalam sebagian besar perangkat lunak modern, pengguna dilindungi dari keputusan tentang versi perangkat lunak apa yang harus diperbarui, atau keputusan untuk memperbarui perangkat lunak sama sekali. Anda menginstal aplikasi, dan ia dengan tenang dan otomatis memperbarui dirinya sendiri ke versi terbaru di latar belakang. Meskipun ini nyaman, ini bertentangan dengan filosofi Bitcoin Core.
Bitcoin Core tidak pernah menyertakan pembaruan otomatis, dan para pengembang telah mengatakan bahwa itu tidak akan pernah melakukannya. Pembaruan otomatis memusatkan kekuasaan. Mereka menciptakan satu kelompok yang dapat mendorong kode (yang mungkin berbahaya) ke setiap node di jaringan. Ini adalah jenis kontrol terpusat yang tepat yang dihindari Bitcoin. Dengan mengharuskan pengguna untuk secara manual mengunduh, memverifikasi, dan menginstal versi baru, Bitcoin Core memperkuat tanggung jawab individu dan persetujuan yang dapat diverifikasi.
Sistem pembangunan dan kurangnya pembaruan otomatis adalah dua bagian dari prinsip yang sama. Hanya pelari node yang memutuskan apa yang akan dijalankan dan dapat memverifikasi bahwa perangkat lunak yang dijalankan adalah autentik.
Integrasi Berkelanjutan: Bergerak lambat dan memperbaiki hal-hal
Di Silicon Valley, integrasi berkelanjutan dan penyebaran berkelanjutan (CI/CD) adalah ciri khas pengembangan perangkat lunak yang gesit. Kirim cepat. Iterasi lebih cepat. Biarkan otomatisasi melakukan sisanya.
Bitcoin Core mengambil pendekatan yang berbeda. Sistem CI-nya ada bukan untuk mempercepat penerapan tetapi untuk menjaga integritas. Pembangunan otomatis menguji konsistensi di berbagai platform. Sistem pembangunan Bitcoin Core dirancang untuk netral terhadap perangkat keras dan sistem operasi sebanyak mungkin. Proyek ini dapat membangun biner untuk Linux, macOS, dan Windows serta untuk berbagai arsitektur termasuk x86_64, aarch64 (ARM), dan bahkan riscv64. Sistem integrasi berkelanjutan memastikan kompatibilitas ini serta integritas perangkat lunak dengan melakukan ratusan tes untuk setiap perubahan yang diusulkan.
Hasilnya adalah budaya di mana “integrasi berkelanjutan” berarti pengujian, verifikasi, dan keamanan yang berkelanjutan, bukan inovasi yang berkelanjutan.
Bergerak lambat dan memperbaiki hal-hal.
Adaptasi Berkelanjutan: Apakah kita sudah selesai?
Sistem pembangunan tidak statis. Para pengembang terus menyempurnakannya dengan mengurangi ketergantungan, meningkatkan pembangunan lintas arsitektur, dan menjelajahi masa depan pembangunan statis sepenuhnya tanpa ketergantungan waktu nyata.
Sementara sistem pembangunan Bitcoin Core berusaha untuk determinisme, sistem pembangunan itu sendiri tidak dapat statis. Dunia tempat ia beroperasi selalu berubah. Sistem operasi, kompiler, pustaka, dan arsitektur perangkat keras semuanya berubah. Setiap rilis baru macOS atau glibc, setiap penghapusan bendera kompiler, atau arsitektur CPU yang muncul memperkenalkan ketidakcocokan halus yang harus diatasi. Sebuah sistem pembangunan yang tidak bergerak akan, seiring waktu, berhenti membangun sama sekali.
Paradoks dari pembangunan yang dapat direproduksi adalah bahwa mereka memerlukan evolusi berkelanjutan untuk tetap dapat direproduksi. Para pengembang harus terus-menerus memperbaiki, memperbarui, dan terkadang mengganti rantai alat untuk mempertahankan determinisme di tengah latar belakang perubahan yang bergerak. Mempertahankan keseimbangan antara stabilitas dan adaptabilitas adalah bagian dari ketahanan berkelanjutan Bitcoin.
Dapatkan salinan Anda dari The Core Issue hari ini!
Jangan lewatkan kesempatan Anda untuk memiliki The Core Issue — yang menampilkan artikel yang ditulis oleh banyak Pengembang Core yang menjelaskan proyek yang mereka kerjakan sendiri!
Potongan ini adalah Surat dari Editor yang ditampilkan dalam edisi Print terbaru dari Bitcoin Magazine, The Core Issue. Kami membagikannya di sini sebagai pandangan awal tentang ide-ide yang dieksplorasi di seluruh isu penuh.