主页 > imtokenapp下载安装 > 当我们谈论“X+区块链”时,我们了解区块链吗?

当我们谈论“X+区块链”时,我们了解区块链吗?

imtokenapp下载安装 2023-03-23 07:50:33

区块链比特币是传销吗_比特币区块链是骗局吗_比特币区块产生时间是多少

大家好,这里是 BIMBOX。

今天的内容是免费的付费内容。 内容来自我们知识库中的“”栏目。

近两年,区块链的热度越来越高,宣传也越来越多。 各个行业都需要“+区块链”,就连我们的BIM呼声也很高。

很多人可能听到区块链这个词觉得很酷,或者和骗子有联系,但他们实际上并不知道它是什么。 他们只知道这似乎与比特币有关。 大概是去中心化的东西,但是再深入一点,比特币和区块链有什么区别呢? 为什么可以去中心化? 我不知道为什么。

很多文章讲到区块链,喜欢跳过技术细节,用一些简单的例子来说明去中心化和分布式记账是怎么回事。 这样做的好处是任何人都能看懂,但也有坏处,听的人只能粗略地了解区块链的优势,然后“类比”,直接把区块链技术应用到其他技术上. 这也是为什么区块链在很多场合都被过度宣传,似乎成了万能的神器。

连基本原理都不知道就谈未来,就像谈如何用冰箱解决移民火星问题。

因此,我们打算跳过所有的比喻,用硬核的方式向您解释区块链的工作原理和底层逻辑是什么,帮助您摆脱心中对区块链的崇拜或抵制。 ,并知道它能做什么,不能做什么,有什么缺陷。 同时,我也会思考区块链的未来,它会对各个行业的发展产生什么样的影响。

1个

比特币:从支付开始

说区块链之前,我们得先说说比特币。

也许你会想,我不想炒比特币,我对那些东西不感兴趣,我只是想听听区块链在其他行业的应用情况。 但是,要想搞清楚区块链,比特币是绕不过去的。 所有的区块链设计思想都来自比特币。

比特币是一种电子支付方式,我们使用的手机支付也是电子支付,但比特币不同于手机支付。 移动支付的背后一定有一个机构,要么是腾讯,要么是阿里,要么是某家银行。

区块链比特币是传销吗_比特币区块产生时间是多少_比特币区块链是骗局吗

比特币的初衷是摆脱中央银行对支付的控制。 例如,支付方和接收方都是匿名的,交易无法伪造。 所有这些功能都由程序自动保证。 既然没有组织维护,就要通过算法的设计。

任何技术都不可能独立于其他技术而存在,比特币也是如此,它建立在一整套现代加密算法之上。

比特币中的密码学并不难懂,但层层解题的思想却闪耀着理性的光彩,下面一一说说。

2个

SHA256:我的信息如何不被篡改?

比特币作为一种虚拟货币,首先要解决的是如何对一条信息进行加密,使其他人无法修改。 这里用到第一种技术:SHA256加密。

SHA256的全称是“Secure Hash Algorithm”,是一种Hash(散列)函数。

哈希函数的特点是无论原始数据有多少位,运算后得到的结果长度都是固定的。 比特币中使用的是SHA256,也就是说运算的结果是一个256位的二进制数。

最终这个256位的字符串可以用来加密,需要满足两个条件:

➤ 无论原始信息多长或多短,它都能且只能计算出一个唯一的结果;

比特币区块产生时间是多少_比特币区块链是骗局吗_区块链比特币是传销吗

➤ 算法必须是单向的,不能通过结果反转原来的信息。

要达到这两个目的,就需要用到数学上一种特殊的计算方法,这就是模运算。

模计算不难理解。 就是先指定一个模数,对于任何超过这个模数的结果,都返回起点重新计算。

比如一个时钟的表盘只有12个数字,它的模数是12。如果我想对表盘上的一个数字进行加密,比如加密方式是“原数加5”,那么假设我的原数是9,那么9+5等于多少? 在这个取模为12的运算中,结果不是14,因为取模已经超过了,结果应该是9+5-12=2。

比特币区块产生时间是多少_比特币区块链是骗局吗_区块链比特币是传销吗

如果反过来计算,你不能单独根据结果2推导出初始数字9,因为你不知道在这个模运算中数字绕着表盘转了多少圈。 原始数字可以是 9、21 或 9 加 12 的任何整数倍。

SHA256函数的运算结果是一个取模2的256次方的值,所以这个值必须写成256位。

将消息转换为特定数字最初用于验证两个文件是否一致。 比如你在一些论坛上下载软件的时候,软件往往会附带一个校验码,有时是SHA256,有时是MD5。 好软件,还可以用验证工具在本地计算出一个结果,和论坛上的字符串对比一下。 如果一致,说明软件没有被篡改。

比特币区块产生时间是多少_比特币区块链是骗局吗_区块链比特币是传销吗

即使一行文本中的标点符号只有很小的变化,对应的SH256值也会发生很大的变化。

比特币区块链是骗局吗_区块链比特币是传销吗_比特币区块产生时间是多少

可以百度搜索SHA256,第一个结果是在线SHA加密,输入一句话,然后稍微改一下,看看结果是不是很不一样。

这个功能非常重要,在我们对整个区块链的描述中都会用到。

首先,它用于解决支付信息加密问题。

比如我要付开开200元钱,我就在网上留言:“我孙子要付开开200元钱”。 这是付款信息。 但是这个消息是有风险的,如果有人把200改成800,那我就哭了。

刚才的SHA256算法避免了信息被篡改的问题。 该支付信息的哈希值是确定的,(哈希值是经过SHA256算法计算出来的值)。 在发送信息的同时给出计算出的hash值,就像刚才论坛下载软件的例子一样,后面的任何改动都会被发现,只要改动了就视为无效。

但是仅仅保证支付信息没有被篡改是不够的。 因为如果有人脑子黑,发出一大堆“孙要付200元给开开”,然后输入支付系统,那我就赔钱了。

因此,仅仅对信息进行加密是不够的,还需要数字签名。 它的作用是保证“老孙需要付200元给开开”是老孙自己发的,不是别人发的。

3个

非对称密钥:如何保护信息源?

我们在现实生活中使用手写签名,因为手写很难伪造。 但在电子信息中,任何人都可以打出“孙子同意”的字样。 如何使用电子签名来确认一条支付信息是本人确认的?

这取决于“非对称密钥”。

任何信息都可以计算成一个数字。 比如我要给熊仔发一串数字“666”,我想把这个数字加密后发给熊仔。 我们可以事先约定一个加密方式,比如给每个数字+3,熊仔收到的结果就是999。按照我们之前的约定,每个数字减3,结果就是666。在这个过程中,数字“3”被称为密钥,又因为它既用于加密又用于解密,所以被称为“对称密钥”。

在开放的互联网上,对称密钥有一个致命的缺陷,因为密钥至少需要单独传递一次。 不管是电话还是邮件,我都不得不认同熊子的说法,关键是“3”。 传递密钥本身的消息未加密。 如果知道这把钥匙,任何人都可以给熊仔发任何消息,而熊仔就不知道哪一条是我发的了。

比特币区块链是骗局吗_比特币区块产生时间是多少_区块链比特币是传销吗

区块链比特币是传销吗_比特币区块产生时间是多少_比特币区块链是骗局吗

这时候“非对称密钥”就派上用场了。 你可以这样理解:加密和解密不使用同一个密钥。 如果我选择其中一个进行加密,则可以解密另一个密钥。

有两把钥匙,一把自己放在手里不告诉任何人,叫做“私钥”,另一把钥匙公开给大家看,叫做“公钥”。 公钥和私钥通过不可逆的数学计算成对关联。 是的,不可逆运算还是基于刚才说的取模运算。

数字签名的问题就这样解决了。 当我发送交易消息时,我首先用我的私钥加密消息,然后将加密的内容与公钥一起发布。 如果别人用公钥解锁,就说明这个信息是用公钥对应的私钥加密的,就是我。

比特币区块链是骗局吗_比特币区块产生时间是多少_区块链比特币是传销吗

了解了这两个知识点,我们就可以还原一笔比特币交易的过程。

例如,如果我要开发 200 个比特币,我的比特币客户端软件将做以下事情:

➤ 以“老孙开了200个比特币”为原始信息,对其进行SHA-256运算,得到原始哈希值;

➤ 用私钥加密原始哈希值,得到加密后的哈希值

➤ 将原始信息、公钥、加密哈希值同时发布到全网,供他人验证。 哈希值用来保证信息没有被篡改,加解密保证信息来自于我。

比特币区块产生时间是多少_比特币区块链是骗局吗_区块链比特币是传销吗

至此,我们已经解决了信息来源可靠、不可更改的问题。 其实这两个问题现在任何一家银行都可以解决,并不是区块链的特权。 但别忘了,区块链是需要“去中心化”的! 那么如果没有银行作为中央机构,我们会面临什么麻烦呢?

4个

去中心化:谁来帮我记录余额?

没有中央机构,第一个问题是谁来跟踪每个人的账户余额。 比如老孙付款开了200元,但是老孙账户里的余额够不够?

这个问题在传统的银行系统中不是问题,因为银行可以查任何人的账户余额。 在银行的系统中,您相信银行不会篡改您的账簿。

但是在比特币系统中,余额是多少,你不能自己决定,你说了也没人相信。 而且,任何一个参与者都拥有与其他参与者一样的高权限,当然没有人“说了算”来统一监督大家的余额,所以只能通过程序和算法来设计。

这一步的程序解决方案是——每笔交易都必须基于前一笔交易。

比如“老孙付给开开200元”,这个交易能进行的前提是之前有人给老孙付过钱。

假设熊仔之前已经给了老孙200块钱。 那么老孙支付开开的时候,发送的标准消息是这样的:“熊仔付给老孙200元,老孙付给开开200元”,加上老孙的数字签名和公钥,发一份。

比特币区块产生时间是多少_区块链比特币是传销吗_比特币区块链是骗局吗

你看,这里是不是有点“链条”? 我们的旅程还没有结束,仅仅发送消息是不够的,我们必须记录下来。 这就涉及到区块链的本质。

5个

分布式记录:区块链来了

比特币区块链是骗局吗_比特币区块产生时间是多少_区块链比特币是传销吗

当我向全网发布一笔交易的信息时,其他比特币参与者会帮我验证。 这些人就是挖矿的“矿工”。

为什么叫挖矿? 以后再说,先说矿工的验证工作。

➤ 先对我发的原始信息(老孙子给你200个比特币)做SHA256计算,得到原始信息的哈希值。

➤ 使用我提供的公钥对加密后的哈希值进行解密,得到新的哈希值。

➤ 比较两个哈希值。 如果一致,说明信息确实来自我,没有被篡改。

这个过程和前面说的发送这条消息的过程正好相反。

区块链比特币是传销吗_比特币区块产生时间是多少_比特币区块链是骗局吗

如果以上验证通过,则进行下一步的录音操作。 当然,这些工作都是由比特币软件自动完成的。

那么矿工把这条记录存到自己的电脑里就万事大吉了吗? 还没有。

我们说比特币的特点是分布式记账,所以必须保证所有的交易记录在每台电脑上必须有完全相同的副本。 但要做到这一点真的很难。

没有中央组织每天 24 小时记账。 所有的簿记员都分布在世界各地。 他们有的在交易的下一秒就参与验证,有的当时不在线,一天后才收到需要验证的记录,有的可能几个月都不会开电脑。 那么交易记录的同步就成了一个问题。

这时候,区块链终于登场了。

先说“块”,再说“链”。

在区块链中,每个区块都包含数千条交易记录。 矿工收到一个区块并通过校验后,在自己的电脑中将新的区块添加到链的末尾进行保存,同时将新的区块发送给其他矿工,他们也会做同样的工作。

前面说过,每笔交易都必须基于之前的交易,所以矿工的保存不仅仅是一个存储动作,更是一个“加链”的动作。 这个动作还是通过计算来解决的。

通过一定的算法,新区块的生成需要得到一个字符串,该字符串由以下三部分组成:

➤ 新区块的基本信息,如版本号、区块生成时间(也叫时间戳)

➤ 这个新区块本身包含的数千条交易记录被累加起来使用SHA256计算一个哈希值,称为默克尔根

➤ 前一个区块的SHA256计算的哈希值

区块链之所以称为链,最关键的部分是第三部分:前一个区块的SHA256函数值,也就是把区块从头到尾连接起来的“链”。

比特币区块链是骗局吗_比特币区块产生时间是多少_区块链比特币是传销吗

以上每一部分都是使用SHA256计算得到一个唯一的字符串,最后拼在一起计算出一个总的哈希值,也就是当前区块的哈希值,作为下一个区块所引用的字符串。

这样,整个网络中的所有计算机就不是分散地逐一记录交易,而是将所有的历史交易串成一条链。 每个人存储的是所有历史交易的总和,但它们是使用 SHA256 函数计算的。 前面讲这个函数的时候,我们说过它不能通过result计算出原始信息。 因此无需担心具体的交易信息被泄露。

问题结束了吗? 还没有。 别忘了,在任何网络中,都有贪婪的坏人。

区块链比特币是传销吗_比特币区块产生时间是多少_比特币区块链是骗局吗

6个

挖矿:大数计算对抗坏人

因为没有中心机构,无法保证同一时间全网只有一条链存在。 区块链在记录过程中可能会“分叉”,有时是由于操作失误,但更多时候是出于恶意。

举个例子:老孙从别人那里收了200个比特币,付给了开开,然后又做了一遍,把这200个比特币付给了熊仔。 这样200就可以当400花掉了。

注意,这两条信息都是真实的,而且是按照规则,以之前的交易为基础,即“老孙子赚了200个比特币”作为最后一个区块。

结果全世界安装了比特币软件的人,因为网速的原因,有的人先收到第一次支付信息,有的人先收到第二次支付信息,哪个有效? 如果两笔交易都被记录下来,那将是一团糟。

你可能会想:不对,老孙把钱付给了开开,那他的余额应该是0,那他就不能再付给熊仔了? 如果你这么想,那说明你还没有离开传统的记账方式。 不要忘记,在比特币世界中,没有中央机构负责记录每个人的账户余额。

区块链网络的解决方案是限制单位时间内产生新区块的数量,比如十分钟内只允许产生一个新区块。 但既然没有中央机构来监管,这个限制行动本身是如何完成的呢?

答案是:让全网的计算机同时计算一道难题。 所有电脑的计算能力加起来,平均需要十分钟才能完成这道题。

你是怎么想出这么难的问题的?

刚才我们说了,要生成一个区块,必须要计算一个字符串。 这个字符并不能作为最终的结果加入到整个链中,而是需要一个额外的步骤:软件生成一个随机数,并与刚才的字符串组成。 一个新的字符串。 接下来,再次用SHA256计算组合后的字符串,得到一个新的256位数字。

运算结果必须是前72位全为0才算正确答案,只有前72位全为0的结果才能作为本块的哈希值,被下一个块引用堵塞。

如果计算结果不正确,则再给一个随机数比特币区块产生时间是多少,重新计算,直到计算出来。

因此,我们需要在上图的基础上加点东西,下图是一个block的完整版:

比特币区块产生时间是多少_比特币区块链是骗局吗_区块链比特币是传销吗

那么,既然软件给出的是随机数,怎么会这么巧,前72位全为0呢? 是的,这就是关键。

在区块链网络中设置这道题的目的是为了让计算出这个结果的概率非常低。 有多低? 每一位的结果可能是0也可能是1,第一位为0的概率为1/2,第二位为0的概率为1/4,第三位为0的概率为1/8 ……再这样下去比特币区块产生时间是多少,全网平均会有2个。 只有经过72次幂的计算,才会有机器幸运地算出正确答案。

按照目前全网的算力估算,得到一个正确答案的时间将近10分钟。 这就是区块链如何控制新块的频率。

如果未来计算机的计算能力越来越强,计算出答案的平均时间越来越小呢? 很简单,修改一下规则,把72位从全0改成73位,74位,每增加一位,难度就会翻倍。

这个计算量很大,其目的只是为了“拖延时间”,实际上是无意义的计算。 那你为什么愿意拿出你的电脑去计算这个数字,给别人记账呢?

比特币的规则规定,最先算出的人将获得一定数量的比特币作为奖励。 这就是为什么参与比特币的人被称为矿工。 他们挖的矿就是系统奖励的比特币。

当然,这个奖励不是一成不变的,否则钱会增加,就会出现通货膨胀。 一开始奖励50个比特币,每推进210000个区块,奖励减半,这个会一直递减。 总量约为2100万个比特币,这也是为什么比特币越来越值钱的原因。

其他矿工看到有人挖了矿,只能着急,因为软件一个一个生成随机数,计算出正确答案后,更新到自己链尾,发布到全网同时。 谁先给出符合要求的结果,谁说了算,谁就会得到奖励。

而刚才的问题也有了答案:老孙在1秒内先后给开开和熊仔转账,最后算哪一个并不取决于老孙操作的先后顺序,而是看这两笔交易中的哪一笔幸运儿人先算出正确答案,另一个因作废而作废。

区块链比特币是传销吗_比特币区块链是骗局吗_比特币区块产生时间是多少

7

长链优先:拒绝仿冒

看完上面的描述,你是不是觉得比特币网络是完全安全的? 并不真地。

坏人不止一种,还有人可以在不违反规则的情况下伪造比特币,这实际上是在伪造记录。

比如熊仔比老孙还贪心。 在现在的区块链基础上,他给自己支付了一大笔钱,然后提交给全网。 我们应该做什么?

注意他并没有违反上面说的原则。 他伪造的基础是基于之前正确的区块,发布的信息也被正确加密。 只要他的电脑计算能力足够好,他就能计算出前72位数字。 是正确的值 0,交易将被记录和发布。

如何解决这样的问题? 这给我们带来了区块链的另一个规则:整个网络只识别最长的链。

熊仔靠运气可以做出一个区块,相当于做了一个分叉,但是这个分叉上的下一个区块要自己做,下一个区块又要自己做。 另一条没有造假的链上,全网所有人都在做区块,一台电脑的算力还不如全网,它的链长很快就会落后。 问之。

比特币区块产生时间是多少_区块链比特币是传销吗_比特币区块链是骗局吗

事实上,由于全网客户端自动选择最长链出块,熊仔的电脑更有可能还没来得及计算出72个0的结果,全网正确的链就已经提前了再往前十几格,熊仔做的假格子根本就不管了。

看完这些你可能会想,为什么用了这么多技术,计算起来这么麻烦呢? 事实上,这一切都是去中心化所付出的代价。 那么为什么必须去中心化呢? 这不是技术问题,而是观念问题。

比特币和区块链是由一群极客发明的,他们最初的愿望是创造一个人人平等、不受任何机构控制的互联网世界。 至于区块链被其他人,甚至其他机构使用,那就是另外一回事了,我们下一期会详细告诉大家。

8个

总结、优势和预览

今天我们从比特币开始,从微观层面给大家讲解区块链的技术原理。 其实它的本质就是用一系列的加密算法来代替中央权威的作用,而且这些算法的难度都不是很大。 理解。

你可以看到为什么它可以从根本上去中心化并且不能被篡改。 同时大家也可以看到,为了达到去中心化的目的,也带来了处理效率低下、算力浪费等弊端。

然而,我们的话题远未结束。 区块链已经发展了很多年。 从那时起它经历了哪些变化? 它会被黑客入侵吗? 所有的区块链都一样吗? 什么是公有链、私有链和联盟链? 除了电子支付,区块链在其他行业还能做什么? 哪些宣传说法被夸大了?

这些内容我们会在下一期宏观内容中为大家讲述。

关于区块链的内容,我们也会更新知识库付费专栏《10本好书中的20项新技术精读》。 有一集专门讲量子计算,这可能是区块链加密的最大威胁。 ,购买课程的朋友可以把它们放在一起听。

比特币区块产生时间是多少_区块链比特币是传销吗_比特币区块链是骗局吗

另外,我们今天讲的各种加密算法,比如散列函数,模运算,公钥私钥加密,都是出自这本《密码本:编解码之战》,从最简单的字母移位加密开始方法,一路通向量子计算的世界,读起来烧脑又过瘾,强烈推荐给大家。

比特币区块链是骗局吗_比特币区块产生时间是多少_区块链比特币是传销吗

看完今天的内容,欢迎您写下自己的看法,我们会将本书免费发送给留言前三名的朋友。

有态度有深度,BIMBOX,下次见!