Skip to content

Commit

Permalink
update baike
Browse files Browse the repository at this point in the history
  • Loading branch information
xilibi2003 committed Jul 12, 2024
1 parent f14f5ae commit eb12e4d
Show file tree
Hide file tree
Showing 24 changed files with 124 additions and 167 deletions.
2 changes: 1 addition & 1 deletion basic/Go.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Go 语言,也称为 Golang,是由 Google 开发并于2009年首次发布的
Go 语言在区块链领域有着广泛的应用:

1. 以太坊 (Ethereum)
以太坊平台的关键组件 “Geth”(Go-Ethereum)是用 Go 编写的。Geth 是以太坊的官方客户端,能够允许开发人员运行完整的以太坊节点,用于挖矿、部署智能合约、转账和区块浏览等功能。
以太坊平台的关键组件 “[Geth](https://learnblockchain.cn/tags/Geth)”(Go-Ethereum)是用 Go 编写的。Geth 是以太坊的官方客户端,能够允许开发人员运行完整的以太坊节点,用于挖矿、部署智能合约、转账和区块浏览等功能。

2. Hyperledger Fabric
这是一个由 Linux 基金会主导的用于企业级区块链的分布式账本解决方案,其核心部分也是使用 Go 语言开发的。Hyperledger Fabric 提供了模块化架构,可用于创建灵活的、高可扩展性的区块链应用。
Expand Down
29 changes: 0 additions & 29 deletions basic/NFT.md

This file was deleted.

11 changes: 6 additions & 5 deletions basic/共识/DAG.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
## DAG 是什么

DAG(Directed Acyclic Graph, 有向无环图)是一种数据结构应用,其在区块链中逐渐受到了关注。相比于传统的区块链结构,DAG 提供了一种不同的交易数据组织方式,能够提高交易处理速度和系统扩展性。

## 基本原理
### 基本原理

在 DAG 中,每个交易(或者称为事件、节点)是一个顶点,这些顶点之间通过有向边连接起来。每个新的交易要引用至少一个或多个前期的交易,这样形成一个有向无环图。无环的性质确保不能回溯和篡改过去的数据。

## 特点和优点
### 特点和优点

1. 并行处理:由于没有中心化的区块结构,交易可以并行处理,从而大幅提高系统的吞吐量。
2. 低延迟:由于不需要等待区块的创建和确认,交易可以快速确认。
3. 高扩展性:DAG 结构可以很好地扩展,能够处理大量的交易,无需因为区块大小的限制而担心性能问题。
4. 无需矿工:在一些 DAG 系统中,交易即证明(比如 IOTA 中的 Tangle 结构),参与者自己确认和验证交易,没有矿工和交易费用。

## 常见的 DAG 项目
### 常见的 DAG 项目

1. IOTA (Tangle):IOTA 使用 Tangle 数据结构,每个交易要引用和验证至少两个先前的交易。
2. Byteball:每个新交易指向一个前期交易,形成的图确保了交易顺序。
3. Sui:Sui 引入了许多优化和创新,但它并没有直接使用 DAG 结构。相较之下,Sui 更像是一种混合设计,结合了区块链和其他分布式系统的优点。

## 挑战和问题
### 挑战和问题

1. 安全性:DAG 系统在防止双花攻击和保障数据一致性方面面临挑战,需要设计额外的机制来确保安全性。
2. 复杂性:DAG 的复杂性较高,开发和维护相对困难。
3. 共识机制:相比于传统区块链,DAG 系统在共识机制设计方面需要创新,保证系统的去中心化和安全性。

DAG 是一种有潜力的技术,特别是针对高频交易和高速数据处理的应用场景。尽管如此,它还需要进一步的研究和发展,以解决当前面临的挑战。
8 changes: 4 additions & 4 deletions basic/共识/DPoS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## 简介
## DPoS 是什么

DPoS(Delegated Proof of Stake,委托权益证明)是一种改进的权益证明(PoS)共识机制。这种机制旨在解决 PoS 机制中可能面临的集中化和效率问题,通过引入代理(delegate)的概念来使网络更加去中心化和高效。以下是对 DPoS 的一些关键介绍:

Expand All @@ -22,13 +22,13 @@ DPoS(Delegated Proof of Stake,委托权益证明)是一种改进的权益
## 代表性项目

1. BitShares

BitShares 是第一个采用 DPoS 共识机制的区块链项目。它最早由 Daniel Larimer(BM)提出,并成功实现了 DPoS 的理论与实践结合。
2. EOS

EOS 也是一个采用 DPoS 共识机制的区块链项目,同样由 Daniel Larimer 发起。EOS 试图实现高性能、高扩展性的区块链应用平台。
3. TRON(波场)

TRON 是一个去中心化的区块链平台,旨在构建一个全球的自由内容娱乐系统。TRON 使用的也是 DPoS 共识机制,通过超级代表(Super Representatives,SR)进行网络治理和维护。

总的来说,DPoS 是一种旨在提高区块链系统效率和扩展性的创新共识机制,但它也引发了关于去中心化程度和潜在安全风险的讨论。
Expand Down
5 changes: 3 additions & 2 deletions basic/共识/PBFT.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# 定义
## PBFT定义

Practical Byzantine Fault Tolerance(PBFT)是一种用于分布式计算和分布式系统中的共识算法,旨在解决拜占庭容错问题。拜占庭容错问题涉及到在分布式系统中存在故障或恶意节点的情况下,如何确保系统能够维持一致性。

PBFT最早由Miguel Castro和Barbara Liskov于1999年提出,它是一种用于处理拜占庭容错问题的可行的共识算法。与传统的Proof of Work(PoW)和Proof of Stake(PoS)等共识算法不同,PBFT通常用于私有或联盟区块链网络,其中节点的身份已知,且相互信任。

# 特点和工作原理
## 特点和工作原理

1. **拜占庭容错:** PBFT旨在解决拜占庭容错问题,这意味着系统可以继续正常运行,即使有一些节点是恶意的或出现了故障。

Expand Down
2 changes: 2 additions & 0 deletions basic/共识/PoH.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
## PoH 是什么

Proof of History(PoH,即历史证明)是一种区块链共识机制,它由 [Solana](https://learnblockchain.cn/tags/solana) 区块链团队开发,用于提高网络的吞吐量和整体效率。PoH 通过引入一个可验证的时间序列,解决了传统区块链系统中事件顺序无法确定的问题。

以下是 Proof of History 的核心概念和特点:
Expand Down
24 changes: 13 additions & 11 deletions basic/共识/PoW.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
## 简介
## 什么是 POW

***
POW(Proof of Work),即工作量证明,是区块链系统的一种共识机制。可以简单理解为用来确认你做过一定量的工作一份证明。

POW(Proof of Work),即工作量证明,是指系统为达到某一目标而设置的度量方法。可以简单理解为就是一份证明,用来确认你做过一定量的工作。POW为按劳分配,算力决定一切,谁的算力多谁记账的概率越大。

![工作量证明流程](https://img.learnblockchain.cn/pics/20240629154842.png)

## POW原理

工作量证明的本质是:尝试大量随机数进行哈希运算。具体为找到一个随机数加入到块头中,计算区块的块头的哈希值,使得计算的哈希结果小于或等于块头中目标值。若不满足目标条件,则重新找随机数进行重复操作,直到满足目标条件为止。在比特币中使用的哈希函数为**SHA256算法函数**,是密码哈希函数家族中输出值为256位的哈希算法。
在块链中工作量证明是:尝试大量随机数进行哈希运算。具体为找到一个随机数加入到块头中,计算区块的块头的哈希值,使得计算的哈希结果小于或等于块头中目标值。若不满足目标条件,则重新找随机数进行重复操作,直到满足目标条件为止。在比特币中使用的哈希函数为**SHA256算法函数**,是密码哈希函数家族中输出值为256位的哈希算法。

> 公式为:H(block header + nonce) <=target
根据哈希性质之一:谜题友好性(puzzle friendly),计算的哈希值结果是不可预测的,比如某个输入x,想要哈希值H(x)在某个范围内,没有什么捷径可走,只能一个个去尝试这个x(因此要做大量工作)。之所以只计算区块块头的哈希值而不包含区块体,是因为在块头中的根哈希值(merkle root hash)保证了区块体中的内容不被篡改。


根据哈希性质:,计算的哈希值结果是不可预测的,比如某个输入x,想要哈希值H(x)在某个范围内,没有什么捷径可走,只能一个个去尝试这个x(因此要做大量工作)。之所以只计算区块块头的哈希值而不包含区块体,是因为在块头中的[默克尔](https://learnblockchain.cn/tags/%E9%BB%98%E5%85%8B%E5%B0%94%E6%A0%91)根哈希值(merkle root hash)保证了区块体中的内容不被篡改。



## POW 主要流程

POW工作量证明的主要流程为:

Expand All @@ -22,9 +24,9 @@ POW工作量证明的主要流程为:

3.**计算工作量证明的输出**:将区块头进行哈希函数运算后得到一个输出,比较其是否小于目标值,若小于则说明工作量完成,反之则需要修改随机数重复上述步骤直到满足目标条件。

![比特币区块](/graph/%E6%AF%94%E7%89%B9%E5%B8%81%E5%8C%BA%E5%9D%97.png)
![比特币区块](https://img.learnblockchain.cn/pics/20240712215100.png)

## POW对恶意节点防范
## POW 对恶意节点防范

* POW共识机制是根据算力来竞争记账权的,恶意节点产生再多的账户也没用。(针对女巫攻击)
* POW要求要找到正确的nonce值才能广播到全网中,而不断打包非法交易显然是对自己没有任何好处的,因为会消耗不小的经济成本,包括硬件设施、电力、维护等等。
Expand All @@ -51,8 +53,8 @@ POW工作量证明的主要流程为:

也就是大约到2140年左右比特币将不再增长,达到饱和。矿工挖矿不再获得奖励。


## 相关概念

- [PoS](https://learnblockchain.cn/tags/PoS)
- [DPoS](https://learnblockchain.cn/tags/DPoS)
- [PoH](https://learnblockchain.cn/tags/PoH)
Expand Down
21 changes: 8 additions & 13 deletions basic/区块结构/区块结构.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,18 @@
# 区块结构
## 区块结构

### 1. **区块(Block)**

## 1. **区块(Block)**
区块是区块链中的基本单位,包含一系列交易数据以及与这些交易相关的元数据。每个区块都有一个唯一的标识符(通常是哈希值),并包含前一个区块的标识符,从而形成了一个链式结构。

## 2. **链式结构(Blockchain)**
### 2. **链式结构(Blockchain)**

区块通过哈希值链接在一起,形成了一个链式结构,这也是区块链名称的由来。每个区块的哈希值都包含了该区块中的数据以及前一个区块的哈希值,这样一来,任何人要篡改一个区块的数据,都必须同时修改该区块以及后续所有区块的数据,这是几乎不可能的任务。

## 3. **交易(Transaction)**
交易是区块链上的基本操作,代表着一些价值的转移或状态的改变。交易可以是加密货币的转账,也可以是其他形式的数字化操作。多个交易会被打包到一个区块中,然后一起被添加到区块链中。
### 3. **交易(Transaction)**

## 4. **共识机制(Consensus Mechanism)**
由于区块链是分布式的,需要一种机制来确保网络中的所有节点都同意将哪些交易打包到区块中。不同的区块链项目使用不同的共识机制,如工作量证明(Proof of Work)、权益证明(Proof of Stake)、权威证明(Proof of Authority)等。
多个交易会被打包到一个区块中,然后一起被添加到区块链中。

## 5. **加密算法(Cryptography)**
区块链使用加密算法来保护数据的安全性。每个区块的哈希值是通过对区块中的数据应用加密哈希函数计算得到的,这保证了数据的完整性和不可篡改性。
交易是区块链上的基本操作,代表着一些价值的转移或状态的改变。交易可以是加密货币的转账,也可以是其他形式的数字化操作。

## 6. **分布式网络(Distributed Network)**
区块链网络由许多节点组成,每个节点都保存着完整的区块链副本。节点之间通过通信协议进行交流,以传播新的交易和区块信息,并保持整个网络的同步。

## 7. **智能合约(Smart Contracts)**
智能合约是一种自动执行的计算代码,可以在特定条件满足时自动执行预定的操作。它们扩展了区块链的功能,使得更复杂的业务逻辑可以在区块链上实现。

38 changes: 25 additions & 13 deletions basic/区块链应用场景/区块链应用场景.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,49 @@
# 常见的区块链应用领域
## 常见的区块链应用领域

### 1. **加密货币和支付**

## 1. **加密货币和支付**
比特币是最早的加密货币,而其他加密货币如以太坊、莱特币等也得到了广泛应用。这些加密货币可以用于去中心化的数字支付,实现快速、便捷、低成本的跨境支付。

## 2. **金融服务**
### 2. **金融服务**

区块链可以用于改进金融服务,如资产管理、证券发行、跨境汇款、智能合约、分布式交易所等。智能合约可以自动执行金融合同,减少中介环节。

## 3. **供应链管理**
### 3. **供应链管理**

区块链可以追踪物品在供应链中的流动,确保透明度和真实性。这在食品安全、奢侈品溯源等领域尤其有用。

## 4. **物联网**
### 4. **物联网**

将区块链与物联网结合,可以实现设备间的可信互操作性和数据共享,同时保护隐私。

## 5. **医疗和健康**
### 5. **医疗和健康**

区块链可以用于医疗记录的安全存储和分享,促进医疗数据的互通。患者可以更好地控制自己的数据,并与医疗机构共享。

## 6. **版权保护和知识产权**
### 6. **版权保护和知识产权**

区块链可以记录数字内容的版权信息,确保原创作品的合法性,避免盗版和侵权。

## 7. **投票和民主**
### 7. **投票和民主**

区块链可以用于安全和透明的电子投票系统,提高选举的可信度。

## 8. **不动产登记**
### 8. **不动产登记**

传统不动产登记系统常常存在不透明和繁琐的问题,区块链可以提供更高效、安全、透明的登记系统。

## 9. **能源交易**
### 9. **能源交易**

区块链可以支持能源交易的去中心化和智能化,允许能源生产者和消费者直接进行交易。

## 10. **数字身份认证**
### 10. **数字身份认证**

区块链可以用于确保个人身份的安全、去中心化管理,避免了集中式身份存储的安全风险。

## 11. **慈善和捐赠**
### 11. **慈善和捐赠**

区块链技术可以增强慈善机构的透明度,确保捐款的流向透明。

## 12. **游戏和虚拟资产**
### 12. **游戏和虚拟资产**

区块链可以用于创建虚拟资产,让玩家真正拥有游戏中的物品,并实现跨游戏的虚拟资产交易。
Loading

0 comments on commit eb12e4d

Please sign in to comment.