区块链到底来做什么,普通人怎样投资区块链

首页 > 经验 > 作者:YD1662022-11-14 17:31:02

区块 2 的数据串如下所示:

Block 2 David -100 Jimi 100 BAB5924FC47BBA57F4615230DDBC5675A81AB29E2E0FF85D0C0AD1C1ACA05BFF

将这个数据串输入哈希函数,得到的输出(签名)如下所示:

25D8BE2650D7BC095D3712B14136608E096F060E32CEC7322D22E82EA526A3E5

这就是区块 2 的签名。每一个区块都会通过这个密码学哈希函数生成一个数字签名。哈希函数种类繁多,比特币区块链用的是 SHA-256 哈希算法。

但是,(仅有上述措施显然还不够)如果有人想篡改区块中的数据,TA 可以在篡改之后生成新的签名,塞下一个区块中,然后逐个逐个区块生成新的签名,这些改动后的区块还是形成了一条链,他人就没法分辨出数据已经被更改过了。如何防止这种情形呢?

答案是只有符合特定要求的哈希值(签名)才会被区块链接受。这就是第四阶中介绍的挖矿。

第四阶——什么是合格的签名?由谁来签署区块?

并非所有的签名都符合要求。区块链协议会预先确定一些要求,比如,在比特币区块链上,只有以连续的零开头的数字签名相对应的区块才能上链。例如,只有在数字签名以不少于 连续 10 个零开头的情况下,对应的区块才能上链。

然而,由第三小节可知,每个数据串对应的哈希值都是 唯一的。如果一个区块的签名(哈希值)开头少于 10 个零呢?为了获得符合条件的区块签名,需要反复改变输入的数据串,直到能生成以连续 10 个零开头的签名为止。但由于交易数据和元数据(区块编号、时间戳等等)需要保持原样(否则意义就改变了),每个区块里面还另外添加了一段特定长度的、可以改动的数据。想把区块添加到链上时,人们可以不断改变这段数据,直到找到一个合格的签名,然后确定下这段数据的具体值。这段数据就是区块的nonce。nonce 不是预先确定的数据,而是应实际需要而找出的一串完全随机的数字(注:图中所示的其他数据可以由任意字符组成,nonce 只能由数字组成)。

综上所述,区块包含:1)交易数据;2)上一个区块的签名;3)nonce 。这种通过反复更改 nonce、对区块数据进行哈希运算、寻找合格签名的过程就叫做 挖矿,也就是 矿工所做的事。矿工投入大量电力,转化成算力,不断代入 nonce 进行哈希运算,直到找到合格的签名(输出)为止。矿工手中掌握的算力越多,哈希运算的速度就越快,抢先找到合格签名的可能性就越高。这是一种 反复试错 的过程,如下图所示:

区块链到底来做什么,普通人怎样投资区块链(9)

-注:nonce 必须是数字(详情请阅读 r/BlockchainSchool 上的讲解)-

区块链网络上的任何用户都可以通过下载并启动 挖矿软件 来参与挖矿,实际上,这就是用他们的硬件计算能力来计算区块的 nonce 。以比特币区块链上的 Block #521,477 为例:

区块链到底来做什么,普通人怎样投资区块链(10)

-源自区块链浏览器 blockchain.com -

可以看出,这个区块的哈希值(签名)和上一个区块的哈希值都是以相同数量的零开头的。找到这样一个哈希值并非易事,需要付出大量算力和时间,或者 运气爆棚。没错,有时候运气爆棚的矿工在几分钟之内就能算出合格的签名,花的算力也很少。Block #523034 就是一个极其罕见的例子。一个算力很少的小矿工很快就找到了合格的签名,而其他矿工的算力加起来是他的 7 万亿倍。相比之下,赢得 Powerball 彩票头奖的概率是 2.92 亿分之一,而这位幸运儿挖到矿的概率是中头奖的 1/24000 。

不要小看这些零。这一小节的重点是,找到一个合格的签名很难。

第五阶——区块链的不可变性是如何是实现的?

正如第三阶中所述,更改某个区块会导致它的签名改变,与后续区块记录的对不上,从而与后面的区块断开链接。要想让网络中的其他参与者接受这个被更改过的区块,就要把它跟后面的区块重新链接起来。也就是说,一个区块的签名变了,跟在它后面的所有区块的签名都要改变,才能让别人觉得这是一条前后一致的链。

你想起什么事没有?

如第四节所述,签名必须符合要求!虽然更改所有区块的签名看似可行,但是要花费很多成本和时间,因此被认为是不可能的,原因如下:

假设有一个矿工恶意篡改了某个区块内的交易,然后根据哈希运算为这个区块连同跟在它后面的所有区块生成了新的签名,以此让网络中的其他参与者都接受被篡改过的交易。问题在于,网络中的其他矿工也在原来的链上不断为新的区块计算签名。随着新的区块不断上链,作恶的矿工也要重新计算这些区块的签名。他必须保证所有区块都链接在一起,包括不断被添加到链上的新区块。除非这个矿工拥有的算力超过全网其他人的总算力,否则他永远赶超不了其他矿工。

(校对注:这一段的实际意思是,只要矿工都在自己看到的最长区块链上挖矿,所有算力就会随时间自然汇聚到一条主链上,而攻击者只有制造出一条比当前主链更长的链,才能成功改变大家共同认可的交易记录。这种始终以最长链为主链(有效链)的原则,就是所谓的 “最长链规则”,是 Nakamoto Concensus(中本聪共识机制)的一部分。另,并不是所有区块链都采用了中本聪共识。)

区块链到底来做什么,普通人怎样投资区块链(11)

如今有数百万用户在比特币区块链上挖矿,由此可以推定某个恶意参与者或实体的算力是不可能超过全网剩余算力的。这就意味着网络中的其他参与者不可能接受任何对区块链的修改,从而实现了区块链的不可变性。一旦数据被添加到区块链上,就无法再修改了。

只有一种例外,就是恶意参与者的算力真的超过全网其他人的算力总和。从理论上来说,这种情况下是有可能篡改区块链的(即改变大家共同认可的历史记录)。这就叫做 51% 攻击(我写了另一篇文章来解释这种情形),过去也有很多区块链遭受过这种攻击。

(校对注:目前为止,遭受过 51% 攻击的著名区块链有 bitGold、Verge、Ethereum Classic。)

实际上,对比特币区块链发动 51% 攻击所能获得的收益远抵不上高昂的攻击成本。要想获得足够多的算力,除了要负担硬件、冷却设备和存储空间方面的成本,还要承担被千夫所指的风险,更重要的是,会对被攻击区块链的生态系统造成极大的损害,攻击所得的收益也会大幅贬值。51% 攻击实际上就是以一己之力对抗区块链上的其他用户。这也就是为何参与挖矿的用户人数越多,整条链的安全性就越高。

恭喜你已经又进了一阶!现在,你应该已经理解(大型)区块链被认为具有不可更改性的原因了吧。不过现在又出现一个很重要的问题:如何防止矿工将伪造的交易数据添加到区块链上?从技术上来说是做不到的。关于区块链交易的详细解释可参见这篇文章。

(校对注:只有私钥掌控者才能花费相应地址中的资金,而矿工并不知道你的私钥,他人只能通过你公开的公钥来验证某笔交易是不是你发起的。所以伪造交易并不可行)

第六阶——如何治理区块链?由谁决定规则?

……区块链协议自动以最长链上的交易记录为准,将这条链视为代表绝大多数参与者的链。打造最长链需要消耗全网绝大部分算力。被篡改过的区块就与最长链断开了链接,因此会被全网绝大多数节点自动拒绝。

在比特币区块链上, 所有交易历史和钱包余额都是公开可见的(blockchain.info)。任何人都可以查看任一钱包的余额情况,或是始自(2009 年 1 月 3 日的)第一笔交易的所有交易记录。虽然任何人都能查看钱包余额,但是这些钱包的所有者大多都是不为人知的。例如,一个钱包里存有 6.9 万个比特币,至本文截稿之时价值约 5 亿美元。这个钱包在 2015 年 4 月使用过一次,之后就再也没有过交易。

(校对注:这一部分其实并没有回答 “由谁决定规则” 的问题,只大概说明了 “根据现有规则,这种技术是可以实现的”。公链治理是一个复杂的问题,也超出了这篇文章需要说明的范围了。)

第七阶——这些对密码学货币有何意义?

密码学货币从本质上来说都是比特币的变体。绝大多数加密货币都是按照自己的区块链协议搭建的,遵循不同于比特币的规则。比特币应当被归类为一种货币,也就是说它明确具备货币功能。门罗币也是一种具有相同功能的加密货币,不过它的区块链协议还增加了一些规则来增强隐私性(提高交易溯源的难度)。

不过,用区块链发行的资产可以被赋予很多种不同的用途,这点由发行方决定,如此发行的资产一般被称为“代币”。这些代币可以赋予其所有人某种权利,例如社交媒体渠道、 水电等等。所有这些资产交易都记录在不同的区块链上,并且可以通过币安之类的交易所进行线上交易。

代币其实是一种新型互联网货币,可能会影响到一部分行业,其中一个典型的例子就是股票市场。在未来,公司股份之类的产权很有可能会以代币的形式存储到区块链上。区块链不仅限于以代币的形式代表实物价值,也可以安全地记录病历、身份、历史记录、纳税记录等数据。

原文链接: https://blog.goodaudience.com/blockchain-for-beginners-what-is-blockchain-519db8c6677a

作者: Jimi S.

翻译&校对:闵敏 & 阿剑

来源:以太坊爱好

编辑:Be

上一页123末页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.