比特币是用什么语言编写的?为什么比特币是用 C++ 编写的?
比特币 是用什么语言编写的?比特币主要用 C++ 编写,C++ 被认为是一种高度可定制的编程语言。让我们在本文中进一步探讨。>
比特币是用什么语言编写的?
比特币的主要编程语言是 C++,它被认为适应性极强。正因为如此,比特币的发明者中本聪选择使用 C++ 来构建比特币核心,它接受来自网络的合法交易并允许进入区块链。
为什么比特币是用 C++ 编写的?
最初的 Satoshi 代码库是用 C++ 编写的,这是关键因素。像比特币这样的系统对行为一致性的要求非常严格;否则,网络就会分叉。网络上的所有节点都必须接受和拒绝完全相同的区块。避免引入不一致风险的问题的第一个选择是避免从头开始编写代码。
C++ 也不例外,所有编程语言都有缺点,但有许多因素使其成为一个不错的选择。其中一个很容易被忽略的因素是,它提供了对内存消耗的极其精确的控制。在许多现代语言(尤其是那些依赖垃圾收集的语言)中,推断出对内存使用的严格限制是具有挑战性的,甚至是不可能的。很难确保没有办法导致 Bitcoin Core 分配大量内存、堵塞机器的交换空间,或者更糟的是,终止进程,因为它是一个直接暴露在互联网上的安全关键应用程序。
除了在需要的地方实现高水平的良好平衡之外,还有许多性能优化途径。性能可能比看起来更重要,因为网络的收敛取决于快速的块验证和传播。当块验证的速度比创建的速度慢时,更大/更快的矿工开始不公平地从经济因素中获益(例如,参见自私挖矿攻击)。在极端条件下,如果块需要大约几分钟才能验证,网络可能根本无法收敛,因为节点根本无法及时收到块。