为了响应市场对更大区块的需求,Bitcoin Classic应运而生。它由一个竞争性(和Core)开发小组提供,作为将比特币扩容到下一个百万用户使用的最主要的方式。自从2月第一次发布以来,我们已经走了很长的路。比特币现状已经改变,主要是向好的方向发展。这是一个我们可以引以为傲的成就。
我们的两个主要目标是:有更多的分布式开发和更大的区块。我们现在非常接近这两个目标,但还有更多工作要做。
我在3年前就开始了这个旅程。我试着使用Bitcoin Core这个代码,借此改进一些恼火的事情。3年后的现在,我已经看过了比特币中的每一个文件和大多数的代码。这是一个非常值得研究的问题,并且会耗时数年。
我在Bitcoin Classic的主要角色是版本管理。 这基本上意味着我负责发布最高质量的版本。我喜欢发明和编写代码。我在过去几个月里做了很多事情。
那为什么这篇博客的标题是 “Classis回来了”呢?事实上,它从来没有真正走开。我认为,当我们发布的2MB补救解决方案引起很强的市场反应和讨论时,Classis被搁置一旁。但Classis一直是我们发布的解决方案,我们只是忙着编码和改进。
我们在市场中看到的其中一个改变是:对所有比特币软件如何协同工作的理解发生了改变。这个想法已经多次使用,所以已经经受住时间的考验。它是关于在不设置软件限制的情况下,我们如何可以有一个限制。
所有的软件,在它不成熟、只针对少数用户的时候,会有内置的限制。这些限制确实存在,因为开发者知道自已软件不能做到足够好,限制是目前为止最简单的“解决方案”。
这种设计并不罕见,年长的人可能会记得,DOS的内存大小曾经是640KB。20年前,电子邮件的最大大小为1MB。
软件成长的一部分:发现更好的解决方案使这些限制过时。限制被删除,人们都很高兴。
删除软件中的限制不会使其无限制。它只是使得其他成本限制实际大小。你仍然无法发送DVD大小的电子邮件。现在的最大大小是由市场决定的,是成本和效益的基本计算。
让我们来看看比特币矿工的一些市场激励:
矿工挖到更大的区块是好的,因为他得到更多的费用。
另一方面,更小的区块是不错的,保持一点稀缺性,仍然还有人支付费用。
另外,更大的区块发送时会花费更多的时间,使得计算机被淘汰的机率更高,这两者都是昂贵的。
另一方面,更小的区块会导致更大的积压。结果,对付费用户服务不周。在竞争中,我们要避免失去他们的支持。
这些是相互冲突的激励。既有需要更大的区块的理由,又有需要更小区块的理由。最终结果将是,区块大小取决于市场对区块空间的需求。只是因为这是矿工最有利可图的。这里好的反面是,矿工最好的情形也是比特币中其他人很好的情形。
Andrew Stone提出,每个人都发布他们愿意接受的最大大小,使区块大小的市场成为一个开放的市场。现在矿工可以决定理想的区块大小,而不必担心他们的区块因为太大被其他矿工拒绝。
纯粹市场驱动的区块大小是比特币的一个大变化。在每个人都习惯之前,它可能需要一点时间。同时,Classic正致力于开发几个下一代项目。
在Classic我启动了一个项目:网络管理器
。它是一个替换网络层,解决了许多我们从中本聪客户端继承的p2p代码的问题。除此之外,目前正在构建一个管理服务器。管理服务器将填补远程控制的角色。你可以创建交易,查询区块链,签署数据并要求它冲咖啡。除了最后一个,其他都已经实现,这个管理服务器只是使用
“Bitcoin-cli”应用程序现有的功能。
它的闪光点是:不同程度上速度更快,它不仅允许像网络服务器那样问问题,而且管理服务器有一个实时连接,可以推出数据。例如,当一个新区块加入时。
因此,它启用了一组新的可以用它创建的网络启用工具。一些要用到的例子是: *应用程序管理软件,由于警告和速度慢,可监视其控制下的任何数量的节点。但也用于操作统计,例如已经发送了多少兆字节。*对无需本地存储,查询整个区块链的科学研究。*从矿工到完整节点的大区块的上传速度快得多。
这个项目已接近完成了80%。Classic重回正轨了吗?
在中本聪发布的比特币0.1版本中,非常好地指示了他的未来意图。他包含了一个交易版本号的字段。今天,8年过去了,事实我们还是在使用版本1的交易格式。我们一直没有利用中本聪提供的这个版本号的字段。
比特币的设计存在很多问题,实际上能够在交易格式中修复问题,从中受益颇多。弹性交易是一种协议升级,意味着能实现这一点。
弹性交易
的提案已经开发了几个月,我们目前解决了第一个版本的很多问题。
修复的比特币问题:
修复可延展性漏洞
对签名中哈希运算操作的的线性扩容
支持硬件钱包(也被称为欺诈证明)
非常灵活的未来可扩展性
双花证明
使交易更小
支持闪电网络
支持未来增加脚本版本
我们现在在哪?
弹性交易在测试网络上做了测试,实现了80%的功能。我们还要进行更多测试。
Bitcoin Classic绝对会回来。
Bitcoin Classic是基于8年前Satoshi的代码库,我自己一直比预期花费更多的时间学习这个代码库。我从其他开发人员身上得知自己绝对不是孤独的。代码库甚至不是那么大!最常听到的抱怨是它缺乏模块化设计。
难以理解代码导致低质量的产品。这很容易理解:程序员也是人类,当他们必须在肮脏的环境中创建干净的代码时,他们会出错。我认为重点改善Bitcoin Classic的架构和代码质量是很重要的。目的是帮助开发人员更快地理解代码,同时使我们的产品具有更高的质量。
因为缺乏模块化设计,所以开始修复这个问题的最好方法是介绍这种模块化设计。 基础的编码,比如“Application”类作为应用程序范围资源的起点,而且将会有更多编码。
我今天提到的各种产品也都基于常见的、可重复使用的技术。作为一个快速示例,采用常用的消息格式将是弹性交易与网络管理器和管理服务器之间的通用层。
我觉得与作为比特币的一部分的其他团队一起进行这些改进是非常重要的。他们有自己的改进,最后我们要重复使用彼此的发明以及最终的代码。我与人们进行了很多很好的对话,比如Pedro
Pinheiro,Dagur Valberg Johansson(dagurval),Amaury Sechet(deadalNix
),Andrea Suisani(sickpig
),Freetrader和Justus Ranvier
。他们是极好共事的人,而且参与大部分比特币的实现性。我们的做法和想法有很多相似之处。
重要的是差异。每个比特币客户端因自己的方式而独特的。这对大家是有用的,有助于避免回音室效应问题,我们避免在他们之前扼杀想法。在友好的基础上,更多人竞争将使每个人受益,这意味着比特币有许多实现性。
Bitcoin Classic回来了。Bitcoin Classic正在开发一些非常令人兴奋的东西,我们都走了很长的路。
标签:比特币社区生活
©版权所有:2016 Tom Zander <tomz@freedommail.ch>
根据CC by-sa授权的内容
声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。