Gitian Building. Bagi yang belum mengetahui, Gitian Building adalah proses untuk membangun Bitcoin Core menjadi sebuah file yang bisa secara langsung dieksekusi. Proses itu dilakukan dengan menggunakan Gitian. Sebuah software open source untuk mengkompilasi kode menjadi sebuah binary.
Gitian ini diibaratkan mampu membangun sebuah komputer di dalam komputer. Dengan tujuan tertentu, ruang virtual Gitian mengkompilasi kode menjadi binary. Sehingga menjadi cara yang bisa meyakinkan, bahwa file tersebut adalah benar-benar dibangun berdasarkan source code yang sama.
Seperti yang telah diketahui, bahwa Bitcoin bersifat open source. Kode Bitcoin dapat dilihat oleh siapapun, dapat diperiksa sendiri apaka kode tersebut bisa bekerja sebagaimana mestinya. Oleh karena itu, fitur keamanan untuk kode Bitcoin tersebut menjadi cukup penting. Ketika source code Bitcoin tersebut dibangun menjadi sebuah file executables, maka itu haruslah bisa mencerminkan secara benar berdasarkan source code sebagaimana mestinya. Dan pengguna juga harus bisa melihat dan mempercayai sendiri bahwa file executables itu berasal dari source code yang sama.
Bagi komunitas open source, Gitian Building kemudian makin banyak digunakan secara luas oleh para pengembang. Termasuk juga para pengembang Tor, Debian, Mozilla dan banyakk proyek open source lainnya.
Manfaat yang paling utama, Gitian Building ini dapat meminimalisir kesalahan saat proses building code dilakukan. Sehingga juga dapat meminimalisir adanya bug, namun itupun sesuai dengan kode yang telah dituliskan sebelumnya. Meski demikian, sebuah kode yang bersifat open source tidak harus bisa menghilangkan segala macam resiko. Hal itu selama perangkat lunak yang telah dihasilkan bisa berjalan, dan benar-benar dapat mencerminkan kode tersebut.
Source code Bitcoin dan Binary
Bitcoin ditulis menggunakan bahasa C++. Bahasa C++ ini adalah salah satu bahasa pemprograman yang banyak digunakan oleh pengembang. Bahasa pemprograman C++ ini cukup berbeda dari bahasa yang sebenarnya. Hal itu karena bahasa ini dapat ditulis dan dibaca oleh manusia.
Pada sebuah CPU sebenarnya tidak sebenarnya dapat membaca bahasa pempograman C++. Karena CPU mempunyai bahasa sendiri, yakni Binary. Bahasa Binary tidak bisa dibaca oleh manusia karena hanya terbaca dengan “nol (0)” dan “1 (satu)” saja.
Agar bahasa pemprograman C++ ini dapat dibaca manusia dan bisa dieksekusi di sebuah CPU komputer, maka harus diterjemahkan dulu dalam bahasa binary. Proses penterjemahan ini disebut dengan “compiling”.
Proses penterjemahan dari bahasa pemprograman menjadi binary itu biasanya menggunakan sebuah software khusus. Software tersebut biasa disebut dengan compiler. Dalam hal ini, Gitian Building banyak bermanfaat dan cukup membantu. Karena pada proses kompilasinya, dapat meminimalkan resiko terjadi kegagalan.
Mengapa Bitcoin Core Perlu Gitian Building?
Seperti yang disingguna diatas, proses kompilasi menggunakan Gitian Building dapat meminimalkan Resiko terjadi kegagalan. Pengembang Bitcoin Core bertugas untuk menyusun kode Bitcoin Core menjadi binary. Sehingga pengembang juga harus memasukkan kode C++ pada komputer yang digunakannya. Atau dengan kata lain, pengembang harus menginstal kompiler C++ di komputernya. Setelah Bitcoin Core berhasil dirubah dalam binary, kemudian pengembang mendistribusikan binary tersebut ke Bitcoin.org, bitcoincore.org, ataupun platform lain yang memungkinkan.
Karena siapapun dapat membaca bahasa C++, dapat memeriksa sendiri, dan bisa memverifikasi kode Bitcoin yang open source, maka binary yang telah didistribusikan tersebut haruslah mencerminkan kode yang sama. Maksudnya bahwa binary tersebut, benar-benar berasal dari source code yang sama.
Akan menjadi masalah jika misalnya pada komputer pengembang itu ternyata berhasil ditembus penyerang. Kemudian penyerang berusaha mengganti dengan software compiler berbahaya. Sehingga hasil binary yang mungkin nampak seperti sebuah software Bitcoin Core, namun itu bisa berpotensi untuk mencuri bitcoin.
Maka bisa dikatakan pengembang tersebut menyebarkan malware. Dianggap sebagai seorang pengembang yang berniat jahat. Karena telah dipaksa untuk mempublikasikan binary yang berbahaya.
Masalah ini tentu harus disadari sepenuhnya. Sedangkan souce code Bitcoin memang sepenuhnya open source. Dan yang paling utama adalah, tidak ada yang akan mampu membaca binary. Jadi disinilah peran Gitian Building.
Gitian Building dapat menjadi pemecah masalah. Para pengembang dapat membangun binary dari kode yang sama, dan saling kroscek satu sama lain. Sehingga jika binary tersebut identik, maka bisa diketahui bahwa binary tersebut akurat dan valid. Bahkan orang lain juga bisa memeriksa apakah pengembang bertindak dengan jujur. Jika ternyata seorang pengembang menggunakan compiler yang berbeda pada sebuah sistem operasi yang berbeda, dan pada waktu yang berbeda pula, mungkin binary akan nampak berbeda. Proses pengecekan itu, dapat meminimalisir titik-titik kegagalan. Oleh karena itulah seorang kontributor di ekosistem Bitcoin dengan nama samaran “Dev Random” bersama para developer Bitcoin Core menciptakan Gitian.