2008 年,雷曼兄弟控股公司申请破产,这极大地动摇了人们对银行的信心,以至于出现了一种没有正式银行支持的新资产类别。第一个名为比特币的加密货币是由一个不知名的人或一群人使用中本聪这个名字在 2008 年发明的。这个想法是制作一种去中心化的开源数字货币,无需中央银行或单一管理员。这是中本聪提出的白皮书的链接
在本文中,我们将探讨加密货币的实际运作方式,从交易到数据存储。由于比特币是第一个也是最著名的加密货币,因此我将在本文中重点介绍它。
比特币 ≠ 区块链
人们普遍认为人们可以互换使用区块链和 #比特币这个词,但事实并非如此
比特币不仅仅是一种硬币,而是一种基于区块链技术的协议 。 协议是一组规则,指导网络上的参与者如何相互通信。比特币协议的一个例子是应该如何管理用于身份验证的公钥和私钥,应该如何进行挖掘以确认交易等。以太坊、wave、neo 和 ripple 是类似协议的其他一些例子,如比特币.
该协议与比特币和以太坊一样,有一个通常以协议名称命名的硬币,它可以实现人机交互。这枚硬币用于奖励采矿者,向区块链添加区块,最重要的是,用于相互购买东西。
代币是第 3 层,依赖于基于第 2 层协议构建的智能合约。以太坊是创建智能合约和创建代币的最流行的协议。比特币协议没有代币,因为它不支持在其协议上创建智能合约。
传统银行的安全替代品 ?
为了真正理解加密货币,让我们先来看看区块链和传统的客户端-服务器架构是如何运作的。
客户端服务器架构
该架构的基本概念是,客户端(用户)将向服务器发出 http 请求,如果一切正确,它将从集中式数据库发送回该网页作为响应。
所有数据都存储在由银行和公司控制的集中式服务器上这一事实是一个大问题。此外,由于数据存储在集中式服务器上,服务器被黑客入侵的可能性非常高,这意味着您的数据和隐私处于危险之中。
区块链
区块链解决了传统客户端服务器架构中存在的两个主要缺陷,即数据隐私和数据安全。区块链是一个完全透明的分布式不可变账本。
让我们用简单的术语来分解定义。分布式意味着数据存储在计算机网络中,无需 集中式服务器 。您可以将分类账视为一个账簿,跟踪区块链上发生的所有交易,它是不可变的,这意味着一旦添加到区块链中,就永远无法更改。
区块链交易是匿名的,因此您可以看到其他人的交易,但不会更改其中包含的数据。某些加密货币确实允许您加密数据有效负载或默认要求它。
比特币挖矿
现在我们已经了解了区块链的基础知识,让我们看看交易在比特币协议中是如何工作的。例如,假设 Bob 希望向 Alice 发送 1BTC。
Bob 进行交易以向 Alice 汇款。Bob 发起的交易最初保存在 Mempool 中(这是一个存储所有未确认交易的区域)。要将交易从内存池添加到比特币区块链,矿工必须首先解决一个平均需要 9 分钟才能解决的数学问题。首先解决数学问题的矿工将告诉网络中的所有其他矿工它已经成功地解决了问题。现在,网络中的其他矿工将首先检查挖掘的块是否真正来自 Bob 或试图渗透该链的黑客。仔细检查后,交易成功发布到区块链,Alice 收到 Bob 的 1BTC。
需要注意的是,首先解决数学问题的矿工将获得比特币形式的奖励或交易费用。
数学问题
现在我们已经对挖矿有了基本的了解,让我们看看矿工正在解决的数学问题,以便将其添加到比特币网络中。
当 Bob 与 Alice 进行交易时,交易看起来如下所示。每笔交易都由块号、随机数、数据、先前的散列和散列标识。
顾名思义,区块号是要添加到区块链中的当前区块号。数据包含 Bob 钱包到 Alice 钱包的交易详情。在区块链中,哈希就像指纹,用来记住之前的区块。前一个哈希包含区块链中已经开采的前一个块的哈希值。
Nonce 是一个变量值或数字,矿工可以更改以获得正确的哈希值,块中的所有其他数据,例如块号、数据和先前的哈希值,本质上是不可变的,任何人都无法更改。
SHA 256 算法
当该算法处理文件时,SHA 256 会创建一个加密数据文件,其中包含 64 个十六进制字符,每个字符 4 位。
当我们在 SHA 256 算法中传递块编号、数据和 prev 哈希和随机数时,会生成哈希。比特币协议给矿工一个目标值,
矿工生成的哈希值应小于比特币协议的目标值,才能成功添加到区块链中。矿工改变随机数生成哈希数,生成小于目标值的哈希的矿工首先获得成功解决数学问题的奖励。
要亲自探索演示,请访问此网站:https ://demoblockchain.org/block
以上是我们正在尝试的交易的演示;您可以在网站上自己尝试。当你改变块号、nonce 或块中的数据时,一定要观察哈希是如何变化的。像这样的更改可以防止黑客入侵区块链,我们将在以下部分讨论。
块链
现在您已经对如何使用 SHA 256 算法挖掘比特币有了基本的了解,让我们看看如何将成功挖掘的区块添加到区块链中。
区块链上的第一个区块也被称为创世区块,它的 Previous Hash 值为 0。我们的 Bob 和 Alice 交易是第三个成功添加的区块,之前的哈希值等于第二个区块的值哈希。
分布式 P2P 网络
让我们缩小一点,看看这个区块链是如何保存在去中心化分布式对等网络或 P2P 网络上的。
如果分布式 P2P 网络中的一个对等点需要数据,它将联系存储该数据的对等点。这种 P2P 网络的好处是它不会被黑客入侵,因为数据保存在许多位置,如果一个数据被篡改,其他数据将保持安全。我们将在下一节中了解 p2p 的好处,但首先让我们看看 Bob 和 Alice 成功挖掘的块是如何存储在 p2p 网络中的。
让下图作为具有矿工和用户的 P2P 网络的示例。
假设“A”是矿工,他成功解决了 Bob 和 Alice 之间交易的数学问题,并将其添加到本地区块链,即在区块 3。一旦上传到区块链,它将提醒网络上的其他用户新开采的区块并指示他们将其包含在自己的区块中。下面是一个动画,可以帮助您将其可视化。
其他用户会先验证“A”挖出的区块是否正确,然后该区块才会成功加入区块链。
成功添加区块后,我们的点对点网络将类似于下图。
资源
所以,这就是所有的人。这是对加密货币如何工作的快速介绍,我希望你今天从这个博客中学到了一些新东西。如果您想更深入地了解区块链和加密货币,我建议您遵循下面提到的资源。