加密货币工作原理的视觉解释
2008年,雷曼兄弟控股公司申请破产,这极大地动摇了人们对银行的信心,导致一种没有正式银行支持的新型资产类别应运而生。第一个加密货币——比特币,是由一个不知名的个人或团体于2008年发明的,他们自称是中本聪(Satoshi Nakamoto)。他们的目标是创建一种去中心化的开源数字货币,不依赖中央银行或单一管理机构。以下是中本聪提出的白皮书链接。
在本文中,我们将探讨加密货币的实际运作方式,从交易到数据存储。由于比特币是第一个也是最知名的加密货币,因此本文将重点介绍它。
比特币≠区块链
人们经常将区块链和比特币混用,但事实并非如此
比特币不仅仅是一种货币,而是基于区块链技术的协议。协议是一套规则,指导网络参与者如何相互通信。比特币协议的一个例子是如何管理用于身份验证的公钥和私钥,如何进行挖矿以确认交易等等。以太坊、Waves、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 算法时,就会生成哈希值。比特币协议会给矿工一个目标值,
矿工生成的哈希值必须小于比特币协议的目标值才能成功添加到区块链。矿工会修改随机数来生成哈希值,而最先生成小于目标值的哈希值的矿工将因成功解决数学问题而获得奖励。
要亲自探索演示,请访问此网站:https://demoblockchain.org/block
以上是我们尝试的交易的演示;您可以在网站上亲自尝试。请务必观察当您更改区块号、随机数或区块中的数据时,哈希值是如何变化的。这样的更改可以防止黑客入侵区块链,我们将在以下章节中讨论这一点。
区块链
现在您已经对如何使用 SHA 256 算法挖掘比特币有了基本的了解,让我们看看如何在区块链中添加成功挖掘的区块。
区块链上的第一个区块也称为创世区块,它的Previous Hash值为 0。我们的 Bob 和 Alice 交易是成功添加的第三个区块,其 Previous Hash 值等于第二个区块的哈希值。
分布式 P2P 网络
让我们稍微缩小一点来看看这个区块链是如何在去中心化的分布式点对点网络或 P2P 网络上保存的。
如果分布式 P2P 网络中的某个对等体需要数据,它会联系存储该数据的对等体。这种 P2P 网络的优势在于,由于数据保存在多个位置,即使其中一个数据被篡改,其他数据也不会受到影响,因此不会被黑客入侵。我们将在下一节探讨 P2P 的优势,但首先让我们看看 Bob 和 Alice 成功挖出的区块是如何存储在 P2P 网络中的。
下图是一个有矿工和用户的 P2P 网络的示例。
假设“A”是成功解决Bob和Alice之间交易的数学问题并将其添加到本地区块链(即区块3)的矿工。一旦上传到区块链,它就会向网络上的其他用户发出新挖出的区块的警报,并指示他们将其添加到自己的区块中。下面的动画可以帮助您直观地了解这个过程。
另一个用户将首先验证“A”挖掘的区块是否正确,然后该区块将被成功添加到区块链中。
当区块成功添加后,我们的点对点网络将如下图所示。
资源
好了,就这些了。以上是对加密货币运作方式的简要介绍,希望大家能从今天的博客中学到一些新东西。如果您想更深入地了解区块链和加密货币,我推荐您关注以下提到的资源。
如需更多此类见解,请访问我的博客网站blog.webdrip.in
文章来源:https://dev.to/narottam04/how-cryptocurrency-works-explained-visually-2j32