区块链快速入门--原来这就是区块链

Posted LucyGill

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了区块链快速入门--原来这就是区块链相关的知识,希望对你有一定的参考价值。

区块链火了有几年了,由于项目需要,本社畜需要了解区块链背景及主要原理。因此,时隔几年,再次从csdn上撰文,力求用简单的语言对区块链进行描述,边学习边整理,用不太学术又不太业余的语言描述区块链。下面 ,我将以问答的方式,解释区块链中几个关键的问题。

1.什么是区块链?

可以从三个粒度进行理解:

(1)区块链是一种数据库。

(2)区块链是一种分布式账本数据库。

(3)区块链是一种去中心化的分布式账本数据库。

区块链由一个个区块链接而成,当前区块通过存储上一区块的哈希值实现链接,每个区块中都记录着一条条交易记录,而每个交易记录都有双方的数字签名。区块链还具有时间戳。可通过区块上的交易记录追溯交易流程。

或许现在你还不能理解标红的词是什么意思,别担心,接下来我会一一解释。

2.什么是分布式账本?

所谓的分布式账本,就是同时在不同地方记录同样的事情。这样做的好处是可以有效防止数据被篡改,毕竟篡改数据也需要成本。

3.什么是去中心化?

去中心化指的是区块链的分布式结构。通常,一个机构或系统是有中心的,其他所有节点都要听从中心的指挥,中心可以监管节点。而区块链自身的机制决定了它的安全性和可靠性,无需监管,因此其每个节点的权力是相同的,没有中心。

4.什么是挖矿?什么是矿工?

挖矿是一种创造区块的过程,试图参与挖矿过程的节点被称为矿工

5.什么是数字签名?

数字签名是一种早已存在的技术,分为基于哈希值的数字签名和不基于哈希值的数字签名。我们假定要基于一段报文进行数字签名,分别介绍。

基于哈希值的数字签名:首先把报文通过哈希函数映射成一个固定长度的哈希值。报文发送者用私钥加密哈希值,形成数字签名。把报文和数字签名一起发给接收者。接收者用公钥对数字签名进行解密,并用同样的哈希函数将报文映射成哈希值。对比两个哈希值,如果一样,证明报文没有被篡改。

不基于哈希值的数字签名:报文发送者用私钥加密报文,形成数字签名。把报文和数字签名一起发给接收者。接收者用公钥对数字签名进行解密,得到还原的报文。对比两个报文,如果一样,证明报文没有被篡改。

数字签名是一个相对复杂的技术,若想了解详情请移步某位大佬的csdn专栏:

密码学基础_砖业洋__-CSDN博客

顺便解释一下数字签名技术涉及到的两个其他技术:

哈希函数可以把任意长度的报文映射为一个固定长度的哈希值。

非对称加密算法有公钥和私钥一对密钥。如果用公钥加密报文,则需要用私钥解密。如果用私钥加密报文,则需要用公钥解密。通常,公钥是所有人都知道的,私钥只有自己掌握。

6.什么是共识算法?

共识算法是一种规则,用来从挖矿周期中选择矿工的优胜者。因为区块链的分布式账本特性,区块链是同时在多个主机上构建的。可能有多个主机都创建了新的区块,以谁的区块为准(标准的那个区块链称为主链)需要一种裁决算法,这种算法就是共识算法。

7.什么是智能合约?

智能合约是一段写在区块链上的代码,事件触发其条款时自动执行特定程序。其作用是辅助共识算法,当前主机可自动化地和主链同步。

阅读了上述问答,你应该和我一样,已经明白了区块链中几个常出现名词的意思。那么,区块链的构造是什么?它是怎么运行的?我们下篇文章再详细说明。

以上是关于区块链快速入门--原来这就是区块链的主要内容,如果未能解决你的问题,请参考以下文章

区块链快速入门--原来这就是区块链

区块链快速入门--原来这就是区块链

这破玩意就是区块链?

[易学易懂系列|rustlang语言|零基础|快速入门|(27)|实战4:从零实现BTC区块链]

区块链快速入门——区块链简介

区块链快速入门——区块链密码学与安全相关技术