📜  加密货币和加密劫持

📅  最后修改于: 2021-10-20 10:34:23             🧑  作者: Mango

加密货币基本上是可以兑换成真钱的数字货币。可以有许多加密货币,如门罗币、莱特币和达世币,但比特币是此类货币中最受欢迎的。

所以在这里我们将主要谈论比特币。
比特币是当今最常用的加密货币,与真实货币相比具有重要价值。加密货币可以通过网络以非常低的成本从一个人向另一个人兑换货币,因为加密货币消除了他们之间的任何类型的中间商,如银行。许多人在世界各地进行这些交易,但为了跟踪所有交易,比特币网络有人不断维护自己的全球此类交易记录。维护这条交易轨迹的人被称为矿工。矿工挖掘一个区块并将其添加到区块链中,同时为自己获得 12.5 个比特币的奖励,网络凭空产生这些奖励,以奖励他们为区块链所做的所有工作。

区块链可以称为保存所有交易历史的区块链。当我们谈论比特币时,我们脑海中会出现许多关于它的安全性和工作原理的问题。比特币的工作原理与任何其他加密货币的工作原理非常相似,这使我们更容易了解世界上许多加密货币的工作原理。

比特币网络的运作以及为什么它不能被骗?
当一个人想要通过比特币网络交换比特币时,一切就开始了。为此,一个人必须在比特币网络上宣布他/她的交易。宣布交易需要提及发送者账号、接收者账号和要发送的比特币数量。通过使用私钥和公钥来确保交易的身份验证。

公钥来源于用户的私钥。其他人可以看到此公钥作为一个人的地址,可以在其中发送或接收比特币。矿工使用公钥检查签名。这个签名不能被欺骗,因为即使签名中的一点点变化也会改变与之关联的公钥。然后比特币网络和软件检查一个人的交易历史,以确保这个人首先有足够的比特币进行交易。在确认交易后,交易被添加到他们自己的称为块的寄存器中,但这些块不能那么容易地添加到区块链中。这些区块需要有工作量证明,并且区块的头部和区块头作为前一个区块的哈希值。

这些块的顺序不能切换,因为这样块会产生不同的哈希值,这将完全改变下一个块的头部值等等,从而产生大量工作。这里的哈希是指由固定长度的特定块生成的加密输出,而工作量证明是在挖掘过程中生成的特殊数字,用于保证块的真实性。由于网络上有很多矿工在构建类似的区块,那么应该将哪个区块添加到区块链中?

只允许在区块链中添加特定矿工的区块,该区块能够解决由密码哈希函数提出的数学问题。比特币中的这个哈希函数是 SHA-256,它将任何值转换为 256 位输出。这些散列函数的有趣特征是它们的输出非常简单,但几乎不可能从该输出猜测输入,因此手头唯一的解决方案是猜测。输出是针对该散列给出的,但为了找到输入,矿工必须完全依赖运气。谁倾向于首先挖掘输入数字,匹配哈希值就可以将他们的区块添加到链中并获得奖励。这个匹配的输入数字是工作证明。为了解决这些问题,需要很大的处理速度,这是普通计算机无法提供的,因此矿工使用专门为挖掘比特币而设计的特殊芯片。如今,使用ASIC (专用集成电路)来挖掘比特币。与早期使用的图形卡相比,这些芯片消耗的功率更少。

ASIC 据说更有效,也保证了更好的处理速度。由于流通中的比特币有限,因此比特币的价值似乎会上涨,因此矿工投入大量资金来应对飙升的电费和维持采矿所需的适当资源。但是,有些人倾向于采取简单的加密货币劫持路线。

什么是加密劫持?
Cryptojacking 是黑客利用用户计算机能力来挖掘加密货币的过程。由于加密货币的兴起,最近加密劫持攻击显着增加。这些攻击对黑客来说似乎更有利可图,因为执行这些攻击时,黑客无需对计算机网络进行任何类型的攻击,而只需使用在用户访问任何类型的恶意网站时在后台运行javascript 代码即可。代码的执行不会中断网站的工作,让用户完全不知道幕后发生的事情。在此类攻击中,攻击者利用 CPU 的能力来挖掘加密货币,从而导致巨额电费

如果系统掉电很快,工作时经常发热,处理速度慢,就可以知道后台数据挖掘正在发生。而黑客有时也可以利用很多人倾向于同时使用的非常受欢迎的站点流量。在这种情况下,矿工使用用户设备的非常少量的电力,但在这里大规模的用户对黑客有更大的总电力贡献,这有助于很容易地进行挖矿。

由于加密劫持使用 javascript 代码,因此可以通过关闭浏览器设置中的 javascript或安装“无硬币”等扩展程序来避免加密劫持,因为通过非法使用他人的资源来获利是不公平的。