主页 > 官网安卓版下载imtoken > 【聊聊区块链】什么是区块链,如何通俗易懂的介绍区块链? (二)

【聊聊区块链】什么是区块链,如何通俗易懂的介绍区块链? (二)

官网安卓版下载imtoken 2023-06-25 09:38:23

“交易数据这么重要,在一个完全不受信任的P2P网络节点中以错综复杂的方式传输。谁来保证数据的一致性和安全性?如果说互相监督,他们是怎么做到的?” “

好吧,我们不搞笑了,让我们围绕这个最直接的问题开始进入真正的区块链世界,看看它是如何一步步形成的,又是如何一步步稳定运行的。

# 从全球节点到交易数据

区块链起源于比特币a对b错_区块链与比特币的联系_区块链技术和比特币

制作这张图的目的是为了帮助大家从宏观上快速了解区块链涉及的相关术语及其层级关系。 同时,文章的知识结构和设计思路一般会遵循:

首先,以区块为最小单位,描述极简区块链系统是如何工作的;

然后,进入一个比区块更小的单位——交易记录,了解区块链是如何处理数据的;

最后把所有的知识点软化在一起,回归到区块和区块链,完整的描述整个工作流程。

我希望你在这个指导和结构下有更好的阅读体验。 走吧~

# 方块,混沌世界的起源

现在已经达成共识,我们提前搭建了一个去中心化的P2P网络; 同时,为了方便广大读者朋友,我先粗略规定一下,在这个极简区块链系统中,每十分钟只有一笔交易。

区块链起源于比特币a对b错_区块链与比特币的联系_区块链技术和比特币

故事继续,在节点的视野中,每十分钟会凭空生成一个神奇的区块(你可以把区块想象成一个盒子)(你可以把区块想象成一个盒子),并且一些数字货币和一张小纸片,上面记录了过去十分钟内唯一产生的交易信息,例如——“小A转账给小B 100元”; 当然区块链起源于比特币a对b错,这些信息必须加密,目的是保证只有小A和小B(通过他们手中的密钥)有能力解读里面的真实内容。

这块魔法方块制作出来后,很快就被埋在了地下。 至于在哪里? 没有人知道在所有计算机节点共同参与挖三尺之后,有可能找到(找到一个有效的工作量证明)。 显然,这是一个工作量巨大、结果随机的事件。 但是,对于计算机节点来说,一旦从地下挖出区块,他就会得到区块中有价值的数字货币,以及小A在“小A转账”过程中支付的小费。小B 100元”。 同时,对于这个节点来说,只有他才有权利实际记录小笔记中的内容,这是一种荣誉,而其他节点只能使用它的副本,一个没有数字货币加持的副本。 当然,这个神奇的方块还有一些其他的特殊之处,我们会在后面详细讨论。

为了更好的描述,我们把计算机节点从地面挖出区块的过程称为“挖矿”。 正如我刚才所说,这是一份工作量大、运气好、利润丰厚的工作。

过了一会儿,中国上海市浦东新区张衡路的一个节点突然跳了出来,兴奋地说:“我把区块挖出来了!里面的小票子全部有效!奖励归我!”。 虽然此刻张衡路节点已经拿到了数字货币,但是对于其他计算机节点来说,因为牵扯到其他利益,默认不会选择相信张衡路节点所说的话; 原则上,他们拿着张衡路节点挖出的所谓区块(副本),开始验证区块中的小票信息是否真实有效等。在区块链世界中,节点检查小纸上的信息,或间接或直接判断成功挖出区块的节点是否在撒谎。 (如何定义小贴士信息的真实性和有效性,后面会有说明,这里不再赘述)。

在验证过程中,各节点会通过以下两种行为直接表达对张衡路节点的认可(准确)和态度:

你可能有点疑惑:停止可能已经进行了99.99%的挖矿,那么前面99.99%的工作不就白做了吗? ! 那么,区块链的尽头到底是什么?

对于第一个困惑。 我想说,你说的都对,但是没办法,现实就是这么残酷,就算你做了99.99%的工作,你也不得不放弃。 这99.99%的工作几乎可以算是无用功,肯定会浪费金钱和人力。 . 第二个困惑,区块链和区块链到底是什么? 这是因为我事先没有说清楚,但是你可以简单想象一下:区块是周期性产生的,不断被挖出来,一个计算机节点可能已经提前执行了N次“从别人那里拿区块->验证的过程“小纸条的有效性”必须在自己的节点上已经存储了N个区块,这些区块会按照时间顺序整齐排列,形成一条链。 没错,这条链就是你一直想到的区块链。 如果还是看不懂也没关系,后面的文章会有很多机会深​​入学习。

# 走进区块,探索消息本质

以上我们构建了最简单的区块链世界模型,相信大部分同学都可以轻松掌握。 但是不要骄傲也不要担心,这只是皮毛而已,所以请坐好,我们已经准备好开车了。

区块链起源于比特币a对b错_区块链与比特币的联系_区块链技术和比特币

前面我们说过“大约每十分钟会凭空产生一个神奇的区块,在这个区块中放置一张小纸条,记录这十分钟内产生的唯一一笔交易信息”。 很显然,十分钟内产生的交易肯定不止一笔,有可能是几万笔。 这些数以万计的数据在区块链世界中是如何组织和处理的? 另外,为什么票据上记录的只是某笔交易的交易信息,而不是某个人的余额呢? 这种平衡似乎更符合我们对现实世界的理解。

既然有这样那样的疑惑。 现在让我们暂时把目光从“区块”、“区块链”这些看似更大的实体上移开,进入区块中更微观的世界一探究竟,看看小纸条到底是什么。 它是如何发生的,它是如何形成的,以及它一生所做的事情:

发起交易时,发起人会收到一张小纸条,需要在纸上写下交易记录,如“小偷转账40元给张三”。 神奇的是,当书写完成后,交易记录会在票据背面自动格式化,至少包括“输入值”和“输出值”两个重要字段; 为了记录数字货币的有效来源,“输出值”记录了数字货币发送到的对象。

刚刚创建的笔记立即被标记为“未确认”笔记。 一张成功从地下挖出一个区块并最终连接到区块链的小纸片最初被标记为“有效”。 如果这张有效票据被用作其他交易的输入值,那么这张有效票据很快就会被标记为“无效”。 由于各种原因,该区块被断开并丢弃在链上,而该区块中曾经被标记为“有效”的小纸条将被重新标记为“未确认”。

区块链中没有账户余额的概念。 你真正拥有的数字资产,其实是一条交易信息; 您可以通过简单的加减运算了解您数字钱包中的余额。

以上1、2、3只是结论开头强行灌输给你的知识点。 有些描述可能有点绕,让你觉得云里雾里,没关系,我们马上开始细化。 说说里面的细枝末节。

区块链与比特币的联系_区块链技术和比特币_区块链起源于比特币a对b错

上图是小偷在区块中的小纸片上记录的交易信息,然后格式化呈现

上图是塞进区块的无数小纸条之一,也是其最终格式的缩影。 光看右图可能容易产生误解。 虽然看起来是多行,但实际上是“小偷给张三转了40个比特币”的交易数据的另一种形式。 因为区块链世界的规定,每笔交易记录都必须能够追溯到交易发起人发起的交易的最后一笔交易信息和涉及的金额; 也就是钱从哪里来的问题。 这其实很容易理解。 在去中心化网络中,通过交易链的建立和交易链上的溯源间接保证数据的安全性和有效性。

区块链与比特币的联系_区块链起源于比特币a对b错_区块链技术和比特币

我们继续看看,在区块链的世界里,我们是如何仅通过“盗取40个比特币转给张三”的交易信息来完成转账过程的。 其实和现实中在路边买包子的过程大致相同。

第一步:判断是否有足够余额完成交易

这里再次重申,比特币的区块链世界没有余额的概念(以太坊底层区块链有余额的概念),余额最终是通过简单的数字加减得到的,你有所谓的数字货币其实是因为你有交易记录,就是“盗窃转40个比特币给张三”! 这里,我们仍然以这条记录为例:

追溯的“输出值”是与“盗窃”相关的所有有效交易记录。 简单地将有效交易中的数字相加,判断是否大于等于40,如果确实大于等于,则将这些有效交易记录组合起来,形成一条新的交易记录(如下图)。 如果小于40,其实就没有继续讨论的必要了。

区块链与比特币的联系_区块链技术和比特币_区块链起源于比特币a对b错

在上面的例子中,我们回溯给小偷转账的有效交易记录,包括“小A转给小偷10个btc”、“小B转给小偷20个btc”、“小C转给25个btc”给小偷”,我们需要将这三笔交易记录组合成一条描述更复杂的交易记录,即“(小A转10btc给小偷+小B转20btc给小偷+小C转25 btc给小偷)转给张三40个btc”

第 2 步:确定是否需要更改

汇总已追溯的有效交易号。 如果发现大于需要支付的数额,则需要将多出的数额还给自己,相当于找零。 相应地,会生成一条新的交易记录(如下图所示)。

区块链技术和比特币_区块链与比特币的联系_区块链起源于比特币a对b错

区块链与比特币的联系_区块链技术和比特币_区块链起源于比特币a对b错

对于上面的例子,我们最终将交易记录合并为“(小A转10btc给小偷+小B转20btc给小偷+小C转25btc给小偷+小偷转15btc给小偷btc )转给张三40个btc”其实相当于“小偷转给张三40个btc”。 其中“小偷转15个btc给小偷”可以理解为零钱。

第三步:发送出去,让全球节点同意并备份小纸条

这种内部重新处理的复杂交易记录被塞进一个区块,埋在地下,等待节点挖掘出来。 一旦区块被成功挖出,区块最终连接到区块链的主链上。 张三最终会拥有这条交易记录,而之前的“小A转给小偷10个btc”、“小B转给小偷20个btc”、“小C转给小偷25个btc”都会被视为交易已经使用过的——它们从此被标记为“无效”,这意味着这些交易将永远无法追溯。

最后一次重申,打动你:拥有数字货币=拥有交易记录!

通过巧妙设计和复杂的加密技术确保数据安全

记录交易信息的小纸片借助区块载体在分布式网络中以不同的轨迹错综复杂地传输。 前面我们说过,你真正拥有的数字资产其实是一条交易信息,而不是你的常规交易信息。 理解意义上的金钱。 所以这个过程需要着重解决两个问题:

在这里,我们需要提前介绍两个知识点,可能有点难以消化,但都是计算机领域比较成熟和基础的概念。

第一个知识点:SHA256()函数。 你只需要知道,任意长度的字符串,甚至是文件体本身,经过SHA256函数工厂处理后,都会输出一个定长的字符串; 同时,如果输入的字符串或文件稍有变化,SHA256()函数给出的输出结果就会发生翻天覆地的变化。 请注意,SHA256() 函数是公开的,任何人都可以使用。

区块链与比特币的联系_区块链起源于比特币a对b错_区块链技术和比特币

区块链与比特币的联系_区块链技术和比特币_区块链起源于比特币a对b错

上图中,只改变了一位小数点,输出结果倒过来了

第二个知识点:非对称加密。 你也只要明白,每个人都有两把钥匙,一把只有自己知道,叫做“私钥”,另一把可以对外公开,​​叫做“公钥”; 用私钥加密的信息必须是只有公钥才能解密,连私钥都无法解密。 可以从私钥生成多个公钥。

有了这些知识点的加持,以上两个问题就开始迎刃而解了。 让我们看看内部是如何反转和工作的。 下面以“小A转100元给小B”为例:

区块链技术和比特币_区块链与比特币的联系_区块链起源于比特币a对b错

第一步:小A会先用SHA256函数对自己的纸条进行处理,得到一个定长字符串,相当于这张纸条。

第二步:小A用只有自己知道的私钥对上面的定长字符串重新加密,生成一个字符串,称为数字签名。 这个数字签名可以充分证明它是基于这张小纸条的。 你可以这样理解。 实际上区块链起源于比特币a对b错,您需要签署某种合同。 如果有人复制并粘贴您在别处留下的签名怎么办? ! 最好的办法就是每次签合同的时候,故意留下一些与合同相关的笔迹小细节。 通过观察小细节,可以知道签名是否被盗用。 结合步骤1和步骤2,就是生成这样一个只对这张小纸条有效的签名。

第三步:小A将“明文纸条”、刚刚加密后的“数字签名”和自己可以对外公开的“公钥”打包,发给小B。

第四步:小B收到这三​​样东西后,首先对明文票据进行SHA256()处理,得到一个字符串,我们命名为“string 2”。 然后,小B用小A公布的公钥对发送的数字签名进行解密,得到另一个“字符串1”。 通过对比“字符串1”和“字符串2”的一致性,可以充分证明小B收到的小纸条就是小A发来的小纸条,而这张小纸条中途没有被接受。 它被其他人篡改了; 而这个小笔记确实是小A编辑的。

可以看出,加密和解密的过程几乎是一个循环,中间任何一个环节被篡改,结果都会大相径庭。 借助这一系列机制,它实际上已经能够解决在开放、匿名、互不信任的分布式网络环境中数字交易过程中可能遇到的诸多问题。 这部分可能有点难理解。 现在,我需要你停下来,冷静下来,花几分钟时间闭上眼睛,慢慢细细品味这精美的设计。

掌握了这部分知识之后,我们来回答一下之前没有解释清楚的问题。 “节点到区块验证”究竟测试什么? 事实上它是:

区块链起源于比特币a对b错_区块链与比特币的联系_区块链技术和比特币