比特币是第一种加密货币,是由中本聪(中本聪)的匿名开发人员或一组开发人员引入世界的。 BTC的起伏历史悠久,其中一些对社区来说是相当不错的,因为它允许人们进一步增持更多的比特币。然而,其他人几乎摧毁了原始加密货币。 今天,我的目的是研究比特币开发人员必须处理的一些最棘手的错误,它们为什么发生,出了什么问题以及如何缓解它们。 我会尽力使事情简单而不是技术性的。 准备听听有关比特币的一些最令人不安的故事吗? 错误如何发生 通过脚本创建软件。在比特币中,原始版本使用一种称为“ c ++”的低汇编语言进行编程。 即使开发人员(尤其是在开放源代码世界中的开发人员)在代码上运行了无数次运行,但还是会发生一些错误。这可能是由于更改导致某些功能与新代码不兼容,由于新代码中的错误,甚至是由于某些功能不应该执行的操作所致。 无论是什么原因,你都必须意识到,作为开源软件的比特币也容易出现一些错误。即使大多数问题都可以轻松解决(BTC幸运的是,一流的开发人员正在研究它),但有时出现的错误可能会导致无法预料的问题。 下面,我将探讨几乎导致比特币崩盘的前三个错误和错误。 错误1:OP_LSHIFT崩盘 你可以使用脚本语言运行的原始指令之一是OP_LSHIFT,它将向左移动一定位置的一组数字。发现在某些计算机上使用OP_LSHIFT时,处理事务将导致计算机崩盘。 该错误的起作用方式是,你只需进行一次恶意交易,然后将其发送到比特币节点,有效地导致该节点崩盘。 开发人员修复该错误的方法是使某些功能无效,从而使脚本返回“ false” –本质上是不运行程序(事务)。 错误2:通货膨胀错误 通货膨胀错误使你可以印更多钱。就像你能够成为比特币协议中的中央银行一样。 引发问题的代码是关于将事务中的所有输出和所有输入相加。你从输出中减去所有输入,如果得到负数,则意味着你的输出大于输入。 基本上,膨胀错误是由溢出引起的,例如当数字的绝对值太大而计算机无法表示它时。 因此,这使用户可以打印钱,并且此错误已在主网上被利用。产生了数十亿个BTC。 为了解决该问题,对代码进行了修补,每个矿机都使用了漏洞利用之前的最后一个块来切换到新的fork。从本质上讲,有一个硬分叉的比特币代码。 错误3:Netsplit netsplit错误利用了这样一个事实,你可以在其中包含两个具有不同事务的备用块,这些块散列为相同的值。 这并不意味着哈希值已损坏。这意味着有两个块,具有不同的事务冲突,它们具有相同的哈希值。 这个错误有一个简单的修复。矿机只需要最终拒绝其中一个区块,就可以使那些交易无效。 碰撞可能会发生,并且已知会在一定程度上发生。最糟糕的时刻之一是有两个大约八个区块的有效区块链。意味着一些矿机正在挖矿一条链,而其他矿机正在挖矿另一条链。 这些分裂可能会发生,但最终会得到解决,因为其中一个链条将完成更多工作并替换另一个链条。 —- 编译者/作者:不详 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
几乎杀死了比特币的错误
2019-10-17 不详 来源:区块链网络
- 上一篇:安永为政府启动区块链平台追踪公共资金
- 下一篇:人工智能创造了新材料
LOADING...
相关阅读:
- Travala.com增加了Agoda酒店,并记录了7月份的收入,因为加密支付激增2020-08-04
- 比特币:合理的牛逼陷阱是否触发了10%的价格下跌?2020-08-04
- 知道比特币下跌的分析师警告:请注意以下几点2020-08-04
- BTC迅速下跌13%后,加密货币交易员谈论比特币价格方向2020-08-04
- 【今日币快报】银保监会:鼓励财险公司利用区块链等对传统保险操作2020-08-04