区块链01-基本概念

前言:记录自己学习区块链的过程,并整理成这个系列(文字说明+短视频讲解)。文中有些是借鉴网络上的资源,如有侵权请私信告知,前两章主要是解释概念,后面的文章主要用代码来解释什么是区块链,以及自己如何构建简单区块链模型。

什么是区块链?

想必大家听过很多解释,听过之后好像还是没感觉,我来解释一下我的理解:

区块链就是用哈希值去标示的带有信息的链表(账本,数据库,文件),且分布在不同节点中。

学习的思路:

1:什么是哈希函数?

2:什么是区块?

3:区块之间如何链接?

4:为什么不能修改链上的数据?

问题1:什么是哈希函数?

哈希函数维基百科:散列函数

视频讲解:

问题2:什么是区块?

区块链是一条马路,区块就是马路边上的一座房子,而且这个房子有统一的基本结构,下面这张图会解释的比较清楚,我相信你到这里还是很困惑,什么样的哈希值是合法的?怎么调节Nonce值才能产生合法的哈希值?先把这问题记着,我们后续会详细阐述。

问题3:区块之间如何链接?

如果有编程基础的同学肯定学习链表,链表是通过指针(地址是唯一的)来指向下一个节点,在区块链中每个Block的哈希值也是唯一的,我们通过本节点的prev和上一节点的Hash相同,就能确保区块链的顺序是正确的。

注释:产生的新的节点的时候,先拿上一节点(父节点)的Hash来产生自己的Hash,这个过程有很多计算节点来抢先算出合法的哈希值(算出来的过程就是挖矿),谁先算出来,产生区块的奖励(比特币,工作证明)就给谁

问题4:为什么不能修改链上的数据?

我们已经解决了区块链的几个基本概念,我相信此时的你应该对区块链有了最基本的认识,不用着急,后面我们对区块链会有更加详细的解释。

如果您感觉这篇文章对你有帮助!

请您点赞+关注+转发!

这是对我最大的鼓励,我将更有信心将它做下去!

VX公号:YouCodeMe

知乎专栏:Golang

谢谢点赞的亲们!!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180323G0UF3U00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券