美文网首页我的日更计划简友广场想法
「币圈小白进阶计划」那些小而泛的概念02

「币圈小白进阶计划」那些小而泛的概念02

作者: 韩大楠楠啊 | 来源:发表于2019-03-31 12:27 被阅读39次

文/韩大楠

原文首发币乎

大家好,我是大楠呀!

这是「币圈小白进阶计划」的第二篇,希望大家多多给出建议。

谢谢大家!

我们不说什么是区块链,区块链范围太大,小白说起来有困难,我们先挑简单地来说,就说那些小而泛的概念

区块链涉及了几个比较重要的概念,我们从这些开始说。

先给大家列个目录,方便查看,如下。

目录

一、区块

二、哈希算法

三、公钥、私钥以及钱包地址

四、时间戳

五、Merkle(默克尔)树根的哈希值

一、区块

什么是区块?

区块就是数据储存的单位,而区块链,就是把无数个区块按照先后顺序链接在一起,就是区块链。

由区块相互连接形成单向链式结构,其中第一个区块被称为创世区块。

创世区块是指之前没有生成任何区块的最初的区块,也就是最原始的区块。

区块呢,就是数据储存的单位,其中包括区块头和区块主体。

那区块头是什么?它其实就是记录库的角色,记录当前区块的元信息。

区块主体又是什么?它就是交易的实际数据。

其中,区块头包括当前的版本号、上一区块的哈希值、时间戳、随机数、Nonce(证明工作量的计算参数)、Merkle(默克尔)树根的哈希值。

区块主体包括交易数量占用的字节数、交易数量以及交易数据。


二、哈希算法

什么是哈希算法?

官话咱们就不说了,简单来说,它是一种单向密码,就是哈希算法从明文到密文以一种不可逆的方式,无论输入是什么数字格式、文件等,输出都是固定长度的散列函数。只能加密,不能解密(就是有固定的路线,一条路走到黑,不可倒推)

就像下面的图,不论输入的字符多了还是少了,他的输出都是固定大小。

「币圈小白进阶计划」那些小而泛的概念

三、公钥、私钥以及钱包地址

现在我们使用的是对称加密方式,也就是用户名和密码,但在区块链中,有公钥和私钥,它们叫做不对称加密方式。

先说公钥,为什么它叫公钥?

“公”,顾名思义,就是公开,也就是公开的密钥。它是全透明的,对整个节点开放,任何人都能看到,公开以后也没有风险。

公钥,通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。

说完公钥,我们说说私钥。

“私”,就是自己的,别人不能看到的,私钥只有你自己知道,私钥需要自己保管。密钥具有唯一性,如果让别人知道,那么你的币就没了,钱就没了,哭都没地哭去。

最后,我们来说说钱包地址。

钱包地址,这个很好理解吧,相当于你的银行卡号,这个也是公开的,对全节点开放,不用担心有风险,其实就是字符串而已。

那么,公钥、私钥以及钱包地址,到底有什么紧密的关系?

1)私钥和公钥关系

私钥只能自己知道,不能告诉别人,公钥是全透明的,公开的;

公钥和私钥会以成对的方式出现;

公钥加密的数据,只能有对应的私钥才能解密,同样,私钥加密的数据,只能有对应的公钥才能解密;

如果可以用公钥解密,则必然是对应的私钥加的密,同样也是,如果可以用私钥解密,则必然是对应的公钥加的密。

以上这段,可能有点绕,但确实是没错的,你可以好好推导一下,绕出来就好了。

2)公钥、私钥、钱包地址的关系

首先,私钥生成公钥和公钥生成地址是单向哈希函数。

因为用私钥可以推导出公钥,而公钥也很容易推导出钱包地址,也就是用私钥很容易推导出公钥和钱包地址。

但你想要反过来推,用公钥和钱包地址得知密钥,那是根本就不可能的。

因为是单向哈希函数,就不可能轻易让你得到私钥,要让你得到了私钥,别人的财产岂不是被你一扫而空了?

四、时间戳

时间戳是什么?

从区块一产生就盖上了时间戳,按照时间顺序,依次链接下一个区块。它记录着每一次的交易,每一个加上时间戳生成的区块都是独一无二的。

因为区块链的特性是不可篡改,所以,如果想要篡改时间戳,那么生成的哈希值就会产生变化,就会出现错误,就是一个无效的数据。

如果想要篡改成功,那么就需要改动下一个区块,与此同时要改动后面所有的区块,当然,后面的区块也是在不断增加的,想要改动区块是特别难的。

时间戳,在区块链中扮演了“公证人”的角色,它比传统的公证制度更加可信,具有更加公正、可信、全面的保护。

比如说,我发表一篇文章,还很担心遭到侵权,那我把文章保存在区块链上,文章就会盖上时间戳,就是独一无二的哈希,文章的版权也就属于我。如果将来有人抄袭我的文章,那么这个时间戳就能证明这篇文章属于我,其他人的复制都是无效的。

时间戳就这样与众不同!

五、Merkle(默克尔)树根的哈希值

什么是Merkle(默克尔)呢?

默克尔树(哈希树)是一种二叉树,由一组叶节点、一组中间节点和一个根节点构成。

「币圈小白进阶计划」那些小而泛的概念

如图所示。

最下面的D0、D1、D2、D3是存储数据或哈希值,往上,N0、N1、N2、N3是D0、D1、D2和D3进行hash运算后得到的hash值;继续往上,N4和N5是中间节点,N4是N0和N1经过hash运算后得到的哈希值,N5是N2和N3经过hash运算得到的哈希值;接着往上,Root节点是N4和N5经过hash运算后得到的哈希值,这就是这颗默克尔树的根哈希。

来了这张图,配了这段介绍,那就好说话了,总结起来就是这样的:

1)默克尔树是从下往上逐层计算的,叶子节点是基础,依次往上,逐级计算,都是根据相邻的节点计算出来的。

2)底层数据(D0、D1、D2、D3)发生任何变动,都会都会影响到父节点,一直到树根。


好了,以上就是大楠今日来的学习成果,理出来了那些在我看来所谓的“那些小而泛的概念”,这是大楠的第二篇「币圈小白进阶计划」系列学习文。

感谢各位能多多给出建议,你们的意见将是我前进的动力,再次感谢大家!

我是大楠,从简书来的币圈小白;一个内向还特怂的姑娘;

绿洲群常驻活动主持人,被人称“主持一姐”;

简书有声的小主编,还会努力写文、创造价值;

也是一个刚来币乎的小白,想学习区块链,也想努力生存;

我是韩大楠,欢迎来撩。

微信:15222567477,加大楠也要备注的呢,就叫简书

扫我呀~

相关文章

网友评论

    本文标题:「币圈小白进阶计划」那些小而泛的概念02

    本文链接:https://www.haomeiwen.com/subject/wbvybqtx.html