据火币区块链研究中心编译,开发人员经常使用“庞大”、“繁杂”和“令人费解”等词来描述比特币之下的代码。
这些词正说明了理解并运用这些代码有多么困难,而对于一个涉及610亿美元投资的网络体系来说,这并不是一个令人欣慰的想法。这并不是说比特币毫无作用——它确实有用——但代码库的现状确实留有一些让人期待的进步空间,无论是对于希望获得更多灵活性的用户,还是想要改进它的开发人员。
因此,像代码优化方案隔离验证(SegWit)和所谓的“硬分叉”升级原理之类的变革方案已经引起了广泛关注,并且几位比特币开发人员也在低调地开展工作,以解密比特币的繁杂架构。
Chaincode的Russell Yanofsky就是其中之一,他正在试图解决Bitcoin Core代码中所谓的“过程分离”的问题,Bitcoin Core代码是最常用的软件选项。
Yanofsky告诉CoinDesk:
“比特币是一个古老的代码库。随着时间的推移,它改变了很多。面对很多部分的代码,如果我们从头开始写,我们可能会有不同的做法。但由于我们面对的是代码遗留问题,我们必须找到方法来维护它。”
摒弃庞杂体系
要理解Yanofksy的过程分离技术,首先必须明白,Bitcoin Core软件是由许多不同的部分以及两个所谓的“过程”组成的,有些人认为,它们是以一种随机的方式集中在一起。
第一个过程被称为“bitcoind”,根据Yanofsky的说法,它的组成部分有:点对点代码,用于连接网络中的节点;验证代码,用于检查节点接收的交易和区块是否有效;以及钱包代码,用于存储用户的私钥。
第二个过程是“bitcoin-qt”,它通过添加一个用户界面来运行所有这些东西,这样毫无技术经验的用户就可以在不使用命令行的情况下运行一个完整的节点。
Yanofsky认为在某些方面最好将这些代码分开。为此,他创建了一个新流程“bitcoin-walletd”,它将钱包代码从bitcoind中分离出来。并且,从bitconqt删除了所有的代码,仅保留用户界面。
本周,他在纽约的一个BitDevs演讲中展示了其新架构的不同之处:
这样看起来,各个比特币过程似乎在很大程度上已经完全分离了,但在编码术语中却没有。所以,Yanofsky在不同的组成部分之间建立了障碍。
这样,一旦代码完成,钱包代码部分将无法运行代码的其他部分。
混合和匹配
那么,这对用户意味着什么呢? 主要是更大的灵活性。
用户可以像拼图一样移动Yanofsky所说的各个组成部分,可以进行混合和匹配。例如,在没有绑定到节点的钱包中,用户也可以使用钱包,并使用任何比特币节点。
Yanofsky说,“也许,当你使用的是一个不支持新功能的旧钱包,而你不想放弃它,或者你不想把钱转移走,”把钱包移动到一个不同的节点这一选项可能会十分有用。
以同样的方式,用户可能希望在不同的bitcoind节点上使用bitcoin-qt的用户界面。
他说:“你基本上可以在任意一个服务器上运行一个比特币节点。也许你只是想运行GUI来检查它的带宽容量或者它的点对点连接。”
这为用户创造了更多的选择。比特币爱好者特别关注的是,为什么Yanofsky致力于此。
虽然他承认他的改变可能会使运行变慢,或者让开发人员更难调试代码,但该项目得到了GitHub平台上一些Bitcoin Core开发者的支持,其中包括运行