大家好
我是币圈小沫沫(๑><๑)
本篇文章还是针对区块链的
区块链解释
区块链是分布式的(即,没有单个存储库)和去中心化的数字分类账,具有防篡改和抗性。在最基本的层面上,它们允许用户在该组内的共享分类帐中记录交易。结果是,一旦在标准区块链网络功能下发布交易,就不能修改交易。
2008 年,区块链概念与许多其他技术和计算机概念相结合,以创建现代加密货币:受加密过程而非中央存储库或权威机构保护的电子现金。
区块链实施通常是在考虑特定目标或功能的情况下创建的。用于企业的加密货币、智能合约和分布式账本系统都是功能的例子。
比特币是第一个基于区块链的加密货币,允许用户公开共享数据,以便参与者可以独立验证交易的有效性。加密货币建立在区块链技术之上,区块链技术因大量使用加密功能而得名。
为了在系统内进行数字签名和安全交易,用户使用公钥和私钥。用户可以使用加密哈希函数解决难题,希望在涉及挖矿的基于加密货币的区块链网络中获得固定数量的金钱。
区块链技术领域不断进步,定期推出新平台——环境在不断变化。除加密货币外,区块链技术还可用于建立永久、公开和透明的分类账系统,用于收集销售数据、跟踪数字使用情况以及向音乐家等内容创作者付款。
本文解释了区块链技术并概述了它的工作原理。
区块链是如何运作的?
区块链的基本目标是让人们——尤其是那些彼此不信任的人——以安全、防篡改的方式交流重要数据。
哈希函数、区块、节点、矿工、钱包、数字签名和协议是区块链中的各种主要概念。
哈希函数
让我们想象一下,一个房间里的 10 个人决定制作一种新货币。他们必须跟踪资金流向以确保代币在其新货币生态系统中的有效性。一个人——让我们称他为鲍勃——决定在日记中保留一份所有行动的清单。然而,另一个人——让我们称他为杰克——决定偷钱。为了隐藏这一点,他更改了日记中的条目。
然后有一天,鲍勃注意到有人干扰了他的日记。他决定改变日记的格式,以防止将来被篡改。他使用了一个称为散列函数的程序,将文本转换为一组数字和字母,如下表所示。
此过程利用安全散列算法或 SHA,将字母转换为字符串。Bob 可以选择不同类型的 SHA,每种类型的复杂性各不相同,满足不同的需求。
散列是由散列函数产生的一串数字和字母。哈希函数是一种数学函数,可将可变数量的字符转换为具有固定数量字符的字符串。
字符串中的一个小改动会创建一个全新的散列。在每个日记条目之后,Bob 插入一个哈希值。但随后杰克决定再次更改条目。他找到了日记,更改了记录并生成了一个新的哈希值。
鲍勃注意到有人再次翻阅了日记。他决定将每笔交易的记录复杂化。在每条记录之后,他插入一个从记录的最后一个散列生成的新散列。因此,每个条目都依赖于前一个条目。
如果 Jack 尝试更改记录,他将不得不更改所有先前条目中的哈希值。然而,杰克是一个顽固的小偷,所以他整夜都在计算所有的哈希值。
Bob 不想放弃,所以他在每条记录后添加了一个不同的随机数。这个数字被称为“随机数”。随机数的选择方式应导致生成的散列以两个零结尾。
为了使用 Bob 更新的输入系统伪造记录,Jack 现在必须花费数小时和数小时来确定每行的随机数。
即使是计算机也很难计算出随机数,但这项任务是可能的,因为矿工在区块链挖掘过程中竞相发现它们。
Bob 最初包含 5,000 笔交易的电子表格称为创世区块——该区块链的起点。这种货币的采用已经普及,因此交易来得很快且频繁。新块被创建,它也可以容纳多达 5,000 笔交易,并且具有与以前的块相关的代码,使它们不可伪造。
让我们假设这个区块链每 10 分钟用一个新块更新一次。它会自动执行此操作。没有主计算机或中央计算机指示计算机执行此操作。
一旦电子表格或分类帐或注册表更新,就不能再更改。因此,伪造它是不可能的。您只能向其中添加新条目。同时更新网络上所有计算机上的注册表。对区块链的更改需要大多数网络参与者的共识。
区块链的一个潜在风险是“51% 攻击”,在此期间,一方超过了区块链的大部分哈希率,从而允许他们支配网络。
一般来说,一个区块包含一个时间戳、对前一个区块的引用、交易和在区块进入区块链之前必须解决的计算问题。必须达成共识的分布式节点网络使得区块链内几乎不可能发生欺诈。
鲍勃以这种方式记下了很短的时间。然而,随着新交易的不断发生,他很快就被记录数量所累,认为他当前的系统不可持续。因此,当他的日记达到 5,000 笔交易时,他立即将其转换为一页电子表格。玛丽检查了所有交易的准确性。
然后,Bob 将他的电子表格日记提供给 3,000 台不同的计算机,每台计算机位于全球不同的地区。这些计算机称为节点。每次交易发生时,都必须经过那些节点的批准,每个节点都会检查交易的有效性。一旦每个节点都检查了一笔交易,本质上就会发生一种电子投票。一些节点可能认为交易是有效的,而另一些节点可能认为它是欺诈性的。
每个节点都有一份电子表格日记的副本。每个节点检查每笔交易的有效性。如果大多数节点表示交易有效,则将其写入区块。
现在,如果 Jack 想要更改电子表格日记中的一个条目,所有其他计算机都将拥有原始哈希值。他们不会允许改变发生。
矿工
挖矿是矿工向链中添加新块的过程。区块链中的每个区块都有其唯一的随机数和哈希值,但它也引用了链中前一个区块的哈希值,这使得挖掘区块变得困难,尤其是在大链上。
矿工使用专门的软件来解决使用随机数生成可接受散列的极其困难的数学问题。因为随机数只有 32 位长,而散列是 256 位长,所以在找到合适的组合之前,需要挖掘大约 40 亿个随机数-散列组合。
当这种情况发生时,矿工被认为已经发现了“黄金随机数”,并且他们的区块被添加到链中。对链中较早的任何块进行更改不仅需要重新挖掘受影响的块,还需要重新挖掘所有后续块。
这就是为什么操纵区块链技术如此困难。将其视为“数学安全”,因为识别黄金随机数需要很长时间和大量计算资源。当一个区块被成功开采时,网络中的所有节点都会确认这一变化,矿工将获得经济补偿。
钱包、数字签名和协议
继续同一个例子,Bob 将 10 个人聚集在一起(最初聚集的 10 个人是新货币的一部分)。他需要向他们解释新的数字硬币和分类帐系统。
杰克向众人认罪并道歉。为了证明他的诚意,他把硬币还给了安和玛丽。
整理完所有这些,鲍勃解释了为什么这再也不会发生了。他决定实施一种叫做数字签名的东西来确认每笔交易。但首先,他给了每个人一个钱包。
什么是钱包?
如果您拥有数字货币,那么您需要一个数字钱包或一个在线平台或交易所进行存储。
钱包是一串数字和字母,如:18c177926650e5550973303c300e136f22673b74。当交易发生时,这个地址将出现在区块链内的各个区块中。不包含姓名或个人身份信息——只包含钱包号码。
公共钱包地址是可以将某些资产发送到的字符串。每个特定钱包的地址都是从公钥生成的。
好了,本篇文章讲到这里,咱们下期见!