What is Gitian Building? And What Are The Benefits For Bitcoin?
Gitian Building. For those who do not know, Gitian Building is the process to build Bitcoin Core into a file that can be directly executed. The process was done using Gitian. Gitian is an open source software to compile code into a binary.
Gitian is likened to being able to build a computer inside a computer. With a specific purpose, Gitian virtual space compiles the code into binary. So it becomes a convincing way, that the file is actually built based on the same source code.
As we all know, Bitcoin is open source. Bitcoin code can be seen by anyone, it can be self-checked whether the code can work properly. Therefore, the security feature for the Bitcoin code becomes quite important. When the Bitcoin source code is built into an executable file, it must be properly reflected based on the source code. And users should also be able to see and trust themselves that the executables file comes from the same source code.
For the open source community, Gitian Building is then increasingly widely used by developers. Including the developers Tor, Debian, Mozilla and many other open source projects.
The most important benefit, Gitian Building can minimize errors when building codeprocess is done. So it can minimize any bugs, but even then according to the code that has been written before. However, a code that is open source should not be able to eliminate all kinds of risks. However it is as long as the software that has been generated can run, and can actually reflect the code.
Source code Bitcoin and Binary
Bitcoin is written in C ++. This C ++ language is one of the many programming languages used by developers. This C ++ programming language is quite different from the actual language. Become quite different because this language can be written and read by humans.
On a CPU, it can not actually read the C ++ programming languages. The CPU on a computer has its own language, Binary. While the Binary language can not be read by humans because it only reads with “zero (0)” and “1 (one)” only.
In order for the C ++ programming language to be human readable and executable on a computer’s CPU, it must be translated first in binary. This translation process is called “compiling” .
The translation process from the programming language to the binary usually uses a special software. The software is usually called the compiler . In this case, Gitian Building is useful and helpful. Because the compilation process, can minimize the risk of failure.
Why Bitcoin Core Need Gitian Building?
As mentioned above, the compilation process using Gitian Building can minimize the risk of failure. Bitcoin Core developers are tasked with compiling Bitcoin Core code into binary. So the developer must also enter the C ++ code on the computer he uses. Or in other words, the developer must install the C ++ compiler on his computer. After Bitcoin Core is successfully converted in binary, developers then distribute the binaries to Bitcoin.org, bitcoincore.org, or other possible platforms.
Because anyone can read C ++ language, can self-check, and can verify Bitcoin code is open source, then the binary that has been distributed must reflect the same code. It means that the binary, really comes from the same source code.
It would be a problem if for example on the developer’s computer was successfully penetrated by the attacker. Then the attacker tried to replace with malicious compiler software. So the binary result might look like a Bitcoin Core software, but it could potentially steal the bitcoin.
So it can be said the developer is spreading malware. Considered a developer of malicious intent. Because it has been forced to publish a dangerous binary.
This problem must be fully realized. While Bitcoin souce code is fully open source. And the main thing is, no one will be able to read binary. So this is where the role of Gitian Building.
Gitian Building can be a problem solver. The developers can build binaries of the same code, and mutually check each other. So if the binary is identical, then it can be seen that the binary is accurate and valid. Even others can also check if the developer is acting honestly.
If it turns out that a developer uses a different compiler on a different operating system, and at different times, it might look different. The checking process, can minimize the points of failure. That’s why a contributor in the Bitcoin ecosystem under the pseudonym ” Dev Random ” along with the Bitcoin Core developers created Gitian.