00-区块链基础
0x-wen

文章将使用问答的形式进行区块链基础知识的讲解,同时满足学习和面试需求

1.什么是区块链?

区块链是一种分布式的、去中心化的数字账本技术,用于记录和验证交易与数据。
区块链的核心概念是将交易和数据记录在一个被称为”区块”的数据结构中,并通过加密共识算法保证数据的安全性一致性
每个区块包含了一批交易的信息,以及与之前区块的链接,形成了一个链式结构。

2.区块链有什么特点?

在区块链中,参与者通过网络共享和维护这个账本的副本,而不是依赖于中央机构来验证交易。这种去中心化的特性使得区块链具有以下特点:

  1. 透明性:区块链中的交易和数据是公开可见的,任何人都可以查看账本的副本。这提供了一种透明的方式来验证交易和监督系统的运作。
  2. 安全性:区块链使用密码学技术对数据进行加密和验证,从而确保数据的安全性和完整性。由于数据存储在多个节点上,篡改数据变得非常困难。
  3. 去中心化:区块链没有中央机构或控制权,参与者通过共识算法来达成对账本的一致认可。这使得区块链具有更高的可信度和抗攻击能力。
  4. 不可篡改性:一旦数据被记录在区块链上,由于每个区块都包含了前一个区块的哈希值,任何对数据的篡改都将被其他节点检测到。

3.区块链的运作方式

3.1 哈希函数

理想的加密哈希函数具备5个主要属性:

  1. 确定性:相同的消息总是产生相同的哈希值。
  2. 快速:快速计算任何给定消息的哈希值。
  3. 抵抗性:除非尝试所有可能的消息,否则从其哈希值生成消息是不可行的。
  4. 不相关:对消息的微小更改会极大地改变哈希值,以至于新值与旧值没有关系。
  5. 抗碰撞:不可能找到具有相同哈希值的两个不同消息。

3.2 区块、链

  • 有效区块是一组有序的交易
  • 每个块都包含前一个块的哈希值。
  • 区块的哈希值具有易证明难伪造。

区块链接方式如下图示例:

image

4.交易的运作方式

4.1 加密钱包

钱包并不存储加密资产,它们只存储私钥

先理解三个重要概念:

  • 私钥、公钥、地址:公私钥通过非对称加密生成,公钥用于分发,私钥用于个人保留,地址通过公钥推导
  • 加密与解密:消息传递通过公钥加密、私钥解密
  • 签名与验证:交易信息通过私钥签名、公钥验证签名
image

4.2 以BTC为例,讲解一笔交易流程

用户B转账 1 bitcoin 至用户A

image
  1. 用户B使用自己的私钥签名完成交易信息【确认用户B有足够的代币】
  2. 将交易信息发送至节点,节点使用公钥验证交易信息,并存储在内存池中。
  3. 节点将交易分组在区块中,并广播到其他节点。
  4. 共识成功并出块后,用户A才能获取到1 bitcoin。

5.共识

5.1 工作量证明(PoW)

去中心化程度高,消耗资源高
在 PoW 共识中,用户必须完成任意难度的任务,当与块中的有序交易结合时,会产生符合特定标准的哈希函数结果。

  1. 称为“矿工”的节点通过暴力竞争来解决数学问题(找到特定规则的哈希值)
  2. 第一个解决问题的矿工可以创建一个区块
  3. 其他节点检查该块是否有效。如果是,矿工将获得加密货币奖励。如果不是,矿工就浪费了时间和精力。
  4. 所有的节点都将新块添加到其区块链副本中。

5.2 股权证明 (PoS)

去中心化的一种妥协方案,更像选择代表人参与网络,相比工作量证明大大降低资源消耗

  1. 称为验证者节点会抵押一些加密货币。投入一定数量的加密货币来参与和分配出块奖励。
  2. 验证者节点所占的权重越高更有可能被选择来处理交易并创建区块。
  3. 其他验证者节点检查该块是否有效。如果是,所有参与的验证者都会赚取收益。如果不是,创建该块的验证者可能会失去其权益或者获得惩罚。
由 Hexo 驱动 & 主题 Keep
总字数 41.7k